octeon_usbcreg.h revision 1.1
11.1Shikaru/*	$NetBSD: octeon_usbcreg.h,v 1.1 2015/04/29 08:32:01 hikaru Exp $	*/
21.1Shikaru
31.1Shikaru/*
41.1Shikaru * Copyright (c) 2007 Internet Initiative Japan, Inc.
51.1Shikaru * All rights reserved.
61.1Shikaru *
71.1Shikaru * Redistribution and use in source and binary forms, with or without
81.1Shikaru * modification, are permitted provided that the following conditions
91.1Shikaru * are met:
101.1Shikaru * 1. Redistributions of source code must retain the above copyright
111.1Shikaru *    notice, this list of conditions and the following disclaimer.
121.1Shikaru * 2. Redistributions in binary form must reproduce the above copyright
131.1Shikaru *    notice, this list of conditions and the following disclaimer in the
141.1Shikaru *    documentation and/or other materials provided with the distribution.
151.1Shikaru *
161.1Shikaru * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
171.1Shikaru * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
181.1Shikaru * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
191.1Shikaru * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
201.1Shikaru * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
211.1Shikaru * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
221.1Shikaru * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
231.1Shikaru * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
241.1Shikaru * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
251.1Shikaru * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
261.1Shikaru * SUCH DAMAGE.
271.1Shikaru */
281.1Shikaru
291.1Shikaru/*
301.1Shikaru * USBC Registers
311.1Shikaru */
321.1Shikaru
331.1Shikaru#ifndef _OCTEON_USBCREG_H_
341.1Shikaru#define _OCTEON_USBCREG_H_
351.1Shikaru
361.1Shikaru/* ---- register addresses */
371.1Shikaru
381.1Shikaru#define USBC_GOTGCTL				0x00016F0010000000ULL
391.1Shikaru#define USBC_GOTGINT				0x00016F0010000004ULL
401.1Shikaru#define USBC_GAHBCFG				0x00016F0010000008ULL
411.1Shikaru#define USBC_GUSBCFG				0x00016F001000000CULL
421.1Shikaru#define USBC_GRSTCTL				0x00016F0010000010ULL
431.1Shikaru#define USBC_GINTSTS				0x00016F0010000014ULL
441.1Shikaru#define USBC_GINTMSK				0x00016F0010000018ULL
451.1Shikaru#define USBC_GRXSTSRH				0x00016F001000001CULL
461.1Shikaru#define USBC_GRXSTSPH				0x00016F0010000020ULL
471.1Shikaru#define USBC_GRXFSIZ				0x00016F0010000024ULL
481.1Shikaru#define USBC_GNPTXFSIZ				0x00016F0010000028ULL
491.1Shikaru#define USBC_GNPTXSTS				0x00016F001000002CULL
501.1Shikaru#define USBC_GSNPSID				0x00016F0010000040ULL
511.1Shikaru#define USBC_GHWCFG1				0x00016F0010000044ULL
521.1Shikaru#define USBC_GHWCFG2				0x00016F0010000048ULL
531.1Shikaru#define USBC_GHWCFG3				0x00016F001000004CULL
541.1Shikaru#define USBC_GHWCFG4				0x00016F0010000050ULL
551.1Shikaru#define USBC_HPTXFSIZ				0x00016F0010000100ULL
561.1Shikaru#define USBC_DPTXFSIZ1				0x00016F0010000104ULL
571.1Shikaru#define USBC_DPTXFSIZ2				0x00016F0010000108ULL
581.1Shikaru#define USBC_DPTXFSIZ3				0x00016F001000010CULL
591.1Shikaru#define USBC_DPTXFSIZ4				0x00016F0010000110ULL
601.1Shikaru#define USBC_HCFG				0x00016F0010000400ULL
611.1Shikaru#define USBC_HFIR				0x00016F0010000404ULL
621.1Shikaru#define USBC_HFNUM				0x00016F0010000408ULL
631.1Shikaru#define USBC_HPTXSTS				0x00016F0010000410ULL
641.1Shikaru#define USBC_HAINT				0x00016F0010000414ULL
651.1Shikaru#define USBC_HAINTMSK				0x00016F0010000418ULL
661.1Shikaru#define USBC_HPRT				0x00016F0010000440ULL
671.1Shikaru#define USBC_HCCHAR0				0x00016F0010000500ULL
681.1Shikaru#define USBC_HCCHAR1				0x00016F0010000520ULL
691.1Shikaru#define USBC_HCCHAR2				0x00016F0010000540ULL
701.1Shikaru#define USBC_HCCHAR3				0x00016F0010000560ULL
711.1Shikaru#define USBC_HCCHAR4				0x00016F0010000580ULL
721.1Shikaru#define USBC_HCCHAR5				0x00016F00100005A0ULL
731.1Shikaru#define USBC_HCCHAR6				0x00016F00100005C0ULL
741.1Shikaru#define USBC_HCCHAR7				0x00016F00100005E0ULL
751.1Shikaru#define USBC_HCSPLT0				0x00016F0010000504ULL
761.1Shikaru#define USBC_HCSPLT1				0x00016F0010000524ULL
771.1Shikaru#define USBC_HCSPLT2				0x00016F0010000544ULL
781.1Shikaru#define USBC_HCSPLT3				0x00016F0010000564ULL
791.1Shikaru#define USBC_HCSPLT4				0x00016F0010000584ULL
801.1Shikaru#define USBC_HCSPLT5				0x00016F00100005A4ULL
811.1Shikaru#define USBC_HCSPLT6				0x00016F00100005C4ULL
821.1Shikaru#define USBC_HCSPLT7				0x00016F00100005E4ULL
831.1Shikaru#define USBC_HCINT0				0x00016F0010000508ULL
841.1Shikaru#define USBC_HCINT1				0x00016F0010000528ULL
851.1Shikaru#define USBC_HCINT2				0x00016F0010000548ULL
861.1Shikaru#define USBC_HCINT3				0x00016F0010000568ULL
871.1Shikaru#define USBC_HCINT4				0x00016F0010000588ULL
881.1Shikaru#define USBC_HCINT5				0x00016F00100005A8ULL
891.1Shikaru#define USBC_HCINT6				0x00016F00100005C8ULL
901.1Shikaru#define USBC_HCINT7				0x00016F00100005E8ULL
911.1Shikaru#define USBC_HCINTMSK0				0x00016F001000050CULL
921.1Shikaru#define USBC_HCINTMSK1				0x00016F001000052CULL
931.1Shikaru#define USBC_HCINTMSK2				0x00016F001000054CULL
941.1Shikaru#define USBC_HCINTMSK3				0x00016F001000056CULL
951.1Shikaru#define USBC_HCINTMSK4				0x00016F001000058CULL
961.1Shikaru#define USBC_HCINTMSK5				0x00016F00100005ACULL
971.1Shikaru#define USBC_HCINTMSK6				0x00016F00100005CCULL
981.1Shikaru#define USBC_HCINTMSK7				0x00016F00100005ECULL
991.1Shikaru#define USBC_HCTSIZ0				0x00016F0010000510ULL
1001.1Shikaru#define USBC_HCTSIZ1				0x00016F0010000530ULL
1011.1Shikaru#define USBC_HCTSIZ2				0x00016F0010000550ULL
1021.1Shikaru#define USBC_HCTSIZ3				0x00016F0010000570ULL
1031.1Shikaru#define USBC_HCTSIZ4				0x00016F0010000590ULL
1041.1Shikaru#define USBC_HCTSIZ5				0x00016F00100005B0ULL
1051.1Shikaru#define USBC_HCTSIZ6				0x00016F00100005D0ULL
1061.1Shikaru#define USBC_HCTSIZ7				0x00016F00100005F0ULL
1071.1Shikaru#define USBC_DCFG				0x00016F0010000800ULL
1081.1Shikaru#define USBC_DCTL				0x00016F0010000804ULL
1091.1Shikaru#define USBC_DSTS				0x00016F0010000808ULL
1101.1Shikaru#define USBC_DIEPMSK				0x00016F0010000810ULL
1111.1Shikaru#define USBC_DOEPMSK				0x00016F0010000814ULL
1121.1Shikaru#define USBC_DAINT				0x00016F0010000818ULL
1131.1Shikaru#define USBC_DAINTMSK				0x00016F001000081CULL
1141.1Shikaru#define USBC_DTKNQR1				0x00016F0010000820ULL
1151.1Shikaru#define USBC_DTKNQR2				0x00016F0010000824ULL
1161.1Shikaru#define USBC_DTKNQR3				0x00016F0010000830ULL
1171.1Shikaru#define USBC_DTKNQR4				0x00016F0010000834ULL
1181.1Shikaru#define USBC_DIEPCTL0				0x00016F0010000900ULL
1191.1Shikaru#define USBC_DIEPCTL1				0x00016F0010000920ULL
1201.1Shikaru#define USBC_DIEPCTL2				0x00016F0010000940ULL
1211.1Shikaru#define USBC_DIEPCTL3				0x00016F0010000960ULL
1221.1Shikaru#define USBC_DIEPCTL4				0x00016F0010000980ULL
1231.1Shikaru#define USBC_DIEPINT0				0x00016F0010000908ULL
1241.1Shikaru#define USBC_DIEPINT1				0x00016F0010000928ULL
1251.1Shikaru#define USBC_DIEPINT2				0x00016F0010000948ULL
1261.1Shikaru#define USBC_DIEPINT3				0x00016F0010000968ULL
1271.1Shikaru#define USBC_DIEPINT4				0x00016F0010000988ULL
1281.1Shikaru#define USBC_DIEPTSIZ0				0x00016F0010000910ULL
1291.1Shikaru#define USBC_DIEPTSIZ1				0x00016F0010000930ULL
1301.1Shikaru#define USBC_DIEPTSIZ2				0x00016F0010000950ULL
1311.1Shikaru#define USBC_DIEPTSIZ3				0x00016F0010000970ULL
1321.1Shikaru#define USBC_DIEPTSIZ4				0x00016F0010000990ULL
1331.1Shikaru#define USBC_OEPCTL0				0x00016F0010000B00ULL
1341.1Shikaru#define USBC_OEPCTL1				0x00016F0010000B20ULL
1351.1Shikaru#define USBC_OEPCTL2				0x00016F0010000B40ULL
1361.1Shikaru#define USBC_OEPCTL3				0x00016F0010000B60ULL
1371.1Shikaru#define USBC_OEPCTL4				0x00016F0010000B80ULL
1381.1Shikaru#define USBC_OEPINT0				0x00016F0010000B08ULL
1391.1Shikaru#define USBC_OEPINT1				0x00016F0010000B28ULL
1401.1Shikaru#define USBC_OEPINT2				0x00016F0010000B48ULL
1411.1Shikaru#define USBC_OEPINT3				0x00016F0010000B68ULL
1421.1Shikaru#define USBC_OEPINT4				0x00016F0010000B88ULL
1431.1Shikaru#define USBC_OEPTSIZ0				0x00016F0010000B10ULL
1441.1Shikaru#define USBC_OEPTSIZ1				0x00016F0010000B30ULL
1451.1Shikaru#define USBC_OEPTSIZ2				0x00016F0010000B50ULL
1461.1Shikaru#define USBC_OEPTSIZ3				0x00016F0010000B70ULL
1471.1Shikaru#define USBC_OEPTSIZ4				0x00016F0010000B90ULL
1481.1Shikaru#define USBC_PCGCCTL				0x00016F0010000E00ULL
1491.1Shikaru#define USBC_NPTXDFIFO0				0x00016F0010001000ULL
1501.1Shikaru#define USBC_NPTXDFIFO1				0x00016F0010002000ULL
1511.1Shikaru#define USBC_NPTXDFIFO2				0x00016F0010003000ULL
1521.1Shikaru#define USBC_NPTXDFIFO3				0x00016F0010004000ULL
1531.1Shikaru#define USBC_NPTXDFIFO4				0x00016F0010005000ULL
1541.1Shikaru#define USBC_NPTXDFIFO5				0x00016F0010006000ULL
1551.1Shikaru#define USBC_NPTXDFIFO6				0x00016F0010007000ULL
1561.1Shikaru#define USBC_NPTXDFIFO7				0x00016F0010008000ULL
1571.1Shikaru#define USBC_GRXSTSRD				0x00016F001004001CULL
1581.1Shikaru#define USBC_GRXSTSPD				0x00016F0010040020ULL
1591.1Shikaru
1601.1Shikaru/* ---- register bits */
1611.1Shikaru
1621.1Shikaru#define USBC_GOTGCTL_XXX_31_21			0xffe00000
1631.1Shikaru#define USBC_GOTGCTL_XXX_20			UINT32_C(0x00100000)
1641.1Shikaru#define USBC_GOTGCTL_BSESVLD			UINT32_C(0x00080000)
1651.1Shikaru#define USBC_GOTGCTL_ASESVLD			UINT32_C(0x00040000)
1661.1Shikaru#define USBC_GOTGCTL_DBNCTIME			UINT32_C(0x00020000)
1671.1Shikaru#define USBC_GOTGCTL_CONIDSTS			UINT32_C(0x00010000)
1681.1Shikaru#define USBC_GOTGCTL_XXX_15_12			0x0000f000
1691.1Shikaru#define USBC_GOTGCTL_DEVHNPEN			UINT32_C(0x00000800)
1701.1Shikaru#define USBC_GOTGCTL_HSTSETHNPEN		UINT32_C(0x00000400)
1711.1Shikaru#define USBC_GOTGCTL_HNPREQ			UINT32_C(0x00000200)
1721.1Shikaru#define USBC_GOTGCTL_HSTNEGSCS			UINT32_C(0x00000100)
1731.1Shikaru#define USBC_GOTGCTL_XXX_7_2			0x000000fc
1741.1Shikaru#define USBC_GOTGCTL_SESREQ			UINT32_C(0x00000002)
1751.1Shikaru#define USBC_GOTGCTL_SESREQSCS			UINT32_C(0x00000001)
1761.1Shikaru
1771.1Shikaru#define USBC_GOTGINT_XXX_31_20			0xfff00000
1781.1Shikaru#define USBC_GOTGINT_DBNCEDONE			UINT32_C(0x00080000)
1791.1Shikaru#define USBC_GOTGINT_ADEVTOUTCHG		UINT32_C(0x00040000)
1801.1Shikaru#define USBC_GOTGINT_HSTNEGDET			UINT32_C(0x00020000)
1811.1Shikaru#define USBC_GOTGINT_XXX_16_10			0x0001fc00
1821.1Shikaru#define USBC_GOTGINT_HSTNEGSUCSTSCHNG		UINT32_C(0x00000200)
1831.1Shikaru#define USBC_GOTGINT_SESREQSUCSTSCHNG		UINT32_C(0x00000100)
1841.1Shikaru#define USBC_GOTGINT_XXX_7_3			0x000000f8
1851.1Shikaru#define USBC_GOTGINT_SESENDDET			UINT32_C(0x00000004)
1861.1Shikaru#define USBC_GOTGINT_XXX_1			UINT32_C(0x00000002)
1871.1Shikaru#define USBC_GOTGINT_XXX_0			UINT32_C(0x00000001)
1881.1Shikaru
1891.1Shikaru#define USBC_GAHBCFG_XXX_31_9			0xfffffe00
1901.1Shikaru#define USBC_GAHBCFG_PTXFEMPLVL			UINT32_C(0x00000100)
1911.1Shikaru#define USBC_GAHBCFG_NPTXFEMPLVL		UINT32_C(0x00000080)
1921.1Shikaru#define USBC_GAHBCFG_XXX_6			UINT32_C(0x00000040)
1931.1Shikaru#define USBC_GAHBCFG_DMAEN			UINT32_C(0x00000020)
1941.1Shikaru#define USBC_GAHBCFG_HBSTLEN			0x0000001e
1951.1Shikaru#define USBC_GAHBCFG_HBSTLEN_OFFSET		1
1961.1Shikaru#define USBC_GAHBCFG_GLBLINTRMSK		UINT32_C(0x00000001)
1971.1Shikaru
1981.1Shikaru#define USBC_GUSBCFG_XXX_31_17			0xfffe0000
1991.1Shikaru#define USBC_GUSBCFG_OTGI2CSEL			UINT32_C(0x00010000)
2001.1Shikaru#define USBC_GUSBCFG_PHYLPWRCLKSEL		UINT32_C(0x00008000)
2011.1Shikaru#define USBC_GUSBCFG_XXX_14			UINT32_C(0x00004000)
2021.1Shikaru#define USBC_GUSBCFG_USBTRDTIM			0x00003c00
2031.1Shikaru#define USBC_GUSBCFG_USBTRDTIM_OFFSET		10
2041.1Shikaru#define USBC_GUSBCFG_HNPCAP			UINT32_C(0x00000200)
2051.1Shikaru#define USBC_GUSBCFG_SRPCAP			UINT32_C(0x00000100)
2061.1Shikaru#define USBC_GUSBCFG_DDRSEL			UINT32_C(0x00000080)
2071.1Shikaru#define USBC_GUSBCFG_PHYSEL			UINT32_C(0x00000040)
2081.1Shikaru#define USBC_GUSBCFG_FSINTF			UINT32_C(0x00000020)
2091.1Shikaru#define USBC_GUSBCFG_ULPI_UTMI_SEL		UINT32_C(0x00000010)
2101.1Shikaru#define USBC_GUSBCFG_PHYIF			UINT32_C(0x00000008)
2111.1Shikaru#define USBC_GUSBCFG_TOUTCAL			0x00000007
2121.1Shikaru#define USBC_GUSBCFG_TOUTCAL_OFFSET		0
2131.1Shikaru
2141.1Shikaru#define USBC_GRSTCTL_AHBIDLE			UINT32_C(0x80000000)
2151.1Shikaru#define USBC_GRSTCTL_DMAREQ			UINT32_C(0x40000000)
2161.1Shikaru#define USBC_GRSTCTL_XXX_29_11			0x3ffff800
2171.1Shikaru#define USBC_GRSTCTL_TXFNUM			0x000007c0
2181.1Shikaru#define USBC_GRSTCTL_TXFNUM_OFFSET		6
2191.1Shikaru#define USBC_GRSTCTL_TXFFLSH			UINT32_C(0x00000020)
2201.1Shikaru#define USBC_GRSTCTL_RXFFLSH			UINT32_C(0x00000010)
2211.1Shikaru#define USBC_GRSTCTL_INTKNQFLSH			UINT32_C(0x00000008)
2221.1Shikaru#define USBC_GRSTCTL_FRMCNTRRST			UINT32_C(0x00000004)
2231.1Shikaru#define USBC_GRSTCTL_HSFTRST			UINT32_C(0x00000002)
2241.1Shikaru#define USBC_GRSTCTL_CSFTRST			UINT32_C(0x00000001)
2251.1Shikaru
2261.1Shikaru#define USBC_GINTSTS_WKUPINT			UINT32_C(0x80000000)
2271.1Shikaru#define USBC_GINTSTS_SESSREQINT			UINT32_C(0x40000000)
2281.1Shikaru#define USBC_GINTSTS_DISCONNINT			UINT32_C(0x20000000)
2291.1Shikaru#define USBC_GINTSTS_CONIDSTSCHNG		UINT32_C(0x10000000)
2301.1Shikaru#define USBC_GINTSTS_XXX_27			UINT32_C(0x08000000)
2311.1Shikaru#define USBC_GINTSTS_PTXFEMP			UINT32_C(0x04000000)
2321.1Shikaru#define USBC_GINTSTS_HCHINT			UINT32_C(0x02000000)
2331.1Shikaru#define USBC_GINTSTS_PRTINT			UINT32_C(0x01000000)
2341.1Shikaru#define USBC_GINTSTS_XXX_23			UINT32_C(0x00800000)
2351.1Shikaru#define USBC_GINTSTS_FETSUSP			UINT32_C(0x00400000)
2361.1Shikaru#define USBC_GINTSTS_INCOMPLP			UINT32_C(0x00200000)
2371.1Shikaru#define USBC_GINTSTS_INCOMPISOIN		UINT32_C(0x00100000)
2381.1Shikaru#define USBC_GINTSTS_OEPINT			UINT32_C(0x00080000)
2391.1Shikaru#define USBC_GINTSTS_IEPINT			UINT32_C(0x00040000)
2401.1Shikaru#define USBC_GINTSTS_EPMIS			UINT32_C(0x00020000)
2411.1Shikaru#define USBC_GINTSTS_XXX_16			UINT32_C(0x00010000)
2421.1Shikaru#define USBC_GINTSTS_EOPF			UINT32_C(0x00008000)
2431.1Shikaru#define USBC_GINTSTS_ISOOUTDROP			UINT32_C(0x00004000)
2441.1Shikaru#define USBC_GINTSTS_ENUMDONE			UINT32_C(0x00002000)
2451.1Shikaru#define USBC_GINTSTS_USBRST			UINT32_C(0x00001000)
2461.1Shikaru#define USBC_GINTSTS_USBSUSP			UINT32_C(0x00000800)
2471.1Shikaru#define USBC_GINTSTS_ERLYSUSP			UINT32_C(0x00000400)
2481.1Shikaru#define USBC_GINTSTS_I2CINT			UINT32_C(0x00000200)
2491.1Shikaru#define USBC_GINTSTS_ULPICKINT			UINT32_C(0x00000100)
2501.1Shikaru#define USBC_GINTSTS_GOUTNAKEFF			UINT32_C(0x00000080)
2511.1Shikaru#define USBC_GINTSTS_GINNAKEFF			UINT32_C(0x00000040)
2521.1Shikaru#define USBC_GINTSTS_NPTXFEMP			UINT32_C(0x00000020)
2531.1Shikaru#define USBC_GINTSTS_RXFLVL			UINT32_C(0x00000010)
2541.1Shikaru#define USBC_GINTSTS_SOF			UINT32_C(0x00000008)
2551.1Shikaru#define USBC_GINTSTS_OTGINT			UINT32_C(0x00000004)
2561.1Shikaru#define USBC_GINTSTS_MODEMIS			UINT32_C(0x00000002)
2571.1Shikaru#define USBC_GINTSTS_CURMOD			UINT32_C(0x00000001)
2581.1Shikaru#define USBC_GINTSTS_CURMOD_OFFSET		0
2591.1Shikaru#define  USBC_GINTSTS_CURMOD_DEVICE		0x0
2601.1Shikaru#define  USBC_GINTSTS_CURMOD_HOST		0x1
2611.1Shikaru
2621.1Shikaru#define USBC_GINTMSK_WKUPINTMSK			UINT32_C(0x80000000)
2631.1Shikaru#define USBC_GINTMSK_SESSREQINTMSK		UINT32_C(0x40000000)
2641.1Shikaru#define USBC_GINTMSK_DISCONNINTMSK		UINT32_C(0x20000000)
2651.1Shikaru#define USBC_GINTMSK_CONIDSTSTCHNGMSK		UINT32_C(0x10000000)
2661.1Shikaru#define USBC_GINTMSK_XXX_27			UINT32_C(0x08000000)
2671.1Shikaru#define USBC_GINTMSK_PTXFEMPMSK			UINT32_C(0x04000000)
2681.1Shikaru#define USBC_GINTMSK_HCHINTMSK			UINT32_C(0x02000000)
2691.1Shikaru#define USBC_GINTMSK_PRTINTMSK			UINT32_C(0x01000000)
2701.1Shikaru#define USBC_GINTMSK_XXX_23			UINT32_C(0x00800000)
2711.1Shikaru#define USBC_GINTMSK_FETSUSPMSK			UINT32_C(0x00400000)
2721.1Shikaru#define USBC_GINTMSK_INCOMPISOOUTMSK		UINT32_C(0x00200000)
2731.1Shikaru#define USBC_GINTMSK_INCOMPISOINMSK		UINT32_C(0x00100000)
2741.1Shikaru#define USBC_GINTMSK_OEPINTMSK			UINT32_C(0x00080000)
2751.1Shikaru#define USBC_GINTMSK_INEPINTMSK			UINT32_C(0x00040000)
2761.1Shikaru#define USBC_GINTMSK_EPMISMSK			UINT32_C(0x00020000)
2771.1Shikaru#define USBC_GINTMSK_XXX_16			UINT32_C(0x00010000)
2781.1Shikaru#define USBC_GINTMSK_EOPFMSK			UINT32_C(0x00008000)
2791.1Shikaru#define USBC_GINTMSK_ISOOUTDROPMSK		UINT32_C(0x00004000)
2801.1Shikaru#define USBC_GINTMSK_ENUMDONEMSK		UINT32_C(0x00002000)
2811.1Shikaru#define USBC_GINTMSK_USBRSTMSK			UINT32_C(0x00001000)
2821.1Shikaru#define USBC_GINTMSK_USBSUSPMSK			UINT32_C(0x00000800)
2831.1Shikaru#define USBC_GINTMSK_ERLYSUSPMSK		UINT32_C(0x00000400)
2841.1Shikaru#define USBC_GINTMSK_I2CINT			UINT32_C(0x00000200)
2851.1Shikaru#define USBC_GINTMSK_ULPICKINTMSK		UINT32_C(0x00000100)
2861.1Shikaru#define USBC_GINTMSK_GOUTNAKEFFMSK		UINT32_C(0x00000080)
2871.1Shikaru#define USBC_GINTMSK_GINNAKEFFMSK		UINT32_C(0x00000040)
2881.1Shikaru#define USBC_GINTMSK_NPTXFEMPMSK		UINT32_C(0x00000020)
2891.1Shikaru#define USBC_GINTMSK_RXFLVLMSK			UINT32_C(0x00000010)
2901.1Shikaru#define USBC_GINTMSK_SOFMSK			UINT32_C(0x00000008)
2911.1Shikaru#define USBC_GINTMSK_OTGINTMSK			UINT32_C(0x00000004)
2921.1Shikaru#define USBC_GINTMSK_MODEMISMSK			UINT32_C(0x00000002)
2931.1Shikaru#define USBC_GINTMSK_XXX_0			UINT32_C(0x00000001)
2941.1Shikaru
2951.1Shikaru#define USBC_GRXSTSRH_XXX_31_21			0xffe00000
2961.1Shikaru#define USBC_GRXSTSRH_PKTSTS			0x001e0000
2971.1Shikaru#define USBC_GRXSTSRH_PKTSTS_OFFSET		17
2981.1Shikaru#define USBC_GRXSTSRH_DPID			0x00018000
2991.1Shikaru#define USBC_GRXSTSRH_DPID_OFFSET		15
3001.1Shikaru#define  USBC_GRXSTSRH_DPID_DATA0		0x00
3011.1Shikaru#define  USBC_GRXSTSRH_DPID_DATA1		0x10
3021.1Shikaru#define  USBC_GRXSTSRH_DPID_DATA2		0x01
3031.1Shikaru#define  USBC_GRXSTSRH_DPID_MDATA		0x11
3041.1Shikaru#define USBC_GRXSTSRH_BCNT			0x00007ff0
3051.1Shikaru#define USBC_GRXSTSRH_BCNT_OFFSET		4
3061.1Shikaru#define USBC_GRXSTSRH_CHNUM			0x0000000f
3071.1Shikaru#define USBC_GRXSTSRH_CHNUM_OFFSET		0
3081.1Shikaru
3091.1Shikaru#define USBC_GRXSTSPH_XXX_31_21			0xffe00000
3101.1Shikaru#define USBC_GRXSTSPH_PKTSTS			0x001e0000
3111.1Shikaru#define USBC_GRXSTSPH_PKTSTS_OFFSET		17
3121.1Shikaru#define  USBC_GRXSTSPH_PKTSTS_IN_DATA_RECV	0x2
3131.1Shikaru#define  USBC_GRXSTSPH_PKTSTS_IN_XFER_COMPL	0x3
3141.1Shikaru#define  USBC_GRXSTSPH_PKTSTS_TGL_ERR		0x5
3151.1Shikaru#define  USBC_GRXSTSPH_PKTSTS_CH_HLTD		0x7
3161.1Shikaru#define USBC_GRXSTSPH_DPID			0x00018000
3171.1Shikaru#define USBC_GRXSTSPH_DPID_OFFSET		15
3181.1Shikaru#define  USBC_GRXSTSPH_DPID_DATA0		0x00
3191.1Shikaru#define  USBC_GRXSTSPH_DPID_DATA1		0x10
3201.1Shikaru#define  USBC_GRXSTSPH_DPID_DATA2		0x01
3211.1Shikaru#define  USBC_GRXSTSPH_DPID_MDATA		0x11
3221.1Shikaru#define USBC_GRXSTSPH_BCNT			0x00007ff0
3231.1Shikaru#define USBC_GRXSTSPH_BCNT_OFFSET		4
3241.1Shikaru#define USBC_GRXSTSPH_CHNUM			0x0000000f
3251.1Shikaru#define USBC_GRXSTSPH_CHNUM_OFFSET		0
3261.1Shikaru
3271.1Shikaru#define USBC_GRXSTSRD_XXX_31_25			0xfe000000
3281.1Shikaru#define USBC_GRXSTSRD_FN			0x01e00000
3291.1Shikaru#define USBC_GRXSTSRD_PKTSTS			0x001e0000
3301.1Shikaru#define USBC_GRXSTSRD_DPID			0x00018000
3311.1Shikaru#define USBC_GRXSTSRD_BCNT			0x00007ff0
3321.1Shikaru#define USBC_GRXSTSRD_EPNUM			0x0000000f
3331.1Shikaru
3341.1Shikaru#define USBC_GRXSTSPD_XXX_31_25			0xfe000000
3351.1Shikaru#define USBC_GRXSTSPD_FN			0x01e00000
3361.1Shikaru#define USBC_GRXSTSPD_PKTSTS			0x001e0000
3371.1Shikaru#define USBC_GRXSTSPD_DPID			0x00018000
3381.1Shikaru#define USBC_GRXSTSPD_BCNT			0x00007ff0
3391.1Shikaru#define USBC_GRXSTSPD_EPNUM			0x0000000f
3401.1Shikaru
3411.1Shikaru#define USBC_GRXFSIZ_XXX_31_16			0xffff0000
3421.1Shikaru#define USBC_GRXFSIZ_RXFDEP			0x0000ffff
3431.1Shikaru
3441.1Shikaru#define USBC_GNPTXFSIZ_NPTXFEDP			0xffff0000
3451.1Shikaru#define USBC_GNPTXFSIZ_NPTXFEDP_OFFSET		16
3461.1Shikaru#define USBC_GNPTXFSIZ_NPTXFSTADDR		0x0000ffff
3471.1Shikaru
3481.1Shikaru#define USBC_GNPTXSTS_XXX_31			UINT32_C(0x80000000)
3491.1Shikaru#define USBC_GNPTXSTS_NPTXQTOP_CHNUM		0x78000000
3501.1Shikaru#define USBC_GNPTXSTS_NPTXQTOP_ENTRY		0x06000000
3511.1Shikaru#define USBC_GNPTXSTS_NPTXQTOP_TERMINATE	UINT32_C(0x01000000)
3521.1Shikaru#define USBC_GNPTXSTS_NPTXQSPCAVAIL		0x00ff0000
3531.1Shikaru#define USBC_GNPTXSTS_NPTXQSPCAVAIL_OFFSET	16
3541.1Shikaru#define USBC_GNPTXSTS_NPTXFSPCAVAIL		0x0000ffff
3551.1Shikaru#define USBC_GNPTXSTS_NPTXFSPCAVAIL_OFFSET	0
3561.1Shikaru
3571.1Shikaru#define USBC_GSNPSID_SYNOPSYSID			0xffffffff
3581.1Shikaru
3591.1Shikaru#define USBC_GHWCFG1_EPDIR			0xffffffff
3601.1Shikaru
3611.1Shikaru#define USBC_GHWCFG2_XXX_31			UINT32_C(0x80000000)
3621.1Shikaru#define USBC_GHWCFG2_TKNQDEPTH			0x7c000000
3631.1Shikaru#define USBC_GHWCFG2_PTXQDEPTH			0x03000000
3641.1Shikaru#define USBC_GHWCFG2_PTXQDEPTH_OFFSET		24
3651.1Shikaru#define USBC_GHWCFG2_NPTXQDEPTH			0x00c00000
3661.1Shikaru#define USBC_GHWCFG2_NPTXQDEPTH_OFFSET		22
3671.1Shikaru#define USBC_GHWCFG2_XXX_21_20			0x00300000
3681.1Shikaru#define USBC_GHWCFG2_DYNFIFOSIZING		UINT32_C(0x00080000)
3691.1Shikaru#define USBC_GHWCFG2_PERIOSUPPORT		UINT32_C(0x00040000)
3701.1Shikaru#define USBC_GHWCFG2_NUMHSTCHN1			0x0003c000
3711.1Shikaru#define USBC_GHWCFG2_NUMHSTCHN1_OFFSET		14
3721.1Shikaru#define USBC_GHWCFG2_NUMDEVEPS			0x00003c00
3731.1Shikaru#define USBC_GHWCFG2_FSPHYTYPE			0x00000300
3741.1Shikaru#define USBC_GHWCFG2_HSPHYTYPE			0x000000c0
3751.1Shikaru#define USBC_GHWCFG2_SINGPNT			UINT32_C(0x00000020)
3761.1Shikaru#define USBC_GHWCFG2_OTGARCH			0x00000018
3771.1Shikaru#define USBC_GHWCFG2_OTGARCH_OFFSET		3
3781.1Shikaru#define  USBC_GHWCFG2_OTGARCH_SLAVEONLY		0x0
3791.1Shikaru#define  USBC_GHWCFG2_OTGARCH_EXTERNALDMA	0x1
3801.1Shikaru#define  USBC_GHWCFG2_OTGARCH_INTERNALDMA	0x2
3811.1Shikaru#define  USBC_GHWCFG2_OTGARCH_RESERVED		0x3
3821.1Shikaru#define USBC_GHWCFG2_OTGMODE			0x00000007
3831.1Shikaru
3841.1Shikaru#define USBC_GHWCFG3_DFIFODEPTH			0xffff0000
3851.1Shikaru#define USBC_GHWCFG3_DFIFODEPTH_OFFSET		16
3861.1Shikaru#define USBC_GHWCFG3_XXX_15_13			0x0000e000
3871.1Shikaru#define USBC_GHWCFG3_AHBPHYSYNC			UINT32_C(0x00001000)
3881.1Shikaru#define USBC_GHWCFG3_RSTTYPE			UINT32_C(0x00000800)
3891.1Shikaru#define USBC_GHWCFG3_OPTFEATURE			UINT32_C(0x00000400)
3901.1Shikaru#define USBC_GHWCFG3_VENDOR_CONTROL_INTERFACE_SUPPORT	UINT32_C(0x00000200)
3911.1Shikaru#define USBC_GHWCFG3_I2C_SELECTION		UINT32_C(0x00000100)
3921.1Shikaru#define USBC_GHWCFG3_OTGEN			UINT32_C(0x00000080)
3931.1Shikaru#define USBC_GHWCFG3_PKTSIZEWIDTH		0x00000070
3941.1Shikaru#define USBC_GHWCFG3_XFERSIZEWIDTH		0x0000000f
3951.1Shikaru
3961.1Shikaru#define USBC_GHWCFG4_XXX_31_25			0xfe000000
3971.1Shikaru#define USBC_GHWCFG4_SESSENDFLTR		UINT32_C(0x01000000)
3981.1Shikaru#define USBC_GHWCFG4_BVAILDFLTR			UINT32_C(0x01000000)
3991.1Shikaru#define USBC_GHWCFG4_AVAILDFLTR			UINT32_C(0x00800000)
4001.1Shikaru#define USBC_GHWCFG4_VBUSVALIDFLTR		UINT32_C(0x00400000)
4011.1Shikaru#define USBC_GHWCFG4_IDDGFLTR			UINT32_C(0x00200000)
4021.1Shikaru#define USBC_GHWCFG4_NUMCTLEPS			0x000f0000
4031.1Shikaru#define USBC_GHWCFG4_PHYDATAWIDTH		0x0000c000
4041.1Shikaru#define USBC_GHWCFG4_XXX_13_6			0x00003fc0
4051.1Shikaru#define USBC_GHWCFG4_AHBFREQ			UINT32_C(0x00000020)
4061.1Shikaru#define USBC_GHWCFG4_ENABLEPWROPT		UINT32_C(0x00000010)
4071.1Shikaru#define USBC_GHWCFG4_NUMDEVPERIOEPS		0x0000000f
4081.1Shikaru
4091.1Shikaru#define USBC_HPTXFSIZ_PTXFSIZE			0xffff0000
4101.1Shikaru#define USBC_HPTXFSIZ_PTXFSIZE_OFFSET		16
4111.1Shikaru#define	USBC_HPTXFSIZ_PTXFSTADDR		0x0000ffff
4121.1Shikaru#define USBC_HPTXFSIZ_PTXFSTADDR_OFFSET		0
4131.1Shikaru
4141.1Shikaru/* for USBC_DPTXFSIZ(1..4) */
4151.1Shikaru#define USBC_DPTXFSIZX_DPTXFSIZE		0xffff0000
4161.1Shikaru#define USBC_DPTXFSIZX_PTXFSTADDR		0x0000ffff
4171.1Shikaru
4181.1Shikaru#define USBC_HCFG_XXX_31_3			0xfffffff8
4191.1Shikaru#define USBC_HCFG_FSLSSUPP			UINT32_C(0x00000004)
4201.1Shikaru#define USBC_HCFG_FSLSPCLKSEL			0x00000003
4211.1Shikaru#define USBC_HCFG_FSLSPCLKSEL_OFFSET		0
4221.1Shikaru#define  USBC_HCFG_FSLSPCLKSEL_30_60_MHZ	0x00
4231.1Shikaru#define  USBC_HCFG_FSLSPCLKSEL_48_MHZ		0x01
4241.1Shikaru#define  USBC_HCFG_FSLSPCLKSEL_6_MHZ		0x10
4251.1Shikaru
4261.1Shikaru#define USBC_HFIR_XXX_31_16			0xffff0000
4271.1Shikaru#define USBC_HFIR_FRINT				0x0000ffff
4281.1Shikaru#define USBC_HFIR_FRINT_OFFSET			0
4291.1Shikaru
4301.1Shikaru#define USBC_HFNUM_FRREM			0xffff0000
4311.1Shikaru#define USBC_HFNUM_FRNUM			0x0000ffff
4321.1Shikaru
4331.1Shikaru#define USBC_HPTXSTS_PTXQTOP			0xff000000
4341.1Shikaru#define USBC_HPTXSTS_PTXQSPCAVAIL		0x00ff0000
4351.1Shikaru#define USBC_HPTXSTS_PTXQSPCAVAIL_OFFSET	16
4361.1Shikaru#define USBC_HPTXSTS_PTXFSPCAVAIL		0x0000ffff
4371.1Shikaru#define USBC_HPTXSTS_PTXFSPCAVAIL_OFFSET	0
4381.1Shikaru
4391.1Shikaru#define USBC_HAINT_XXX_31_16			0xffff0000
4401.1Shikaru/* #define USBC_HAINT_HAINT			__BITS32(15, 0) */
4411.1Shikaru#define USBC_HAINT_HAINT_F			UINT32_C(0x00008000)
4421.1Shikaru#define USBC_HAINT_HAINT_E			UINT32_C(0x00004000)
4431.1Shikaru#define USBC_HAINT_HAINT_D			UINT32_C(0x00002000)
4441.1Shikaru#define USBC_HAINT_HAINT_C			UINT32_C(0x00001000)
4451.1Shikaru#define USBC_HAINT_HAINT_B			UINT32_C(0x00000800)
4461.1Shikaru#define USBC_HAINT_HAINT_A			UINT32_C(0x00000400)
4471.1Shikaru#define USBC_HAINT_HAINT_9			UINT32_C(0x00000200)
4481.1Shikaru#define USBC_HAINT_HAINT_8			UINT32_C(0x00000100)
4491.1Shikaru#define USBC_HAINT_HAINT_7			UINT32_C(0x00000080)
4501.1Shikaru#define USBC_HAINT_HAINT_6			UINT32_C(0x00000040)
4511.1Shikaru#define USBC_HAINT_HAINT_5			UINT32_C(0x00000020)
4521.1Shikaru#define USBC_HAINT_HAINT_4			UINT32_C(0x00000010)
4531.1Shikaru#define USBC_HAINT_HAINT_3			UINT32_C(0x00000008)
4541.1Shikaru#define USBC_HAINT_HAINT_2			UINT32_C(0x00000004)
4551.1Shikaru#define USBC_HAINT_HAINT_1			UINT32_C(0x00000002)
4561.1Shikaru#define USBC_HAINT_HAINT_0			UINT32_C(0x00000001)
4571.1Shikaru
4581.1Shikaru#define USBC_HAINTMSK_XXX_31_16			0xffff0000
4591.1Shikaru/*#define USBC_HAINTMSK_HAINTMSK			__BITS32(15, 0) */
4601.1Shikaru#define USBC_HAINTMSK_HAINTMSK_F		UINT32_C(0x00008000)
4611.1Shikaru#define USBC_HAINTMSK_HAINTMSK_E		UINT32_C(0x00004000)
4621.1Shikaru#define USBC_HAINTMSK_HAINTMSK_D		UINT32_C(0x00002000)
4631.1Shikaru#define USBC_HAINTMSK_HAINTMSK_C		UINT32_C(0x00001000)
4641.1Shikaru#define USBC_HAINTMSK_HAINTMSK_B		UINT32_C(0x00000800)
4651.1Shikaru#define USBC_HAINTMSK_HAINTMSK_A		UINT32_C(0x00000400)
4661.1Shikaru#define USBC_HAINTMSK_HAINTMSK_9		UINT32_C(0x00000200)
4671.1Shikaru#define USBC_HAINTMSK_HAINTMSK_8		UINT32_C(0x00000100)
4681.1Shikaru#define USBC_HAINTMSK_HAINTMSK_7		UINT32_C(0x00000080)
4691.1Shikaru#define USBC_HAINTMSK_HAINTMSK_6		UINT32_C(0x00000040)
4701.1Shikaru#define USBC_HAINTMSK_HAINTMSK_5		UINT32_C(0x00000020)
4711.1Shikaru#define USBC_HAINTMSK_HAINTMSK_4		UINT32_C(0x00000010)
4721.1Shikaru#define USBC_HAINTMSK_HAINTMSK_3		UINT32_C(0x00000008)
4731.1Shikaru#define USBC_HAINTMSK_HAINTMSK_2		UINT32_C(0x00000004)
4741.1Shikaru#define USBC_HAINTMSK_HAINTMSK_1		UINT32_C(0x00000002)
4751.1Shikaru#define USBC_HAINTMSK_HAINTMSK_0		UINT32_C(0x00000001)
4761.1Shikaru
4771.1Shikaru#define USBC_HPRT_XXX_31_19			0xfff80000
4781.1Shikaru#define USBC_HPRT_PRTSPD			0x00060000
4791.1Shikaru#define USBC_HPRT_PRTSPD_OFFSET			17
4801.1Shikaru#define  USBC_HPRT_PRTSPD_HIGH			0x0
4811.1Shikaru#define  USBC_HPRT_PRTSPD_FULL			0x1
4821.1Shikaru#define  USBC_HPRT_PRTSPD_LOW			0x2
4831.1Shikaru#define  USBC_HPRT_PRTSPD_RESERVED		0x3
4841.1Shikaru#define USBC_HPRT_PRTTSTCTL			0x0001e000
4851.1Shikaru#define USBC_HPRT_PRTPWR			UINT32_C(0x00001000)
4861.1Shikaru#define USBC_HPRT_PRTLNSTS			0x00000c00
4871.1Shikaru#define USBC_HPRT_XXX_9				UINT32_C(0x00000200)
4881.1Shikaru#define USBC_HPRT_PRTRST			UINT32_C(0x00000100)
4891.1Shikaru#define USBC_HPRT_PRTSUSP			UINT32_C(0x00000080)
4901.1Shikaru#define USBC_HPRT_PRTRES			UINT32_C(0x00000040)
4911.1Shikaru#define USBC_HPRT_PRTOVRCURRCHNG		UINT32_C(0x00000020)
4921.1Shikaru#define USBC_HPRT_PRTOVRCURRACT			UINT32_C(0x00000010)
4931.1Shikaru#define USBC_HPRT_PRTENCHNG			UINT32_C(0x00000008)
4941.1Shikaru#define USBC_HPRT_PRTENA			UINT32_C(0x00000004)
4951.1Shikaru#define USBC_HPRT_PRTCONNDET			UINT32_C(0x00000002)
4961.1Shikaru#define USBC_HPRT_PRTCONNSTS			UINT32_C(0x00000001)
4971.1Shikaru
4981.1Shikaru/* for USBC_HCCHAR(0..7) */
4991.1Shikaru#define USBC_HCCHARX_CHENA			UINT32_C(0x80000000)
5001.1Shikaru#define USBC_HCCHARX_CHDIS			UINT32_C(0x40000000)
5011.1Shikaru#define USBC_HCCHARX_ODDFRM			UINT32_C(0x20000000)
5021.1Shikaru#define USBC_HCCHARX_DEVADDR			0x1fc00000
5031.1Shikaru#define USBC_HCCHARX_DEVADDR_OFFSET		22
5041.1Shikaru#define USBC_HCCHARX_EC				0x00300000
5051.1Shikaru#define USBC_HCCHARX_EC_OFFSET			20
5061.1Shikaru#define USBC_HCCHARX_EPTYPE			0x000c0000
5071.1Shikaru#define USBC_HCCHARX_EPTYPE_OFFSET		18
5081.1Shikaru#define  USBC_HCCHARX_EPTYPE_CONTROL		0x00
5091.1Shikaru#define  USBC_HCCHARX_EPTYPE_ISOCHRONOUS	0x01
5101.1Shikaru#define  USBC_HCCHARX_EPTYPE_BULK		0x02
5111.1Shikaru#define  USBC_HCCHARX_EPTYPE_INTERRUPT		0x03
5121.1Shikaru#define USBC_HCCHARX_LSPDDEV			UINT32_C(0x00020000)
5131.1Shikaru#define USBC_HCCHARX_XXX_16			UINT32_C(0x00010000)
5141.1Shikaru#define USBC_HCCHARX_EPDIR			UINT32_C(0x00008000)
5151.1Shikaru#define USBC_HCCHARX_EPNUM			0x00007800
5161.1Shikaru#define USBC_HCCHARX_EPNUM_OFFSET		11
5171.1Shikaru#define USBC_HCCHARX_MPS			0x000007ff
5181.1Shikaru#define USBC_HCCHARX_MPS_OFFSET			0
5191.1Shikaru
5201.1Shikaru/* for USBC_HCSPLT(0..7) */
5211.1Shikaru#define USBC_HCSPLTX_SPLTENA			UINT32_C(0x80000000)
5221.1Shikaru#define USBC_HCSPLTX_XXX_30_17			0x7ffe0000
5231.1Shikaru#define USBC_HCSPLTX_COMPSPLT			UINT32_C(0x00010000)
5241.1Shikaru#define USBC_HCSPLTX_XACTPOS			0x0000c000
5251.1Shikaru#define USBC_HCSPLTX_HUBADDR			0x00003f80
5261.1Shikaru#define USBC_HCSPLTX_PRTADDR			0x0000007f
5271.1Shikaru
5281.1Shikaru/* for USBC_HCINT(0..7) */
5291.1Shikaru#define USBC_HCINTX_XXX_31_11			0xfffff800
5301.1Shikaru#define	USBC_HCINTX_DATATGLERR			UINT32_C(0x00000400)
5311.1Shikaru#define	USBC_HCINTX_FRMOVRUN			UINT32_C(0x00000200)
5321.1Shikaru#define	USBC_HCINTX_BBLERR			UINT32_C(0x00000100)
5331.1Shikaru#define	USBC_HCINTX_XACTERR			UINT32_C(0x00000080)
5341.1Shikaru#define	USBC_HCINTX_NYET			UINT32_C(0x00000040)
5351.1Shikaru#define	USBC_HCINTX_ACK				UINT32_C(0x00000020)
5361.1Shikaru#define	USBC_HCINTX_NAK				UINT32_C(0x00000010)
5371.1Shikaru#define	USBC_HCINTX_STALL			UINT32_C(0x00000008)
5381.1Shikaru#define	USBC_HCINTX_AHBERR			UINT32_C(0x00000004)
5391.1Shikaru#define	USBC_HCINTX_CHHLTD			UINT32_C(0x00000002)
5401.1Shikaru#define	USBC_HCINTX_XFERCOMPL			UINT32_C(0x00000001)
5411.1Shikaru
5421.1Shikaru/* for USBC_HCINTMSK(0..7) */
5431.1Shikaru#define USBC_HCINTMSKX_XXX_31_11		0xfffff800
5441.1Shikaru#define	USBC_HCINTMSKX_DATATGLERRMSK		UINT32_C(0x00000400)
5451.1Shikaru#define	USBC_HCINTMSKX_FRMOVRUNMSK		UINT32_C(0x00000200)
5461.1Shikaru#define	USBC_HCINTMSKX_BBLERRMSK		UINT32_C(0x00000100)
5471.1Shikaru#define	USBC_HCINTMSKX_XACTERRMSK		UINT32_C(0x00000080)
5481.1Shikaru#define	USBC_HCINTMSKX_NYETMSK			UINT32_C(0x00000040)
5491.1Shikaru#define	USBC_HCINTMSKX_ACKMSK			UINT32_C(0x00000020)
5501.1Shikaru#define	USBC_HCINTMSKX_NAKMSK			UINT32_C(0x00000010)
5511.1Shikaru#define	USBC_HCINTMSKX_STALLMSK			UINT32_C(0x00000008)
5521.1Shikaru#define	USBC_HCINTMSKX_AHBERRMSK		UINT32_C(0x00000004)
5531.1Shikaru#define	USBC_HCINTMSKX_CHHLTDMSK		UINT32_C(0x00000002)
5541.1Shikaru#define	USBC_HCINTMSKX_XFERCOMPLMSK		UINT32_C(0x00000001)
5551.1Shikaru
5561.1Shikaru/* for USBC_HCTSIZ(0..7) */
5571.1Shikaru#define USBC_HCTSIZX_DOPNG			UINT32_C(0x80000000)
5581.1Shikaru#define USBC_HCTSIZX_PID			0x60000000
5591.1Shikaru#define USBC_HCTSIZX_PID_OFFSET			29
5601.1Shikaru#define  USBC_HCTSIZX_PID_DATA0			0x00
5611.1Shikaru#define  USBC_HCTSIZX_PID_DATA2			0x01
5621.1Shikaru#define  USBC_HCTSIZX_PID_DATA1			0x02
5631.1Shikaru#define  USBC_HCTSIZX_PID_MDATA_SETUP		0x03
5641.1Shikaru#define USBC_HCTSIZX_PKTCNT			0x1ff80000
5651.1Shikaru#define USBC_HCTSIZX_PKTCNT_OFFSET		19
5661.1Shikaru#define USBC_HCTSIZX_XFERSIZE			0x0007ffff
5671.1Shikaru#define USBC_HCTSIZX_XFERSIZE_OFFSET		0
5681.1Shikaru
5691.1Shikaru/* XXX Device Mode Registers */
5701.1Shikaru
5711.1Shikaru
5721.1Shikaru
5731.1Shikaru/* for USBC_NPTXDFIFO(0..7) */
5741.1Shikaru#define USBC_NPTXDFIFOX_DATA			0xffffffff
5751.1Shikaru
5761.1Shikaru/* ---- snprintb */
5771.1Shikaru
5781.1Shikaru#define	USBC_GOTGINT_BITS \
5791.1Shikaru	"\177"		/* new format */ \
5801.1Shikaru	"\020"		/* hex display */ \
5811.1Shikaru	"\020"		/* %016x format */ \
5821.1Shikaru	"b\x13"		"DBNCEDONE\0" \
5831.1Shikaru	"b\x12"		"ADEVTOUTCHG\0" \
5841.1Shikaru	"b\x11"		"HSTNEGDET\0" \
5851.1Shikaru	"b\x09"		"HSTNEGSUCSTSCHNG\0" \
5861.1Shikaru	"b\x08"		"SESREQSUCSTSCHNG\0" \
5871.1Shikaru	"b\x02"		"SESENDDET\0"
5881.1Shikaru
5891.1Shikaru#define	USBC_GINTSTS_BITS \
5901.1Shikaru	"\177"		/* new format */ \
5911.1Shikaru	"\020"		/* hex display */ \
5921.1Shikaru	"\020"		/* %016x format */ \
5931.1Shikaru	"b\x1f"		"WKUPINT\0" \
5941.1Shikaru	"b\x1e"		"SESSREQINT\0" \
5951.1Shikaru	"b\x1d"		"DISCONNINT\0" \
5961.1Shikaru	"b\x1c"		"CONIDSTSCHNG\0" \
5971.1Shikaru	"b\x1a"		"PTXFEMP\0" \
5981.1Shikaru	"b\x19"		"HCHINT\0" \
5991.1Shikaru	"b\x18"		"PRTINT\0" \
6001.1Shikaru	"b\x16"		"FETSUSP\0" \
6011.1Shikaru	"b\x15"		"INCOMPLP\0" \
6021.1Shikaru	"b\x14"		"INCOMPISOIN\0" \
6031.1Shikaru	"b\x13"		"OEPINT\0" \
6041.1Shikaru	"b\x12"		"IEPINT\0" \
6051.1Shikaru	"b\x11"		"EPMIS\0" \
6061.1Shikaru	"b\x0f"		"EOPF\0" \
6071.1Shikaru	"b\x0e"		"ISOOUTDROP\0" \
6081.1Shikaru	"b\x0d"		"ENUMDONE\0" \
6091.1Shikaru	"b\x0c"		"USBRST\0" \
6101.1Shikaru	"b\x0b"		"USBSUSP\0" \
6111.1Shikaru	"b\x0a"		"ERLYSUSP\0" \
6121.1Shikaru	"b\x09"		"I2CINT\0" \
6131.1Shikaru	"b\x08"		"ULPICKINT\0" \
6141.1Shikaru	"b\x07"		"GOUTNAKEFF\0" \
6151.1Shikaru	"b\x06"		"GINNAKEFF\0" \
6161.1Shikaru	"b\x05"		"NPTXFEMP\0" \
6171.1Shikaru	"b\x04"		"RXFLVL\0" \
6181.1Shikaru	"b\x03"		"SOF\0" \
6191.1Shikaru	"b\x02"		"OTGINT\0" \
6201.1Shikaru	"b\x01"		"MODEMIS\0" \
6211.1Shikaru	"b\x00"		"CURMOD\0"
6221.1Shikaru
6231.1Shikaru#define	USBC_GINTMSK_BITS \
6241.1Shikaru	"\177"		/* new format */ \
6251.1Shikaru	"\020"		/* hex display */ \
6261.1Shikaru	"\020"		/* %016x format */ \
6271.1Shikaru	"b\x1f"		"WKUPINTMSK\0" \
6281.1Shikaru	"b\x1e"		"SESSREQINTMSK\0" \
6291.1Shikaru	"b\x1d"		"DISCONNINTMSK\0" \
6301.1Shikaru	"b\x1c"		"CONIDSTSTCHNGMSK\0" \
6311.1Shikaru	"b\x1a"		"PTXFEMPMSK\0" \
6321.1Shikaru	"b\x19"		"HCHINTMSK\0" \
6331.1Shikaru	"b\x18"		"PRTINTMSK\0" \
6341.1Shikaru	"b\x16"		"FETSUSPMSK\0" \
6351.1Shikaru	"b\x15"		"INCOMPISOOUTMSK\0" \
6361.1Shikaru	"b\x14"		"INCOMPISOINMSK\0" \
6371.1Shikaru	"b\x13"		"OEPINTMSK\0" \
6381.1Shikaru	"b\x12"		"INEPINTMSK\0" \
6391.1Shikaru	"b\x11"		"EPMISMSK\0" \
6401.1Shikaru	"b\x0f"		"EOPFMSK\0" \
6411.1Shikaru	"b\x0e"		"ISOOUTDROPMSK\0" \
6421.1Shikaru	"b\x0d"		"ENUMDONEMSK\0" \
6431.1Shikaru	"b\x0c"		"USBRSTMSK\0" \
6441.1Shikaru	"b\x0b"		"USBSUSPMSK\0" \
6451.1Shikaru	"b\x0a"		"ERLYSUSPMSK\0" \
6461.1Shikaru	"b\x09"		"I2CINT\0" \
6471.1Shikaru	"b\x08"		"ULPICKINTMSK\0" \
6481.1Shikaru	"b\x07"		"GOUTNAKEFFMSK\0" \
6491.1Shikaru	"b\x06"		"GINNAKEFFMSK\0" \
6501.1Shikaru	"b\x05"		"NPTXFEMPMSK\0" \
6511.1Shikaru	"b\x04"		"RXFLVLMSK\0" \
6521.1Shikaru	"b\x03"		"SOFMSK\0" \
6531.1Shikaru	"b\x02"		"OTGINTMSK\0" \
6541.1Shikaru	"b\x01"		"MODEMISMSK\0"
6551.1Shikaru
6561.1Shikaru#define	USBC_GRXSTSRH_BITS \
6571.1Shikaru	"\177"		/* new format */ \
6581.1Shikaru	"\020"		/* hex display */ \
6591.1Shikaru	"\020"		/* %016x format */ \
6601.1Shikaru	"f\x11\x04"	"PKTSTS\0" \
6611.1Shikaru	"f\x0f\x02"	"DPID\0" \
6621.1Shikaru	"f\x04\x0b"	"BCNT\0" \
6631.1Shikaru	"f\x00\x04"	"CHNUM\0"
6641.1Shikaru
6651.1Shikaru#define	USBC_GRXSTSPH_BITS \
6661.1Shikaru	"\177"		/* new format */ \
6671.1Shikaru	"\020"		/* hex display */ \
6681.1Shikaru	"\020"		/* %016x format */ \
6691.1Shikaru	"f\x11\x04"	"PKTSTS\0" \
6701.1Shikaru	"f\x0f\x02"	"DPID\0" \
6711.1Shikaru	"f\x04\x0b"	"BCNT\0" \
6721.1Shikaru	"f\x00\x04"	"CHNUM\0"
6731.1Shikaru
6741.1Shikaru#define	USBC_GUSBCFG_BITS \
6751.1Shikaru	"\177"		/* new format */ \
6761.1Shikaru	"\020"		/* hex display */ \
6771.1Shikaru	"\020"		/* %016x format */ \
6781.1Shikaru	"b\x10"		"OTGI2CSEL\0" \
6791.1Shikaru	"b\x0f"		"PHYLPWRCLKSEL\0" \
6801.1Shikaru	"f\x0a\x04"	"USBTRDTIM\0" \
6811.1Shikaru	"b\x09"		"HNPCAP\0" \
6821.1Shikaru	"b\x08"		"SRPCAP\0" \
6831.1Shikaru	"b\x07"		"DDRSEL\0" \
6841.1Shikaru	"b\x06"		"PHYSEL\0" \
6851.1Shikaru	"b\x05"		"FSINTF\0" \
6861.1Shikaru	"b\x04"		"ULPI_UTMI_SEL\0" \
6871.1Shikaru	"b\x03"		"PHYIF\0" \
6881.1Shikaru	"f\x00\x03"	"TOUTCAL\0"
6891.1Shikaru
6901.1Shikaru#define	USBC_GRSTCTL_BITS \
6911.1Shikaru	"\177"		/* new format */ \
6921.1Shikaru	"\020"		/* hex display */ \
6931.1Shikaru	"\020"		/* %016x format */ \
6941.1Shikaru	"b\x1f"		"AHBIDLE\0" \
6951.1Shikaru	"b\x1e"		"DMAREQ\0" \
6961.1Shikaru	"f\x06\x05"	"TXFNUM\0" \
6971.1Shikaru	"b\x05"		"TXFFLSH\0" \
6981.1Shikaru	"b\x04"		"RXFFLSH\0" \
6991.1Shikaru	"b\x03"		"INTKNQFLSH\0" \
7001.1Shikaru	"b\x02"		"FRMCNTRRST\0" \
7011.1Shikaru	"b\x01"		"HSFTRST\0" \
7021.1Shikaru	"b\x00"		"CSFTRST\0"
7031.1Shikaru
7041.1Shikaru#define	USBC_GAHBCFG_BITS \
7051.1Shikaru	"\177"		/* new format */ \
7061.1Shikaru	"\020"		/* hex display */ \
7071.1Shikaru	"\020"		/* %016x format */ \
7081.1Shikaru	"b\x08"		"PTXFEMPLVL\0" \
7091.1Shikaru	"b\x07"		"NPTXFEMPLVL\0" \
7101.1Shikaru	"b\x05"		"DMAEN\0" \
7111.1Shikaru	"f\x01\x04"	"HBSTLEN\0" \
7121.1Shikaru	"b\x00"		"GLBLINTRMSK\0"
7131.1Shikaru
7141.1Shikaru#define	USBC_GRXFSIZ_BITS \
7151.1Shikaru	"\177"		/* new format */ \
7161.1Shikaru	"\020"		/* hex display */ \
7171.1Shikaru	"\020"		/* %016x format */ \
7181.1Shikaru	"f\x00\x10"	"RXFDEP\0"
7191.1Shikaru
7201.1Shikaru#define	USBC_GNPTXFSIZ_BITS \
7211.1Shikaru	"\177"		/* new format */ \
7221.1Shikaru	"\020"		/* hex display */ \
7231.1Shikaru	"\020"		/* %016x format */ \
7241.1Shikaru	"f\x10\x10"	"NPTXFEDP\0" \
7251.1Shikaru	"f\x00\x10"	"NPTXFSTADDR\0"
7261.1Shikaru
7271.1Shikaru#define	USBC_GNPTXSTS_BITS \
7281.1Shikaru	"\177"		/* new format */ \
7291.1Shikaru	"\020"		/* hex display */ \
7301.1Shikaru	"\020"		/* %016x format */ \
7311.1Shikaru	"f\x1b\x04"	"NPTXQTOP_CHNUM\0" \
7321.1Shikaru	"f\x19\x02"	"NPTXQTOP_ENTRY\0" \
7331.1Shikaru	"b\x18"		"NPTXQTOP_TERMINATE\0" \
7341.1Shikaru	"f\x10\x08"	"NPTXQSPCAVAIL\0" \
7351.1Shikaru	"f\x00\x10"	"NPTXFSPCAVAIL\0"
7361.1Shikaru
7371.1Shikaru#define	USBC_GHWCFG1_BITS \
7381.1Shikaru	"\177"		/* new format */ \
7391.1Shikaru	"\020"		/* hex display */ \
7401.1Shikaru	"\020"		/* %016x format */ \
7411.1Shikaru	"f\x00\x20"	"EPDIR\0"
7421.1Shikaru
7431.1Shikaru#define	USBC_GHWCFG2_BITS \
7441.1Shikaru	"\177"		/* new format */ \
7451.1Shikaru	"\020"		/* hex display */ \
7461.1Shikaru	"\020"		/* %016x format */ \
7471.1Shikaru	"f\x1a\x05"	"TKNQDEPTH\0" \
7481.1Shikaru	"f\x18\x02"	"PTXQDEPTH\0" \
7491.1Shikaru	"f\x16\x02"	"NPTXQDEPTH\0" \
7501.1Shikaru	"b\x13"		"DYNFIFOSIZING\0" \
7511.1Shikaru	"b\x12"		"PERIOSUPPORT\0" \
7521.1Shikaru	"f\x0e\x04"	"NUMHSTCHN1\0" \
7531.1Shikaru	"f\x0a\x04"	"NUMDEVEPS\0" \
7541.1Shikaru	"f\x08\x02"	"FSPHYTYPE\0" \
7551.1Shikaru	"f\x06\x02"	"HSPHYTYPE\0" \
7561.1Shikaru	"b\x05"		"SINGPNT\0" \
7571.1Shikaru	"f\x03\x02"	"OTGARCH\0" \
7581.1Shikaru	"f\x00\x03"	"OTGMODE\0"
7591.1Shikaru
7601.1Shikaru#define	USBC_GHWCFG3_BITS \
7611.1Shikaru	"\177"		/* new format */ \
7621.1Shikaru	"\020"		/* hex display */ \
7631.1Shikaru	"\020"		/* %016x format */ \
7641.1Shikaru	"f\x10\x10"	"DFIFODEPTH\0" \
7651.1Shikaru	"b\x0c"		"AHBPHYSYNC\0" \
7661.1Shikaru	"b\x0b"		"RSTTYPE\0" \
7671.1Shikaru	"b\x0a"		"OPTFEATURE\0" \
7681.1Shikaru	"b\x09"		"VENDOR_CONTROL_INTERFACE_SUPPORT\0" \
7691.1Shikaru	"b\x08"		"I2C_SELECTION\0" \
7701.1Shikaru	"b\x07"		"OTGEN\0" \
7711.1Shikaru	"f\x04\x03"	"PKTSIZEWIDTH\0" \
7721.1Shikaru	"f\x00\x04"	"XFERSIZEWIDTH\0"
7731.1Shikaru
7741.1Shikaru#define	USBC_GHWCFG4_BITS \
7751.1Shikaru	"\177"		/* new format */ \
7761.1Shikaru	"\020"		/* hex display */ \
7771.1Shikaru	"\020"		/* %016x format */ \
7781.1Shikaru	"b\x18"		"SESSENDFLTR\0" \
7791.1Shikaru	"b\x18"		"BVAILDFLTR\0" \
7801.1Shikaru	"b\x17"		"AVAILDFLTR\0" \
7811.1Shikaru	"b\x16"		"VBUSVALIDFLTR\0" \
7821.1Shikaru	"b\x15"		"IDDGFLTR\0" \
7831.1Shikaru	"f\x10\x04"	"NUMCTLEPS\0" \
7841.1Shikaru	"f\x0e\x02"	"PHYDATAWIDTH\0" \
7851.1Shikaru	"b\x05"		"AHBFREQ\0" \
7861.1Shikaru	"b\x04"		"ENABLEPWROPT\0" \
7871.1Shikaru	"f\x00\x04"	"NUMDEVPERIOEPS\0"
7881.1Shikaru
7891.1Shikaru#define	USBC_HCFG_BITS \
7901.1Shikaru	"\177"		/* new format */ \
7911.1Shikaru	"\020"		/* hex display */ \
7921.1Shikaru	"\020"		/* %016x format */ \
7931.1Shikaru	"b\x02"		"FSLSSUPP\0" \
7941.1Shikaru	"f\x00\x02"	"FSLSPCLKSEL\0"
7951.1Shikaru
7961.1Shikaru#define	USBC_HPRT_BITS \
7971.1Shikaru	"\177"		/* new format */ \
7981.1Shikaru	"\020"		/* hex display */ \
7991.1Shikaru	"\020"		/* %016x format */ \
8001.1Shikaru	"f\x11\x02"	"PRTSPD\0" \
8011.1Shikaru	"f\x0d\x04"	"PRTTSTCTL\0" \
8021.1Shikaru	"b\x0c"		"PRTPWR\0" \
8031.1Shikaru	"f\x0a\x02"	"PRTLNSTS\0" \
8041.1Shikaru	"b\x08"		"PRTRST\0" \
8051.1Shikaru	"b\x07"		"PRTSUSP\0" \
8061.1Shikaru	"b\x06"		"PRTRES\0" \
8071.1Shikaru	"b\x05"		"PRTOVRCURRCHNG\0" \
8081.1Shikaru	"b\x04"		"PRTOVRCURRACT\0" \
8091.1Shikaru	"b\x03"		"PRTENCHNG\0" \
8101.1Shikaru	"b\x02"		"PRTENA\0" \
8111.1Shikaru	"b\x01"		"PRTCONNDET\0" \
8121.1Shikaru	"b\x00"		"PRTCONNSTS\0"
8131.1Shikaru
8141.1Shikaru#define	USBC_HFIR_BITS \
8151.1Shikaru	"\177"		/* new format */ \
8161.1Shikaru	"\020"		/* hex display */ \
8171.1Shikaru	"\020"		/* %016x format */ \
8181.1Shikaru	"f\x00\x10"	"FRINT\0"
8191.1Shikaru
8201.1Shikaru#define	USBC_HAINT_BITS \
8211.1Shikaru	"\177"		/* new format */ \
8221.1Shikaru	"\020"		/* hex display */ \
8231.1Shikaru	"\020"		/* %016x format */ \
8241.1Shikaru	"b\x0f"		"HAINT_F\0" \
8251.1Shikaru	"b\x0e"		"HAINT_E\0" \
8261.1Shikaru	"b\x0d"		"HAINT_D\0" \
8271.1Shikaru	"b\x0c"		"HAINT_C\0" \
8281.1Shikaru	"b\x0b"		"HAINT_B\0" \
8291.1Shikaru	"b\x0a"		"HAINT_A\0" \
8301.1Shikaru	"b\x09"		"HAINT_9\0" \
8311.1Shikaru	"b\x08"		"HAINT_8\0" \
8321.1Shikaru	"b\x07"		"HAINT_7\0" \
8331.1Shikaru	"b\x06"		"HAINT_6\0" \
8341.1Shikaru	"b\x05"		"HAINT_5\0" \
8351.1Shikaru	"b\x04"		"HAINT_4\0" \
8361.1Shikaru	"b\x03"		"HAINT_3\0" \
8371.1Shikaru	"b\x02"		"HAINT_2\0" \
8381.1Shikaru	"b\x01"		"HAINT_1\0" \
8391.1Shikaru	"b\x00"		"HAINT_0\0"
8401.1Shikaru
8411.1Shikaru#define	USBC_HAINTMSK_BITS \
8421.1Shikaru	"\177"		/* new format */ \
8431.1Shikaru	"\020"		/* hex display */ \
8441.1Shikaru	"\020"		/* %016x format */ \
8451.1Shikaru	"b\x0f"		"HAINTMSK_F\0" \
8461.1Shikaru	"b\x0e"		"HAINTMSK_E\0" \
8471.1Shikaru	"b\x0d"		"HAINTMSK_D\0" \
8481.1Shikaru	"b\x0c"		"HAINTMSK_C\0" \
8491.1Shikaru	"b\x0b"		"HAINTMSK_B\0" \
8501.1Shikaru	"b\x0a"		"HAINTMSK_A\0" \
8511.1Shikaru	"b\x09"		"HAINTMSK_9\0" \
8521.1Shikaru	"b\x08"		"HAINTMSK_8\0" \
8531.1Shikaru	"b\x07"		"HAINTMSK_7\0" \
8541.1Shikaru	"b\x06"		"HAINTMSK_6\0" \
8551.1Shikaru	"b\x05"		"HAINTMSK_5\0" \
8561.1Shikaru	"b\x04"		"HAINTMSK_4\0" \
8571.1Shikaru	"b\x03"		"HAINTMSK_3\0" \
8581.1Shikaru	"b\x02"		"HAINTMSK_2\0" \
8591.1Shikaru	"b\x01"		"HAINTMSK_1\0" \
8601.1Shikaru	"b\x00"		"HAINTMSK_0\0"
8611.1Shikaru
8621.1Shikaru#define	USBC_HCINTX_BITS \
8631.1Shikaru	"\177"		/* new format */ \
8641.1Shikaru	"\020"		/* hex display */ \
8651.1Shikaru	"\020"		/* %016x format */ \
8661.1Shikaru	"b\x0a"		"DATATGLERR\0" \
8671.1Shikaru	"b\x09"		"FRMOVRUN\0" \
8681.1Shikaru	"b\x08"		"BBLERR\0" \
8691.1Shikaru	"b\x07"		"XACTERR\0" \
8701.1Shikaru	"b\x06"		"NYET\0" \
8711.1Shikaru	"b\x05"		"ACK\0" \
8721.1Shikaru	"b\x04"		"NAK\0" \
8731.1Shikaru	"b\x03"		"STALL\0" \
8741.1Shikaru	"b\x02"		"AHBERR\0" \
8751.1Shikaru	"b\x01"		"CHHLTD\0" \
8761.1Shikaru	"b\x00"		"XFERCOMPL\0"
8771.1Shikaru#define USBC_HCINT0_BITS	USBC_HCINTX_BITS
8781.1Shikaru#define USBC_HCINT1_BITS	USBC_HCINTX_BITS
8791.1Shikaru#define USBC_HCINT2_BITS	USBC_HCINTX_BITS
8801.1Shikaru#define USBC_HCINT3_BITS	USBC_HCINTX_BITS
8811.1Shikaru#define USBC_HCINT4_BITS	USBC_HCINTX_BITS
8821.1Shikaru#define USBC_HCINT5_BITS	USBC_HCINTX_BITS
8831.1Shikaru#define USBC_HCINT6_BITS	USBC_HCINTX_BITS
8841.1Shikaru#define USBC_HCINT7_BITS	USBC_HCINTX_BITS
8851.1Shikaru
8861.1Shikaru#define	USBC_HCINTMSKX_BITS \
8871.1Shikaru	"\177"		/* new format */ \
8881.1Shikaru	"\020"		/* hex display */ \
8891.1Shikaru	"\020"		/* %016x format */ \
8901.1Shikaru	"b\x0a"		"DATATGLERRMSK\0" \
8911.1Shikaru	"b\x09"		"FRMOVRUNMSK\0" \
8921.1Shikaru	"b\x08"		"BBLERRMSK\0" \
8931.1Shikaru	"b\x07"		"XACTERRMSK\0" \
8941.1Shikaru	"b\x06"		"NYETMSK\0" \
8951.1Shikaru	"b\x05"		"ACKMSK\0" \
8961.1Shikaru	"b\x04"		"NAKMSK\0" \
8971.1Shikaru	"b\x03"		"STALLMSK\0" \
8981.1Shikaru	"b\x02"		"AHBERRMSK\0" \
8991.1Shikaru	"b\x01"		"CHHLTDMSK\0" \
9001.1Shikaru	"b\x00"		"XFERCOMPLMSK\0"
9011.1Shikaru#define USBC_HCINTMSK0_BITS	USBC_HCINTMSKX_BITS
9021.1Shikaru#define USBC_HCINTMSK1_BITS	USBC_HCINTMSKX_BITS
9031.1Shikaru#define USBC_HCINTMSK2_BITS	USBC_HCINTMSKX_BITS
9041.1Shikaru#define USBC_HCINTMSK3_BITS	USBC_HCINTMSKX_BITS
9051.1Shikaru#define USBC_HCINTMSK4_BITS	USBC_HCINTMSKX_BITS
9061.1Shikaru#define USBC_HCINTMSK5_BITS	USBC_HCINTMSKX_BITS
9071.1Shikaru#define USBC_HCINTMSK6_BITS	USBC_HCINTMSKX_BITS
9081.1Shikaru#define USBC_HCINTMSK7_BITS	USBC_HCINTMSKX_BITS
9091.1Shikaru
9101.1Shikaru#define	USBC_HCCHARX_BITS \
9111.1Shikaru	"\177"		/* new format */ \
9121.1Shikaru	"\020"		/* hex display */ \
9131.1Shikaru	"\020"		/* %016x format */ \
9141.1Shikaru	"b\x1f"		"CHENA\0" \
9151.1Shikaru	"b\x1e"		"CHDIS\0" \
9161.1Shikaru	"b\x1d"		"ODDFRM\0" \
9171.1Shikaru	"f\x16\x07"	"DEVADDR\0" \
9181.1Shikaru	"f\x14\x02"	"EC\0" \
9191.1Shikaru	"f\x12\x02"	"EPTYPE\0" \
9201.1Shikaru	"b\x11"		"LSPDDEV\0" \
9211.1Shikaru	"b\x0f"		"EPDIR\0" \
9221.1Shikaru	"f\x0b\x04"	"EPNUM\0" \
9231.1Shikaru	"f\x00\x0b"	"MPS\0"
9241.1Shikaru#define USBC_HCCHAR0_BITS	USBC_HCCHARX_BITS
9251.1Shikaru#define USBC_HCCHAR1_BITS	USBC_HCCHARX_BITS
9261.1Shikaru#define USBC_HCCHAR2_BITS	USBC_HCCHARX_BITS
9271.1Shikaru#define USBC_HCCHAR3_BITS	USBC_HCCHARX_BITS
9281.1Shikaru#define USBC_HCCHAR4_BITS	USBC_HCCHARX_BITS
9291.1Shikaru#define USBC_HCCHAR5_BITS	USBC_HCCHARX_BITS
9301.1Shikaru#define USBC_HCCHAR6_BITS	USBC_HCCHARX_BITS
9311.1Shikaru#define USBC_HCCHAR7_BITS	USBC_HCCHARX_BITS
9321.1Shikaru
9331.1Shikaru#define	USBC_HCTSIZX_BITS \
9341.1Shikaru	"\177"		/* new format */ \
9351.1Shikaru	"\020"		/* hex display */ \
9361.1Shikaru	"\020"		/* %016x format */ \
9371.1Shikaru	"b\x1f"		"DOPNG\0" \
9381.1Shikaru	"f\x1d\x02"	"PID\0" \
9391.1Shikaru	"f\x13\x0a"	"PKTCNT\0" \
9401.1Shikaru	"f\x00\x13"	"XFERSIZE\0"
9411.1Shikaru#define USBC_HCTSIZ0_BITS	USBC_HCTSIZX_BITS
9421.1Shikaru#define USBC_HCTSIZ1_BITS	USBC_HCTSIZX_BITS
9431.1Shikaru#define USBC_HCTSIZ2_BITS	USBC_HCTSIZX_BITS
9441.1Shikaru#define USBC_HCTSIZ3_BITS	USBC_HCTSIZX_BITS
9451.1Shikaru#define USBC_HCTSIZ4_BITS	USBC_HCTSIZX_BITS
9461.1Shikaru#define USBC_HCTSIZ5_BITS	USBC_HCTSIZX_BITS
9471.1Shikaru#define USBC_HCTSIZ6_BITS	USBC_HCTSIZX_BITS
9481.1Shikaru#define USBC_HCTSIZ7_BITS	USBC_HCTSIZX_BITS
9491.1Shikaru
9501.1Shikaru/* ---- bus_space */
9511.1Shikaru
9521.1Shikaru#define	USBC_BASE				0x00016F0010000000ULL
9531.1Shikaru#define USBC_SIZE				0x40020
9541.1Shikaru
9551.1Shikaru#define USBC_GOTGCTL_OFFSET			0x00000000
9561.1Shikaru#define USBC_GOTGINT_OFFSET			0x00000004
9571.1Shikaru#define USBC_GAHBCFG_OFFSET			0x00000008
9581.1Shikaru#define USBC_GUSBCFG_OFFSET			0x0000000C
9591.1Shikaru#define USBC_GRSTCTL_OFFSET			0x00000010
9601.1Shikaru#define USBC_GINTSTS_OFFSET			0x00000014
9611.1Shikaru#define USBC_GINTMSK_OFFSET			0x00000018
9621.1Shikaru#define USBC_GRXSTSRH_OFFSET			0x0000001C
9631.1Shikaru#define USBC_GRXSTSPH_OFFSET			0x00000020
9641.1Shikaru#define USBC_GRXFSIZ_OFFSET			0x00000024
9651.1Shikaru#define USBC_GNPTXFSIZ_OFFSET			0x00000028
9661.1Shikaru#define USBC_GNPTXSTS_OFFSET			0x0000002C
9671.1Shikaru#define USBC_GSNPSID_OFFSET			0x00000040
9681.1Shikaru#define USBC_GHWCFG1_OFFSET			0x00000044
9691.1Shikaru#define USBC_GHWCFG2_OFFSET			0x00000048
9701.1Shikaru#define USBC_GHWCFG3_OFFSET			0x0000004C
9711.1Shikaru#define USBC_GHWCFG4_OFFSET			0x00000050
9721.1Shikaru#define USBC_HPTXFSIZ_OFFSET			0x00000100
9731.1Shikaru#define USBC_DPTXFSIZ1_OFFSET			0x00000104
9741.1Shikaru#define USBC_DPTXFSIZ2_OFFSET			0x00000108
9751.1Shikaru#define USBC_DPTXFSIZ3_OFFSET			0x0000010C
9761.1Shikaru#define USBC_DPTXFSIZ4_OFFSET			0x00000110
9771.1Shikaru#define USBC_HCFG_OFFSET			0x00000400
9781.1Shikaru#define USBC_HFIR_OFFSET			0x00000404
9791.1Shikaru#define USBC_HFNUM_OFFSET			0x00000408
9801.1Shikaru#define USBC_HPTXSTS_OFFSET			0x00000410
9811.1Shikaru#define USBC_HAINT_OFFSET			0x00000414
9821.1Shikaru#define USBC_HAINTMSK_OFFSET			0x00000418
9831.1Shikaru#define USBC_HPRT_OFFSET			0x00000440
9841.1Shikaru#define USBC_HCCHAR0_OFFSET			0x00000500
9851.1Shikaru#define USBC_HCCHAR1_OFFSET			0x00000520
9861.1Shikaru#define USBC_HCCHAR2_OFFSET			0x00000540
9871.1Shikaru#define USBC_HCCHAR3_OFFSET			0x00000560
9881.1Shikaru#define USBC_HCCHAR4_OFFSET			0x00000580
9891.1Shikaru#define USBC_HCCHAR5_OFFSET			0x000005A0
9901.1Shikaru#define USBC_HCCHAR6_OFFSET			0x000005C0
9911.1Shikaru#define USBC_HCCHAR7_OFFSET			0x000005E0
9921.1Shikaru#define USBC_HCSPLT0_OFFSET			0x00000504
9931.1Shikaru#define USBC_HCSPLT1_OFFSET			0x00000524
9941.1Shikaru#define USBC_HCSPLT2_OFFSET			0x00000544
9951.1Shikaru#define USBC_HCSPLT3_OFFSET			0x00000564
9961.1Shikaru#define USBC_HCSPLT4_OFFSET			0x00000584
9971.1Shikaru#define USBC_HCSPLT5_OFFSET			0x000005A4
9981.1Shikaru#define USBC_HCSPLT6_OFFSET			0x000005C4
9991.1Shikaru#define USBC_HCSPLT7_OFFSET			0x000005E4
10001.1Shikaru#define USBC_HCINT0_OFFSET			0x00000508
10011.1Shikaru#define USBC_HCINT1_OFFSET			0x00000528
10021.1Shikaru#define USBC_HCINT2_OFFSET			0x00000548
10031.1Shikaru#define USBC_HCINT3_OFFSET			0x00000568
10041.1Shikaru#define USBC_HCINT4_OFFSET			0x00000588
10051.1Shikaru#define USBC_HCINT5_OFFSET			0x000005A8
10061.1Shikaru#define USBC_HCINT6_OFFSET			0x000005C8
10071.1Shikaru#define USBC_HCINT7_OFFSET			0x000005E8
10081.1Shikaru#define USBC_HCINTMSK0_OFFSET			0x0000050C
10091.1Shikaru#define USBC_HCINTMSK1_OFFSET			0x0000052C
10101.1Shikaru#define USBC_HCINTMSK2_OFFSET			0x0000054C
10111.1Shikaru#define USBC_HCINTMSK3_OFFSET			0x0000056C
10121.1Shikaru#define USBC_HCINTMSK4_OFFSET			0x0000058C
10131.1Shikaru#define USBC_HCINTMSK5_OFFSET			0x000005AC
10141.1Shikaru#define USBC_HCINTMSK6_OFFSET			0x000005CC
10151.1Shikaru#define USBC_HCINTMSK7_OFFSET			0x000005EC
10161.1Shikaru#define USBC_HCTSIZ0_OFFSET			0x00000510
10171.1Shikaru#define USBC_HCTSIZ1_OFFSET			0x00000530
10181.1Shikaru#define USBC_HCTSIZ2_OFFSET			0x00000550
10191.1Shikaru#define USBC_HCTSIZ3_OFFSET			0x00000570
10201.1Shikaru#define USBC_HCTSIZ4_OFFSET			0x00000590
10211.1Shikaru#define USBC_HCTSIZ5_OFFSET			0x000005B0
10221.1Shikaru#define USBC_HCTSIZ6_OFFSET			0x000005D0
10231.1Shikaru#define USBC_HCTSIZ7_OFFSET			0x000005F0
10241.1Shikaru#define USBC_DCFG_OFFSET			0x00000800
10251.1Shikaru#define USBC_DCTL_OFFSET			0x00000804
10261.1Shikaru#define USBC_DSTS_OFFSET			0x00000808
10271.1Shikaru#define USBC_DIEPMSK_OFFSET			0x00000810
10281.1Shikaru#define USBC_DOEPMSK_OFFSET			0x00000814
10291.1Shikaru#define USBC_DAINT_OFFSET			0x00000818
10301.1Shikaru#define USBC_DAINTMSK_OFFSET			0x0000081C
10311.1Shikaru#define USBC_DTKNQR1_OFFSET			0x00000820
10321.1Shikaru#define USBC_DTKNQR2_OFFSET			0x00000824
10331.1Shikaru#define USBC_DTKNQR3_OFFSET			0x00000830
10341.1Shikaru#define USBC_DTKNQR4_OFFSET			0x00000834
10351.1Shikaru#define USBC_DIEPCTL0_OFFSET			0x00000900
10361.1Shikaru#define USBC_DIEPCTL1_OFFSET			0x00000920
10371.1Shikaru#define USBC_DIEPCTL2_OFFSET			0x00000940
10381.1Shikaru#define USBC_DIEPCTL3_OFFSET			0x00000960
10391.1Shikaru#define USBC_DIEPCTL4_OFFSET			0x00000980
10401.1Shikaru#define USBC_DIEPINT0_OFFSET			0x00000908
10411.1Shikaru#define USBC_DIEPINT1_OFFSET			0x00000928
10421.1Shikaru#define USBC_DIEPINT2_OFFSET			0x00000948
10431.1Shikaru#define USBC_DIEPINT3_OFFSET			0x00000968
10441.1Shikaru#define USBC_DIEPINT4_OFFSET			0x00000988
10451.1Shikaru#define USBC_DIEPTSIZ0_OFFSET			0x00000910
10461.1Shikaru#define USBC_DIEPTSIZ1_OFFSET			0x00000930
10471.1Shikaru#define USBC_DIEPTSIZ2_OFFSET			0x00000950
10481.1Shikaru#define USBC_DIEPTSIZ3_OFFSET			0x00000970
10491.1Shikaru#define USBC_DIEPTSIZ4_OFFSET			0x00000990
10501.1Shikaru#define USBC_OEPCTL0_OFFSET			0x00000B00
10511.1Shikaru#define USBC_OEPCTL1_OFFSET			0x00000B20
10521.1Shikaru#define USBC_OEPCTL2_OFFSET			0x00000B40
10531.1Shikaru#define USBC_OEPCTL3_OFFSET			0x00000B60
10541.1Shikaru#define USBC_OEPCTL4_OFFSET			0x00000B80
10551.1Shikaru#define USBC_OEPINT0_OFFSET			0x00000B08
10561.1Shikaru#define USBC_OEPINT1_OFFSET			0x00000B28
10571.1Shikaru#define USBC_OEPINT2_OFFSET			0x00000B48
10581.1Shikaru#define USBC_OEPINT3_OFFSET			0x00000B68
10591.1Shikaru#define USBC_OEPINT4_OFFSET			0x00000B88
10601.1Shikaru#define USBC_OEPTSIZ0_OFFSET			0x00000B10
10611.1Shikaru#define USBC_OEPTSIZ1_OFFSET			0x00000B30
10621.1Shikaru#define USBC_OEPTSIZ2_OFFSET			0x00000B50
10631.1Shikaru#define USBC_OEPTSIZ3_OFFSET			0x00000B70
10641.1Shikaru#define USBC_OEPTSIZ4_OFFSET			0x00000B90
10651.1Shikaru#define USBC_PCGCCTL_OFFSET			0x00000E00
10661.1Shikaru#define USBC_NPTXDFIFO0_OFFSET			0x00001000
10671.1Shikaru#define USBC_NPTXDFIFO1_OFFSET			0x00002000
10681.1Shikaru#define USBC_NPTXDFIFO2_OFFSET			0x00003000
10691.1Shikaru#define USBC_NPTXDFIFO3_OFFSET			0x00004000
10701.1Shikaru#define USBC_NPTXDFIFO4_OFFSET			0x00005000
10711.1Shikaru#define USBC_NPTXDFIFO5_OFFSET			0x00006000
10721.1Shikaru#define USBC_NPTXDFIFO6_OFFSET			0x00007000
10731.1Shikaru#define USBC_NPTXDFIFO7_OFFSET			0x00008000
10741.1Shikaru#define USBC_GRXSTSRD_OFFSET			0x0004001C
10751.1Shikaru#define USBC_GRXSTSPD_OFFSET			0x00040020
10761.1Shikaru
10771.1Shikaru#endif /* _OCTEON_USBCREG_H_ */
1078