Dual CANbus monitor and instrumentation cluster
Dependencies: SPI_TFTx2 TFT_fonts TOUCH_TFTx2 beep mbed
Fork of CANary by
USBHostLite/usbhost_lpc17xx.h@125:f58b7ab2abee, 2013-07-21 (annotated)
- Committer:
- TickTock
- Date:
- Sun Jul 21 11:08:38 2013 +0000
- Branch:
- Metric
- Revision:
- 125:f58b7ab2abee
- Parent:
- 111:d1559bb25c43
Re-centered efficiency screen
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
TickTock | 109:3e6f0e8fca0d | 1 | /* |
TickTock | 109:3e6f0e8fca0d | 2 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 3 | * NXP USB Host Stack |
TickTock | 109:3e6f0e8fca0d | 4 | * |
TickTock | 109:3e6f0e8fca0d | 5 | * (c) Copyright 2008, NXP SemiConductors |
TickTock | 109:3e6f0e8fca0d | 6 | * (c) Copyright 2008, OnChip Technologies LLC |
TickTock | 109:3e6f0e8fca0d | 7 | * All Rights Reserved |
TickTock | 109:3e6f0e8fca0d | 8 | * |
TickTock | 109:3e6f0e8fca0d | 9 | * www.nxp.com |
TickTock | 109:3e6f0e8fca0d | 10 | * www.onchiptech.com |
TickTock | 109:3e6f0e8fca0d | 11 | * |
TickTock | 109:3e6f0e8fca0d | 12 | * File : usbhost_lpc17xx.h |
TickTock | 109:3e6f0e8fca0d | 13 | * Programmer(s) : Ravikanth.P |
TickTock | 109:3e6f0e8fca0d | 14 | * Version : |
TickTock | 109:3e6f0e8fca0d | 15 | * |
TickTock | 109:3e6f0e8fca0d | 16 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 17 | */ |
TickTock | 109:3e6f0e8fca0d | 18 | |
TickTock | 109:3e6f0e8fca0d | 19 | #ifndef USBHOST_LPC17xx_H |
TickTock | 109:3e6f0e8fca0d | 20 | #define USBHOST_LPC17xx_H |
TickTock | 109:3e6f0e8fca0d | 21 | |
TickTock | 109:3e6f0e8fca0d | 22 | /* |
TickTock | 109:3e6f0e8fca0d | 23 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 24 | * INCLUDE HEADER FILES |
TickTock | 109:3e6f0e8fca0d | 25 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 26 | */ |
TickTock | 109:3e6f0e8fca0d | 27 | |
TickTock | 109:3e6f0e8fca0d | 28 | #include "usbhost_inc.h" |
TickTock | 109:3e6f0e8fca0d | 29 | |
TickTock | 109:3e6f0e8fca0d | 30 | /* |
TickTock | 109:3e6f0e8fca0d | 31 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 32 | * PRINT CONFIGURATION |
TickTock | 109:3e6f0e8fca0d | 33 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 34 | */ |
TickTock | 109:3e6f0e8fca0d | 35 | |
TickTock | 111:d1559bb25c43 | 36 | #define PRINT_ENABLE 0 |
TickTock | 109:3e6f0e8fca0d | 37 | |
TickTock | 109:3e6f0e8fca0d | 38 | #if PRINT_ENABLE |
TickTock | 109:3e6f0e8fca0d | 39 | #define PRINT_Log(...) printf(__VA_ARGS__) |
TickTock | 109:3e6f0e8fca0d | 40 | #define PRINT_Err(rc) printf("ERROR: In %s at Line %u - rc = %d\n", __FUNCTION__, __LINE__, rc) |
TickTock | 109:3e6f0e8fca0d | 41 | |
TickTock | 109:3e6f0e8fca0d | 42 | #else |
TickTock | 109:3e6f0e8fca0d | 43 | #define PRINT_Log(...) do {} while(0) |
TickTock | 109:3e6f0e8fca0d | 44 | #define PRINT_Err(rc) do {} while(0) |
TickTock | 109:3e6f0e8fca0d | 45 | |
TickTock | 109:3e6f0e8fca0d | 46 | #endif |
TickTock | 109:3e6f0e8fca0d | 47 | |
TickTock | 109:3e6f0e8fca0d | 48 | /* |
TickTock | 109:3e6f0e8fca0d | 49 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 50 | * GENERAL DEFINITIONS |
TickTock | 109:3e6f0e8fca0d | 51 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 52 | */ |
TickTock | 109:3e6f0e8fca0d | 53 | |
TickTock | 109:3e6f0e8fca0d | 54 | #define DESC_LENGTH(x) x[0] |
TickTock | 109:3e6f0e8fca0d | 55 | #define DESC_TYPE(x) x[1] |
TickTock | 109:3e6f0e8fca0d | 56 | |
TickTock | 109:3e6f0e8fca0d | 57 | |
TickTock | 109:3e6f0e8fca0d | 58 | #define HOST_GET_DESCRIPTOR(descType, descIndex, data, length) \ |
TickTock | 109:3e6f0e8fca0d | 59 | Host_CtrlRecv(USB_DEVICE_TO_HOST | USB_RECIPIENT_DEVICE, GET_DESCRIPTOR, \ |
TickTock | 109:3e6f0e8fca0d | 60 | (descType << 8)|(descIndex), 0, length, data) |
TickTock | 109:3e6f0e8fca0d | 61 | |
TickTock | 109:3e6f0e8fca0d | 62 | #define HOST_SET_ADDRESS(new_addr) \ |
TickTock | 109:3e6f0e8fca0d | 63 | Host_CtrlSend(USB_HOST_TO_DEVICE | USB_RECIPIENT_DEVICE, SET_ADDRESS, \ |
TickTock | 109:3e6f0e8fca0d | 64 | new_addr, 0, 0, NULL) |
TickTock | 109:3e6f0e8fca0d | 65 | |
TickTock | 109:3e6f0e8fca0d | 66 | #define USBH_SET_CONFIGURATION(configNum) \ |
TickTock | 109:3e6f0e8fca0d | 67 | Host_CtrlSend(USB_HOST_TO_DEVICE | USB_RECIPIENT_DEVICE, SET_CONFIGURATION, \ |
TickTock | 109:3e6f0e8fca0d | 68 | configNum, 0, 0, NULL) |
TickTock | 109:3e6f0e8fca0d | 69 | |
TickTock | 109:3e6f0e8fca0d | 70 | #define USBH_SET_INTERFACE(ifNum, altNum) \ |
TickTock | 109:3e6f0e8fca0d | 71 | Host_CtrlSend(USB_HOST_TO_DEVICE | USB_RECIPIENT_INTERFACE, SET_INTERFACE, \ |
TickTock | 109:3e6f0e8fca0d | 72 | altNum, ifNum, 0, NULL) |
TickTock | 109:3e6f0e8fca0d | 73 | |
TickTock | 109:3e6f0e8fca0d | 74 | /* |
TickTock | 109:3e6f0e8fca0d | 75 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 76 | * OHCI OPERATIONAL REGISTER FIELD DEFINITIONS |
TickTock | 109:3e6f0e8fca0d | 77 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 78 | */ |
TickTock | 109:3e6f0e8fca0d | 79 | |
TickTock | 109:3e6f0e8fca0d | 80 | /* ------------------ HcControl Register --------------------- */ |
TickTock | 109:3e6f0e8fca0d | 81 | #define OR_CONTROL_CLE 0x00000010 |
TickTock | 109:3e6f0e8fca0d | 82 | #define OR_CONTROL_BLE 0x00000020 |
TickTock | 109:3e6f0e8fca0d | 83 | #define OR_CONTROL_HCFS 0x000000C0 |
TickTock | 109:3e6f0e8fca0d | 84 | #define OR_CONTROL_HC_OPER 0x00000080 |
TickTock | 109:3e6f0e8fca0d | 85 | /* ----------------- HcCommandStatus Register ----------------- */ |
TickTock | 109:3e6f0e8fca0d | 86 | #define OR_CMD_STATUS_HCR 0x00000001 |
TickTock | 109:3e6f0e8fca0d | 87 | #define OR_CMD_STATUS_CLF 0x00000002 |
TickTock | 109:3e6f0e8fca0d | 88 | #define OR_CMD_STATUS_BLF 0x00000004 |
TickTock | 109:3e6f0e8fca0d | 89 | /* --------------- HcInterruptStatus Register ----------------- */ |
TickTock | 109:3e6f0e8fca0d | 90 | #define OR_INTR_STATUS_WDH 0x00000002 |
TickTock | 109:3e6f0e8fca0d | 91 | #define OR_INTR_STATUS_RHSC 0x00000040 |
TickTock | 109:3e6f0e8fca0d | 92 | /* --------------- HcInterruptEnable Register ----------------- */ |
TickTock | 109:3e6f0e8fca0d | 93 | #define OR_INTR_ENABLE_WDH 0x00000002 |
TickTock | 109:3e6f0e8fca0d | 94 | #define OR_INTR_ENABLE_RHSC 0x00000040 |
TickTock | 109:3e6f0e8fca0d | 95 | #define OR_INTR_ENABLE_MIE 0x80000000 |
TickTock | 109:3e6f0e8fca0d | 96 | /* ---------------- HcRhDescriptorA Register ------------------ */ |
TickTock | 109:3e6f0e8fca0d | 97 | #define OR_RH_STATUS_LPSC 0x00010000 |
TickTock | 109:3e6f0e8fca0d | 98 | #define OR_RH_STATUS_DRWE 0x00008000 |
TickTock | 109:3e6f0e8fca0d | 99 | /* -------------- HcRhPortStatus[1:NDP] Register -------------- */ |
TickTock | 109:3e6f0e8fca0d | 100 | #define OR_RH_PORT_CCS 0x00000001 |
TickTock | 109:3e6f0e8fca0d | 101 | #define OR_RH_PORT_PRS 0x00000010 |
TickTock | 109:3e6f0e8fca0d | 102 | #define OR_RH_PORT_CSC 0x00010000 |
TickTock | 109:3e6f0e8fca0d | 103 | #define OR_RH_PORT_PRSC 0x00100000 |
TickTock | 109:3e6f0e8fca0d | 104 | |
TickTock | 109:3e6f0e8fca0d | 105 | |
TickTock | 109:3e6f0e8fca0d | 106 | /* |
TickTock | 109:3e6f0e8fca0d | 107 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 108 | * FRAME INTERVAL |
TickTock | 109:3e6f0e8fca0d | 109 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 110 | */ |
TickTock | 109:3e6f0e8fca0d | 111 | |
TickTock | 109:3e6f0e8fca0d | 112 | #define FI 0x2EDF /* 12000 bits per frame (-1) */ |
TickTock | 109:3e6f0e8fca0d | 113 | #define DEFAULT_FMINTERVAL ((((6 * (FI - 210)) / 7) << 16) | FI) |
TickTock | 109:3e6f0e8fca0d | 114 | |
TickTock | 109:3e6f0e8fca0d | 115 | /* |
TickTock | 109:3e6f0e8fca0d | 116 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 117 | * TRANSFER DESCRIPTOR CONTROL FIELDS |
TickTock | 109:3e6f0e8fca0d | 118 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 119 | */ |
TickTock | 109:3e6f0e8fca0d | 120 | |
TickTock | 109:3e6f0e8fca0d | 121 | #define TD_ROUNDING (USB_INT32U) (0x00040000) /* Buffer Rounding */ |
TickTock | 109:3e6f0e8fca0d | 122 | #define TD_SETUP (USB_INT32U)(0) /* Direction of Setup Packet */ |
TickTock | 109:3e6f0e8fca0d | 123 | #define TD_IN (USB_INT32U)(0x00100000) /* Direction In */ |
TickTock | 109:3e6f0e8fca0d | 124 | #define TD_OUT (USB_INT32U)(0x00080000) /* Direction Out */ |
TickTock | 109:3e6f0e8fca0d | 125 | #define TD_DELAY_INT(x) (USB_INT32U)((x) << 21) /* Delay Interrupt */ |
TickTock | 109:3e6f0e8fca0d | 126 | #define TD_TOGGLE_0 (USB_INT32U)(0x02000000) /* Toggle 0 */ |
TickTock | 109:3e6f0e8fca0d | 127 | #define TD_TOGGLE_1 (USB_INT32U)(0x03000000) /* Toggle 1 */ |
TickTock | 109:3e6f0e8fca0d | 128 | #define TD_CC (USB_INT32U)(0xF0000000) /* Completion Code */ |
TickTock | 109:3e6f0e8fca0d | 129 | |
TickTock | 109:3e6f0e8fca0d | 130 | /* |
TickTock | 109:3e6f0e8fca0d | 131 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 132 | * USB STANDARD REQUEST DEFINITIONS |
TickTock | 109:3e6f0e8fca0d | 133 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 134 | */ |
TickTock | 109:3e6f0e8fca0d | 135 | |
TickTock | 109:3e6f0e8fca0d | 136 | #define USB_DESCRIPTOR_TYPE_DEVICE 1 |
TickTock | 109:3e6f0e8fca0d | 137 | #define USB_DESCRIPTOR_TYPE_CONFIGURATION 2 |
TickTock | 109:3e6f0e8fca0d | 138 | #define USB_DESCRIPTOR_TYPE_INTERFACE 4 |
TickTock | 109:3e6f0e8fca0d | 139 | #define USB_DESCRIPTOR_TYPE_ENDPOINT 5 |
TickTock | 109:3e6f0e8fca0d | 140 | /* ----------- Control RequestType Fields ----------- */ |
TickTock | 109:3e6f0e8fca0d | 141 | #define USB_DEVICE_TO_HOST 0x80 |
TickTock | 109:3e6f0e8fca0d | 142 | #define USB_HOST_TO_DEVICE 0x00 |
TickTock | 109:3e6f0e8fca0d | 143 | #define USB_REQUEST_TYPE_CLASS 0x20 |
TickTock | 109:3e6f0e8fca0d | 144 | #define USB_RECIPIENT_DEVICE 0x00 |
TickTock | 109:3e6f0e8fca0d | 145 | #define USB_RECIPIENT_INTERFACE 0x01 |
TickTock | 109:3e6f0e8fca0d | 146 | /* -------------- USB Standard Requests -------------- */ |
TickTock | 109:3e6f0e8fca0d | 147 | #define SET_ADDRESS 5 |
TickTock | 109:3e6f0e8fca0d | 148 | #define GET_DESCRIPTOR 6 |
TickTock | 109:3e6f0e8fca0d | 149 | #define SET_CONFIGURATION 9 |
TickTock | 109:3e6f0e8fca0d | 150 | #define SET_INTERFACE 11 |
TickTock | 109:3e6f0e8fca0d | 151 | |
TickTock | 109:3e6f0e8fca0d | 152 | /* |
TickTock | 109:3e6f0e8fca0d | 153 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 154 | * TYPE DEFINITIONS |
TickTock | 109:3e6f0e8fca0d | 155 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 156 | */ |
TickTock | 109:3e6f0e8fca0d | 157 | |
TickTock | 109:3e6f0e8fca0d | 158 | typedef struct hcEd { /* ----------- HostController EndPoint Descriptor ------------- */ |
TickTock | 109:3e6f0e8fca0d | 159 | volatile USB_INT32U Control; /* Endpoint descriptor control */ |
TickTock | 109:3e6f0e8fca0d | 160 | volatile USB_INT32U TailTd; /* Physical address of tail in Transfer descriptor list */ |
TickTock | 109:3e6f0e8fca0d | 161 | volatile USB_INT32U HeadTd; /* Physcial address of head in Transfer descriptor list */ |
TickTock | 109:3e6f0e8fca0d | 162 | volatile USB_INT32U Next; /* Physical address of next Endpoint descriptor */ |
TickTock | 109:3e6f0e8fca0d | 163 | } HCED; |
TickTock | 109:3e6f0e8fca0d | 164 | |
TickTock | 109:3e6f0e8fca0d | 165 | typedef struct hcTd { /* ------------ HostController Transfer Descriptor ------------ */ |
TickTock | 109:3e6f0e8fca0d | 166 | volatile USB_INT32U Control; /* Transfer descriptor control */ |
TickTock | 109:3e6f0e8fca0d | 167 | volatile USB_INT32U CurrBufPtr; /* Physical address of current buffer pointer */ |
TickTock | 109:3e6f0e8fca0d | 168 | volatile USB_INT32U Next; /* Physical pointer to next Transfer Descriptor */ |
TickTock | 109:3e6f0e8fca0d | 169 | volatile USB_INT32U BufEnd; /* Physical address of end of buffer */ |
TickTock | 109:3e6f0e8fca0d | 170 | } HCTD; |
TickTock | 109:3e6f0e8fca0d | 171 | |
TickTock | 109:3e6f0e8fca0d | 172 | typedef struct hcca { /* ----------- Host Controller Communication Area ------------ */ |
TickTock | 109:3e6f0e8fca0d | 173 | volatile USB_INT32U IntTable[32]; /* Interrupt Table */ |
TickTock | 109:3e6f0e8fca0d | 174 | volatile USB_INT32U FrameNumber; /* Frame Number */ |
TickTock | 109:3e6f0e8fca0d | 175 | volatile USB_INT32U DoneHead; /* Done Head */ |
TickTock | 109:3e6f0e8fca0d | 176 | volatile USB_INT08U Reserved[116]; /* Reserved for future use */ |
TickTock | 109:3e6f0e8fca0d | 177 | volatile USB_INT08U Unknown[4]; /* Unused */ |
TickTock | 109:3e6f0e8fca0d | 178 | } HCCA; |
TickTock | 109:3e6f0e8fca0d | 179 | |
TickTock | 109:3e6f0e8fca0d | 180 | /* |
TickTock | 109:3e6f0e8fca0d | 181 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 182 | * EXTERN DECLARATIONS |
TickTock | 109:3e6f0e8fca0d | 183 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 184 | */ |
TickTock | 109:3e6f0e8fca0d | 185 | |
TickTock | 109:3e6f0e8fca0d | 186 | extern volatile HCED *EDBulkIn; /* BulkIn endpoint descriptor structure */ |
TickTock | 109:3e6f0e8fca0d | 187 | extern volatile HCED *EDBulkOut; /* BulkOut endpoint descriptor structure */ |
TickTock | 109:3e6f0e8fca0d | 188 | extern volatile HCTD *TDHead; /* Head transfer descriptor structure */ |
TickTock | 109:3e6f0e8fca0d | 189 | extern volatile HCTD *TDTail; /* Tail transfer descriptor structure */ |
TickTock | 109:3e6f0e8fca0d | 190 | extern volatile USB_INT08U *TDBuffer; /* Current Buffer Pointer of transfer descriptor */ |
TickTock | 109:3e6f0e8fca0d | 191 | |
TickTock | 109:3e6f0e8fca0d | 192 | /* |
TickTock | 109:3e6f0e8fca0d | 193 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 194 | * FUNCTION PROTOTYPES |
TickTock | 109:3e6f0e8fca0d | 195 | ************************************************************************************************************** |
TickTock | 109:3e6f0e8fca0d | 196 | */ |
TickTock | 109:3e6f0e8fca0d | 197 | |
TickTock | 109:3e6f0e8fca0d | 198 | void Host_Init (void); |
TickTock | 109:3e6f0e8fca0d | 199 | |
TickTock | 109:3e6f0e8fca0d | 200 | extern "C" void USB_IRQHandler(void) __irq; |
TickTock | 109:3e6f0e8fca0d | 201 | |
TickTock | 109:3e6f0e8fca0d | 202 | USB_INT32S Host_EnumDev (void); |
TickTock | 109:3e6f0e8fca0d | 203 | |
TickTock | 109:3e6f0e8fca0d | 204 | USB_INT32S Host_ProcessTD(volatile HCED *ed, |
TickTock | 109:3e6f0e8fca0d | 205 | volatile USB_INT32U token, |
TickTock | 109:3e6f0e8fca0d | 206 | volatile USB_INT08U *buffer, |
TickTock | 109:3e6f0e8fca0d | 207 | USB_INT32U buffer_len); |
TickTock | 109:3e6f0e8fca0d | 208 | |
TickTock | 109:3e6f0e8fca0d | 209 | void Host_DelayUS ( USB_INT32U delay); |
TickTock | 109:3e6f0e8fca0d | 210 | void Host_DelayMS ( USB_INT32U delay); |
TickTock | 109:3e6f0e8fca0d | 211 | |
TickTock | 109:3e6f0e8fca0d | 212 | |
TickTock | 109:3e6f0e8fca0d | 213 | void Host_TDInit (volatile HCTD *td); |
TickTock | 109:3e6f0e8fca0d | 214 | void Host_EDInit (volatile HCED *ed); |
TickTock | 109:3e6f0e8fca0d | 215 | void Host_HCCAInit (volatile HCCA *hcca); |
TickTock | 109:3e6f0e8fca0d | 216 | |
TickTock | 109:3e6f0e8fca0d | 217 | USB_INT32S Host_CtrlRecv ( USB_INT08U bm_request_type, |
TickTock | 109:3e6f0e8fca0d | 218 | USB_INT08U b_request, |
TickTock | 109:3e6f0e8fca0d | 219 | USB_INT16U w_value, |
TickTock | 109:3e6f0e8fca0d | 220 | USB_INT16U w_index, |
TickTock | 109:3e6f0e8fca0d | 221 | USB_INT16U w_length, |
TickTock | 109:3e6f0e8fca0d | 222 | volatile USB_INT08U *buffer); |
TickTock | 109:3e6f0e8fca0d | 223 | |
TickTock | 109:3e6f0e8fca0d | 224 | USB_INT32S Host_CtrlSend ( USB_INT08U bm_request_type, |
TickTock | 109:3e6f0e8fca0d | 225 | USB_INT08U b_request, |
TickTock | 109:3e6f0e8fca0d | 226 | USB_INT16U w_value, |
TickTock | 109:3e6f0e8fca0d | 227 | USB_INT16U w_index, |
TickTock | 109:3e6f0e8fca0d | 228 | USB_INT16U w_length, |
TickTock | 109:3e6f0e8fca0d | 229 | volatile USB_INT08U *buffer); |
TickTock | 109:3e6f0e8fca0d | 230 | |
TickTock | 109:3e6f0e8fca0d | 231 | void Host_FillSetup( USB_INT08U bm_request_type, |
TickTock | 109:3e6f0e8fca0d | 232 | USB_INT08U b_request, |
TickTock | 109:3e6f0e8fca0d | 233 | USB_INT16U w_value, |
TickTock | 109:3e6f0e8fca0d | 234 | USB_INT16U w_index, |
TickTock | 109:3e6f0e8fca0d | 235 | USB_INT16U w_length); |
TickTock | 109:3e6f0e8fca0d | 236 | |
TickTock | 109:3e6f0e8fca0d | 237 | |
TickTock | 109:3e6f0e8fca0d | 238 | void Host_WDHWait (void); |
TickTock | 109:3e6f0e8fca0d | 239 | |
TickTock | 109:3e6f0e8fca0d | 240 | |
TickTock | 109:3e6f0e8fca0d | 241 | USB_INT32U ReadLE32U (volatile USB_INT08U *pmem); |
TickTock | 109:3e6f0e8fca0d | 242 | void WriteLE32U (volatile USB_INT08U *pmem, |
TickTock | 109:3e6f0e8fca0d | 243 | USB_INT32U val); |
TickTock | 109:3e6f0e8fca0d | 244 | USB_INT16U ReadLE16U (volatile USB_INT08U *pmem); |
TickTock | 109:3e6f0e8fca0d | 245 | void WriteLE16U (volatile USB_INT08U *pmem, |
TickTock | 109:3e6f0e8fca0d | 246 | USB_INT16U val); |
TickTock | 109:3e6f0e8fca0d | 247 | USB_INT32U ReadBE32U (volatile USB_INT08U *pmem); |
TickTock | 109:3e6f0e8fca0d | 248 | void WriteBE32U (volatile USB_INT08U *pmem, |
TickTock | 109:3e6f0e8fca0d | 249 | USB_INT32U val); |
TickTock | 109:3e6f0e8fca0d | 250 | USB_INT16U ReadBE16U (volatile USB_INT08U *pmem); |
TickTock | 109:3e6f0e8fca0d | 251 | void WriteBE16U (volatile USB_INT08U *pmem, |
TickTock | 109:3e6f0e8fca0d | 252 | USB_INT16U val); |
TickTock | 109:3e6f0e8fca0d | 253 | |
TickTock | 109:3e6f0e8fca0d | 254 | #endif |