LPCOpen Platform
v1.03
LPCOpen Platform for NXP LPC Microcontrollers
Main Page
Modules
Data Structures
Files
Related Pages
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
usb_001.h
Go to the documentation of this file.
1
/*
2
* @brief USB registers and control functions
3
*
4
* @note
5
* Copyright(C) NXP Semiconductors, 2012
6
* All rights reserved.
7
*
8
* @par
9
* Software that is described herein is for illustrative purposes only
10
* which provides customers with programming information regarding the
11
* LPC products. This software is supplied "AS IS" without any warranties of
12
* any kind, and NXP Semiconductors and its licensor disclaim any and
13
* all warranties, express or implied, including all implied warranties of
14
* merchantability, fitness for a particular purpose and non-infringement of
15
* intellectual property rights. NXP Semiconductors assumes no responsibility
16
* or liability for the use of the software, conveys no license or rights under any
17
* patent, copyright, mask work right, or any other intellectual property rights in
18
* or to any products. NXP Semiconductors reserves the right to make changes
19
* in the software without notification. NXP Semiconductors also makes no
20
* representation or warranty that such application will be suitable for the
21
* specified use without further testing or modification.
22
*
23
* @par
24
* Permission to use, copy, modify, and distribute this software and its
25
* documentation is hereby granted, under NXP Semiconductors' and its
26
* licensor's relevant copyrights in the software, without fee, provided that it
27
* is used in conjunction with NXP Semiconductors microcontrollers. This
28
* copyright, permission, and disclaimer notice must appear in all copies of
29
* this code.
30
*/
31
32
#ifndef __USB_001_H_
33
#define __USB_001_H_
34
35
#include "sys_config.h"
36
#include "cmsis.h"
37
38
#ifdef __cplusplus
39
extern
"C"
{
40
#endif
41
52
typedef
struct
53
{
54
__I
uint32_t
Revision
;
/* USB Host Registers */
55
__IO
uint32_t
Control
;
56
__IO
uint32_t
CommandStatus
;
57
__IO
uint32_t
InterruptStatus
;
58
__IO
uint32_t
InterruptEnable
;
59
__IO
uint32_t
InterruptDisable
;
60
__IO
uint32_t
HCCA
;
61
__I
uint32_t
PeriodCurrentED
;
62
__IO
uint32_t
ControlHeadED
;
63
__IO
uint32_t
ControlCurrentED
;
64
__IO
uint32_t
BulkHeadED
;
65
__IO
uint32_t
BulkCurrentED
;
66
__I
uint32_t
DoneHead
;
67
__IO
uint32_t
FmInterval
;
68
__I
uint32_t
FmRemaining
;
69
__I
uint32_t
FmNumber
;
70
__IO
uint32_t
PeriodicStart
;
71
__IO
uint32_t
LSTreshold
;
72
__IO
uint32_t
RhDescriptorA
;
73
__IO
uint32_t
RhDescriptorB
;
74
__IO
uint32_t
RhStatus
;
75
__IO
uint32_t
RhPortStatus1
;
76
__IO
uint32_t
RhPortStatus2
;
77
uint32_t
RESERVED0[40];
78
__I
uint32_t
Module_ID
;
79
80
__I
uint32_t
IntSt
;
/* USB On-The-Go Registers */
81
__IO
uint32_t
IntEn
;
82
__O
uint32_t
IntSet
;
83
__O
uint32_t
IntClr
;
84
__IO
uint32_t
StCtrl
;
85
__IO
uint32_t
Tmr
;
86
uint32_t
RESERVED1[58];
87
88
__I
uint32_t
DevIntSt
;
/* USB Device Interrupt Registers */
89
__IO
uint32_t
DevIntEn
;
90
__O
uint32_t
DevIntClr
;
91
__O
uint32_t
DevIntSet
;
92
93
__O
uint32_t
CmdCode
;
/* USB Device SIE Command Registers */
94
__I
uint32_t
CmdData
;
95
96
__I
uint32_t
RxData
;
/* USB Device Transfer Registers */
97
__O
uint32_t
TxData
;
98
__I
uint32_t
RxPLen
;
99
__O
uint32_t
TxPLen
;
100
__IO
uint32_t
Ctrl
;
101
__O
uint32_t
DevIntPri
;
102
103
__I
uint32_t
EpIntSt
;
/* USB Device Endpoint Interrupt Regs */
104
__IO
uint32_t
EpIntEn
;
105
__O
uint32_t
EpIntClr
;
106
__O
uint32_t
EpIntSet
;
107
__O
uint32_t
EpIntPri
;
108
109
__IO
uint32_t
ReEp
;
/* USB Device Endpoint Realization Reg*/
110
__O
uint32_t
EpInd
;
111
__IO
uint32_t
MaxPSize
;
112
113
__I
uint32_t
DMARSt
;
/* USB Device DMA Registers */
114
__O
uint32_t
DMARClr
;
115
__O
uint32_t
DMARSet
;
116
uint32_t
RESERVED2[9];
117
__IO
uint32_t
UDCAH
;
118
__I
uint32_t
EpDMASt
;
119
__O
uint32_t
EpDMAEn
;
120
__O
uint32_t
EpDMADis
;
121
__I
uint32_t
DMAIntSt
;
122
__IO
uint32_t
DMAIntEn
;
123
uint32_t
RESERVED3[2];
124
__I
uint32_t
EoTIntSt
;
125
__O
uint32_t
EoTIntClr
;
126
__O
uint32_t
EoTIntSet
;
127
__I
uint32_t
NDDRIntSt
;
128
__O
uint32_t
NDDRIntClr
;
129
__O
uint32_t
NDDRIntSet
;
130
__I
uint32_t
SysErrIntSt
;
131
__O
uint32_t
SysErrIntClr
;
132
__O
uint32_t
SysErrIntSet
;
133
uint32_t
RESERVED4[15];
134
135
union
{
136
__I
uint32_t
I2C_RX
;
/* USB OTG I2C Registers */
137
__O
uint32_t
I2C_TX
;
138
};
139
__IO
uint32_t
I2C_STS
;
140
__IO
uint32_t
I2C_CTL
;
141
__IO
uint32_t
I2C_CLKHI
;
142
__O
uint32_t
I2C_CLKLO
;
143
uint32_t
RESERVED5[824];
144
145
union
{
146
__IO
uint32_t
USBClkCtrl
;
/* USB Clock Control Registers */
147
__IO
uint32_t
OTGClkCtrl
;
148
};
149
union
{
150
__I
uint32_t
USBClkSt
;
151
__I
uint32_t
OTGClkSt
;
152
};
153
}
IP_USB_001_T
;
158
#ifdef __cplusplus
159
}
160
#endif
161
162
#endif
/* __USB_001_H_ */
163
software
lpc_core
lpc_ip
usb_001.h
Generated on Fri May 10 2013 10:42:19 for LPCOpen Platform by
1.8.2