blob: c5741c24ea01bface265aa674d0c0cd94e7d4fe2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
|
/* SSUSB_EPCTL_CSR REGISTER DEFINITION */
#define U3D_DEVICE_CONF (SSUSB_EPCTL_CSR_BASE+0x0000)
#define U3D_EP_RST (SSUSB_EPCTL_CSR_BASE+0x0004)
#define U3D_USB3_ERDY_TIMING_PARAMETER (SSUSB_EPCTL_CSR_BASE+0x0008)
#define U3D_USB3_EPCTRL_CAP (SSUSB_EPCTL_CSR_BASE+0x000C)
#define U3D_USB2_ISOINEP_INCOMP_INTR (SSUSB_EPCTL_CSR_BASE+0x0010)
#define U3D_USB2_ISOOUTEP_INCOMP_ERR (SSUSB_EPCTL_CSR_BASE+0x0014)
#define U3D_ISO_UNDERRUN_INTR (SSUSB_EPCTL_CSR_BASE+0x0018)
#define U3D_ISO_OVERRUN_INTR (SSUSB_EPCTL_CSR_BASE+0x001C)
#define U3D_USB2_RX_EP_DATAERR_INTR (SSUSB_EPCTL_CSR_BASE+0x0020)
#define U3D_USB2_EPCTRL_CAP (SSUSB_EPCTL_CSR_BASE+0x0024)
#define U3D_USB2_EPCTL_LPM (SSUSB_EPCTL_CSR_BASE+0x0028)
#define U3D_USB3_SW_ERDY (SSUSB_EPCTL_CSR_BASE+0x0030)
#define U3D_EP_FLOW_CTRL (SSUSB_EPCTL_CSR_BASE+0x0040)
#define U3D_USB3_EP_ACT (SSUSB_EPCTL_CSR_BASE+0x0044)
#define U3D_USB3_EP_PACKET_PENDING (SSUSB_EPCTL_CSR_BASE+0x0048)
#define U3D_DEV_LINK_INTR_ENABLE (SSUSB_EPCTL_CSR_BASE+0x0050)
#define U3D_DEV_LINK_INTR (SSUSB_EPCTL_CSR_BASE+0x0054)
#define U3D_USB2_EPCTL_LPM_FC_CHK (SSUSB_EPCTL_CSR_BASE+0x0060)
#define U3D_DEVICE_MONITOR (SSUSB_EPCTL_CSR_BASE+0x0064)
/* SSUSB_EPCTL_CSR FIELD DEFINITION */
//U3D_DEVICE_CONF
#define DEV_ADDR (0x7f<<24) //30:24
#define HW_USB2_3_SEL (0x1<<18) //18:18
#define SW_USB2_3_SEL_EN (0x1<<17) //17:17
#define SW_USB2_3_SEL (0x1<<16) //16:16
#define SSUSB_DEV_SPEED (0x7<<0) //2:0
//U3D_EP_RST
#define EP_IN_RST (0x7fff<<17) //31:17
#define EP_OUT_RST (0x7fff<<1) //15:1
#define EP0_RST (0x1<<0) //0:0
//U3D_USB3_ERDY_TIMING_PARAMETER
#define ERDY_TIMEOUT_VALUE (0x3ff<<0) //9:0
//U3D_USB3_EPCTRL_CAP
#define TX_NUMP_0_EN (0x1<<4) //4:4
#define SEND_STALL_CLR_PP_EN (0x1<<3) //3:3
#define USB3_ISO_CRC_CHK_DIS (0x1<<2) //2:2
#define SET_EOB_EN (0x1<<1) //1:1
#define TX_BURST_EN (0x1<<0) //0:0
//U3D_USB2_ISOINEP_INCOMP_INTR
#define USB2_ISOINEP_INCOMP_INTR_EN (0x7fff<<17) //31:17
#define USB2_ISOINEP_INCOMP_INTR (0x7fff<<1) //15:1
//U3D_USB2_ISOOUTEP_INCOMP_ERR
#define USB2_ISOOUTEP_INCOMP_INTR_EN (0x7fff<<17) //31:17
#define USB2_ISOOUTEP_INCOMP_INTR (0x7fff<<1) //15:1
//U3D_ISO_UNDERRUN_INTR
#define ISOIN_UNDERRUN_INTR_EN (0x7fff<<17) //31:17
#define ISOIN_UNDERRUN_INTR (0x7fff<<1) //15:1
//U3D_ISO_OVERRUN_INTR
#define ISOOUT_OVERRUN_INTR_EN (0x7fff<<17) //31:17
#define ISOOUT_OVERRUN_INTR (0x7fff<<1) //15:1
//U3D_USB2_RX_EP_DATAERR_INTR
#define USB2_RX_EP_DATAERR_INTR_EN (0xffff<<16) //31:16
#define USB2_RX_EP_DATAERR_INTR (0xffff<<0) //15:0
//U3D_USB2_EPCTRL_CAP
#define USB2_ISO_CRC_CHK_DIS (0x1<<0) //0:0
//U3D_USB2_EPCTL_LPM
#define L1_EXIT_EP_OUT_CHK (0x7fff<<17) //31:17
#define L1_EXIT_EP_IN_CHK (0x7fff<<1) //15:1
#define L1_EXIT_EP0_CHK (0x1<<0) //0:0
//U3D_USB3_SW_ERDY
#define SW_ERDY_EP_NUM (0xf<<2) //5:2
#define SW_ERDY_EP_DIR (0x1<<1) //1:1
#define SW_SEND_ERDY (0x1<<0) //0:0
//U3D_EP_FLOW_CTRL
#define EP_OUT_FC (0xffff<<16) //31:16
#define EP_IN_FC (0xffff<<0) //15:0
//U3D_USB3_EP_ACT
#define EP_IN_ACT (0xffff<<0) //15:0
//U3D_USB3_EP_PACKET_PENDING
#define EP_OUT_PP (0xffff<<16) //31:16
#define EP_IN_PP (0xffff<<0) //15:0
//U3D_DEV_LINK_INTR_ENABLE
#define SSUSB_DEV_SPEED_CHG_INTR_EN (0x1<<0) //0:0
//U3D_DEV_LINK_INTR
#define SSUSB_DEV_SPEED_CHG_INTR (0x1<<0) //0:0
//U3D_USB2_EPCTL_LPM_FC_CHK
#define L1_EXIT_EP_OUT_FC_CHK (0x7fff<<17) //31:17
#define L1_EXIT_EP_IN_FC_CHK (0x7fff<<1) //15:1
#define L1_EXIT_EP0_FC_CHK (0x1<<0) //0:0
//U3D_DEVICE_MONITOR
#define CUR_DEV_ADDR (0x7f<<0) //6:0
/* SSUSB_EPCTL_CSR FIELD OFFSET DEFINITION */
//U3D_DEVICE_CONF
#define DEV_ADDR_OFST (24)
#define HW_USB2_3_SEL_OFST (18)
#define SW_USB2_3_SEL_EN_OFST (17)
#define SW_USB2_3_SEL_OFST (16)
#define SSUSB_DEV_SPEED_OFST (0)
//U3D_EP_RST
#define EP_IN_RST_OFST (17)
#define EP_OUT_RST_OFST (1)
#define EP0_RST_OFST (0)
//U3D_USB3_ERDY_TIMING_PARAMETER
#define ERDY_TIMEOUT_VALUE_OFST (0)
//U3D_USB3_EPCTRL_CAP
#define SEND_STALL_CLR_PP_EN_OFST (3)
#define USB3_ISO_CRC_CHK_DIS_OFST (2)
#define SET_EOB_EN_OFST (1)
#define TX_BURST_EN_OFST (0)
//U3D_USB2_ISOINEP_INCOMP_INTR
#define USB2_ISOINEP_INCOMP_INTR_EN_OFST (17)
#define USB2_ISOINEP_INCOMP_INTR_OFST (1)
//U3D_USB2_ISOOUTEP_INCOMP_ERR
#define USB2_ISOOUTEP_INCOMP_INTR_EN_OFST (17)
#define USB2_ISOOUTEP_INCOMP_INTR_OFST (1)
//U3D_ISO_UNDERRUN_INTR
#define ISOIN_UNDERRUN_INTR_EN_OFST (17)
#define ISOIN_UNDERRUN_INTR_OFST (1)
//U3D_ISO_OVERRUN_INTR
#define ISOOUT_OVERRUN_INTR_EN_OFST (17)
#define ISOOUT_OVERRUN_INTR_OFST (1)
//U3D_USB2_RX_EP_DATAERR_INTR
#define USB2_RX_EP_DATAERR_INTR_EN_OFST (16)
#define USB2_RX_EP_DATAERR_INTR_OFST (0)
//U3D_USB2_EPCTRL_CAP
#define USB2_ISO_CRC_CHK_DIS_OFST (0)
//U3D_USB2_EPCTL_LPM
#define L1_EXIT_EP_OUT_CHK_OFST (17)
#define L1_EXIT_EP_IN_CHK_OFST (1)
#define L1_EXIT_EP0_CHK_OFST (0)
//U3D_USB3_SW_ERDY
#define SW_ERDY_EP_NUM_OFST (2)
#define SW_ERDY_EP_DIR_OFST (1)
#define SW_SEND_ERDY_OFST (0)
//U3D_EP_FLOW_CTRL
#define EP_OUT_FC_OFST (16)
#define EP_IN_FC_OFST (0)
//U3D_USB3_EP_ACT
#define EP_IN_ACT_OFST (0)
//U3D_USB3_EP_PACKET_PENDING
#define EP_OUT_PP_OFST (16)
#define EP_IN_PP_OFST (0)
//U3D_DEV_LINK_INTR_ENABLE
#define SSUSB_DEV_SPEED_CHG_INTR_EN_OFST (0)
//U3D_DEV_LINK_INTR
#define SSUSB_DEV_SPEED_CHG_INTR_OFST (0)
//U3D_USB2_EPCTL_LPM_FC_CHK
#define L1_EXIT_EP_OUT_FC_CHK_OFST (17)
#define L1_EXIT_EP_IN_FC_CHK_OFST (1)
#define L1_EXIT_EP0_FC_CHK_OFST (0)
//U3D_DEVICE_MONITOR
#define CUR_DEV_ADDR_OFST (0)
//////////////////////////////////////////////////////////////////////
|