1 /*
2  * Copyright (C) 2015-2020 Alibaba Group Holding Limited
3  */
4 #ifndef _REG_USB_H_
5 #define _REG_USB_H_
6 
7 #include "stdint.h"
8 #include "plat_types.h"
9 
10 // =============================================================================
11 //  MACROS
12 // =============================================================================
13 #define SPFIFORAM_SIZE                          (1024)
14 
15 // =============================================================================
16 //  TYPES
17 // =============================================================================
18 
19 // ============================================================================
20 // USBC_T
21 // -----------------------------------------------------------------------------
22 ///
23 // =============================================================================
24 struct USBC_T {
25     //common part
26     __IO uint32_t GOTGCTL;                  //0x00000000
27     __IO uint32_t GOTGINT;                  //0x00000004
28     __IO uint32_t GAHBCFG;                  //0x00000008
29     __IO uint32_t GUSBCFG;                  //0x0000000C
30     __IO uint32_t GRSTCTL;                  //0x00000010
31     __IO uint32_t GINTSTS;                  //0x00000014
32     __IO uint32_t GINTMSK;                  //0x00000018
33     __IO uint32_t GRXSTSR;                  //0x0000001C
34     __IO uint32_t GRXSTSP;                  //0x00000020
35     __IO uint32_t GRXFSIZ;                  //0x00000024
36     __IO uint32_t GNPTXFSIZ;                //0x00000028
37     __IO uint32_t GNPTXSTS;                 //0x0000002C
38     __IO uint32_t GI2CCTL;                  //0x00000030
39     __IO uint32_t GPVNDCTL;                 //0x00000034
40     __IO uint32_t GGPIO;                    //0x00000038
41     __IO uint32_t GUID;                     //0x0000003C
42     __IO uint32_t GSNPSID;                  //0x00000040
43     __IO uint32_t GHWCFG1;                  //0x00000044
44     __IO uint32_t GHWCFG2;                  //0x00000048
45     __IO uint32_t GHWCFG3;                  //0x0000004C
46     __IO uint32_t GHWCFG4;                  //0x00000050
47     __IO uint32_t GLPMCFG;                  //0x00000054
48     __IO uint32_t GPWRDN;                   //0x00000058
49     __IO uint32_t GDFIFOCFG;                //0x0000005C
50     __IO uint32_t GADPCTL;                  //0x00000060
51     __IO uint32_t Reserved_00000054[0x27];  //0x00000064
52     __IO uint32_t HPTXFSIZ;                 //0x00000100
53     union
54     {
55         __IO uint32_t DPTXFSIZn;            //0x00000104 - 13F
56         __IO uint32_t DIEPTXFn;             //0x00000104 - 13F
57     } DTXFSIZE[15];
58     __IO uint32_t Reserved_00000140[0xB0];  //0x00000140 - 3FF
59     //host part
60     __IO uint32_t HCFG;                     //0x00000400
61     __IO uint32_t HFIR;                     //0x00000404
62     __IO uint32_t HFNUM;                    //0x00000408
63     __IO uint32_t Reserved_0000040C;        //0x0000040C
64     __IO uint32_t HPTXSTS;                  //0x00000410
65     __IO uint32_t HAINT;                    //0x00000414
66     __IO uint32_t HAINTMSK;                 //0x00000418
67     __IO uint32_t Reserved_0000041C[9];     //0x0000041C
68     __IO uint32_t HPRT;                     //0x00000440
69     __IO uint32_t Reserved_00000444[0x2F];  //0x00000444
70     struct
71     {
72         __IO uint32_t HCCHARn;              //0x00000500+n*0x20
73         __IO uint32_t HCSPLTn;              //0x00000504+n*0x20
74         __IO uint32_t HCINTn;               //0x00000508+n*0x20
75         __IO uint32_t HCINTMSKn;            //0x0000050C+n*0x20
76         __IO uint32_t HCTSIZn;              //0x00000510+n*0x20
77         __IO uint32_t HCDMAn;               //0x00000514+n*0x20
78         __IO uint32_t Reserved_00000518;    //0x00000518+n*0x20
79         __IO uint32_t HCDMABn;              //0x0000051C+n*0x20
80     } HCSR[16];
81     __IO uint32_t Reserved_00000700[0x40];  //0x00000700
82     //device part
83     __IO uint32_t DCFG;                     //0x00000800
84     __IO uint32_t DCTL;                     //0x00000804
85     __IO uint32_t DSTS;                     //0x00000808
86     __IO uint32_t Reserved_0000080C;        //0x0000080C
87     __IO uint32_t DIEPMSK;                  //0x00000810
88     __IO uint32_t DOEPMSK;                  //0x00000814
89     __IO uint32_t DAINT;                    //0x00000818
90     __IO uint32_t DAINTMSK;                 //0x0000081C
91     __IO uint32_t DTKNQR1;                  //0x00000820
92     __IO uint32_t DTKNQR2;                  //0x00000824
93     __IO uint32_t DVBUSDIS;                 //0x00000828
94     __IO uint32_t DVBUSPULSE;               //0x0000082C
95     __IO uint32_t DTHRCTL;                  //0x00000830
96     __IO uint32_t DIEPEMPMSK;               //0x00000834
97     __IO uint32_t Reserved_00000838[0x32];  //0x00000838
98     __IO uint32_t DIEPCTL0;                 //0x00000900
99     __IO uint32_t Reserved_00000904;        //0x00000904
100     __IO uint32_t DIEPINT0;                 //0x00000908
101     __IO uint32_t Reserved_0000090C;        //0x0000090C
102     __IO uint32_t DIEPTSIZ0;                //0x00000910
103     __IO uint32_t DIEPDMA0;                 //0x00000914
104     __IO uint32_t DIEPFSTS0;                //0x00000918
105     __IO uint32_t DIEPDMAB0;                //0x0000091C
106     struct
107     {
108         __IO uint32_t DIEPCTL;              //0x00000920
109         __IO uint32_t Reserved_00000924;    //0x00000924
110         __IO uint32_t DIEPINT;              //0x00000928
111         __IO uint32_t Reserved_0000092C;    //0x0000092C
112         __IO uint32_t DIEPTSIZ;             //0x00000930
113         __IO uint32_t DIEPDMA;              //0x00000934
114         __IO uint32_t DIEPFSTS;             //0x00000938
115         __IO uint32_t DIEPDMAB;             //0x0000093C
116     } DIEPnCONFIG[15];
117     __IO uint32_t DOEPCTL0;                 //0x00000B00
118     __IO uint32_t Reserved_00000B04;        //0x00000B04
119     __IO uint32_t DOEPINT0;                 //0x00000B08
120     __IO uint32_t Reserved_00000B0C;        //0x00000B0C
121     __IO uint32_t DOEPTSIZ0;                //0x00000B10
122     __IO uint32_t DOEPDMA0;                 //0x00000B14
123     __IO uint32_t Reserved_00000B18;        //0x00000B18
124     __IO uint32_t DOEPDMAB0;                //0x00000B1C
125     struct
126     {
127         __IO uint32_t DOEPCTL;              //0x00000B20
128         __IO uint32_t Reserved_00000B24;    //0x00000B24
129         __IO uint32_t DOEPINT;              //0x00000B28
130         __IO uint32_t Reserved_00000B2C;    //0x00000B2C
131         __IO uint32_t DOEPTSIZ;             //0x00000B30
132         __IO uint32_t DOEPDMA;              //0x00000B34
133         __IO uint32_t Reserved_00000B38;    //0x00000B38
134         __IO uint32_t DOEPDMAB;             //0x00000B3C
135     } DOEPnCONFIG[15];
136     __IO uint32_t Reserved_00000D00[0x40];  //0x00000D00
137     __IO uint32_t PCGCCTL;                  //0x00000E00
138     __IO uint32_t Reserved_00000E04;        //0x00000E04
139     __IO uint32_t TPORTDBG0;                //0x00000E08
140     __IO uint32_t TPORTDBG1;                //0x00000E0C
141     __IO uint32_t Reserved_00000E0C[0x7C];  //0x00000E10
142     struct
143     {
144         __IO uint32_t TxRxData;             //0x00001000
145         __IO uint32_t Reserved_00001004[0x3FF]; //0x00001004
146     } EPnFIFO[16];
147     __IO uint32_t Reserved_00011000[0x3C00]; //0x00011000
148     struct
149     {
150         __IO uint32_t RAMData;              //0x00020000
151     } SPFIFORAM[SPFIFORAM_SIZE];
152 };
153 
154 //GOTGCTL
155 #define USBC_SESREQSCS              (1<<0)
156 #define USBC_SESREQSCS_MASK         (1<<0)
157 #define USBC_SESREQSCS_SHIFT        (0)
158 #define USBC_SESREQ                 (1<<1)
159 #define USBC_SESREQ_MASK            (1<<1)
160 #define USBC_SESREQ_SHIFT           (1)
161 #define USBC_HSTNEGSCS              (1<<8)
162 #define USBC_HSTNEGSCS_MASK         (1<<8)
163 #define USBC_HSTNEGSCS_SHIFT        (8)
164 #define USBC_HNPREQ                 (1<<9)
165 #define USBC_HNPREQ_MASK            (1<<9)
166 #define USBC_HNPREQ_SHIFT           (9)
167 #define USBC_HSTSETHNPEN            (1<<10)
168 #define USBC_HSTSETHNPEN_MASK       (1<<10)
169 #define USBC_HSTSETHNPEN_SHIFT      (10)
170 #define USBC_DEVHNPEN               (1<<11)
171 #define USBC_DEVHNPEN_MASK          (1<<11)
172 #define USBC_DEVHNPEN_SHIFT         (11)
173 #define USBC_CONLDSTS               (1<<16)
174 #define USBC_CONLDSTS_MASK          (1<<16)
175 #define USBC_CONLDSTS_SHIFT         (16)
176 #define USBC_DBNCTIME               (1<<17)
177 #define USBC_DBNCTIME_MASK          (1<<17)
178 #define USBC_DBNCTIME_SHIFT         (17)
179 #define USBC_ASESVLD                (1<<18)
180 #define USBC_ASESVLD_MASK           (1<<18)
181 #define USBC_ASESVLD_SHIFT          (18)
182 #define USBC_BSESVLD                (1<<19)
183 #define USBC_BSESVLD_MASK           (1<<19)
184 #define USBC_BSESVLD_SHIFT          (19)
185 
186 //GOTGINT
187 #define USBC_SESENDDET              (1<<2)
188 #define USBC_SESENDDET_MASK         (1<<2)
189 #define USBC_SESENDDET_SHIFT        (2)
190 #define USBC_SESREQSUCSTSCHNG       (1<<8)
191 #define USBC_SESREQSUCSTSCHNG_MASK  (1<<8)
192 #define USBC_SESREQSUCSTSCHNG_SHIFT (8)
193 #define USBC_HSTNEGSUCSTSCHNG       (1<<9)
194 #define USBC_HSTNEGSUCSTSCHNG_MASK  (1<<9)
195 #define USBC_HSTNEGSUCSTSCHNG_SHIFT (9)
196 #define USBC_HSTNEGDET              (1<<17)
197 #define USBC_HSTNEGDET_MASK         (1<<17)
198 #define USBC_HSTNEGDET_SHIFT        (17)
199 #define USBC_ADEVTOUTCHG            (1<<18)
200 #define USBC_ADEVTOUTCHG_MASK       (1<<18)
201 #define USBC_ADEVTOUTCHG_SHIFT      (18)
202 #define USBC_DBNCEDONE              (1<<19)
203 #define USBC_DBNCEDONE_MASK         (1<<19)
204 #define USBC_DBNCEDONE_SHIFT        (19)
205 
206 //GAHBCFG
207 #define USBC_GLBLINTRMSK            (1<<0)
208 #define USBC_GLBLINTRMSK_MASK       (1<<0)
209 #define USBC_GLBLINTRMSK_SHIFT      (0)
210 #define USBC_HBSTLEN(n)             (((n)&15)<<1)
211 #define USBC_HBSTLEN_MASK           (15<<1)
212 #define USBC_HBSTLEN_SHIFT          (1)
213 #define USBC_DMAEN                  (1<<5)
214 #define USBC_DMAEN_MASK             (1<<5)
215 #define USBC_DMAEN_SHIFT            (5)
216 #define USBC_NPTXFEMPLVL            (1<<7)
217 #define USBC_NPTXFEMPLVL_MASK       (1<<7)
218 #define USBC_NPTXFEMPLVL_SHIFT      (7)
219 #define USBC_PTXFEMPLVL             (1<<8)
220 #define USBC_PTXFEMPLVL_MASK        (1<<8)
221 #define USBC_PTXFEMPLVL_SHIFT       (8)
222 
223 //GUSBCFG
224 #define USBC_TOUTCAL(n)             (((n)&7)<<0)
225 #define USBC_TOUTCAL_MASK           (7<<0)
226 #define USBC_TOUTCAL_SHIFT          (0)
227 #define USBC_PHYIF                  (1<<3)
228 #define USBC_PHYIF_MASK             (1<<3)
229 #define USBC_PHYIF_SHIFT            (3)
230 #define USBC_ULPI_UTMI_SEL          (1<<4)
231 #define USBC_ULPI_UTMI_SEL_MASK     (1<<4)
232 #define USBC_ULPI_UTMI_SEL_SHIFT    (4)
233 #define USBC_FSINTF                 (1<<5)
234 #define USBC_FSINTF_MASK            (1<<5)
235 #define USBC_FSINTF_SHIFT           (5)
236 #define USBC_PHYSEL                 (1<<6)
237 #define USBC_PHYSEL_MASK            (1<<6)
238 #define USBC_PHYSEL_SHIFT           (6)
239 #define USBC_DDRSEL                 (1<<7)
240 #define USBC_DDRSEL_MASK            (1<<7)
241 #define USBC_DDRSEL_SHIFT           (7)
242 #define USBC_SRPCAP                 (1<<8)
243 #define USBC_SRPCAP_MASK            (1<<8)
244 #define USBC_SRPCAP_SHIFT           (8)
245 #define USBC_HNPCAP                 (1<<9)
246 #define USBC_HNPCAP_MASK            (1<<9)
247 #define USBC_HNPCAP_SHIFT           (9)
248 #define USBC_USBTRDTIM(n)           (((n)&15)<<10)
249 #define USBC_USBTRDTIM_MASK         (15<<10)
250 #define USBC_USBTRDTIM_SHIFT        (10)
251 #define USBC_PHYPWRCLKSEL           (1<<15)
252 #define USBC_PHYPWRCLKSEL_MASK      (1<<15)
253 #define USBC_PHYPWRCLKSEL_SHIFT     (15)
254 #define USBC_OTGI2CSEL              (1<<16)
255 #define USBC_OTGI2CSEL_MASK         (1<<16)
256 #define USBC_OTGI2CSEL_SHIFT        (16)
257 #define USBC_ULPIFSLS               (1<<17)
258 #define USBC_ULPIFSLS_MASK          (1<<17)
259 #define USBC_ULPIFSLS_SHIFT         (17)
260 #define USBC_ULPIAUTORES            (1<<18)
261 #define USBC_ULPIAUTORES_MASK       (1<<18)
262 #define USBC_ULPIAUTORES_SHIFT      (18)
263 #define USBC_ULPICLKSUSM            (1<<19)
264 #define USBC_ULPICLKSUSM_MASK       (1<<19)
265 #define USBC_ULPICLKSUSM_SHIFT      (19)
266 #define USBC_ULPIEXTVBUSDRV         (1<<20)
267 #define USBC_ULPIEXTVBUSDRV_MASK    (1<<20)
268 #define USBC_ULPIEXTVBUSDRV_SHIFT   (20)
269 #define USBC_ULPIEXTVBUSINDICATOR   (1<<21)
270 #define USBC_ULPIEXTVBUSINDICATOR_MASK (1<<21)
271 #define USBC_ULPIEXTVBUSINDICATOR_SHIFT (21)
272 #define USBC_TERMSELDLPULSE         (1<<22)
273 #define USBC_TERMSELDLPULSE_MASK    (1<<22)
274 #define USBC_TERMSELDLPULSE_SHIFT   (22)
275 #define USBC_FORCEHSTMODE           (1<<29)
276 #define USBC_FORCEHSTMODE_MASK      (1<<29)
277 #define USBC_FORCEHSTMODE_SHIFT     (29)
278 #define USBC_FORCEDEVMODE           (1<<30)
279 #define USBC_FORCEDEVMODE_MASK      (1<<30)
280 #define USBC_FORCEDEVMODE_SHIFT     (30)
281 #define USBC_CORRUPTTXPACKET        (1<<31)
282 #define USBC_CORRUPTTXPACKET_MASK   (1<<31)
283 #define USBC_CORRUPTTXPACKET_SHIFT  (31)
284 
285 //GRSTCTL
286 #define USBC_CSFTRST                (1<<0)
287 #define USBC_CSFTRST_MASK           (1<<0)
288 #define USBC_CSFTRST_SHIFT          (0)
289 #define USBC_FRMCNTRRST             (1<<2)
290 #define USBC_FRMCNTRRST_MASK        (1<<2)
291 #define USBC_FRMCNTRRST_SHIFT       (2)
292 #define USBC_INTKNQFLSH             (1<<3)
293 #define USBC_INTKNQFLSH_MASK        (1<<3)
294 #define USBC_INTKNQFLSH_SHIFT       (3)
295 #define USBC_RXFFLSH                (1<<4)
296 #define USBC_RXFFLSH_MASK           (1<<4)
297 #define USBC_RXFFLSH_SHIFT          (4)
298 #define USBC_TXFFLSH                (1<<5)
299 #define USBC_TXFFLSH_MASK           (1<<5)
300 #define USBC_TXFFLSH_SHIFT          (5)
301 #define USBC_TXFNUM(n)              (((n)&31)<<6)
302 #define USBC_TXFNUM_MASK            (31<<6)
303 #define USBC_TXFNUM_SHIFT           (6)
304 #define USBC_DMAREQ                 (1<<30)
305 #define USBC_DMAREQ_MASK            (1<<30)
306 #define USBC_DMAREQ_SHIFT           (30)
307 #define USBC_AHBIDLE                (1<<31)
308 #define USBC_AHBIDLE_MASK           (1<<31)
309 #define USBC_AHBIDLE_SHIFT          (31)
310 
311 //GINTSTS
312 #define USBC_CURMOD                 (1<<0)
313 #define USBC_CURMOD_MASK            (1<<0)
314 #define USBC_CURMOD_SHIFT           (0)
315 #define USBC_MODEMIS                (1<<1)
316 #define USBC_MODEMIS_MASK           (1<<1)
317 #define USBC_MODEMIS_SHIFT          (1)
318 #define USBC_OTGINT                 (1<<2)
319 #define USBC_OTGINT_MASK            (1<<2)
320 #define USBC_OTGINT_SHIFT           (2)
321 #define USBC_SOF                    (1<<3)
322 #define USBC_SOF_MASK               (1<<3)
323 #define USBC_SOF_SHIFT              (3)
324 #define USBC_RXFLVL                 (1<<4)
325 #define USBC_RXFLVL_MASK            (1<<4)
326 #define USBC_RXFLVL_SHIFT           (4)
327 #define USBC_NPTXFEMP               (1<<5)
328 #define USBC_NPTXFEMP_MASK          (1<<5)
329 #define USBC_NPTXFEMP_SHIFT         (5)
330 #define USBC_GINNAKEFF              (1<<6)
331 #define USBC_GINNAKEFF_MASK         (1<<6)
332 #define USBC_GINNAKEFF_SHIFT        (6)
333 #define USBC_GOUTNAKEFF             (1<<7)
334 #define USBC_GOUTNAKEFF_MASK        (1<<7)
335 #define USBC_GOUTNAKEFF_SHIFT       (7)
336 #define USBC_ULPICKINT              (1<<8)
337 #define USBC_ULPICKINT_MASK         (1<<8)
338 #define USBC_ULPICKINT_SHIFT        (8)
339 #define USBC_I2CINT                 (1<<9)
340 #define USBC_I2CINT_MASK            (1<<9)
341 #define USBC_I2CINT_SHIFT           (9)
342 #define USBC_ERLYSUSP               (1<<10)
343 #define USBC_ERLYSUSP_MASK          (1<<10)
344 #define USBC_ERLYSUSP_SHIFT         (10)
345 #define USBC_USBSUSP                (1<<11)
346 #define USBC_USBSUSP_MASK           (1<<11)
347 #define USBC_USBSUSP_SHIFT          (11)
348 #define USBC_USBRST                 (1<<12)
349 #define USBC_USBRST_MASK            (1<<12)
350 #define USBC_USBRST_SHIFT           (12)
351 #define USBC_ENUMDONE               (1<<13)
352 #define USBC_ENUMDONE_MASK          (1<<13)
353 #define USBC_ENUMDONE_SHIFT         (13)
354 #define USBC_ISOOUTDROP             (1<<14)
355 #define USBC_ISOOUTDROP_MASK        (1<<14)
356 #define USBC_ISOOUTDROP_SHIFT       (14)
357 #define USBC_EOPF                   (1<<15)
358 #define USBC_EOPF_MASK              (1<<15)
359 #define USBC_EOPF_SHIFT             (15)
360 #define USBC_EPMIS                  (1<<17)
361 #define USBC_EPMIS_MASK             (1<<17)
362 #define USBC_EPMIS_SHIFT            (17)
363 #define USBC_IEPINT                 (1<<18)
364 #define USBC_IEPINT_MASK            (1<<18)
365 #define USBC_IEPINT_SHIFT           (18)
366 #define USBC_OEPINT                 (1<<19)
367 #define USBC_OEPINT_MASK            (1<<19)
368 #define USBC_OEPINT_SHIFT           (19)
369 #define USBC_INCOMPISOIN            (1<<20)
370 #define USBC_INCOMPISOIN_MASK       (1<<20)
371 #define USBC_INCOMPISOIN_SHIFT      (20)
372 #define USBC_INCOMPISOOUT           (1<<21)
373 #define USBC_INCOMPISOOUT_MASK      (1<<21)
374 #define USBC_INCOMPISOOUT_SHIFT     (21)
375 #define USBC_FETSUSP                (1<<22)
376 #define USBC_FETSUSP_MASK           (1<<22)
377 #define USBC_FETSUSP_SHIFT          (22)
378 #define USBC_PRTINT                 (1<<24)
379 #define USBC_PRTINT_MASK            (1<<24)
380 #define USBC_PRTINT_SHIFT           (24)
381 #define USBC_HCHINT                 (1<<25)
382 #define USBC_HCHINT_MASK            (1<<25)
383 #define USBC_HCHINT_SHIFT           (25)
384 #define USBC_PTXFEMP                (1<<26)
385 #define USBC_PTXFEMP_MASK           (1<<26)
386 #define USBC_PTXFEMP_SHIFT          (26)
387 #define USBC_LPM_INT                (1<<27)
388 #define USBC_LPM_INT_MASK           (1<<27)
389 #define USBC_LPM_INT_SHIFT          (27)
390 #define USBC_CONLDSTSCHNG           (1<<28)
391 #define USBC_CONLDSTSCHNG_MASK      (1<<28)
392 #define USBC_CONLDSTSCHNG_SHIFT     (28)
393 #define USBC_DISCONNINT             (1<<29)
394 #define USBC_DISCONNINT_MASK        (1<<29)
395 #define USBC_DISCONNINT_SHIFT       (29)
396 #define USBC_SESSREQINT             (1<<30)
397 #define USBC_SESSREQINT_MASK        (1<<30)
398 #define USBC_SESSREQINT_SHIFT       (30)
399 #define USBC_WKUPINT                (1<<31)
400 #define USBC_WKUPINT_MASK           (1<<31)
401 #define USBC_WKUPINT_SHIFT          (31)
402 
403 //GINTMSK
404 //#define USBC_MODEMIS              (1<<1)
405 //#define USBC_MODEMIS_MASK         (1<<1)
406 //#define USBC_MODEMIS_SHIFT        (1)
407 //#define USBC_OTGINT               (1<<2)
408 //#define USBC_OTGINT_MASK          (1<<2)
409 //#define USBC_OTGINT_SHIFT         (2)
410 //#define USBC_SOF                  (1<<3)
411 //#define USBC_SOF_MASK             (1<<3)
412 //#define USBC_SOF_SHIFT            (3)
413 //#define USBC_RXFLVL               (1<<4)
414 //#define USBC_RXFLVL_MASK          (1<<4)
415 //#define USBC_RXFLVL_SHIFT         (4)
416 //#define USBC_NPTXFEMP             (1<<5)
417 //#define USBC_NPTXFEMP_MASK        (1<<5)
418 //#define USBC_NPTXFEMP_SHIFT       (5)
419 //#define USBC_GINNAKEFF            (1<<6)
420 //#define USBC_GINNAKEFF_MASK       (1<<6)
421 //#define USBC_GINNAKEFF_SHIFT      (6)
422 //#define USBC_GOUTNAKEFF           (1<<7)
423 //#define USBC_GOUTNAKEFF_MASK      (1<<7)
424 //#define USBC_GOUTNAKEFF_SHIFT     (7)
425 //#define USBC_ULPICKINT            (1<<8)
426 //#define USBC_ULPICKINT_MASK       (1<<8)
427 //#define USBC_ULPICKINT_SHIFT      (8)
428 //#define USBC_I2CINT               (1<<9)
429 //#define USBC_I2CINT_MASK          (1<<9)
430 //#define USBC_I2CINT_SHIFT         (9)
431 //#define USBC_ERLYSUSP             (1<<10)
432 //#define USBC_ERLYSUSP_MASK        (1<<10)
433 //#define USBC_ERLYSUSP_SHIFT       (10)
434 //#define USBC_USBSUSP              (1<<11)
435 //#define USBC_USBSUSP_MASK         (1<<11)
436 //#define USBC_USBSUSP_SHIFT        (11)
437 //#define USBC_USBRST               (1<<12)
438 //#define USBC_USBRST_MASK          (1<<12)
439 //#define USBC_USBRST_SHIFT         (12)
440 //#define USBC_ENUMDONE             (1<<13)
441 //#define USBC_ENUMDONE_MASK        (1<<13)
442 //#define USBC_ENUMDONE_SHIFT       (13)
443 //#define USBC_ISOOUTDROP           (1<<14)
444 //#define USBC_ISOOUTDROP_MASK      (1<<14)
445 //#define USBC_ISOOUTDROP_SHIFT     (14)
446 //#define USBC_EOPF                 (1<<15)
447 //#define USBC_EOPF_MASK            (1<<15)
448 //#define USBC_EOPF_SHIFT           (15)
449 //#define USBC_EPMIS                (1<<17)
450 //#define USBC_EPMIS_MASK           (1<<17)
451 //#define USBC_EPMIS_SHIFT          (17)
452 //#define USBC_IEPINT               (1<<18)
453 //#define USBC_IEPINT_MASK          (1<<18)
454 //#define USBC_IEPINT_SHIFT         (18)
455 //#define USBC_OEPINT               (1<<19)
456 //#define USBC_OEPINT_MASK          (1<<19)
457 //#define USBC_OEPINT_SHIFT         (19)
458 //#define USBC_INCOMPLSOIN          (1<<20)
459 //#define USBC_INCOMPLSOIN_MASK     (1<<20)
460 //#define USBC_INCOMPLSOIN_SHIFT    (20)
461 //#define USBC_INCOMPIP             (1<<21)
462 //#define USBC_INCOMPIP_MASK        (1<<21)
463 //#define USBC_INCOMPIP_SHIFT       (21)
464 //#define USBC_FETSUSP              (1<<22)
465 //#define USBC_FETSUSP_MASK         (1<<22)
466 //#define USBC_FETSUSP_SHIFT        (22)
467 //#define USBC_PRTINT               (1<<24)
468 //#define USBC_PRTINT_MASK          (1<<24)
469 //#define USBC_PRTINT_SHIFT         (24)
470 //#define USBC_HCHINT               (1<<25)
471 //#define USBC_HCHINT_MASK          (1<<25)
472 //#define USBC_HCHINT_SHIFT         (25)
473 //#define USBC_PTXFEMP              (1<<26)
474 //#define USBC_PTXFEMP_MASK         (1<<26)
475 //#define USBC_PTXFEMP_SHIFT        (26)
476 //#define USBC_CONLDSTSCHNG         (1<<28)
477 //#define USBC_CONLDSTSCHNG_MASK    (1<<28)
478 //#define USBC_CONLDSTSCHNG_SHIFT   (28)
479 //#define USBC_DISCONNINT           (1<<29)
480 //#define USBC_DISCONNINT_MASK      (1<<29)
481 //#define USBC_DISCONNINT_SHIFT     (29)
482 //#define USBC_SESSREQINT           (1<<30)
483 //#define USBC_SESSREQINT_MASK      (1<<30)
484 //#define USBC_SESSREQINT_SHIFT     (30)
485 //#define USBC_WKUPINT              (1<<31)
486 //#define USBC_WKUPINT_MASK         (1<<31)
487 //#define USBC_WKUPINT_SHIFT        (31)
488 
489 //GRXSTSR
490 #define USBC_EPNUM(n)               (((n)&15)<<0)
491 #define USBC_EPNUM_MASK             (15<<0)
492 #define USBC_EPNUM_SHIFT            (0)
493 #define USBC_BCNT(n)                (((n)&0x7FF)<<4)
494 #define USBC_BCNT_MASK              (0x7FF<<4)
495 #define USBC_BCNT_SHIFT             (4)
496 #define USBC_DPID(n)                (((n)&3)<<15)
497 #define USBC_DPID_MASK              (3<<15)
498 #define USBC_DPID_SHIFT             (15)
499 #define USBC_PKTSTS(n)              (((n)&15)<<17)
500 #define USBC_PKTSTS_MASK            (15<<17)
501 #define USBC_PKTSTS_SHIFT           (17)
502 #define USBC_FN(n)                  (((n)&15)<<21)
503 #define USBC_FN_MASK                (15<<21)
504 #define USBC_FN_SHIFT               (21)
505 
506 //GRXSTSP
507 //#define USBC_EPNUM(n)             (((n)&15)<<0)
508 //#define USBC_EPNUM_MASK           (15<<0)
509 //#define USBC_EPNUM_SHIFT          (0)
510 //#define USBC_BCNT(n)              (((n)&0x7FF)<<4)
511 //#define USBC_BCNT_MASK            (0x7FF<<4)
512 //#define USBC_BCNT_SHIFT           (4)
513 //#define USBC_DPID(n)              (((n)&3)<<15)
514 //#define USBC_DPID_MASK            (3<<15)
515 //#define USBC_DPID_SHIFT           (15)
516 //#define USBC_PKTSTS(n)            (((n)&15)<<17)
517 //#define USBC_PKTSTS_MASK          (15<<17)
518 //#define USBC_PKTSTS_SHIFT         (17)
519 //#define USBC_FN(n)                (((n)&15)<<21)
520 //#define USBC_FN_MASK              (15<<21)
521 //#define USBC_FN_SHIFT             (21)
522 
523 //GRXFSIZ
524 #define USBC_RXFDEP(n)              (((n)&0xFFFF)<<0)
525 #define USBC_RXFDEP_MASK            (0xFFFF<<0)
526 #define USBC_RXFDEP_SHIFT           (0)
527 
528 //GNPTXFSIZ
529 #define USBC_NPTXFSTADDR(n)         (((n)&0xFFFF)<<0)
530 #define USBC_NPTXFSTADDR_MASK       (0xFFFF<<0)
531 #define USBC_NPTXFSTADDR_SHIFT      (0)
532 #define USBC_NPTXFDEPS(n)           (((n)&0xFFFF)<<16)
533 #define USBC_NPTXFDEPS_MASK         (0xFFFF<<16)
534 #define USBC_NPTXFDEPS_SHIFT        (16)
535 
536 //GNPTXSTS
537 #define USBC_NPTXFSPCAVAIL(n)       (((n)&0xFFFF)<<0)
538 #define USBC_NPTXFSPCAVAIL_MASK     (0xFFFF<<0)
539 #define USBC_NPTXFSPCAVAIL_SHIFT    (0)
540 #define USBC_NPTXQSPCAVAIL(n)       (((n)&0xFF)<<16)
541 #define USBC_NPTXQSPCAVAIL_MASK     (0xFF<<16)
542 #define USBC_NPTXQSPCAVAIL_SHIFT    (16)
543 #define USBC_NPTXQTOP(n)            (((n)&0x7F)<<24)
544 #define USBC_NPTXQTOP_MASK          (0x7F<<24)
545 #define USBC_NPTXQTOP_SHIFT         (24)
546 
547 //GPVNDCTL
548 #define USBC_GPVNDCTL_DISULPIDRVR                    (1<<31)
549 #define USBC_GPVNDCTL_DISULPIDRVR_MASK                    (1<<31)
550 #define USBC_GPVNDCTL_DISULPIDRVR_SHIFT                    (31)
551 #define USBC_GPVNDCTL_VSTSDONE                    (1<<27)
552 #define USBC_GPVNDCTL_VSTSDONE_MASK                    (1<<27)
553 #define USBC_GPVNDCTL_VSTSDONE_SHIFT                    (27)
554 #define USBC_GPVNDCTL_VSTSBSY                    (1<<26)
555 #define USBC_GPVNDCTL_VSTSBSY_MASK                    (1<<26)
556 #define USBC_GPVNDCTL_VSTSBSY_SHIFT                    (26)
557 #define USBC_GPVNDCTL_NEWREGREQ                    (1<<25)
558 #define USBC_GPVNDCTL_NEWREGREQ_MASK                    (1<<25)
559 #define USBC_GPVNDCTL_NEWREGREQ_SHIFT                    (25)
560 #define USBC_GPVNDCTL_REGWR                    (1<<22)
561 #define USBC_GPVNDCTL_REGWR_MASK                    (1<<22)
562 #define USBC_GPVNDCTL_REGWR_SHIFT                    (22)
563 #define USBC_GPVNDCTL_REGADDR(n)                    (((n)&0x3f)<<16)
564 #define USBC_GPVNDCTL_REGADDR_MASK                    (0x3f<<16)
565 #define USBC_GPVNDCTL_REGADDR_SHIFT                    (16)
566 #define USBC_GPVNDCTL_EXTREGADDR(n)                    (((n)&0xff)<<8)
567 #define USBC_GPVNDCTL_EXTREGADDR_MASK                    (0xff<<8)
568 #define USBC_GPVNDCTL_EXTREGADDR_SHIFT                    (8)
569 #define USBC_GPVNDCTL_REGDATA(n)                    (((n)&0xff)<<0)
570 #define USBC_GPVNDCTL_REGDATA_MASK                    (0xff<<0)
571 #define USBC_GPVNDCTL_REGDATA_SHIFT                    (0)
572 
573 //GUID
574 #define USBC_USERID(n)              (((n)&0xFFFFFFFF)<<0)
575 #define USBC_USERID_MASK            (0xFFFFFFFF<<0)
576 #define USBC_USERID_SHIFT           (0)
577 
578 //GSNPSID
579 #define USBC_SYNOPSYSID(n)          (((n)&0xFFFFFFFF)<<0)
580 #define USBC_SYNOPSYSID_MASK        (0xFFFFFFFF<<0)
581 #define USBC_SYNOPSYSID_SHIFT       (0)
582 
583 //GHWCFG1
584 #define USBC_EPDIR(n)               (((n)&0xFFFFFFFF)<<0)
585 #define USBC_EPDIR_MASK             (0xFFFFFFFF<<0)
586 #define USBC_EPDIR_SHIFT            (0)
587 
588 //GHWCFG2
589 #define USBC_OTGMODE(n)             (((n)&7)<<0)
590 #define USBC_OTGMODE_MASK           (7<<0)
591 #define USBC_OTGMODE_SHIFT          (0)
592 #define USBC_OTGARCH(n)             (((n)&3)<<3)
593 #define USBC_OTGARCH_MASK           (3<<3)
594 #define USBC_OTGARCH_SHIFT          (3)
595 #define USBC_SINGPNT                (1<<5)
596 #define USBC_SINGPNT_MASK           (1<<5)
597 #define USBC_SINGPNT_SHIFT          (5)
598 #define USBC_HSPHYTYPE(n)           (((n)&3)<<6)
599 #define USBC_HSPHYTYPE_MASK         (3<<6)
600 #define USBC_HSPHYTYPE_SHIFT        (6)
601 #define USBC_FSPHYTYPE(n)           (((n)&3)<<8)
602 #define USBC_FSPHYTYPE_MASK         (3<<8)
603 #define USBC_FSPHYTYPE_SHIFT        (8)
604 #define USBC_NUMDEVEPS(n)           (((n)&15)<<10)
605 #define USBC_NUMDEVEPS_MASK         (15<<10)
606 #define USBC_NUMDEVEPS_SHIFT        (10)
607 #define USBC_NUMHSTCHNL(n)          (((n)&15)<<14)
608 #define USBC_NUMHSTCHNL_MASK        (15<<14)
609 #define USBC_NUMHSTCHNL_SHIFT       (14)
610 #define USBC_PERIOSUPPORT           (1<<18)
611 #define USBC_PERIOSUPPORT_MASK      (1<<18)
612 #define USBC_PERIOSUPPORT_SHIFT     (18)
613 #define USBC_DYNFIFOSIZING          (1<<19)
614 #define USBC_DYNFIFOSIZING_MASK     (1<<19)
615 #define USBC_DYNFIFOSIZING_SHIFT    (19)
616 #define USBC_NPTXQDEPTH(n)          (((n)&3)<<22)
617 #define USBC_NPTXQDEPTH_MASK        (3<<22)
618 #define USBC_NPTXQDEPTH_SHIFT       (22)
619 #define USBC_PTXQDEPTH(n)           (((n)&3)<<24)
620 #define USBC_PTXQDEPTH_MASK         (3<<24)
621 #define USBC_PTXQDEPTH_SHIFT        (24)
622 #define USBC_TKNQDEPTH(n)           (((n)&31)<<26)
623 #define USBC_TKNQDEPTH_MASK         (31<<26)
624 #define USBC_TKNQDEPTH_SHIFT        (26)
625 
626 //GHWCFG3
627 #define USBC_XFERSIZEWIDTH(n)       (((n)&15)<<0)
628 #define USBC_XFERSIZEWIDTH_MASK     (15<<0)
629 #define USBC_XFERSIZEWIDTH_SHIFT    (0)
630 #define USBC_PKTSIZEWIDTH(n)        (((n)&7)<<4)
631 #define USBC_PKTSIZEWIDTH_MASK      (7<<4)
632 #define USBC_PKTSIZEWIDTH_SHIFT     (4)
633 #define USBC_OTGEN                  (1<<7)
634 #define USBC_OTGEN_MASK             (1<<7)
635 #define USBC_OTGEN_SHIFT            (7)
636 #define USBC_I2CINTSEL              (1<<8)
637 #define USBC_I2CINTSEL_MASK         (1<<8)
638 #define USBC_I2CINTSEL_SHIFT        (8)
639 //#define USBC_VNDCTLSUPT             (1<<9)
640 #define USBC_VNDCTLSUPT(n)             (((n)&0x1)<<9)
641 #define USBC_VNDCTLSUPT_MASK        (1<<9)
642 #define USBC_VNDCTLSUPT_SHIFT       (9)
643 #define USBC_OPTFEATURE             (1<<10)
644 #define USBC_OPTFEATURE_MASK        (1<<10)
645 #define USBC_OPTFEATURE_SHIFT       (10)
646 #define USBC_RSTTYPE                (1<<11)
647 #define USBC_RSTTYPE_MASK           (1<<11)
648 #define USBC_RSTTYPE_SHIFT          (11)
649 #define USBC_DFIFODEPTH(n)          (((n)&0xFFFF)<<16)
650 #define USBC_DFIFODEPTH_MASK        (0xFFFF<<16)
651 #define USBC_DFIFODEPTH_SHIFT       (16)
652 
653 //GHWCFG4
654 #define USBC_NUMDEVPERIOEPS(n)      (((n)&15)<<0)
655 #define USBC_NUMDEVPERIOEPS_MASK    (15<<0)
656 #define USBC_NUMDEVPERIOEPS_SHIFT   (0)
657 #define USBC_ENABLEPWROPT           (1<<4)
658 #define USBC_ENABLEPWROPT_MASK      (1<<4)
659 #define USBC_ENABLEPWROPT_SHIFT     (4)
660 #define USBC_AHBFREQ                (1<<5)
661 #define USBC_AHBFREQ_MASK           (1<<5)
662 #define USBC_AHBFREQ_SHIFT          (5)
663 #define USBC_PHYDATAWIDTH(n)        (((n)&3)<<14)
664 #define USBC_PHYDATAWIDTH_MASK      (3<<14)
665 #define USBC_PHYDATAWIDTH_SHIFT     (14)
666 #define USBC_NUMCTLEPS(n)           (((n)&15)<<16)
667 #define USBC_NUMCTLEPS_MASK         (15<<16)
668 #define USBC_NUMCTLEPS_SHIFT        (16)
669 #define USBC_IDDIGFLTR              (1<<20)
670 #define USBC_IDDIGFLTR_MASK         (1<<20)
671 #define USBC_IDDIGFLTR_SHIFT        (20)
672 #define USBC_VBUSVALIDFLTR          (1<<21)
673 #define USBC_VBUSVALIDFLTR_MASK     (1<<21)
674 #define USBC_VBUSVALIDFLTR_SHIFT    (21)
675 #define USBC_AVALIDFLTR             (1<<22)
676 #define USBC_AVALIDFLTR_MASK        (1<<22)
677 #define USBC_AVALIDFLTR_SHIFT       (22)
678 #define USBC_BVALIDFLTR             (1<<23)
679 #define USBC_BVALIDFLTR_MASK        (1<<23)
680 #define USBC_BVALIDFLTR_SHIFT       (23)
681 #define USBC_SESSENDFLTR            (1<<24)
682 #define USBC_SESSENDFLTR_MASK       (1<<24)
683 #define USBC_SESSENDFLTR_SHIFT      (24)
684 #define USBC_DEFIFOMODE             (1<<25)
685 #define USBC_DEFIFOMODE_MASK        (1<<25)
686 #define USBC_DEFIFOMODE_SHIFT       (25)
687 #define USBC_INEPS(n)               (((n)&15)<<26)
688 #define USBC_INEPS_MASK             (15<<26)
689 #define USBC_INEPS_SHIFT            (26)
690 
691 //GLPMCFG
692 #define USBC_LPMCAP                 (1<<0)
693 #define USBC_LPMCAP_MASK            (1<<0)
694 #define USBC_LPMCAP_SHIFT           (0)
695 #define USBC_APPL1RES               (1<<1)
696 #define USBC_APPL1RES_MASK          (1<<1)
697 #define USBC_APPL1RES_SHIFT         (1)
698 #define USBC_HIRD(n)                (((n)&15)<<2)
699 #define USBC_HIRD_MASK              (15<<2)
700 #define USBC_HIRD_SHIFT             (2)
701 #define USBC_BREMOTEWAKE            (1 << 6)
702 #define USBC_BREMOTEWAKE_MASK       (1 << 6)
703 #define USBC_BREMOTEWAKE_SHIFT      (6)
704 #define USBC_ENBLSLPM               (1<<7)
705 #define USBC_ENBLSLPM_MASK          (1<<7)
706 #define USBC_ENBLSLPM_SHIFT         (7)
707 #define USBC_HIRD_THRES(n)          (((n)&15)<<8)
708 #define USBC_HIRD_THRES_MASK        (15<<8)
709 #define USBC_HIRD_THRES_SHIFT       (8)
710 #define USBC_HIRD_THRES_BIT4        (1 << 12)
711 #define USBC_HIRD_THRES_BIT4_MASK   (1 << 12)
712 #define USBC_HIRD_THRES_BIT4_SHIFT  (12)
713 #define USBC_COREL1RES(n)           (((n)&3)<<13)
714 #define USBC_COREL1RES_MASK         (3<<13)
715 #define USBC_COREL1RES_SHIFT        (13)
716 #define USBC_SLPSTS                 (1<<15)
717 #define USBC_SLPSTS_MASK            (1<<15)
718 #define USBC_SLPSTS_SHIFT           (15)
719 #define USBC_L1RESUMEOK             (1<<16)
720 #define USBC_L1RESUMEOK_MASK        (1<<16)
721 #define USBC_L1RESUMEOK_SHIFT       (16)
722 #define USBC_ENBESL                 (1<<28)
723 #define USBC_ENBESL_MASK            (1<<28)
724 #define USBC_ENBESL_SHIFT           (28)
725 #define USBC_RSTRSLPSTS             (1<<29)
726 #define USBC_RSTRSLPSTS_MASK        (1<<29)
727 #define USBC_RSTRSLPSTS_SHIFT       (29)
728 
729 //GDFIFOCFG
730 #define USBC_GDFIFOCFG_SHIFT        0
731 #define USBC_GDFIFOCFG_MASK         (0xFFFF << USBC_GDFIFOCFG_SHIFT)
732 #define USBC_GDFIFOCFG(n)           BITFIELD_VAL(USBC_GDFIFOCFG, n)
733 #define USBC_EPINFOBASEADDR_SHIFT   16
734 #define USBC_EPINFOBASEADDR_MASK    (0xFFFF << USBC_EPINFOBASEADDR_SHIFT)
735 #define USBC_EPINFOBASEADDR(n)      BITFIELD_VAL(USBC_EPINFOBASEADDR, n)
736 
737 //DPTXFSIZn
738 #define USBC_DPTXFSTADDR(n)          (((n)&0xFFFF)<<0)
739 #define USBC_DPTXFSTADDR_MASK        (0xFFFF<<0)
740 #define USBC_DPTXFSTADDR_SHIFT       (0)
741 #define USBC_DPTXFSIZE(n)             (((n)&0xFFFF)<<16)
742 #define USBC_DPTXFSIZE_MASK           (0xFFFF<<16)
743 #define USBC_DPTXFSIZE_SHIFT          (16)
744 
745 //DIEPTXFn
746 #define USBC_INEPNTXFSTADDR(n)      (((n)&0xFFFF)<<0)
747 #define USBC_INEPNTXFSTADDR_MASK    (0xFFFF<<0)
748 #define USBC_INEPNTXFSTADDR_SHIFT   (0)
749 #define USBC_INEPNTXFDEP(n)         (((n)&0xFFFF)<<16)
750 #define USBC_INEPNTXFDEP_MASK       (0xFFFF<<16)
751 #define USBC_INEPNTXFDEP_SHIFT      (16)
752 
753 //HPTXFSIZ
754 #define USBC_HPTXFSIZ_PTXFSTADDR(n)      (((n)&0xFFFF)<<0)
755 #define USBC_HPTXFSIZ_PTXFSTADDR_MASK    (0xFFFF<<0)
756 #define USBC_HPTXFSIZ_PTXFSTADDR_SHIFT   (0)
757 #define USBC_HPTXFSIZ_PTXFSIZE(n)         (((n)&0xFFFF)<<16)
758 #define USBC_HPTXFSIZ_PTXFSIZE_MASK       (0xFFFF<<16)
759 #define USBC_HPTXFSIZ_PTXFSIZE_SHIFT      (16)
760 
761 //HCFG
762 #define USBC_HCFG_MODECHTIMEN                    (1<<31)
763 #define USBC_HCFG_MODECHTIMEN_MASK                    (1<<31)
764 #define USBC_HCFG_MODECHTIMEN_SHIFT                    (31)
765 #define USBC_HCFG_PERSCHEDENA                    (1<<26)
766 #define USBC_HCFG_PERSCHEDENA_MASK                    (1<<26)
767 #define USBC_HCFG_PERSCHEDENA_SHIFT                    (26)
768 #define USBC_HCFG_FRLISTEN(n)                    (((n)&0x3)<<24)
769 #define USBC_HCFG_FRLISTEN_MASK                    (0x3<<24)
770 #define USBC_HCFG_FRLISTEN_SHIFT                    (24)
771 #define USBC_HCFG_DESCDMA                    (1<<23)
772 #define USBC_HCFG_DESCDMA_MASK                    (1<<23)
773 #define USBC_HCFG_DESCDMA_SHIFT                    (23)
774 #define USBC_HCFG_RESVALID(n)                    (((n)&0xff)<<8)
775 #define USBC_HCFG_RESVALID_MASK                    (0xff<<8)
776 #define USBC_HCFG_RESVALID_SHIFT                    (8)
777 #define USBC_HCFG_ENA32KHZS                    (1<<7)
778 #define USBC_HCFG_ENA32KHZS_MASK                    (1<<7)
779 #define USBC_HCFG_ENA32KHZS_SHIFT                    (7)
780 #define USBC_HCFG_FSLSSUPP                    (1<<2)
781 #define USBC_HCFG_FSLSSUPP_MASK                    (1<<2)
782 #define USBC_HCFG_FSLSSUPP_SHIFT                    (2)
783 #define USBC_HCFG_FSLSPCLKSEL(n)                    (((n)&0x3)<<0)
784 #define USBC_HCFG_FSLSPCLKSEL_MASK                    (0x3<<0)
785 #define USBC_HCFG_FSLSPCLKSEL_SHIFT                    (0)
786 
787 //HFIR
788 #define USBC_HFIR_HFIRRLDCTRL                    (1<<16)
789 #define USBC_HFIR_HFIRRLDCTRL_MASK                    (1<<16)
790 #define USBC_HFIR_HFIRRLDCTRL_SHIFT                    (16)
791 #define USBC_HFIR_FRINT(n)                    (((n)&0xffff)<<0)
792 #define USBC_HFIR_FRINT_MASK                    (0xffff<<0)
793 #define USBC_HFIR_FRINT_SHIFT                    (0)
794 
795 //HFNUM
796 #define USBC_HFNUM_FRREM(n)                    (((n)&0xffff)<<16)
797 #define USBC_HFNUM_FRREM_MASK                    (0xffff<<16)
798 #define USBC_HFNUM_FRREM_SHIFT                    (16)
799 #define USBC_HFNUM_FRNUM(n)                    (((n)&0xffff)<<0)
800 #define USBC_HFNUM_FRNUM_MASK                    (0xffff<<0)
801 #define USBC_HFNUM_FRNUM_SHIFT                    (0)
802 
803 //HPTXSTS
804 #define USBC_HPTXSTS_PTXQTOP(n)                    (((n)&0xff)<<24)
805 #define USBC_HPTXSTS_PTXQTOP_MASK                    (0xff<<24)
806 #define USBC_HPTXSTS_PTXQTOP_SHIFT                    (24)
807 #define USBC_HPTXSTS_PTXQSPCAVAIL(n)                    (((n)&0xff)<<16)
808 #define USBC_HPTXSTS_PTXQSPCAVAIL_MASK                    (0xff<<16)
809 #define USBC_HPTXSTS_PTXQSPCAVAIL_SHIFT                    (16)
810 #define USBC_HPTXSTS_PTXFSPCAVAIL(n)                    (((n)&0xffff)<<0)
811 #define USBC_HPTXSTS_PTXFSPCAVAIL_MASK                    (0xffff<<0)
812 #define USBC_HPTXSTS_PTXFSPCAVAIL_SHIFT                    (0)
813 
814 //HAINT
815 #define USBC_HAINT_HAINT(n)                    (((n)&0xffff)<<0)
816 #define USBC_HAINT_HAINT_MASK                    (0xffff<<0)
817 #define USBC_HAINT_HAINT_SHIFT                    (0)
818 
819 //HAINTMSK
820 #define USBC_HAINTMSK_HAINTMSK(n)                    (((n)&0xffff)<<0)
821 #define USBC_HAINTMSK_HAINTMSK_MASK                    (0xffff<<0)
822 #define USBC_HAINTMSK_HAINTMSK_SHIFT                    (0)
823 
824 //HPRT
825 #define USBC_HPRT_PRTSPD(n)                    (((n)&0x3)<<17)
826 #define USBC_HPRT_PRTSPD_MASK                    (0x3<<17)
827 #define USBC_HPRT_PRTSPD_SHIFT                    (17)
828 #define USBC_HPRT_PRTTSTCTL(n)                    (((n)&0xf)<<13)
829 #define USBC_HPRT_PRTTSTCTL_MASK                    (0xf<<13)
830 #define USBC_HPRT_PRTTSTCTL_SHIFT                    (13)
831 #define USBC_HPRT_PRTPWR                    (1<<12)
832 #define USBC_HPRT_PRTPWR_MASK                    (1<<12)
833 #define USBC_HPRT_PRTPWR_SHIFT                    (12)
834 #define USBC_HPRT_PRTLNSTS(n)                    (((n)&0x3)<<10)
835 #define USBC_HPRT_PRTLNSTS_MASK                    (0x3<<10)
836 #define USBC_HPRT_PRTLNSTS_SHIFT                    (10)
837 #define USBC_HPRT_PRTRST                    (1<<8)
838 #define USBC_HPRT_PRTRST_MASK                    (1<<8)
839 #define USBC_HPRT_PRTRST_SHIFT                    (8)
840 #define USBC_HPRT_PRTSUSP                    (1<<7)
841 #define USBC_HPRT_PRTSUSP_MASK                    (1<<7)
842 #define USBC_HPRT_PRTSUSP_SHIFT                    (7)
843 #define USBC_HPRT_PRTRES                    (1<<6)
844 #define USBC_HPRT_PRTRES_MASK                    (1<<6)
845 #define USBC_HPRT_PRTRES_SHIFT                    (6)
846 #define USBC_HPRT_PRTOVRCURRCHNG                    (1<<5)
847 #define USBC_HPRT_PRTOVRCURRCHNG_MASK                    (1<<5)
848 #define USBC_HPRT_PRTOVRCURRCHNG_SHIFT                    (5)
849 #define USBC_HPRT_PRTOVRCURRACT                    (1<<4)
850 #define USBC_HPRT_PRTOVRCURRACT_MASK                    (1<<4)
851 #define USBC_HPRT_PRTOVRCURRACT_SHIFT                    (4)
852 #define USBC_HPRT_PRTENCHNG                    (1<<3)
853 #define USBC_HPRT_PRTENCHNG_MASK                    (1<<3)
854 #define USBC_HPRT_PRTENCHNG_SHIFT                    (3)
855 #define USBC_HPRT_PRTENA                    (1<<2)
856 #define USBC_HPRT_PRTENA_MASK                    (1<<2)
857 #define USBC_HPRT_PRTENA_SHIFT                    (2)
858 #define USBC_HPRT_PRTCONNDET                    (1<<1)
859 #define USBC_HPRT_PRTCONNDET_MASK                    (1<<1)
860 #define USBC_HPRT_PRTCONNDET_SHIFT                    (1)
861 #define USBC_HPRT_PRTCONNSTS                    (1<<0)
862 #define USBC_HPRT_PRTCONNSTS_MASK                    (1<<0)
863 #define USBC_HPRT_PRTCONNSTS_SHIFT                    (0)
864 
865 //HCCHARN
866 #define USBC_HCCHARN_CHENA                    (1<<31)
867 #define USBC_HCCHARN_CHENA_MASK                    (1<<31)
868 #define USBC_HCCHARN_CHENA_SHIFT                    (31)
869 #define USBC_HCCHARN_CHDIS                    (1<<30)
870 #define USBC_HCCHARN_CHDIS_MASK                    (1<<30)
871 #define USBC_HCCHARN_CHDIS_SHIFT                    (30)
872 #define USBC_HCCHARN_ODDFRM                    (1<<29)
873 #define USBC_HCCHARN_ODDFRM_MASK                    (1<<29)
874 #define USBC_HCCHARN_ODDFRM_SHIFT                    (29)
875 #define USBC_HCCHARN_DEVADDR(n)                    (((n)&0x7f)<<22)
876 #define USBC_HCCHARN_DEVADDR_MASK                    (0x7f<<22)
877 #define USBC_HCCHARN_DEVADDR_SHIFT                    (22)
878 #define USBC_HCCHARN_EC(n)                    (((n)&0x3)<<20)
879 #define USBC_HCCHARN_EC_MASK                    (0x3<<20)
880 #define USBC_HCCHARN_EC_SHIFT                    (20)
881 #define USBC_HCCHARN_EPTYPE(n)                    (((n)&0x3)<<18)
882 #define USBC_HCCHARN_EPTYPE_MASK                    (0x3<<18)
883 #define USBC_HCCHARN_EPTYPE_SHIFT                    (18)
884 #define USBC_HCCHARN_LSPDDEV                    (1<<17)
885 #define USBC_HCCHARN_LSPDDEV_MASK                    (1<<17)
886 #define USBC_HCCHARN_LSPDDEV_SHIFT                    (17)
887 #define USBC_HCCHARN_EPDIR                    (1<<15)
888 #define USBC_HCCHARN_EPDIR_MASK                    (1<<15)
889 #define USBC_HCCHARN_EPDIR_SHIFT                    (15)
890 #define USBC_HCCHARN_EPNUM(n)                    (((n)&0xf)<<11)
891 #define USBC_HCCHARN_EPNUM_MASK                    (0xf<<11)
892 #define USBC_HCCHARN_EPNUM_SHIFT                    (11)
893 #define USBC_HCCHARN_MPS(n)                    (((n)&0x7ff)<<0)
894 #define USBC_HCCHARN_MPS_MASK                    (0x7ff<<0)
895 #define USBC_HCCHARN_MPS_SHIFT                    (0)
896 
897 //HCSPLTN
898 #define USBC_HCSPLTN_SPLTENA                    (1<<31)
899 #define USBC_HCSPLTN_SPLTENA_MASK                    (1<<31)
900 #define USBC_HCSPLTN_SPLTENA_SHIFT                    (31)
901 #define USBC_HCSPLTN_COMPSPLT                    (1<<16)
902 #define USBC_HCSPLTN_COMPSPLT_MASK                    (1<<16)
903 #define USBC_HCSPLTN_COMPSPLT_SHIFT                    (16)
904 #define USBC_HCSPLTN_EPDIR(n)                    (((n)&0x3)<<14)
905 #define USBC_HCSPLTN_EPDIR_MASK                    (0x3<<14)
906 #define USBC_HCSPLTN_EPDIR_SHIFT                    (14)
907 #define USBC_HCSPLTN_EPNUM(n)                    (((n)&0x7f)<<7)
908 #define USBC_HCSPLTN_EPNUM_MASK                    (0x7f<<7)
909 #define USBC_HCSPLTN_EPNUM_SHIFT                    (7)
910 #define USBC_HCSPLTN_MPS(n)                    (((n)&0x7f)<<0)
911 #define USBC_HCSPLTN_MPS_MASK                    (0x7f<<0)
912 #define USBC_HCSPLTN_MPS_SHIFT                    (0)
913 
914 //HCINTN
915 #define USBC_HCINTN_DESC_LST_ROLLINTR                    (1<<13)
916 #define USBC_HCINTN_DESC_LST_ROLLINTR_MASK                    (1<<13)
917 #define USBC_HCINTN_DESC_LST_ROLLINTR_SHIFT                    (13)
918 #define USBC_HCINTN_XCS_XACT_ERR                    (1<<12)
919 #define USBC_HCINTN_XCS_XACT_ERR_MASK                    (1<<12)
920 #define USBC_HCINTN_XCS_XACT_ERR_SHIFT                    (12)
921 #define USBC_HCINTN_BNAINTR                    (1<<11)
922 #define USBC_HCINTN_BNAINTR_MASK                    (1<<11)
923 #define USBC_HCINTN_BNAINTR_SHIFT                    (11)
924 #define USBC_HCINTN_DATATGLERR                    (1<<10)
925 #define USBC_HCINTN_DATATGLERR_MASK                    (1<<10)
926 #define USBC_HCINTN_DATATGLERR_SHIFT                    (10)
927 #define USBC_HCINTN_FRMOVRUN                    (1<<9)
928 #define USBC_HCINTN_FRMOVRUN_MASK                    (1<<9)
929 #define USBC_HCINTN_FRMOVRUN_SHIFT                    (9)
930 #define USBC_HCINTN_BBLERR                    (1<<8)
931 #define USBC_HCINTN_BBLERR_MASK                    (1<<8)
932 #define USBC_HCINTN_BBLERR_SHIFT                    (8)
933 #define USBC_HCINTN_XACTERR                    (1<<7)
934 #define USBC_HCINTN_XACTERR_MASK                    (1<<7)
935 #define USBC_HCINTN_XACTERR_SHIFT                    (7)
936 #define USBC_HCINTN_NYET                    (1<<6)
937 #define USBC_HCINTN_NYET_MASK                    (1<<6)
938 #define USBC_HCINTN_NYET_SHIFT                    (6)
939 #define USBC_HCINTN_ACK                    (1<<5)
940 #define USBC_HCINTN_ACK_MASK                    (1<<5)
941 #define USBC_HCINTN_ACK_SHIFT                    (5)
942 #define USBC_HCINTN_NAK                    (1<<4)
943 #define USBC_HCINTN_NAK_MASK                    (1<<4)
944 #define USBC_HCINTN_NAK_SHIFT                    (4)
945 #define USBC_HCINTN_STALL                    (1<<3)
946 #define USBC_HCINTN_STALL_MASK                    (1<<3)
947 #define USBC_HCINTN_STALL_SHIFT                    (3)
948 #define USBC_HCINTN_AHBERR                    (1<<2)
949 #define USBC_HCINTN_AHBERR_MASK                    (1<<2)
950 #define USBC_HCINTN_AHBERR_SHIFT                    (2)
951 #define USBC_HCINTN_CHHLTD                    (1<<1)
952 #define USBC_HCINTN_CHHLTD_MASK                    (1<<1)
953 #define USBC_HCINTN_CHHLTD_SHIFT                    (1)
954 #define USBC_HCINTN_XFERCOMPL                    (1<<0)
955 #define USBC_HCINTN_XFERCOMPL_MASK                    (1<<0)
956 #define USBC_HCINTN_XFERCOMPL_SHIFT                    (0)
957 
958 //HCINTMSKN
959 #define USBC_HCINTMSKN_DESC_LST_ROLLINTRMSK                    (1<<13)
960 #define USBC_HCINTMSKN_DESC_LST_ROLLINTRMSK_MASK                    (1<<13)
961 #define USBC_HCINTMSKN_DESC_LST_ROLLINTRMSK_SHIFT                    (13)
962 #define USBC_HCINTMSKN_BNAINTRMSK                    (1<<11)
963 #define USBC_HCINTMSKN_BNAINTRMSK_MASK                    (1<<11)
964 #define USBC_HCINTMSKN_BNAINTRMSK_SHIFT                    (11)
965 #define USBC_HCINTMSKN_DATATGLERRMSK                    (1<<10)
966 #define USBC_HCINTMSKN_DATATGLERRMSK_MASK                    (1<<10)
967 #define USBC_HCINTMSKN_DATATGLERRMSK_SHIFT                    (10)
968 #define USBC_HCINTMSKN_FRMOVRUNMSK                    (1<<9)
969 #define USBC_HCINTMSKN_FRMOVRUNMSK_MASK                    (1<<9)
970 #define USBC_HCINTMSKN_FRMOVRUNMSK_SHIFT                    (9)
971 #define USBC_HCINTMSKN_BBLERRMSK                    (1<<8)
972 #define USBC_HCINTMSKN_BBLERRMSK_MASK                    (1<<8)
973 #define USBC_HCINTMSKN_BBLERRMSK_SHIFT                    (8)
974 #define USBC_HCINTMSKN_XACTERRMSK                    (1<<7)
975 #define USBC_HCINTMSKN_XACTERRMSK_MASK                    (1<<7)
976 #define USBC_HCINTMSKN_XACTERRMSK_SHIFT                    (7)
977 #define USBC_HCINTMSKN_NYETMSK                    (1<<6)
978 #define USBC_HCINTMSKN_NYETMSK_MASK                    (1<<6)
979 #define USBC_HCINTMSKN_NYETMSK_SHIFT                    (6)
980 #define USBC_HCINTMSKN_ACKMSK                    (1<<5)
981 #define USBC_HCINTMSKN_ACKMSK_MASK                    (1<<5)
982 #define USBC_HCINTMSKN_ACKMSK_SHIFT                    (5)
983 #define USBC_HCINTMSKN_NAKMSK                    (1<<4)
984 #define USBC_HCINTMSKN_NAKMSK_MASK                    (1<<4)
985 #define USBC_HCINTMSKN_NAKMSK_SHIFT                    (4)
986 #define USBC_HCINTMSKN_STALLMSK                    (1<<3)
987 #define USBC_HCINTMSKN_STALLMSK_MASK                    (1<<3)
988 #define USBC_HCINTMSKN_STALLMSK_SHIFT                    (3)
989 #define USBC_HCINTMSKN_AHBERRMSK                    (1<<2)
990 #define USBC_HCINTMSKN_AHBERRMSK_MASK                    (1<<2)
991 #define USBC_HCINTMSKN_AHBERRMSK_SHIFT                    (2)
992 #define USBC_HCINTMSKN_CHHLTDMSK                    (1<<1)
993 #define USBC_HCINTMSKN_CHHLTDMSK_MASK                    (1<<1)
994 #define USBC_HCINTMSKN_CHHLTDMSK_SHIFT                    (1)
995 #define USBC_HCINTMSKN_XFERCOMPLMSK                    (1<<0)
996 #define USBC_HCINTMSKN_XFERCOMPLMSK_MASK                    (1<<0)
997 #define USBC_HCINTMSKN_XFERCOMPLMSK_SHIFT                    (0)
998 
999 //HCTSIZN
1000 //SCATTER/GATHER DMA MODE
1001 #define USBC_HCTSIZN_DOPNG                    (1<<31)
1002 #define USBC_HCTSIZN_DOPNG_MASK                    (1<<31)
1003 #define USBC_HCTSIZN_DOPNG_SHIFT                    (31)
1004 #define USBC_HCTSIZN_PID(n)                    (((n)&0x3)<<29)
1005 #define USBC_HCTSIZN_PID_MASK                    (0x3<<29)
1006 #define USBC_HCTSIZN_PID_SHIFT                    (29)
1007 #define USBC_HCTSIZN_NTD(n)                    (((n)&0xff)<<8)
1008 #define USBC_HCTSIZN_NTD_MASK                    (0xff<<8)
1009 #define USBC_HCTSIZN_NTD_SHIFT                    (8)
1010 #define USBC_HCTSIZN_SCHED(n)                    (((n)&0xff)<<0)
1011 #define USBC_HCTSIZN_SCHED_MASK                    (0xff<<0)
1012 #define USBC_HCTSIZN_SCHED_SHIFT                    (0)
1013 
1014 //HCTSIZN
1015 //NON-SCATTER/GATHER DMA MODE
1016 #define USBC_HCTSIZN_DOPNG                    (1<<31)
1017 #define USBC_HCTSIZN_DOPNG_MASK                    (1<<31)
1018 #define USBC_HCTSIZN_DOPNG_SHIFT                    (31)
1019 #define USBC_HCTSIZN_PID(n)                    (((n)&0x3)<<29)
1020 #define USBC_HCTSIZN_PID_MASK                    (0x3<<29)
1021 #define USBC_HCTSIZN_PID_SHIFT                    (29)
1022 #define USBC_HCTSIZN_PKTCNT(n)                    (((n)&0x3ff)<<19)
1023 #define USBC_HCTSIZN_PKTCNT_MASK                    (0x3ff<<19)
1024 #define USBC_HCTSIZN_PKTCNT_SHIFT                    (19)
1025 #define USBC_HCTSIZN_XFERSIZE(n)                    (((n)&0x7ffff)<<0)
1026 #define USBC_HCTSIZN_XFERSIZE_MASK                    (0x7ffff<<0)
1027 #define USBC_HCTSIZN_XFERSIZE_SHIFT                    (0)
1028 
1029 //HCDMAN
1030 //BUFFER DMA MODE
1031 #define USBC_HCDMAN_DMAADDR(n)                    (((n)&0xffffffff)<<0)
1032 #define USBC_HCDMAN_DMAADDR_MASK                    (0xffffffff<<0)
1033 #define USBC_HCDMAN_DMAADDR_SHIFT                    (0)
1034 
1035 //HCDMABN
1036 #define USBC_HCDMABN_DMAADDR(n)                    (((n)&0xffffffff)<<0)
1037 #define USBC_HCDMABN_DMAADDR_MASK                    (0xffffffff<<0)
1038 #define USBC_HCDMABN_DMAADDR_SHIFT                    (0)
1039 
1040 //DCFG
1041 #define USBC_DEVSPD(n)              (((n)&3)<<0)
1042 #define USBC_DEVSPD_MASK            (3<<0)
1043 #define USBC_DEVSPD_SHIFT           (0)
1044 #define USBC_NZSTSOUTHSHK           (1<<2)
1045 #define USBC_NZSTSOUTHSHK_MASK      (1<<2)
1046 #define USBC_NZSTSOUTHSHK_SHIFT     (2)
1047 #define USBC_DEVADDR(n)             (((n)&0x7F)<<4)
1048 #define USBC_DEVADDR_MASK           (0x7F<<4)
1049 #define USBC_DEVADDR_SHIFT          (4)
1050 #define USBC_PERFRINT(n)            (((n)&3)<<11)
1051 #define USBC_PERFRINT_MASK          (3<<11)
1052 #define USBC_PERFRINT_SHIFT         (11)
1053 #define USBC_EPMISCNT(n)            (((n)&31)<<18)
1054 #define USBC_EPMISCNT_MASK          (31<<18)
1055 #define USBC_EPMISCNT_SHIFT         (18)
1056 
1057 //DCTL
1058 #define USBC_RMTWKUPSIG             (1<<0)
1059 #define USBC_RMTWKUPSIG_MASK        (1<<0)
1060 #define USBC_RMTWKUPSIG_SHIFT       (0)
1061 #define USBC_SFTDISCON              (1<<1)
1062 #define USBC_SFTDISCON_MASK         (1<<1)
1063 #define USBC_SFTDISCON_SHIFT        (1)
1064 #define USBC_GNPINNAKSTS            (1<<2)
1065 #define USBC_GNPINNAKSTS_MASK       (1<<2)
1066 #define USBC_GNPINNAKSTS_SHIFT      (2)
1067 #define USBC_GOUTNAKSTS             (1<<3)
1068 #define USBC_GOUTNAKSTS_MASK        (1<<3)
1069 #define USBC_GOUTNAKSTS_SHIFT       (3)
1070 #define USBC_TSTCTL(n)              (((n)&7)<<4)
1071 #define USBC_TSTCTL_MASK            (7<<4)
1072 #define USBC_TSTCTL_SHIFT           (4)
1073 #define USBC_SGNPINNAK              (1<<7)
1074 #define USBC_SGNPINNAK_MASK         (1<<7)
1075 #define USBC_SGNPINNAK_SHIFT        (7)
1076 #define USBC_CGNPINNAK              (1<<8)
1077 #define USBC_CGNPINNAK_MASK         (1<<8)
1078 #define USBC_CGNPINNAK_SHIFT        (8)
1079 #define USBC_SGOUTNAK               (1<<9)
1080 #define USBC_SGOUTNAK_MASK          (1<<9)
1081 #define USBC_SGOUTNAK_SHIFT         (9)
1082 #define USBC_CGOUTNAK               (1<<10)
1083 #define USBC_CGOUTNAK_MASK          (1<<10)
1084 #define USBC_CGOUTNAK_SHIFT         (10)
1085 #define USBC_PWRONPRGDONE           (1<<11)
1086 #define USBC_PWRONPRGDONE_MASK      (1<<11)
1087 #define USBC_PWRONPRGDONE_SHIFT     (11)
1088 #define USBC_GMC(n)                 (((n)&3)<<12)
1089 #define USBC_GMC_MASK               (3<<12)
1090 #define USBC_GMC_SHIFT              (12)
1091 #define USBC_IGNRFRMNUM             (1<<15)
1092 #define USBC_IGNRFRMNUM_MASK        (1<<15)
1093 #define USBC_IGNRFRMNUM_SHIFT       (15)
1094 
1095 //DSTS
1096 #define USBC_SUSPSTS                (1<<0)
1097 #define USBC_SUSPSTS_MASK           (1<<0)
1098 #define USBC_SUSPSTS_SHIFT          (0)
1099 #define USBC_ENUMSPD(n)             (((n)&3)<<1)
1100 #define USBC_ENUMSPD_MASK           (3<<1)
1101 #define USBC_ENUMSPD_SHIFT          (1)
1102 #define USBC_ERRTICERR              (1<<3)
1103 #define USBC_ERRTICERR_MASK         (1<<3)
1104 #define USBC_ERRTICERR_SHIFT        (3)
1105 #define USBC_SOFFN(n)               (((n)&0x3FFF)<<8)
1106 #define USBC_SOFFN_MASK             (0x3FFF<<8)
1107 #define USBC_SOFFN_SHIFT            (8)
1108 
1109 //DIEPMSK
1110 #define USBC_XFERCOMPLMSK           (1<<0)
1111 #define USBC_XFERCOMPLMSK_MASK      (1<<0)
1112 #define USBC_XFERCOMPLMSK_SHIFT     (0)
1113 #define USBC_EPDISBLDMSK            (1<<1)
1114 #define USBC_EPDISBLDMSK_MASK       (1<<1)
1115 #define USBC_EPDISBLDMSK_SHIFT      (1)
1116 #define USBC_AHBERRMSK              (1<<2)
1117 #define USBC_AHBERRMSK_MASK         (1<<2)
1118 #define USBC_AHBERRMSK_SHIFT        (2)
1119 #define USBC_TIMEOUTMSK             (1<<3)
1120 #define USBC_TIMEOUTMSK_MASK        (1<<3)
1121 #define USBC_TIMEOUTMSK_SHIFT       (3)
1122 #define USBC_INTKNTXFEMPMSK         (1<<4)
1123 #define USBC_INTKNTXFEMPMSK_MASK    (1<<4)
1124 #define USBC_INTKNTXFEMPMSK_SHIFT   (4)
1125 #define USBC_INTKNEPMISMSK          (1<<5)
1126 #define USBC_INTKNEPMISMSK_MASK     (1<<5)
1127 #define USBC_INTKNEPMISMSK_SHIFT    (5)
1128 #define USBC_INEPNAKEFFMSK          (1<<6)
1129 #define USBC_INEPNAKEFFMSK_MASK     (1<<6)
1130 #define USBC_INEPNAKEFFMSK_SHIFT    (6)
1131 #define USBC_TXFEMPMSK              (1<<7)
1132 #define USBC_TXFIFOUNDRNMSK         (1<<8)
1133 #define USBC_TXFIFOUNDRNMSK_MASK    (1<<8)
1134 #define USBC_TXFIFOUNDRNMSK_SHIFT   (8)
1135 #define USBC_BNAINTRMSK             (1<<9)
1136 #define USBC_PKTDRPSTSMSK           (1<<11)
1137 #define USBC_BBLEERRINTRPTMSK       (1<<12)
1138 #define USBC_NAKINTRPTMSK           (1<<13)
1139 #define USBC_NYETINTRPTMSK          (1<<14)
1140 #define USBC_STUPPKTRCVDMSK         (1<<15)
1141 
1142 //DOEPMSK
1143 //#define USBC_XFERCOMPLMSK         (1<<0)
1144 //#define USBC_XFERCOMPLMSK_MASK    (1<<0)
1145 //#define USBC_XFERCOMPLMSK_SHIFT   (0)
1146 //#define USBC_EPDISBLDMSK          (1<<1)
1147 //#define USBC_EPDISBLDMSK_MASK     (1<<1)
1148 //#define USBC_EPDISBLDMSK_SHIFT    (1)
1149 //#define USBC_AHBERRMSK            (1<<2)
1150 //#define USBC_AHBERRMSK_MASK       (1<<2)
1151 //#define USBC_AHBERRMSK_SHIFT      (2)
1152 #define USBC_SETUPMSK               (1<<3)
1153 #define USBC_SETUPMSK_MASK          (1<<3)
1154 #define USBC_SETUPMSK_SHIFT         (3)
1155 #define USBC_OUTTKNEPDISMSK         (1<<4)
1156 #define USBC_OUTTKNEPDISMSK_MASK    (1<<4)
1157 #define USBC_OUTTKNEPDISMSK_SHIFT   (4)
1158 #define USBC_BACK2BACKSETUPMSK      (1<<6)
1159 #define USBC_BACK2BACKSETUPMSK_MASK (1<<6)
1160 #define USBC_BACK2BACKSETUPMSK_SHIFT (6)
1161 #define USBC_OUTPKTERRMSK           (1<<8)
1162 #define USBC_OUTPKTERRMSK_MASK      (1<<8)
1163 #define USBC_OUTPKTERRMSK_SHIFT     (8)
1164 //#define USBC_BNAINTRMSK           (1<<9)
1165 //#define USBC_PKTDRPSTSMSK         (1<<11)
1166 //#define USBC_BBLEERRINTRPTMSK     (1<<12)
1167 //#define USBC_NAKINTRPTMSK         (1<<13)
1168 //#define USBC_NYETINTRPTMSK        (1<<14)
1169 //#define USBC_STUPPKTRCVDMSK       (1<<15)
1170 
1171 //DAINT
1172 #define USBC_INEPINT(n)             (((n)&0xFFFF)<<0)
1173 #define USBC_INEPINT_MASK           (0xFFFF<<0)
1174 #define USBC_INEPINT_SHIFT          (0)
1175 #define USBC_OUTEPINT(n)            (((n)&0xFFFF)<<16)
1176 #define USBC_OUTEPINT_MASK          (0xFFFF<<16)
1177 #define USBC_OUTEPINT_SHIFT         (16)
1178 
1179 //DAINTMSK
1180 #define USBC_INEPMSK(n)             (((n)&0xFFFF)<<0)
1181 #define USBC_INEPMSK_MASK           (0xFFFF<<0)
1182 #define USBC_INEPMSK_SHIFT          (0)
1183 #define USBC_OUTEPMSK(n)            (((n)&0xFFFF)<<16)
1184 #define USBC_OUTEPMSK_MASK          (0xFFFF<<16)
1185 #define USBC_OUTEPMSK_SHIFT         (16)
1186 
1187 //DVBUSDIS
1188 #define USBC_DVBUSDIS(n)            (((n)&0xFFFF)<<0)
1189 #define USBC_DVBUSDIS_MASK          (0xFFFF<<0)
1190 #define USBC_DVBUSDIS_SHIFT         (0)
1191 
1192 //DVBUSPULSE
1193 #define USBC_DVBUSPULSE(n)          (((n)&0xFFF)<<0)
1194 #define USBC_DVBUSPULSE_MASK        (0xFFF<<0)
1195 #define USBC_DVBUSPULSE_SHIFT       (0)
1196 
1197 //DTHRCTL
1198 #define USBC_NONISOTHREN            (1<<0)
1199 #define USBC_NONISOTHREN_MASK       (1<<0)
1200 #define USBC_NONISOTHREN_SHIFT      (0)
1201 #define USBC_ISOTHREN               (1<<1)
1202 #define USBC_ISOTHREN_MASK          (1<<1)
1203 #define USBC_ISOTHREN_SHIFT         (1)
1204 #define USBC_TXTHRLEN(n)            (((n)&0x1FF)<<2)
1205 #define USBC_TXTHRLEN_MASK          (0x1FF<<2)
1206 #define USBC_TXTHRLEN_SHIFT         (2)
1207 #define USBC_RXTHREN                (1<<16)
1208 #define USBC_RXTHREN_MASK           (1<<16)
1209 #define USBC_RXTHREN_SHIFT          (16)
1210 #define USBC_RXTHRLEN(n)            (((n)&0x1FF)<<17)
1211 #define USBC_RXTHRLEN_MASK          (0x1FF<<17)
1212 #define USBC_RXTHRLEN_SHIFT         (17)
1213 #define USBC_ARBPRKEN               (1<<27)
1214 #define USBC_ARBPRKEN_MASK          (1<<27)
1215 #define USBC_ARBPRKEN_SHIFT         (27)
1216 
1217 //DIEPEMPMSK
1218 #define USBC_INEPTXFEMPMSK(n)       (((n)&0xFFFF)<<0)
1219 #define USBC_INEPTXFEMPMSK_MASK     (0xFFFF<<0)
1220 #define USBC_INEPTXFEMPMSK_SHIFT    (0)
1221 
1222 //DIEPCTL0
1223 #define USBC_EP0_MPS(n)             (((n)&3)<<0)
1224 #define USBC_EP0_MPS_MASK           (3<<0)
1225 #define USBC_EP0_MPS_SHIFT          (0)
1226 #define USBC_NEXTEP(n)              (((n)&15)<<11)
1227 #define USBC_NEXTEP_MASK            (15<<11)
1228 #define USBC_NEXTEP_SHIFT           (11)
1229 #define USBC_USBACTEP               (1<<15)
1230 #define USBC_USBACTEP_MASK          (1<<15)
1231 #define USBC_USBACTEP_SHIFT         (15)
1232 #define USBC_NAKSTS                 (1<<17)
1233 #define USBC_NAKSTS_MASK            (1<<17)
1234 #define USBC_NAKSTS_SHIFT           (17)
1235 #define USBC_EPTYPE(n)              (((n)&3)<<18)
1236 #define USBC_EPTYPE_MASK            (3<<18)
1237 #define USBC_EPTYPE_SHIFT           (18)
1238 #define USBC_STALL                  (1<<21)
1239 #define USBC_STALL_MASK             (1<<21)
1240 #define USBC_STALL_SHIFT            (21)
1241 #define USBC_EPTXFNUM(n)            (((n)&15)<<22)
1242 #define USBC_EPTXFNUM_MASK          (15<<22)
1243 #define USBC_EPTXFNUM_SHIFT         (22)
1244 #define USBC_CNAK                   (1<<26)
1245 #define USBC_CNAK_MASK              (1<<26)
1246 #define USBC_CNAK_SHIFT             (26)
1247 #define USBC_SNAK                   (1<<27)
1248 #define USBC_SNAK_MASK              (1<<27)
1249 #define USBC_SNAK_SHIFT             (27)
1250 #define USBC_EPDIS                  (1<<30)
1251 #define USBC_EPDIS_MASK             (1<<30)
1252 #define USBC_EPDIS_SHIFT            (30)
1253 #define USBC_EPENA                  (1<<31)
1254 #define USBC_EPENA_MASK             (1<<31)
1255 #define USBC_EPENA_SHIFT            (31)
1256 
1257 //DIEPINT0
1258 #define USBC_XFERCOMPL              (1<<0)
1259 #define USBC_XFERCOMPL_MASK         (1<<0)
1260 #define USBC_XFERCOMPL_SHIFT        (0)
1261 #define USBC_EPDISBLD               (1<<1)
1262 #define USBC_EPDISBLD_MASK          (1<<1)
1263 #define USBC_EPDISBLD_SHIFT         (1)
1264 #define USBC_AHBERR                 (1<<2)
1265 #define USBC_AHBERR_MASK            (1<<2)
1266 #define USBC_AHBERR_SHIFT           (2)
1267 #define USBC_TIMEOUT                (1<<3)
1268 #define USBC_TIMEOUT_MASK           (1<<3)
1269 #define USBC_TIMEOUT_SHIFT          (3)
1270 #define USBC_INTKNTXFEMP            (1<<4)
1271 #define USBC_INTKNTXFEMP_MASK       (1<<4)
1272 #define USBC_INTKNTXFEMP_SHIFT      (4)
1273 #define USBC_INTKNEPMIS             (1<<5)
1274 #define USBC_INTKNEPMIS_MASK        (1<<5)
1275 #define USBC_INTKNEPMIS_SHIFT       (5)
1276 #define USBC_INEPNAKEFF             (1<<6)
1277 #define USBC_INEPNAKEFF_MASK        (1<<6)
1278 #define USBC_INEPNAKEFF_SHIFT       (6)
1279 #define USBC_TXFEMP                 (1<<7)
1280 #define USBC_TXFEMP_MASK            (1<<7)
1281 #define USBC_TXFEMP_SHIFT           (7)
1282 #define USBC_TXFIFOUNDRN            (1<<8)
1283 #define USBC_TXFIFOUNDRN_MASK       (1<<8)
1284 #define USBC_TXFIFOUNDRN_SHIFT      (8)
1285 #define USBC_BNAINTR                (1<<9)
1286 #define USBC_PKTDRPSTS              (1<<11)
1287 #define USBC_BBLEERRINTRPT          (1<<12)
1288 #define USBC_NAKINTRPT              (1<<13)
1289 #define USBC_NYETINTRPT             (1<<14)
1290 #define USBC_STUPPKTRCVD            (1<<15)
1291 
1292 //DIEPTSIZ0
1293 #define USBC_IEPXFERSIZE0(n)        (((n)&0x7F)<<0)
1294 #define USBC_IEPXFERSIZE0_MASK      (0x7F<<0)
1295 #define USBC_IEPXFERSIZE0_SHIFT     (0)
1296 #define USBC_IEPPKTCNT0(n)          (((n)&3)<<19)
1297 #define USBC_IEPPKTCNT0_MASK        (3<<19)
1298 #define USBC_IEPPKTCNT0_SHIFT       (19)
1299 
1300 //DIEPDMA0
1301 #define USBC_DMAADDR(n)             (((n)&0xFFFFFFFF)<<0)
1302 #define USBC_DMAADDR_MASK           (0xFFFFFFFF<<0)
1303 #define USBC_DMAADDR_SHIFT          (0)
1304 
1305 //DIEPFSTS0
1306 #define USBC_INEPTXFSPCAVAIL(n)     (((n)&0xFFFF)<<0)
1307 #define USBC_INEPTXFSPCAVAIL_MASK   (0xFFFF<<0)
1308 #define USBC_INEPTXFSPCAVAIL_SHIFT  (0)
1309 
1310 //DIEPCTL
1311 #define USBC_EPN_MPS(n)             (((n)&0x7FF)<<0)
1312 #define USBC_EPN_MPS_MASK           (0x7FF<<0)
1313 #define USBC_EPN_MPS_SHIFT          (0)
1314 //#define USBC_NEXTEP(n)            (((n)&15)<<11)
1315 //#define USBC_NEXTEP_MASK          (15<<11)
1316 //#define USBC_NEXTEP_SHIFT         (11)
1317 //#define USBC_USBACTEP             (1<<15)
1318 //#define USBC_USBACTEP_MASK        (1<<15)
1319 //#define USBC_USBACTEP_SHIFT       (15)
1320 #define USBC_EPDPID                 (1<<16)
1321 #define USBC_EPDPID_MASK            (1<<16)
1322 #define USBC_EPDPID_SHIFT           (16)
1323 //#define USBC_NAKSTS               (1<<17)
1324 //#define USBC_NAKSTS_MASK          (1<<17)
1325 //#define USBC_NAKSTS_SHIFT         (17)
1326 //#define USBC_EPTYPE(n)            (((n)&3)<<18)
1327 //#define USBC_EPTYPE_MASK          (3<<18)
1328 //#define USBC_EPTYPE_SHIFT         (18)
1329 #define USBC_SNP                    (1<<20)
1330 #define USBC_SNP_MASK               (1<<20)
1331 #define USBC_SNP_SHIFT              (20)
1332 //#define USBC_STALL                (1<<21)
1333 //#define USBC_STALL_MASK           (1<<21)
1334 //#define USBC_STALL_SHIFT          (21)
1335 //#define USBC_EPTXFNUM(n)          (((n)&15)<<22)
1336 //#define USBC_EPTXFNUM_MASK        (15<<22)
1337 //#define USBC_EPTXFNUM_SHIFT       (22)
1338 //#define USBC_CNAK                 (1<<26)
1339 //#define USBC_CNAK_MASK            (1<<26)
1340 //#define USBC_CNAK_SHIFT           (26)
1341 //#define USBC_SNAK                 (1<<27)
1342 //#define USBC_SNAK_MASK            (1<<27)
1343 //#define USBC_SNAK_SHIFT           (27)
1344 #define USBC_SETD0PID               (1<<28)
1345 #define USBC_SETD0PID_MASK          (1<<28)
1346 #define USBC_SETD0PID_SHIFT         (28)
1347 #define USBC_SETD1PID               (1<<29)
1348 #define USBC_SETD1PID_MASK          (1<<29)
1349 #define USBC_SETD1PID_SHIFT         (29)
1350 //#define USBC_EPDIS                (1<<30)
1351 //#define USBC_EPDIS_MASK           (1<<30)
1352 //#define USBC_EPDIS_SHIFT          (30)
1353 //#define USBC_EPENA                (1<<31)
1354 //#define USBC_EPENA_MASK           (1<<31)
1355 //#define USBC_EPENA_SHIFT          (31)
1356 
1357 //DIEPINT
1358 //#define USBC_XFERCOMPL            (1<<0)
1359 //#define USBC_XFERCOMPL_MASK       (1<<0)
1360 //#define USBC_XFERCOMPL_SHIFT      (0)
1361 //#define USBC_EPDISBLD             (1<<1)
1362 //#define USBC_EPDISBLD_MASK        (1<<1)
1363 //#define USBC_EPDISBLD_SHIFT       (1)
1364 //#define USBC_AHBERR               (1<<2)
1365 //#define USBC_AHBERR_MASK          (1<<2)
1366 //#define USBC_AHBERR_SHIFT         (2)
1367 //#define USBC_TIMEOUT              (1<<3)
1368 //#define USBC_TIMEOUT_MASK         (1<<3)
1369 //#define USBC_TIMEOUT_SHIFT        (3)
1370 //#define USBC_INTKNTXFEMP          (1<<4)
1371 //#define USBC_INTKNTXFEMP_MASK     (1<<4)
1372 //#define USBC_INTKNTXFEMP_SHIFT    (4)
1373 //#define USBC_INTKNEPMIS           (1<<5)
1374 //#define USBC_INTKNEPMIS_MASK      (1<<5)
1375 //#define USBC_INTKNEPMIS_SHIFT     (5)
1376 //#define USBC_INEPNAKEFF           (1<<6)
1377 //#define USBC_INEPNAKEFF_MASK      (1<<6)
1378 //#define USBC_INEPNAKEFF_SHIFT     (6)
1379 //#define USBC_TXFEMP               (1<<7)
1380 //#define USBC_TXFEMP_MASK          (1<<7)
1381 //#define USBC_TXFEMP_SHIFT         (7)
1382 //#define USBC_TXFIFOUNDRN          (1<<8)
1383 //#define USBC_TXFIFOUNDRN_MASK     (1<<8)
1384 //#define USBC_TXFIFOUNDRN_SHIFT    (8)
1385 
1386 //DIEPTSIZ
1387 #define USBC_IEPXFERSIZE(n)         (((n)&0x7FFFF)<<0)
1388 #define USBC_IEPXFERSIZE_MASK       (0x7FFFF<<0)
1389 #define USBC_IEPXFERSIZE_SHIFT      (0)
1390 #define USBC_IEPPKTCNT(n)           (((n)&0x3FF)<<19)
1391 #define USBC_IEPPKTCNT_MASK         (0x3FF<<19)
1392 #define USBC_IEPPKTCNT_SHIFT        (19)
1393 #define USBC_MC(n)                  (((n)&3)<<29)
1394 #define USBC_MC_MASK                (3<<29)
1395 #define USBC_MC_SHIFT               (29)
1396 
1397 //DIEPDMA
1398 //#define USBC_DMAADDR(n)           (((n)&0xFFFFFFFF)<<0)
1399 //#define USBC_DMAADDR_MASK         (0xFFFFFFFF<<0)
1400 //#define USBC_DMAADDR_SHIFT        (0)
1401 
1402 //DIEPFSTS
1403 //#define USBC_INEPTXFSPCAVAIL(n)   (((n)&0xFFFF)<<0)
1404 //#define USBC_INEPTXFSPCAVAIL_MASK (0xFFFF<<0)
1405 //#define USBC_INEPTXFSPCAVAIL_SHIFT (0)
1406 
1407 //DOEPCTL0
1408 //#define USBC_EP0_MPS(n)           (((n)&3)<<0)
1409 //#define USBC_EP0_MPS_MASK         (3<<0)
1410 //#define USBC_EP0_MPS_SHIFT        (0)
1411 //#define USBC_USBACTEP             (1<<15)
1412 //#define USBC_USBACTEP_MASK        (1<<15)
1413 //#define USBC_USBACTEP_SHIFT       (15)
1414 //#define USBC_NAKSTS               (1<<17)
1415 //#define USBC_NAKSTS_MASK          (1<<17)
1416 //#define USBC_NAKSTS_SHIFT         (17)
1417 //#define USBC_EPTYPE(n)            (((n)&3)<<18)
1418 //#define USBC_EPTYPE_MASK          (3<<18)
1419 //#define USBC_EPTYPE_SHIFT         (18)
1420 //#define USBC_SNP                  (1<<20)
1421 //#define USBC_SNP_MASK             (1<<20)
1422 //#define USBC_SNP_SHIFT            (20)
1423 //#define USBC_STALL                (1<<21)
1424 //#define USBC_STALL_MASK           (1<<21)
1425 //#define USBC_STALL_SHIFT          (21)
1426 //#define USBC_CNAK                 (1<<26)
1427 //#define USBC_CNAK_MASK            (1<<26)
1428 //#define USBC_CNAK_SHIFT           (26)
1429 //#define USBC_SNAK                 (1<<27)
1430 //#define USBC_SNAK_MASK            (1<<27)
1431 //#define USBC_SNAK_SHIFT           (27)
1432 //#define USBC_EPDIS                (1<<30)
1433 //#define USBC_EPDIS_MASK           (1<<30)
1434 //#define USBC_EPDIS_SHIFT          (30)
1435 //#define USBC_EPENA                (1<<31)
1436 //#define USBC_EPENA_MASK           (1<<31)
1437 //#define USBC_EPENA_SHIFT          (31)
1438 
1439 //DOEPINT0
1440 //#define USBC_XFERCOMPL            (1<<0)
1441 //#define USBC_XFERCOMPL_MASK       (1<<0)
1442 //#define USBC_XFERCOMPL_SHIFT      (0)
1443 //#define USBC_EPDISBLD             (1<<1)
1444 //#define USBC_EPDISBLD_MASK        (1<<1)
1445 //#define USBC_EPDISBLD_SHIFT       (1)
1446 //#define USBC_AHBERR               (1<<2)
1447 //#define USBC_AHBERR_MASK          (1<<2)
1448 //#define USBC_AHBERR_SHIFT         (2)
1449 #define USBC_SETUP                  (1<<3)
1450 #define USBC_SETUP_MASK             (1<<3)
1451 #define USBC_SETUP_SHIFT            (3)
1452 #define USBC_OUTTKNEPDIS            (1<<4)
1453 #define USBC_OUTTKNEPDIS_MASK       (1<<4)
1454 #define USBC_OUTTKNTPDIS_SHIFT      (4)
1455 #define USBC_STSPHSERCVD            (1<<5)
1456 #define USBC_STSPHSERCVD_MASK       (1<<5)
1457 #define USBC_STSPHSERCVD_SHIFT      (5)
1458 #define USBC_BACK2BACKSETUP         (1<<6)
1459 #define USBC_BACK2BACKSETUP_MASK    (1<<6)
1460 #define USBC_BACK2BACKSETUP_SHIFT   (6)
1461 //#define USBC_TXFEMP               (1<<7)
1462 //#define USBC_TXFEMP_MASK          (1<<7)
1463 //#define USBC_TXFEMP_SHIFT         (7)
1464 #define USBC_OUTPKTERR              (1<<8)
1465 #define USBC_OUTPKTERR_MASK         (1<<8)
1466 #define USBC_OUTPKTERR_SHIFT        (8)
1467 //#define USBC_BNAINTR              (1<<9)
1468 //#define USBC_PKTDRPSTS            (1<<11)
1469 //#define USBC_BBLEERRINTRPT        (1<<12)
1470 //#define USBC_NAKINTRPT            (1<<13)
1471 //#define USBC_NYETINTRPT           (1<<14)
1472 //#define USBC_STUPPKTRCVD          (1<<15)
1473 
1474 //DOEPTSIZ0
1475 #define USBC_OEPXFERSIZE0(n)        (((n)&0x7F)<<0)
1476 #define USBC_OEPXFERSIZE0_MASK      (0x7F<<0)
1477 #define USBC_OEPXFERSIZE0_SHIFT     (0)
1478 #define USBC_OEPPKTCNT0             (1<<19)
1479 #define USBC_OEPPKTCNT0_MASK        (1<<19)
1480 #define USBC_OEPPKTCNT0_SHIFT       (19)
1481 #define USBC_SUPCNT(n)              (((n)&3)<<29)
1482 #define USBC_SUPCNT_MASK            (3<<29)
1483 #define USBC_SUPCNT_SHIFT           (29)
1484 
1485 //DOEPDMA0
1486 //#define USBC_DMAADDR(n)           (((n)&0xFFFFFFFF)<<0)
1487 //#define USBC_DMAADDR_MASK         (0xFFFFFFFF<<0)
1488 //#define USBC_DMAADDR_SHIFT        (0)
1489 
1490 //DOEPCTL
1491 //#define USBC_EPN_MPS(n)           (((n)&0x7FF)<<0)
1492 //#define USBC_EPN_MPS_MASK         (0x7FF<<0)
1493 //#define USBC_EPN_MPS_SHIFT        (0)
1494 //#define USBC_NEXTEP(n)            (((n)&15)<<11)
1495 //#define USBC_NEXTEP_MASK          (15<<11)
1496 //#define USBC_NEXTEP_SHIFT         (11)
1497 //#define USBC_USBACTEP             (1<<15)
1498 //#define USBC_USBACTEP_MASK        (1<<15)
1499 //#define USBC_USBACTEP_SHIFT       (15)
1500 //#define USBC_EPDPID               (1<<16)
1501 //#define USBC_EPDPID_MASK          (1<<16)
1502 //#define USBC_EPDPID_SHIFT         (16)
1503 //#define USBC_NAKSTS               (1<<17)
1504 //#define USBC_NAKSTS_MASK          (1<<17)
1505 //#define USBC_NAKSTS_SHIFT         (17)
1506 //#define USBC_EPTYPE(n)            (((n)&3)<<18)
1507 //#define USBC_EPTYPE_MASK          (3<<18)
1508 //#define USBC_EPTYPE_SHIFT         (18)
1509 //#define USBC_SNP                  (1<<20)
1510 //#define USBC_SNP_MASK             (1<<20)
1511 //#define USBC_SNP_SHIFT            (20)
1512 //#define USBC_STALL                (1<<21)
1513 //#define USBC_STALL_MASK           (1<<21)
1514 //#define USBC_STALL_SHIFT          (21)
1515 //#define USBC_EPTXFNUM(n)          (((n)&15)<<22)
1516 //#define USBC_EPTXFNUM_MASK        (15<<22)
1517 //#define USBC_EPTXFNUM_SHIFT       (22)
1518 //#define USBC_CNAK                 (1<<26)
1519 //#define USBC_CNAK_MASK            (1<<26)
1520 //#define USBC_CNAK_SHIFT           (26)
1521 //#define USBC_SNAK                 (1<<27)
1522 //#define USBC_SNAK_MASK            (1<<27)
1523 //#define USBC_SNAK_SHIFT           (27)
1524 //#define USBC_SETD0PID             (1<<28)
1525 //#define USBC_SETD0PID_MASK        (1<<28)
1526 //#define USBC_SETD0PID_SHIFT       (28)
1527 //#define USBC_SETD1PID             (1<<29)
1528 //#define USBC_SETD1PID_MASK        (1<<29)
1529 //#define USBC_SETD1PID_SHIFT       (29)
1530 //#define USBC_EPDIS                (1<<30)
1531 //#define USBC_EPDIS_MASK           (1<<30)
1532 //#define USBC_EPDIS_SHIFT          (30)
1533 //#define USBC_EPENA                (1<<31)
1534 //#define USBC_EPENA_MASK           (1<<31)
1535 //#define USBC_EPENA_SHIFT          (31)
1536 
1537 //DOEPINT
1538 //#define USBC_XFERCOMPL            (1<<0)
1539 //#define USBC_XFERCOMPL_MASK       (1<<0)
1540 //#define USBC_XFERCOMPL_SHIFT      (0)
1541 //#define USBC_EPDISBLD             (1<<1)
1542 //#define USBC_EPDISBLD_MASK        (1<<1)
1543 //#define USBC_EPDISBLD_SHIFT       (1)
1544 //#define USBC_AHBERR               (1<<2)
1545 //#define USBC_AHBERR_MASK          (1<<2)
1546 //#define USBC_AHBERR_SHIFT         (2)
1547 //#define USBC_SETUP                (1<<3)
1548 //#define USBC_SETUP_MASK           (1<<3)
1549 //#define USBC_SETUP_SHIFT          (3)
1550 //#define USBC_OUTTKNEPDIS          (1<<4)
1551 //#define USBC_OUTTKNEPDIS_MASK     (1<<4)
1552 //#define USBC_OUTTKNTPDIS_SHIFT    (4)
1553 //#define USBC_STSPHSERCVD          (1<<5)
1554 //#define USBC_STSPHSERCVD_MASK     (1<<5)
1555 //#define USBC_STSPHSERCVD_SHIFT    (5)
1556 //#define USBC_BACK2BACKSETUP       (1<<6)
1557 //#define USBC_BACK2BACKSETUP_MASK  (1<<6)
1558 //#define USBC_BACK2BACKSETUP_SHIFT (6)
1559 //#define USBC_TXFEMP               (1<<7)
1560 //#define USBC_TXFEMP_MASK          (1<<7)
1561 //#define USBC_TXFEMP_SHIFT         (7)
1562 //#define USBC_OUTPKTERR            (1<<8)
1563 //#define USBC_OUTPKTERR_MASK       (1<<8)
1564 //#define USBC_OUTPKTERR_SHIFT      (8)
1565 //#define USBC_BNAINTR              (1<<9)
1566 //#define USBC_PKTDRPSTS            (1<<11)
1567 //#define USBC_BBLEERRINTRPT        (1<<12)
1568 //#define USBC_NAKINTRPT            (1<<13)
1569 //#define USBC_NYETINTRPT           (1<<14)
1570 //#define USBC_STUPPKTRCVD          (1<<15)
1571 
1572 //DOEPTSIZ
1573 #define USBC_OEPXFERSIZE(n)         (((n)&0x7FFFF)<<0)
1574 #define USBC_OEPXFERSIZE_MASK       (0x7FFFF<<0)
1575 #define USBC_OEPXFERSIZE_SHIFT      (0)
1576 #define USBC_OEPPKTCNT(n)           (((n)&0x3FF)<<19)
1577 #define USBC_OEPPKTCNT_MASK         (0x3FF<<19)
1578 #define USBC_OEPPKTCNT_SHIFT        (19)
1579 //#define USBC_MC(n)                (((n)&3)<<29)
1580 //#define USBC_MC_MASK              (3<<29)
1581 //#define USBC_MC_SHIFT             (29)
1582 #define USBC_RXDPID(n)              (((n)&3)<<29)
1583 #define USBC_RXDPID_MASK            (3<<29)
1584 #define USBC_RXDPID_SHIFT           (29)
1585 
1586 //DOEPDMA
1587 //#define USBC_DMAADDR(n)           (((n)&0xFFFFFFFF)<<0)
1588 //#define USBC_DMAADDR_MASK         (0xFFFFFFFF<<0)
1589 //#define USBC_DMAADDR_SHIFT        (0)
1590 
1591 //PCGCCTL
1592 #define USBC_STOPPCLK               (1<<0)
1593 #define USBC_STOPPCLK_MASK          (1<<0)
1594 #define USBC_STOPPCLK_SHIFT         (0)
1595 #define USBC_GATEHCLK               (1<<1)
1596 #define USBC_GATEHCLK_MASK          (1<<1)
1597 #define USBC_GATEHCLK_SHIFT         (1)
1598 #define USBC_PWRCLMP                (1<<2)
1599 #define USBC_PWRCLMP_MASK           (1<<2)
1600 #define USBC_PWRCLMP_SHIFT          (2)
1601 #define USBC_RSTPDWNMODULE          (1<<3)
1602 #define USBC_RSTPDWNMODULE_MASK     (1<<3)
1603 #define USBC_RSTPDWNMODULE_SHIFT    (3)
1604 #define USBC_ENBL_L1GATING          (1<<5)
1605 #define USBC_ENBL_L1GATING_MASK     (1<<5)
1606 #define USBC_ENBL_L1GATING_SHIFT    (5)
1607 #define USBC_PHYSLEEP               (1<<6)
1608 #define USBC_PHYSLEEP_MASK          (1<<6)
1609 #define USBC_PHYSLEEP_SHIFT         (6)
1610 #define USBC_SUSPENDED              (1<<7)
1611 #define USBC_SUSPENDED_MASK         (1<<7)
1612 #define USBC_SUSPENDED_SHIFT        (7)
1613 
1614 //TxRxData
1615 #define USBC_TXDATA(n)              (((n)&0xFFFFFFFF)<<0)
1616 #define USBC_TXDATA_MASK            (0xFFFFFFFF<<0)
1617 #define USBC_TXDATA_SHIFT           (0)
1618 #define USBC_RXDATA(n)              (((n)&0xFFFFFFFF)<<0)
1619 #define USBC_RXDATA_MASK            (0xFFFFFFFF<<0)
1620 #define USBC_RXDATA_SHIFT           (0)
1621 
1622 //RAMData
1623 #define USBC_DATA(n)                (((n)&0xFFFFFFFF)<<0)
1624 #define USBC_DATA_MASK              (0xFFFFFFFF<<0)
1625 #define USBC_DATA_SHIFT             (0)
1626 
1627 
1628 // ============================================================================
1629 // USBIF_T
1630 // -----------------------------------------------------------------------------
1631 ///
1632 // =============================================================================
1633 struct USBIF_T {
1634     __IO uint32_t USBIF_00;
1635     __IO uint32_t USBIF_04;
1636     __IO uint32_t USBIF_08;
1637     __IO uint32_t USBIF_0C;
1638     __IO uint32_t USBIF_10;
1639     __IO uint32_t USBIF_14;
1640     __IO uint32_t USBIF_18;
1641     __IO uint32_t USBIF_1C;
1642     __IO uint32_t USBIF_20;
1643 };
1644 
1645 // USBIF_00
1646 #define USBIF_00_CFG_TP_SEL_SHIFT           0
1647 #define USBIF_00_CFG_TP_SEL_MASK            (0xFF << USBIF_00_CFG_TP_SEL_SHIFT)
1648 #define USBIF_00_CFG_TP_SEL(n)              BITFIELD_VAL(USBIF_00_CFG_TP_SEL, n)
1649 #define USBIF_00_CFG_EXT_PHY                (1 << 8)
1650 #define USBIF_00_CFG_EXT_ADP                (1 << 9)
1651 #define USBIF_00_CFG_EXT_OTG                (1 << 10)
1652 #define USBIF_00_CFG_EXT_RID                (1 << 11)
1653 #define USBIF_00_CFG_DR_PLL                 (1 << 16)
1654 #define USBIF_00_CFG_DR_SUSPEND             (1 << 17)
1655 #define USBIF_00_CFG_REG_PLL                (1 << 24)
1656 #define USBIF_00_CFG_REG_SUSPEND            (1 << 25)
1657 
1658 // USBIF_04
1659 #define USBIF_04_CFG_MODE_PLLEN_SHIFT       4
1660 #define USBIF_04_CFG_MODE_PLLEN_MASK        (0x3 << USBIF_04_CFG_MODE_PLLEN_SHIFT)
1661 #define USBIF_04_CFG_MODE_PLLEN(n)          BITFIELD_VAL(USBIF_04_CFG_MODE_PLLEN, n)
1662 #define USBIF_04_CFG_SUSPEND_MODE_SHIFT     6
1663 #define USBIF_04_CFG_SUSPEND_MODE_MASK      (0x3 << USBIF_04_CFG_SUSPEND_MODE_SHIFT)
1664 #define USBIF_04_CFG_SUSPEND_MODE(n)        BITFIELD_VAL(USBIF_04_CFG_SUSPEND_MODE, n)
1665 #define USBIF_04_CFG_SLEEP_THSD_SHIFT       8
1666 #define USBIF_04_CFG_SLEEP_THSD_MASK        (0xF << USBIF_04_CFG_SLEEP_THSD_SHIFT)
1667 #define USBIF_04_CFG_SLEEP_THSD(n)          BITFIELD_VAL(USBIF_04_CFG_SLEEP_THSD, n)
1668 
1669 // USBIF_08
1670 #define USBIF_08_CFG_EXTPHY_RXTIMING        (1 << 0)
1671 #define USBIF_08_CFG_EXTPHY_TXTIMING        (1 << 1)
1672 #define USBIF_08_CFG_PHY_TXTIMING           (1 << 2)
1673 #define USBIF_08_CFG_PHY_RXTIMING           (1 << 3)
1674 #define USBIF_08_CFG_PHY_RXLSTIMING         (1 << 4)
1675 #define USBIF_08_CFG_EN_HOSTDISC            (1 << 5)
1676 #define USBIF_08_CFG_MODE_FSRCV             (1 << 6)
1677 #define USBIF_08_CFG_PHY_TXOPMODE           (1 << 7)
1678 #define USBIF_08_CFG_PHY_TXXCVSEL           (1 << 8)
1679 #define USBIF_08_CFG_PHY_TXTERMSEL          (1 << 9)
1680 #define USBIF_08_CFG_SEL_HSIC               (1 << 10)
1681 #define USBIF_08_CFG_SEL48M                 (1 << 11)
1682 #define USBIF_08_CFG_POL_SPI_CLK            (1 << 12)
1683 #define USBIF_08_CFG_MACPLL_RDY             (1 << 13)
1684 #define USBIF_08_CFG_PHY_HOST_MODE          (1 << 14)
1685 #define USBIF_08_CFG_SOFT_RESETN_PHY        (1 << 15)
1686 
1687 // USBIF_0C
1688 #define USBIF_0C_PLL_EN_MSK                 (1 << 0)
1689 #define USBIF_0C_D1_DEV_HIRD_VALID_MSK      (1 << 1)
1690 #define USBIF_0C_SOF_TOGGLE_OUT_MSK         (1 << 2)
1691 #define USBIF_0C_SOF_SEND_MSK               (1 << 3)
1692 #define USBIF_0C_CHEP_LAST_TRANS_MSK        (1 << 4)
1693 #define USBIF_0C_ID_DIG_MSK                 (1 << 5)
1694 #define USBIF_0C_ENABLE_ALL_MSK             (1 << 6)
1695 
1696 // USBIF_10
1697 #define USBIF_10_PLL_EN_RIS                 (1 << 0)
1698 #define USBIF_10_D1_DEV_HIRD_VALID_RIS      (1 << 1)
1699 #define USBIF_10_SOF_TOGGLE_OUT_RIS         (1 << 2)
1700 #define USBIF_10_SOF_SEND_RIS               (1 << 3)
1701 #define USBIF_10_CHEP_LAST_TRANS_RIS        (1 << 4)
1702 #define USBIF_10_ID_DIG_RIS                 (1 << 5)
1703 
1704 // USBIF_14
1705 #define USBIF_14_PLL_EN_MIS                 (1 << 0)
1706 #define USBIF_14_D1_DEV_HIRD_VALID_MIS      (1 << 1)
1707 #define USBIF_14_SOF_TOGGLE_OUT_MIS         (1 << 2)
1708 #define USBIF_14_SOF_SEND_MIS               (1 << 3)
1709 #define USBIF_14_CHEP_LAST_TRANS_MIS        (1 << 4)
1710 #define USBIF_14_ID_DIG_MIS                 (1 << 5)
1711 
1712 // USBIF_18
1713 #define USBIF_18_LAST_DEV_HIRD_RCVD_SHIFT   0
1714 #define USBIF_18_LAST_DEV_HIRD_RCVD_MASK    (0xF << USBIF_18_LAST_DEV_HIRD_RCVD_SHIFT)
1715 #define USBIF_18_LAST_DEV_HIRD_RCVD(n)      BITFIELD_VAL(USBIF_18_LAST_DEV_HIRD_RCVD, n)
1716 #define USBIF_18_LAST_CHEP_NUMBER_SHIFT     4
1717 #define USBIF_18_LAST_CHEP_NUMBER_MASK      (0xF << USBIF_18_LAST_CHEP_NUMBER_SHIFT)
1718 #define USBIF_18_LAST_CHEP_NUMBER(n)        BITFIELD_VAL(USBIF_18_LAST_CHEP_NUMBER, n)
1719 #define USBIF_18_DEV_HIRD_RCVD_SHIFT        8
1720 #define USBIF_18_DEV_HIRD_RCVD_MASK         (0xF << USBIF_18_DEV_HIRD_RCVD_SHIFT)
1721 #define USBIF_18_DEV_HIRD_RCVD(n)           BITFIELD_VAL(USBIF_18_DEV_HIRD_RCVD, n)
1722 #define USBIF_18_CHEP_NUMBER_SHIFT          12
1723 #define USBIF_18_CHEP_NUMBER_MASK           (0xF << USBIF_18_CHEP_NUMBER_SHIFT)
1724 #define USBIF_18_CHEP_NUMBER(n)             BITFIELD_VAL(USBIF_18_CHEP_NUMBER, n)
1725 #define USBIF_18_CHEP_LAST_TRANS            (1 << 16)
1726 #define USBIF_18_SOF_SENT_RCVD_TGL          (1 << 17)
1727 #define USBIF_18_SOF_TOGGLE_OUT             (1 << 18)
1728 #define USBIF_18_DEV_HIRD_VLD_TGL           (1 << 19)
1729 #define USBIF_18_ID_DIG                     (1 << 20)
1730 
1731 #endif
1732 
1733