octeon_usbcreg.h revision 1.2
1/*	$NetBSD: octeon_usbcreg.h,v 1.2 2020/06/22 03:05:07 simonb Exp $	*/
2
3/*
4 * Copyright (c) 2007 Internet Initiative Japan, Inc.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 *    notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 *    notice, this list of conditions and the following disclaimer in the
14 *    documentation and/or other materials provided with the distribution.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 */
28
29/*
30 * USBC Registers
31 */
32
33#ifndef _OCTEON_USBCREG_H_
34#define _OCTEON_USBCREG_H_
35
36/* ---- register addresses */
37
38#define USBC_GOTGCTL				0x00016F0010000000ULL
39#define USBC_GOTGINT				0x00016F0010000004ULL
40#define USBC_GAHBCFG				0x00016F0010000008ULL
41#define USBC_GUSBCFG				0x00016F001000000CULL
42#define USBC_GRSTCTL				0x00016F0010000010ULL
43#define USBC_GINTSTS				0x00016F0010000014ULL
44#define USBC_GINTMSK				0x00016F0010000018ULL
45#define USBC_GRXSTSRH				0x00016F001000001CULL
46#define USBC_GRXSTSPH				0x00016F0010000020ULL
47#define USBC_GRXFSIZ				0x00016F0010000024ULL
48#define USBC_GNPTXFSIZ				0x00016F0010000028ULL
49#define USBC_GNPTXSTS				0x00016F001000002CULL
50#define USBC_GSNPSID				0x00016F0010000040ULL
51#define USBC_GHWCFG1				0x00016F0010000044ULL
52#define USBC_GHWCFG2				0x00016F0010000048ULL
53#define USBC_GHWCFG3				0x00016F001000004CULL
54#define USBC_GHWCFG4				0x00016F0010000050ULL
55#define USBC_HPTXFSIZ				0x00016F0010000100ULL
56#define USBC_DPTXFSIZ1				0x00016F0010000104ULL
57#define USBC_DPTXFSIZ2				0x00016F0010000108ULL
58#define USBC_DPTXFSIZ3				0x00016F001000010CULL
59#define USBC_DPTXFSIZ4				0x00016F0010000110ULL
60#define USBC_HCFG				0x00016F0010000400ULL
61#define USBC_HFIR				0x00016F0010000404ULL
62#define USBC_HFNUM				0x00016F0010000408ULL
63#define USBC_HPTXSTS				0x00016F0010000410ULL
64#define USBC_HAINT				0x00016F0010000414ULL
65#define USBC_HAINTMSK				0x00016F0010000418ULL
66#define USBC_HPRT				0x00016F0010000440ULL
67#define USBC_HCCHAR0				0x00016F0010000500ULL
68#define USBC_HCCHAR1				0x00016F0010000520ULL
69#define USBC_HCCHAR2				0x00016F0010000540ULL
70#define USBC_HCCHAR3				0x00016F0010000560ULL
71#define USBC_HCCHAR4				0x00016F0010000580ULL
72#define USBC_HCCHAR5				0x00016F00100005A0ULL
73#define USBC_HCCHAR6				0x00016F00100005C0ULL
74#define USBC_HCCHAR7				0x00016F00100005E0ULL
75#define USBC_HCSPLT0				0x00016F0010000504ULL
76#define USBC_HCSPLT1				0x00016F0010000524ULL
77#define USBC_HCSPLT2				0x00016F0010000544ULL
78#define USBC_HCSPLT3				0x00016F0010000564ULL
79#define USBC_HCSPLT4				0x00016F0010000584ULL
80#define USBC_HCSPLT5				0x00016F00100005A4ULL
81#define USBC_HCSPLT6				0x00016F00100005C4ULL
82#define USBC_HCSPLT7				0x00016F00100005E4ULL
83#define USBC_HCINT0				0x00016F0010000508ULL
84#define USBC_HCINT1				0x00016F0010000528ULL
85#define USBC_HCINT2				0x00016F0010000548ULL
86#define USBC_HCINT3				0x00016F0010000568ULL
87#define USBC_HCINT4				0x00016F0010000588ULL
88#define USBC_HCINT5				0x00016F00100005A8ULL
89#define USBC_HCINT6				0x00016F00100005C8ULL
90#define USBC_HCINT7				0x00016F00100005E8ULL
91#define USBC_HCINTMSK0				0x00016F001000050CULL
92#define USBC_HCINTMSK1				0x00016F001000052CULL
93#define USBC_HCINTMSK2				0x00016F001000054CULL
94#define USBC_HCINTMSK3				0x00016F001000056CULL
95#define USBC_HCINTMSK4				0x00016F001000058CULL
96#define USBC_HCINTMSK5				0x00016F00100005ACULL
97#define USBC_HCINTMSK6				0x00016F00100005CCULL
98#define USBC_HCINTMSK7				0x00016F00100005ECULL
99#define USBC_HCTSIZ0				0x00016F0010000510ULL
100#define USBC_HCTSIZ1				0x00016F0010000530ULL
101#define USBC_HCTSIZ2				0x00016F0010000550ULL
102#define USBC_HCTSIZ3				0x00016F0010000570ULL
103#define USBC_HCTSIZ4				0x00016F0010000590ULL
104#define USBC_HCTSIZ5				0x00016F00100005B0ULL
105#define USBC_HCTSIZ6				0x00016F00100005D0ULL
106#define USBC_HCTSIZ7				0x00016F00100005F0ULL
107#define USBC_DCFG				0x00016F0010000800ULL
108#define USBC_DCTL				0x00016F0010000804ULL
109#define USBC_DSTS				0x00016F0010000808ULL
110#define USBC_DIEPMSK				0x00016F0010000810ULL
111#define USBC_DOEPMSK				0x00016F0010000814ULL
112#define USBC_DAINT				0x00016F0010000818ULL
113#define USBC_DAINTMSK				0x00016F001000081CULL
114#define USBC_DTKNQR1				0x00016F0010000820ULL
115#define USBC_DTKNQR2				0x00016F0010000824ULL
116#define USBC_DTKNQR3				0x00016F0010000830ULL
117#define USBC_DTKNQR4				0x00016F0010000834ULL
118#define USBC_DIEPCTL0				0x00016F0010000900ULL
119#define USBC_DIEPCTL1				0x00016F0010000920ULL
120#define USBC_DIEPCTL2				0x00016F0010000940ULL
121#define USBC_DIEPCTL3				0x00016F0010000960ULL
122#define USBC_DIEPCTL4				0x00016F0010000980ULL
123#define USBC_DIEPINT0				0x00016F0010000908ULL
124#define USBC_DIEPINT1				0x00016F0010000928ULL
125#define USBC_DIEPINT2				0x00016F0010000948ULL
126#define USBC_DIEPINT3				0x00016F0010000968ULL
127#define USBC_DIEPINT4				0x00016F0010000988ULL
128#define USBC_DIEPTSIZ0				0x00016F0010000910ULL
129#define USBC_DIEPTSIZ1				0x00016F0010000930ULL
130#define USBC_DIEPTSIZ2				0x00016F0010000950ULL
131#define USBC_DIEPTSIZ3				0x00016F0010000970ULL
132#define USBC_DIEPTSIZ4				0x00016F0010000990ULL
133#define USBC_OEPCTL0				0x00016F0010000B00ULL
134#define USBC_OEPCTL1				0x00016F0010000B20ULL
135#define USBC_OEPCTL2				0x00016F0010000B40ULL
136#define USBC_OEPCTL3				0x00016F0010000B60ULL
137#define USBC_OEPCTL4				0x00016F0010000B80ULL
138#define USBC_OEPINT0				0x00016F0010000B08ULL
139#define USBC_OEPINT1				0x00016F0010000B28ULL
140#define USBC_OEPINT2				0x00016F0010000B48ULL
141#define USBC_OEPINT3				0x00016F0010000B68ULL
142#define USBC_OEPINT4				0x00016F0010000B88ULL
143#define USBC_OEPTSIZ0				0x00016F0010000B10ULL
144#define USBC_OEPTSIZ1				0x00016F0010000B30ULL
145#define USBC_OEPTSIZ2				0x00016F0010000B50ULL
146#define USBC_OEPTSIZ3				0x00016F0010000B70ULL
147#define USBC_OEPTSIZ4				0x00016F0010000B90ULL
148#define USBC_PCGCCTL				0x00016F0010000E00ULL
149#define USBC_NPTXDFIFO0				0x00016F0010001000ULL
150#define USBC_NPTXDFIFO1				0x00016F0010002000ULL
151#define USBC_NPTXDFIFO2				0x00016F0010003000ULL
152#define USBC_NPTXDFIFO3				0x00016F0010004000ULL
153#define USBC_NPTXDFIFO4				0x00016F0010005000ULL
154#define USBC_NPTXDFIFO5				0x00016F0010006000ULL
155#define USBC_NPTXDFIFO6				0x00016F0010007000ULL
156#define USBC_NPTXDFIFO7				0x00016F0010008000ULL
157#define USBC_GRXSTSRD				0x00016F001004001CULL
158#define USBC_GRXSTSPD				0x00016F0010040020ULL
159
160/* ---- register bits */
161
162#define USBC_GOTGCTL_XXX_31_21			0xffe00000
163#define USBC_GOTGCTL_XXX_20			UINT32_C(0x00100000)
164#define USBC_GOTGCTL_BSESVLD			UINT32_C(0x00080000)
165#define USBC_GOTGCTL_ASESVLD			UINT32_C(0x00040000)
166#define USBC_GOTGCTL_DBNCTIME			UINT32_C(0x00020000)
167#define USBC_GOTGCTL_CONIDSTS			UINT32_C(0x00010000)
168#define USBC_GOTGCTL_XXX_15_12			0x0000f000
169#define USBC_GOTGCTL_DEVHNPEN			UINT32_C(0x00000800)
170#define USBC_GOTGCTL_HSTSETHNPEN		UINT32_C(0x00000400)
171#define USBC_GOTGCTL_HNPREQ			UINT32_C(0x00000200)
172#define USBC_GOTGCTL_HSTNEGSCS			UINT32_C(0x00000100)
173#define USBC_GOTGCTL_XXX_7_2			0x000000fc
174#define USBC_GOTGCTL_SESREQ			UINT32_C(0x00000002)
175#define USBC_GOTGCTL_SESREQSCS			UINT32_C(0x00000001)
176
177#define USBC_GOTGINT_XXX_31_20			0xfff00000
178#define USBC_GOTGINT_DBNCEDONE			UINT32_C(0x00080000)
179#define USBC_GOTGINT_ADEVTOUTCHG		UINT32_C(0x00040000)
180#define USBC_GOTGINT_HSTNEGDET			UINT32_C(0x00020000)
181#define USBC_GOTGINT_XXX_16_10			0x0001fc00
182#define USBC_GOTGINT_HSTNEGSUCSTSCHNG		UINT32_C(0x00000200)
183#define USBC_GOTGINT_SESREQSUCSTSCHNG		UINT32_C(0x00000100)
184#define USBC_GOTGINT_XXX_7_3			0x000000f8
185#define USBC_GOTGINT_SESENDDET			UINT32_C(0x00000004)
186#define USBC_GOTGINT_XXX_1			UINT32_C(0x00000002)
187#define USBC_GOTGINT_XXX_0			UINT32_C(0x00000001)
188
189#define USBC_GAHBCFG_XXX_31_9			0xfffffe00
190#define USBC_GAHBCFG_PTXFEMPLVL			UINT32_C(0x00000100)
191#define USBC_GAHBCFG_NPTXFEMPLVL		UINT32_C(0x00000080)
192#define USBC_GAHBCFG_XXX_6			UINT32_C(0x00000040)
193#define USBC_GAHBCFG_DMAEN			UINT32_C(0x00000020)
194#define USBC_GAHBCFG_HBSTLEN			0x0000001e
195#define USBC_GAHBCFG_HBSTLEN_OFFSET		1
196#define USBC_GAHBCFG_GLBLINTRMSK		UINT32_C(0x00000001)
197
198#define USBC_GUSBCFG_XXX_31_17			0xfffe0000
199#define USBC_GUSBCFG_OTGI2CSEL			UINT32_C(0x00010000)
200#define USBC_GUSBCFG_PHYLPWRCLKSEL		UINT32_C(0x00008000)
201#define USBC_GUSBCFG_XXX_14			UINT32_C(0x00004000)
202#define USBC_GUSBCFG_USBTRDTIM			0x00003c00
203#define USBC_GUSBCFG_USBTRDTIM_OFFSET		10
204#define USBC_GUSBCFG_HNPCAP			UINT32_C(0x00000200)
205#define USBC_GUSBCFG_SRPCAP			UINT32_C(0x00000100)
206#define USBC_GUSBCFG_DDRSEL			UINT32_C(0x00000080)
207#define USBC_GUSBCFG_PHYSEL			UINT32_C(0x00000040)
208#define USBC_GUSBCFG_FSINTF			UINT32_C(0x00000020)
209#define USBC_GUSBCFG_ULPI_UTMI_SEL		UINT32_C(0x00000010)
210#define USBC_GUSBCFG_PHYIF			UINT32_C(0x00000008)
211#define USBC_GUSBCFG_TOUTCAL			0x00000007
212#define USBC_GUSBCFG_TOUTCAL_OFFSET		0
213
214#define USBC_GRSTCTL_AHBIDLE			UINT32_C(0x80000000)
215#define USBC_GRSTCTL_DMAREQ			UINT32_C(0x40000000)
216#define USBC_GRSTCTL_XXX_29_11			0x3ffff800
217#define USBC_GRSTCTL_TXFNUM			0x000007c0
218#define USBC_GRSTCTL_TXFNUM_OFFSET		6
219#define USBC_GRSTCTL_TXFFLSH			UINT32_C(0x00000020)
220#define USBC_GRSTCTL_RXFFLSH			UINT32_C(0x00000010)
221#define USBC_GRSTCTL_INTKNQFLSH			UINT32_C(0x00000008)
222#define USBC_GRSTCTL_FRMCNTRRST			UINT32_C(0x00000004)
223#define USBC_GRSTCTL_HSFTRST			UINT32_C(0x00000002)
224#define USBC_GRSTCTL_CSFTRST			UINT32_C(0x00000001)
225
226#define USBC_GINTSTS_WKUPINT			UINT32_C(0x80000000)
227#define USBC_GINTSTS_SESSREQINT			UINT32_C(0x40000000)
228#define USBC_GINTSTS_DISCONNINT			UINT32_C(0x20000000)
229#define USBC_GINTSTS_CONIDSTSCHNG		UINT32_C(0x10000000)
230#define USBC_GINTSTS_XXX_27			UINT32_C(0x08000000)
231#define USBC_GINTSTS_PTXFEMP			UINT32_C(0x04000000)
232#define USBC_GINTSTS_HCHINT			UINT32_C(0x02000000)
233#define USBC_GINTSTS_PRTINT			UINT32_C(0x01000000)
234#define USBC_GINTSTS_XXX_23			UINT32_C(0x00800000)
235#define USBC_GINTSTS_FETSUSP			UINT32_C(0x00400000)
236#define USBC_GINTSTS_INCOMPLP			UINT32_C(0x00200000)
237#define USBC_GINTSTS_INCOMPISOIN		UINT32_C(0x00100000)
238#define USBC_GINTSTS_OEPINT			UINT32_C(0x00080000)
239#define USBC_GINTSTS_IEPINT			UINT32_C(0x00040000)
240#define USBC_GINTSTS_EPMIS			UINT32_C(0x00020000)
241#define USBC_GINTSTS_XXX_16			UINT32_C(0x00010000)
242#define USBC_GINTSTS_EOPF			UINT32_C(0x00008000)
243#define USBC_GINTSTS_ISOOUTDROP			UINT32_C(0x00004000)
244#define USBC_GINTSTS_ENUMDONE			UINT32_C(0x00002000)
245#define USBC_GINTSTS_USBRST			UINT32_C(0x00001000)
246#define USBC_GINTSTS_USBSUSP			UINT32_C(0x00000800)
247#define USBC_GINTSTS_ERLYSUSP			UINT32_C(0x00000400)
248#define USBC_GINTSTS_I2CINT			UINT32_C(0x00000200)
249#define USBC_GINTSTS_ULPICKINT			UINT32_C(0x00000100)
250#define USBC_GINTSTS_GOUTNAKEFF			UINT32_C(0x00000080)
251#define USBC_GINTSTS_GINNAKEFF			UINT32_C(0x00000040)
252#define USBC_GINTSTS_NPTXFEMP			UINT32_C(0x00000020)
253#define USBC_GINTSTS_RXFLVL			UINT32_C(0x00000010)
254#define USBC_GINTSTS_SOF			UINT32_C(0x00000008)
255#define USBC_GINTSTS_OTGINT			UINT32_C(0x00000004)
256#define USBC_GINTSTS_MODEMIS			UINT32_C(0x00000002)
257#define USBC_GINTSTS_CURMOD			UINT32_C(0x00000001)
258#define USBC_GINTSTS_CURMOD_OFFSET		0
259#define  USBC_GINTSTS_CURMOD_DEVICE		0x0
260#define  USBC_GINTSTS_CURMOD_HOST		0x1
261
262#define USBC_GINTMSK_WKUPINTMSK			UINT32_C(0x80000000)
263#define USBC_GINTMSK_SESSREQINTMSK		UINT32_C(0x40000000)
264#define USBC_GINTMSK_DISCONNINTMSK		UINT32_C(0x20000000)
265#define USBC_GINTMSK_CONIDSTSTCHNGMSK		UINT32_C(0x10000000)
266#define USBC_GINTMSK_XXX_27			UINT32_C(0x08000000)
267#define USBC_GINTMSK_PTXFEMPMSK			UINT32_C(0x04000000)
268#define USBC_GINTMSK_HCHINTMSK			UINT32_C(0x02000000)
269#define USBC_GINTMSK_PRTINTMSK			UINT32_C(0x01000000)
270#define USBC_GINTMSK_XXX_23			UINT32_C(0x00800000)
271#define USBC_GINTMSK_FETSUSPMSK			UINT32_C(0x00400000)
272#define USBC_GINTMSK_INCOMPISOOUTMSK		UINT32_C(0x00200000)
273#define USBC_GINTMSK_INCOMPISOINMSK		UINT32_C(0x00100000)
274#define USBC_GINTMSK_OEPINTMSK			UINT32_C(0x00080000)
275#define USBC_GINTMSK_INEPINTMSK			UINT32_C(0x00040000)
276#define USBC_GINTMSK_EPMISMSK			UINT32_C(0x00020000)
277#define USBC_GINTMSK_XXX_16			UINT32_C(0x00010000)
278#define USBC_GINTMSK_EOPFMSK			UINT32_C(0x00008000)
279#define USBC_GINTMSK_ISOOUTDROPMSK		UINT32_C(0x00004000)
280#define USBC_GINTMSK_ENUMDONEMSK		UINT32_C(0x00002000)
281#define USBC_GINTMSK_USBRSTMSK			UINT32_C(0x00001000)
282#define USBC_GINTMSK_USBSUSPMSK			UINT32_C(0x00000800)
283#define USBC_GINTMSK_ERLYSUSPMSK		UINT32_C(0x00000400)
284#define USBC_GINTMSK_I2CINT			UINT32_C(0x00000200)
285#define USBC_GINTMSK_ULPICKINTMSK		UINT32_C(0x00000100)
286#define USBC_GINTMSK_GOUTNAKEFFMSK		UINT32_C(0x00000080)
287#define USBC_GINTMSK_GINNAKEFFMSK		UINT32_C(0x00000040)
288#define USBC_GINTMSK_NPTXFEMPMSK		UINT32_C(0x00000020)
289#define USBC_GINTMSK_RXFLVLMSK			UINT32_C(0x00000010)
290#define USBC_GINTMSK_SOFMSK			UINT32_C(0x00000008)
291#define USBC_GINTMSK_OTGINTMSK			UINT32_C(0x00000004)
292#define USBC_GINTMSK_MODEMISMSK			UINT32_C(0x00000002)
293#define USBC_GINTMSK_XXX_0			UINT32_C(0x00000001)
294
295#define USBC_GRXSTSRH_XXX_31_21			0xffe00000
296#define USBC_GRXSTSRH_PKTSTS			0x001e0000
297#define USBC_GRXSTSRH_PKTSTS_OFFSET		17
298#define USBC_GRXSTSRH_DPID			0x00018000
299#define USBC_GRXSTSRH_DPID_OFFSET		15
300#define  USBC_GRXSTSRH_DPID_DATA0		0x00
301#define  USBC_GRXSTSRH_DPID_DATA1		0x10
302#define  USBC_GRXSTSRH_DPID_DATA2		0x01
303#define  USBC_GRXSTSRH_DPID_MDATA		0x11
304#define USBC_GRXSTSRH_BCNT			0x00007ff0
305#define USBC_GRXSTSRH_BCNT_OFFSET		4
306#define USBC_GRXSTSRH_CHNUM			0x0000000f
307#define USBC_GRXSTSRH_CHNUM_OFFSET		0
308
309#define USBC_GRXSTSPH_XXX_31_21			0xffe00000
310#define USBC_GRXSTSPH_PKTSTS			0x001e0000
311#define USBC_GRXSTSPH_PKTSTS_OFFSET		17
312#define  USBC_GRXSTSPH_PKTSTS_IN_DATA_RECV	0x2
313#define  USBC_GRXSTSPH_PKTSTS_IN_XFER_COMPL	0x3
314#define  USBC_GRXSTSPH_PKTSTS_TGL_ERR		0x5
315#define  USBC_GRXSTSPH_PKTSTS_CH_HLTD		0x7
316#define USBC_GRXSTSPH_DPID			0x00018000
317#define USBC_GRXSTSPH_DPID_OFFSET		15
318#define  USBC_GRXSTSPH_DPID_DATA0		0x00
319#define  USBC_GRXSTSPH_DPID_DATA1		0x10
320#define  USBC_GRXSTSPH_DPID_DATA2		0x01
321#define  USBC_GRXSTSPH_DPID_MDATA		0x11
322#define USBC_GRXSTSPH_BCNT			0x00007ff0
323#define USBC_GRXSTSPH_BCNT_OFFSET		4
324#define USBC_GRXSTSPH_CHNUM			0x0000000f
325#define USBC_GRXSTSPH_CHNUM_OFFSET		0
326
327#define USBC_GRXSTSRD_XXX_31_25			0xfe000000
328#define USBC_GRXSTSRD_FN			0x01e00000
329#define USBC_GRXSTSRD_PKTSTS			0x001e0000
330#define USBC_GRXSTSRD_DPID			0x00018000
331#define USBC_GRXSTSRD_BCNT			0x00007ff0
332#define USBC_GRXSTSRD_EPNUM			0x0000000f
333
334#define USBC_GRXSTSPD_XXX_31_25			0xfe000000
335#define USBC_GRXSTSPD_FN			0x01e00000
336#define USBC_GRXSTSPD_PKTSTS			0x001e0000
337#define USBC_GRXSTSPD_DPID			0x00018000
338#define USBC_GRXSTSPD_BCNT			0x00007ff0
339#define USBC_GRXSTSPD_EPNUM			0x0000000f
340
341#define USBC_GRXFSIZ_XXX_31_16			0xffff0000
342#define USBC_GRXFSIZ_RXFDEP			0x0000ffff
343
344#define USBC_GNPTXFSIZ_NPTXFEDP			0xffff0000
345#define USBC_GNPTXFSIZ_NPTXFEDP_OFFSET		16
346#define USBC_GNPTXFSIZ_NPTXFSTADDR		0x0000ffff
347
348#define USBC_GNPTXSTS_XXX_31			UINT32_C(0x80000000)
349#define USBC_GNPTXSTS_NPTXQTOP_CHNUM		0x78000000
350#define USBC_GNPTXSTS_NPTXQTOP_ENTRY		0x06000000
351#define USBC_GNPTXSTS_NPTXQTOP_TERMINATE	UINT32_C(0x01000000)
352#define USBC_GNPTXSTS_NPTXQSPCAVAIL		0x00ff0000
353#define USBC_GNPTXSTS_NPTXQSPCAVAIL_OFFSET	16
354#define USBC_GNPTXSTS_NPTXFSPCAVAIL		0x0000ffff
355#define USBC_GNPTXSTS_NPTXFSPCAVAIL_OFFSET	0
356
357#define USBC_GSNPSID_SYNOPSYSID			0xffffffff
358
359#define USBC_GHWCFG1_EPDIR			0xffffffff
360
361#define USBC_GHWCFG2_XXX_31			UINT32_C(0x80000000)
362#define USBC_GHWCFG2_TKNQDEPTH			0x7c000000
363#define USBC_GHWCFG2_PTXQDEPTH			0x03000000
364#define USBC_GHWCFG2_PTXQDEPTH_OFFSET		24
365#define USBC_GHWCFG2_NPTXQDEPTH			0x00c00000
366#define USBC_GHWCFG2_NPTXQDEPTH_OFFSET		22
367#define USBC_GHWCFG2_XXX_21_20			0x00300000
368#define USBC_GHWCFG2_DYNFIFOSIZING		UINT32_C(0x00080000)
369#define USBC_GHWCFG2_PERIOSUPPORT		UINT32_C(0x00040000)
370#define USBC_GHWCFG2_NUMHSTCHN1			0x0003c000
371#define USBC_GHWCFG2_NUMHSTCHN1_OFFSET		14
372#define USBC_GHWCFG2_NUMDEVEPS			0x00003c00
373#define USBC_GHWCFG2_FSPHYTYPE			0x00000300
374#define USBC_GHWCFG2_HSPHYTYPE			0x000000c0
375#define USBC_GHWCFG2_SINGPNT			UINT32_C(0x00000020)
376#define USBC_GHWCFG2_OTGARCH			0x00000018
377#define USBC_GHWCFG2_OTGARCH_OFFSET		3
378#define  USBC_GHWCFG2_OTGARCH_SLAVEONLY		0x0
379#define  USBC_GHWCFG2_OTGARCH_EXTERNALDMA	0x1
380#define  USBC_GHWCFG2_OTGARCH_INTERNALDMA	0x2
381#define  USBC_GHWCFG2_OTGARCH_RESERVED		0x3
382#define USBC_GHWCFG2_OTGMODE			0x00000007
383
384#define USBC_GHWCFG3_DFIFODEPTH			0xffff0000
385#define USBC_GHWCFG3_DFIFODEPTH_OFFSET		16
386#define USBC_GHWCFG3_XXX_15_13			0x0000e000
387#define USBC_GHWCFG3_AHBPHYSYNC			UINT32_C(0x00001000)
388#define USBC_GHWCFG3_RSTTYPE			UINT32_C(0x00000800)
389#define USBC_GHWCFG3_OPTFEATURE			UINT32_C(0x00000400)
390#define USBC_GHWCFG3_VENDOR_CONTROL_INTERFACE_SUPPORT	UINT32_C(0x00000200)
391#define USBC_GHWCFG3_I2C_SELECTION		UINT32_C(0x00000100)
392#define USBC_GHWCFG3_OTGEN			UINT32_C(0x00000080)
393#define USBC_GHWCFG3_PKTSIZEWIDTH		0x00000070
394#define USBC_GHWCFG3_XFERSIZEWIDTH		0x0000000f
395
396#define USBC_GHWCFG4_XXX_31_25			0xfe000000
397#define USBC_GHWCFG4_SESSENDFLTR		UINT32_C(0x01000000)
398#define USBC_GHWCFG4_BVAILDFLTR			UINT32_C(0x01000000)
399#define USBC_GHWCFG4_AVAILDFLTR			UINT32_C(0x00800000)
400#define USBC_GHWCFG4_VBUSVALIDFLTR		UINT32_C(0x00400000)
401#define USBC_GHWCFG4_IDDGFLTR			UINT32_C(0x00200000)
402#define USBC_GHWCFG4_NUMCTLEPS			0x000f0000
403#define USBC_GHWCFG4_PHYDATAWIDTH		0x0000c000
404#define USBC_GHWCFG4_XXX_13_6			0x00003fc0
405#define USBC_GHWCFG4_AHBFREQ			UINT32_C(0x00000020)
406#define USBC_GHWCFG4_ENABLEPWROPT		UINT32_C(0x00000010)
407#define USBC_GHWCFG4_NUMDEVPERIOEPS		0x0000000f
408
409#define USBC_HPTXFSIZ_PTXFSIZE			0xffff0000
410#define USBC_HPTXFSIZ_PTXFSIZE_OFFSET		16
411#define	USBC_HPTXFSIZ_PTXFSTADDR		0x0000ffff
412#define USBC_HPTXFSIZ_PTXFSTADDR_OFFSET		0
413
414/* for USBC_DPTXFSIZ(1..4) */
415#define USBC_DPTXFSIZX_DPTXFSIZE		0xffff0000
416#define USBC_DPTXFSIZX_PTXFSTADDR		0x0000ffff
417
418#define USBC_HCFG_XXX_31_3			0xfffffff8
419#define USBC_HCFG_FSLSSUPP			UINT32_C(0x00000004)
420#define USBC_HCFG_FSLSPCLKSEL			0x00000003
421#define USBC_HCFG_FSLSPCLKSEL_OFFSET		0
422#define  USBC_HCFG_FSLSPCLKSEL_30_60_MHZ	0x00
423#define  USBC_HCFG_FSLSPCLKSEL_48_MHZ		0x01
424#define  USBC_HCFG_FSLSPCLKSEL_6_MHZ		0x10
425
426#define USBC_HFIR_XXX_31_16			0xffff0000
427#define USBC_HFIR_FRINT				0x0000ffff
428#define USBC_HFIR_FRINT_OFFSET			0
429
430#define USBC_HFNUM_FRREM			0xffff0000
431#define USBC_HFNUM_FRNUM			0x0000ffff
432
433#define USBC_HPTXSTS_PTXQTOP			0xff000000
434#define USBC_HPTXSTS_PTXQSPCAVAIL		0x00ff0000
435#define USBC_HPTXSTS_PTXQSPCAVAIL_OFFSET	16
436#define USBC_HPTXSTS_PTXFSPCAVAIL		0x0000ffff
437#define USBC_HPTXSTS_PTXFSPCAVAIL_OFFSET	0
438
439#define USBC_HAINT_XXX_31_16			0xffff0000
440/* #define USBC_HAINT_HAINT			__BITS32(15, 0) */
441#define USBC_HAINT_HAINT_F			UINT32_C(0x00008000)
442#define USBC_HAINT_HAINT_E			UINT32_C(0x00004000)
443#define USBC_HAINT_HAINT_D			UINT32_C(0x00002000)
444#define USBC_HAINT_HAINT_C			UINT32_C(0x00001000)
445#define USBC_HAINT_HAINT_B			UINT32_C(0x00000800)
446#define USBC_HAINT_HAINT_A			UINT32_C(0x00000400)
447#define USBC_HAINT_HAINT_9			UINT32_C(0x00000200)
448#define USBC_HAINT_HAINT_8			UINT32_C(0x00000100)
449#define USBC_HAINT_HAINT_7			UINT32_C(0x00000080)
450#define USBC_HAINT_HAINT_6			UINT32_C(0x00000040)
451#define USBC_HAINT_HAINT_5			UINT32_C(0x00000020)
452#define USBC_HAINT_HAINT_4			UINT32_C(0x00000010)
453#define USBC_HAINT_HAINT_3			UINT32_C(0x00000008)
454#define USBC_HAINT_HAINT_2			UINT32_C(0x00000004)
455#define USBC_HAINT_HAINT_1			UINT32_C(0x00000002)
456#define USBC_HAINT_HAINT_0			UINT32_C(0x00000001)
457
458#define USBC_HAINTMSK_XXX_31_16			0xffff0000
459/*#define USBC_HAINTMSK_HAINTMSK			__BITS32(15, 0) */
460#define USBC_HAINTMSK_HAINTMSK_F		UINT32_C(0x00008000)
461#define USBC_HAINTMSK_HAINTMSK_E		UINT32_C(0x00004000)
462#define USBC_HAINTMSK_HAINTMSK_D		UINT32_C(0x00002000)
463#define USBC_HAINTMSK_HAINTMSK_C		UINT32_C(0x00001000)
464#define USBC_HAINTMSK_HAINTMSK_B		UINT32_C(0x00000800)
465#define USBC_HAINTMSK_HAINTMSK_A		UINT32_C(0x00000400)
466#define USBC_HAINTMSK_HAINTMSK_9		UINT32_C(0x00000200)
467#define USBC_HAINTMSK_HAINTMSK_8		UINT32_C(0x00000100)
468#define USBC_HAINTMSK_HAINTMSK_7		UINT32_C(0x00000080)
469#define USBC_HAINTMSK_HAINTMSK_6		UINT32_C(0x00000040)
470#define USBC_HAINTMSK_HAINTMSK_5		UINT32_C(0x00000020)
471#define USBC_HAINTMSK_HAINTMSK_4		UINT32_C(0x00000010)
472#define USBC_HAINTMSK_HAINTMSK_3		UINT32_C(0x00000008)
473#define USBC_HAINTMSK_HAINTMSK_2		UINT32_C(0x00000004)
474#define USBC_HAINTMSK_HAINTMSK_1		UINT32_C(0x00000002)
475#define USBC_HAINTMSK_HAINTMSK_0		UINT32_C(0x00000001)
476
477#define USBC_HPRT_XXX_31_19			0xfff80000
478#define USBC_HPRT_PRTSPD			0x00060000
479#define USBC_HPRT_PRTSPD_OFFSET			17
480#define  USBC_HPRT_PRTSPD_HIGH			0x0
481#define  USBC_HPRT_PRTSPD_FULL			0x1
482#define  USBC_HPRT_PRTSPD_LOW			0x2
483#define  USBC_HPRT_PRTSPD_RESERVED		0x3
484#define USBC_HPRT_PRTTSTCTL			0x0001e000
485#define USBC_HPRT_PRTPWR			UINT32_C(0x00001000)
486#define USBC_HPRT_PRTLNSTS			0x00000c00
487#define USBC_HPRT_XXX_9				UINT32_C(0x00000200)
488#define USBC_HPRT_PRTRST			UINT32_C(0x00000100)
489#define USBC_HPRT_PRTSUSP			UINT32_C(0x00000080)
490#define USBC_HPRT_PRTRES			UINT32_C(0x00000040)
491#define USBC_HPRT_PRTOVRCURRCHNG		UINT32_C(0x00000020)
492#define USBC_HPRT_PRTOVRCURRACT			UINT32_C(0x00000010)
493#define USBC_HPRT_PRTENCHNG			UINT32_C(0x00000008)
494#define USBC_HPRT_PRTENA			UINT32_C(0x00000004)
495#define USBC_HPRT_PRTCONNDET			UINT32_C(0x00000002)
496#define USBC_HPRT_PRTCONNSTS			UINT32_C(0x00000001)
497
498/* for USBC_HCCHAR(0..7) */
499#define USBC_HCCHARX_CHENA			UINT32_C(0x80000000)
500#define USBC_HCCHARX_CHDIS			UINT32_C(0x40000000)
501#define USBC_HCCHARX_ODDFRM			UINT32_C(0x20000000)
502#define USBC_HCCHARX_DEVADDR			0x1fc00000
503#define USBC_HCCHARX_DEVADDR_OFFSET		22
504#define USBC_HCCHARX_EC				0x00300000
505#define USBC_HCCHARX_EC_OFFSET			20
506#define USBC_HCCHARX_EPTYPE			0x000c0000
507#define USBC_HCCHARX_EPTYPE_OFFSET		18
508#define  USBC_HCCHARX_EPTYPE_CONTROL		0x00
509#define  USBC_HCCHARX_EPTYPE_ISOCHRONOUS	0x01
510#define  USBC_HCCHARX_EPTYPE_BULK		0x02
511#define  USBC_HCCHARX_EPTYPE_INTERRUPT		0x03
512#define USBC_HCCHARX_LSPDDEV			UINT32_C(0x00020000)
513#define USBC_HCCHARX_XXX_16			UINT32_C(0x00010000)
514#define USBC_HCCHARX_EPDIR			UINT32_C(0x00008000)
515#define USBC_HCCHARX_EPNUM			0x00007800
516#define USBC_HCCHARX_EPNUM_OFFSET		11
517#define USBC_HCCHARX_MPS			0x000007ff
518#define USBC_HCCHARX_MPS_OFFSET			0
519
520/* for USBC_HCSPLT(0..7) */
521#define USBC_HCSPLTX_SPLTENA			UINT32_C(0x80000000)
522#define USBC_HCSPLTX_XXX_30_17			0x7ffe0000
523#define USBC_HCSPLTX_COMPSPLT			UINT32_C(0x00010000)
524#define USBC_HCSPLTX_XACTPOS			0x0000c000
525#define USBC_HCSPLTX_HUBADDR			0x00003f80
526#define USBC_HCSPLTX_PRTADDR			0x0000007f
527
528/* for USBC_HCINT(0..7) */
529#define USBC_HCINTX_XXX_31_11			0xfffff800
530#define	USBC_HCINTX_DATATGLERR			UINT32_C(0x00000400)
531#define	USBC_HCINTX_FRMOVRUN			UINT32_C(0x00000200)
532#define	USBC_HCINTX_BBLERR			UINT32_C(0x00000100)
533#define	USBC_HCINTX_XACTERR			UINT32_C(0x00000080)
534#define	USBC_HCINTX_NYET			UINT32_C(0x00000040)
535#define	USBC_HCINTX_ACK				UINT32_C(0x00000020)
536#define	USBC_HCINTX_NAK				UINT32_C(0x00000010)
537#define	USBC_HCINTX_STALL			UINT32_C(0x00000008)
538#define	USBC_HCINTX_AHBERR			UINT32_C(0x00000004)
539#define	USBC_HCINTX_CHHLTD			UINT32_C(0x00000002)
540#define	USBC_HCINTX_XFERCOMPL			UINT32_C(0x00000001)
541
542/* for USBC_HCINTMSK(0..7) */
543#define USBC_HCINTMSKX_XXX_31_11		0xfffff800
544#define	USBC_HCINTMSKX_DATATGLERRMSK		UINT32_C(0x00000400)
545#define	USBC_HCINTMSKX_FRMOVRUNMSK		UINT32_C(0x00000200)
546#define	USBC_HCINTMSKX_BBLERRMSK		UINT32_C(0x00000100)
547#define	USBC_HCINTMSKX_XACTERRMSK		UINT32_C(0x00000080)
548#define	USBC_HCINTMSKX_NYETMSK			UINT32_C(0x00000040)
549#define	USBC_HCINTMSKX_ACKMSK			UINT32_C(0x00000020)
550#define	USBC_HCINTMSKX_NAKMSK			UINT32_C(0x00000010)
551#define	USBC_HCINTMSKX_STALLMSK			UINT32_C(0x00000008)
552#define	USBC_HCINTMSKX_AHBERRMSK		UINT32_C(0x00000004)
553#define	USBC_HCINTMSKX_CHHLTDMSK		UINT32_C(0x00000002)
554#define	USBC_HCINTMSKX_XFERCOMPLMSK		UINT32_C(0x00000001)
555
556/* for USBC_HCTSIZ(0..7) */
557#define USBC_HCTSIZX_DOPNG			UINT32_C(0x80000000)
558#define USBC_HCTSIZX_PID			0x60000000
559#define USBC_HCTSIZX_PID_OFFSET			29
560#define  USBC_HCTSIZX_PID_DATA0			0x00
561#define  USBC_HCTSIZX_PID_DATA2			0x01
562#define  USBC_HCTSIZX_PID_DATA1			0x02
563#define  USBC_HCTSIZX_PID_MDATA_SETUP		0x03
564#define USBC_HCTSIZX_PKTCNT			0x1ff80000
565#define USBC_HCTSIZX_PKTCNT_OFFSET		19
566#define USBC_HCTSIZX_XFERSIZE			0x0007ffff
567#define USBC_HCTSIZX_XFERSIZE_OFFSET		0
568
569/* XXX Device Mode Registers */
570
571
572
573/* for USBC_NPTXDFIFO(0..7) */
574#define USBC_NPTXDFIFOX_DATA			0xffffffff
575
576#define USBC_HCINT0_BITS	USBC_HCINTX_BITS
577#define USBC_HCINT1_BITS	USBC_HCINTX_BITS
578#define USBC_HCINT2_BITS	USBC_HCINTX_BITS
579#define USBC_HCINT3_BITS	USBC_HCINTX_BITS
580#define USBC_HCINT4_BITS	USBC_HCINTX_BITS
581#define USBC_HCINT5_BITS	USBC_HCINTX_BITS
582#define USBC_HCINT6_BITS	USBC_HCINTX_BITS
583#define USBC_HCINT7_BITS	USBC_HCINTX_BITS
584
585#define USBC_HCINTMSK0_BITS	USBC_HCINTMSKX_BITS
586#define USBC_HCINTMSK1_BITS	USBC_HCINTMSKX_BITS
587#define USBC_HCINTMSK2_BITS	USBC_HCINTMSKX_BITS
588#define USBC_HCINTMSK3_BITS	USBC_HCINTMSKX_BITS
589#define USBC_HCINTMSK4_BITS	USBC_HCINTMSKX_BITS
590#define USBC_HCINTMSK5_BITS	USBC_HCINTMSKX_BITS
591#define USBC_HCINTMSK6_BITS	USBC_HCINTMSKX_BITS
592#define USBC_HCINTMSK7_BITS	USBC_HCINTMSKX_BITS
593
594#define USBC_HCCHAR0_BITS	USBC_HCCHARX_BITS
595#define USBC_HCCHAR1_BITS	USBC_HCCHARX_BITS
596#define USBC_HCCHAR2_BITS	USBC_HCCHARX_BITS
597#define USBC_HCCHAR3_BITS	USBC_HCCHARX_BITS
598#define USBC_HCCHAR4_BITS	USBC_HCCHARX_BITS
599#define USBC_HCCHAR5_BITS	USBC_HCCHARX_BITS
600#define USBC_HCCHAR6_BITS	USBC_HCCHARX_BITS
601#define USBC_HCCHAR7_BITS	USBC_HCCHARX_BITS
602
603#define USBC_HCTSIZ0_BITS	USBC_HCTSIZX_BITS
604#define USBC_HCTSIZ1_BITS	USBC_HCTSIZX_BITS
605#define USBC_HCTSIZ2_BITS	USBC_HCTSIZX_BITS
606#define USBC_HCTSIZ3_BITS	USBC_HCTSIZX_BITS
607#define USBC_HCTSIZ4_BITS	USBC_HCTSIZX_BITS
608#define USBC_HCTSIZ5_BITS	USBC_HCTSIZX_BITS
609#define USBC_HCTSIZ6_BITS	USBC_HCTSIZX_BITS
610#define USBC_HCTSIZ7_BITS	USBC_HCTSIZX_BITS
611
612/* ---- bus_space */
613
614#define	USBC_BASE				0x00016F0010000000ULL
615#define USBC_SIZE				0x40020
616
617#define USBC_GOTGCTL_OFFSET			0x00000000
618#define USBC_GOTGINT_OFFSET			0x00000004
619#define USBC_GAHBCFG_OFFSET			0x00000008
620#define USBC_GUSBCFG_OFFSET			0x0000000C
621#define USBC_GRSTCTL_OFFSET			0x00000010
622#define USBC_GINTSTS_OFFSET			0x00000014
623#define USBC_GINTMSK_OFFSET			0x00000018
624#define USBC_GRXSTSRH_OFFSET			0x0000001C
625#define USBC_GRXSTSPH_OFFSET			0x00000020
626#define USBC_GRXFSIZ_OFFSET			0x00000024
627#define USBC_GNPTXFSIZ_OFFSET			0x00000028
628#define USBC_GNPTXSTS_OFFSET			0x0000002C
629#define USBC_GSNPSID_OFFSET			0x00000040
630#define USBC_GHWCFG1_OFFSET			0x00000044
631#define USBC_GHWCFG2_OFFSET			0x00000048
632#define USBC_GHWCFG3_OFFSET			0x0000004C
633#define USBC_GHWCFG4_OFFSET			0x00000050
634#define USBC_HPTXFSIZ_OFFSET			0x00000100
635#define USBC_DPTXFSIZ1_OFFSET			0x00000104
636#define USBC_DPTXFSIZ2_OFFSET			0x00000108
637#define USBC_DPTXFSIZ3_OFFSET			0x0000010C
638#define USBC_DPTXFSIZ4_OFFSET			0x00000110
639#define USBC_HCFG_OFFSET			0x00000400
640#define USBC_HFIR_OFFSET			0x00000404
641#define USBC_HFNUM_OFFSET			0x00000408
642#define USBC_HPTXSTS_OFFSET			0x00000410
643#define USBC_HAINT_OFFSET			0x00000414
644#define USBC_HAINTMSK_OFFSET			0x00000418
645#define USBC_HPRT_OFFSET			0x00000440
646#define USBC_HCCHAR0_OFFSET			0x00000500
647#define USBC_HCCHAR1_OFFSET			0x00000520
648#define USBC_HCCHAR2_OFFSET			0x00000540
649#define USBC_HCCHAR3_OFFSET			0x00000560
650#define USBC_HCCHAR4_OFFSET			0x00000580
651#define USBC_HCCHAR5_OFFSET			0x000005A0
652#define USBC_HCCHAR6_OFFSET			0x000005C0
653#define USBC_HCCHAR7_OFFSET			0x000005E0
654#define USBC_HCSPLT0_OFFSET			0x00000504
655#define USBC_HCSPLT1_OFFSET			0x00000524
656#define USBC_HCSPLT2_OFFSET			0x00000544
657#define USBC_HCSPLT3_OFFSET			0x00000564
658#define USBC_HCSPLT4_OFFSET			0x00000584
659#define USBC_HCSPLT5_OFFSET			0x000005A4
660#define USBC_HCSPLT6_OFFSET			0x000005C4
661#define USBC_HCSPLT7_OFFSET			0x000005E4
662#define USBC_HCINT0_OFFSET			0x00000508
663#define USBC_HCINT1_OFFSET			0x00000528
664#define USBC_HCINT2_OFFSET			0x00000548
665#define USBC_HCINT3_OFFSET			0x00000568
666#define USBC_HCINT4_OFFSET			0x00000588
667#define USBC_HCINT5_OFFSET			0x000005A8
668#define USBC_HCINT6_OFFSET			0x000005C8
669#define USBC_HCINT7_OFFSET			0x000005E8
670#define USBC_HCINTMSK0_OFFSET			0x0000050C
671#define USBC_HCINTMSK1_OFFSET			0x0000052C
672#define USBC_HCINTMSK2_OFFSET			0x0000054C
673#define USBC_HCINTMSK3_OFFSET			0x0000056C
674#define USBC_HCINTMSK4_OFFSET			0x0000058C
675#define USBC_HCINTMSK5_OFFSET			0x000005AC
676#define USBC_HCINTMSK6_OFFSET			0x000005CC
677#define USBC_HCINTMSK7_OFFSET			0x000005EC
678#define USBC_HCTSIZ0_OFFSET			0x00000510
679#define USBC_HCTSIZ1_OFFSET			0x00000530
680#define USBC_HCTSIZ2_OFFSET			0x00000550
681#define USBC_HCTSIZ3_OFFSET			0x00000570
682#define USBC_HCTSIZ4_OFFSET			0x00000590
683#define USBC_HCTSIZ5_OFFSET			0x000005B0
684#define USBC_HCTSIZ6_OFFSET			0x000005D0
685#define USBC_HCTSIZ7_OFFSET			0x000005F0
686#define USBC_DCFG_OFFSET			0x00000800
687#define USBC_DCTL_OFFSET			0x00000804
688#define USBC_DSTS_OFFSET			0x00000808
689#define USBC_DIEPMSK_OFFSET			0x00000810
690#define USBC_DOEPMSK_OFFSET			0x00000814
691#define USBC_DAINT_OFFSET			0x00000818
692#define USBC_DAINTMSK_OFFSET			0x0000081C
693#define USBC_DTKNQR1_OFFSET			0x00000820
694#define USBC_DTKNQR2_OFFSET			0x00000824
695#define USBC_DTKNQR3_OFFSET			0x00000830
696#define USBC_DTKNQR4_OFFSET			0x00000834
697#define USBC_DIEPCTL0_OFFSET			0x00000900
698#define USBC_DIEPCTL1_OFFSET			0x00000920
699#define USBC_DIEPCTL2_OFFSET			0x00000940
700#define USBC_DIEPCTL3_OFFSET			0x00000960
701#define USBC_DIEPCTL4_OFFSET			0x00000980
702#define USBC_DIEPINT0_OFFSET			0x00000908
703#define USBC_DIEPINT1_OFFSET			0x00000928
704#define USBC_DIEPINT2_OFFSET			0x00000948
705#define USBC_DIEPINT3_OFFSET			0x00000968
706#define USBC_DIEPINT4_OFFSET			0x00000988
707#define USBC_DIEPTSIZ0_OFFSET			0x00000910
708#define USBC_DIEPTSIZ1_OFFSET			0x00000930
709#define USBC_DIEPTSIZ2_OFFSET			0x00000950
710#define USBC_DIEPTSIZ3_OFFSET			0x00000970
711#define USBC_DIEPTSIZ4_OFFSET			0x00000990
712#define USBC_OEPCTL0_OFFSET			0x00000B00
713#define USBC_OEPCTL1_OFFSET			0x00000B20
714#define USBC_OEPCTL2_OFFSET			0x00000B40
715#define USBC_OEPCTL3_OFFSET			0x00000B60
716#define USBC_OEPCTL4_OFFSET			0x00000B80
717#define USBC_OEPINT0_OFFSET			0x00000B08
718#define USBC_OEPINT1_OFFSET			0x00000B28
719#define USBC_OEPINT2_OFFSET			0x00000B48
720#define USBC_OEPINT3_OFFSET			0x00000B68
721#define USBC_OEPINT4_OFFSET			0x00000B88
722#define USBC_OEPTSIZ0_OFFSET			0x00000B10
723#define USBC_OEPTSIZ1_OFFSET			0x00000B30
724#define USBC_OEPTSIZ2_OFFSET			0x00000B50
725#define USBC_OEPTSIZ3_OFFSET			0x00000B70
726#define USBC_OEPTSIZ4_OFFSET			0x00000B90
727#define USBC_PCGCCTL_OFFSET			0x00000E00
728#define USBC_NPTXDFIFO0_OFFSET			0x00001000
729#define USBC_NPTXDFIFO1_OFFSET			0x00002000
730#define USBC_NPTXDFIFO2_OFFSET			0x00003000
731#define USBC_NPTXDFIFO3_OFFSET			0x00004000
732#define USBC_NPTXDFIFO4_OFFSET			0x00005000
733#define USBC_NPTXDFIFO5_OFFSET			0x00006000
734#define USBC_NPTXDFIFO6_OFFSET			0x00007000
735#define USBC_NPTXDFIFO7_OFFSET			0x00008000
736#define USBC_GRXSTSRD_OFFSET			0x0004001C
737#define USBC_GRXSTSPD_OFFSET			0x00040020
738
739#endif /* _OCTEON_USBCREG_H_ */
740