LPCOpen Platform  v1.03
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
usbd_rom_api.h
Go to the documentation of this file.
1 /***********************************************************************
2 * $Id: mw_usbd_rom_api.h.rca 1.4 Tue Nov 1 11:45:07 2011 nlv09221 Experimental $
3 *
4 * Project: USB device ROM Stack
5 *
6 * Description:
7 * ROM API Module definitions.
8 *
9 ***********************************************************************
10 * Copyright(C) 2011, NXP Semiconductor
11 * All rights reserved.
12 *
13 * Software that is described herein is for illustrative purposes only
14 * which provides customers with programming information regarding the
15 * products. This software is supplied "AS IS" without any warranties.
16 * NXP Semiconductors assumes no responsibility or liability for the
17 * use of the software, conveys no license or title under any patent,
18 * copyright, or mask work right to the product. NXP Semiconductors
19 * reserves the right to make changes in the software without
20 * notification. NXP Semiconductors also make no representation or
21 * warranty that such application will be suitable for the specified
22 * use without further testing or modification.
23 **********************************************************************/
24 #ifndef __MW_USBD_ROM_API_H
25 #define __MW_USBD_ROM_API_H
26 
33 #include "error.h"
34 #include "usbd.h"
35 #include "usbd_hw.h"
36 #include "usbd_core.h"
37 #include "usbd_mscuser.h"
38 #include "usbd_dfuuser.h"
39 #include "usbd_hiduser.h"
40 #include "usbd_cdcuser.h"
41 
51 typedef struct USBD_API
52 {
53  const USBD_HW_API_T* hw;
56  const USBD_CORE_API_T* core;
59  const USBD_MSC_API_T* msc;
62  const USBD_DFU_API_T* dfu;
65  const USBD_HID_API_T* hid;
68  const USBD_CDC_API_T* cdc;
71  const uint32_t* reserved6;
73  const uint32_t version;
85 } USBD_API_T;
86 
87 /* A table of pointers to the chip's main ROM functions contained in ROM is located at the
88  address contained at this location */
89 typedef struct _ROM {
90  const unsigned p_otp;
91  const unsigned p_aes;
92  const unsigned p_pwd;
93  const unsigned p_clk;
94  const unsigned p_ipc;
95  const unsigned p_spifi;
96  const unsigned p_usbd;
98 
99 /* A table of pointers to the USBD functions contained in ROM is located at the
100  address contained at this location */
101  #define ROM_FUNCTION_TABLE_PTR_ADDR (0x10400104UL)
102  #define ROM_USBD_PTR (((ROM_FUNCTION_TABLE *) (ROM_FUNCTION_TABLE_PTR_ADDR))->p_usbd)
103 
104 #define USBD_API (((USBD_API_T*)(ROM_USBD_PTR)))
105 //extern const USBD_API_T usb_api;
106 
107 
108 #endif /*__MW_USBD_ROM_API_H*/
109