/* $NetBSD: octeon_usbcreg.h,v 1.1 2015/04/29 08:32:01 hikaru Exp $ */ /* * Copyright (c) 2007 Internet Initiative Japan, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ /* * USBC Registers */ #ifndef _OCTEON_USBCREG_H_ #define _OCTEON_USBCREG_H_ /* ---- register addresses */ #define USBC_GOTGCTL 0x00016F0010000000ULL #define USBC_GOTGINT 0x00016F0010000004ULL #define USBC_GAHBCFG 0x00016F0010000008ULL #define USBC_GUSBCFG 0x00016F001000000CULL #define USBC_GRSTCTL 0x00016F0010000010ULL #define USBC_GINTSTS 0x00016F0010000014ULL #define USBC_GINTMSK 0x00016F0010000018ULL #define USBC_GRXSTSRH 0x00016F001000001CULL #define USBC_GRXSTSPH 0x00016F0010000020ULL #define USBC_GRXFSIZ 0x00016F0010000024ULL #define USBC_GNPTXFSIZ 0x00016F0010000028ULL #define USBC_GNPTXSTS 0x00016F001000002CULL #define USBC_GSNPSID 0x00016F0010000040ULL #define USBC_GHWCFG1 0x00016F0010000044ULL #define USBC_GHWCFG2 0x00016F0010000048ULL #define USBC_GHWCFG3 0x00016F001000004CULL #define USBC_GHWCFG4 0x00016F0010000050ULL #define USBC_HPTXFSIZ 0x00016F0010000100ULL #define USBC_DPTXFSIZ1 0x00016F0010000104ULL #define USBC_DPTXFSIZ2 0x00016F0010000108ULL #define USBC_DPTXFSIZ3 0x00016F001000010CULL #define USBC_DPTXFSIZ4 0x00016F0010000110ULL #define USBC_HCFG 0x00016F0010000400ULL #define USBC_HFIR 0x00016F0010000404ULL #define USBC_HFNUM 0x00016F0010000408ULL #define USBC_HPTXSTS 0x00016F0010000410ULL #define USBC_HAINT 0x00016F0010000414ULL #define USBC_HAINTMSK 0x00016F0010000418ULL #define USBC_HPRT 0x00016F0010000440ULL #define USBC_HCCHAR0 0x00016F0010000500ULL #define USBC_HCCHAR1 0x00016F0010000520ULL #define USBC_HCCHAR2 0x00016F0010000540ULL #define USBC_HCCHAR3 0x00016F0010000560ULL #define USBC_HCCHAR4 0x00016F0010000580ULL #define USBC_HCCHAR5 0x00016F00100005A0ULL #define USBC_HCCHAR6 0x00016F00100005C0ULL #define USBC_HCCHAR7 0x00016F00100005E0ULL #define USBC_HCSPLT0 0x00016F0010000504ULL #define USBC_HCSPLT1 0x00016F0010000524ULL #define USBC_HCSPLT2 0x00016F0010000544ULL #define USBC_HCSPLT3 0x00016F0010000564ULL #define USBC_HCSPLT4 0x00016F0010000584ULL #define USBC_HCSPLT5 0x00016F00100005A4ULL #define USBC_HCSPLT6 0x00016F00100005C4ULL #define USBC_HCSPLT7 0x00016F00100005E4ULL #define USBC_HCINT0 0x00016F0010000508ULL #define USBC_HCINT1 0x00016F0010000528ULL #define USBC_HCINT2 0x00016F0010000548ULL #define USBC_HCINT3 0x00016F0010000568ULL #define USBC_HCINT4 0x00016F0010000588ULL #define USBC_HCINT5 0x00016F00100005A8ULL #define USBC_HCINT6 0x00016F00100005C8ULL #define USBC_HCINT7 0x00016F00100005E8ULL #define USBC_HCINTMSK0 0x00016F001000050CULL #define USBC_HCINTMSK1 0x00016F001000052CULL #define USBC_HCINTMSK2 0x00016F001000054CULL #define USBC_HCINTMSK3 0x00016F001000056CULL #define USBC_HCINTMSK4 0x00016F001000058CULL #define USBC_HCINTMSK5 0x00016F00100005ACULL #define USBC_HCINTMSK6 0x00016F00100005CCULL #define USBC_HCINTMSK7 0x00016F00100005ECULL #define USBC_HCTSIZ0 0x00016F0010000510ULL #define USBC_HCTSIZ1 0x00016F0010000530ULL #define USBC_HCTSIZ2 0x00016F0010000550ULL #define USBC_HCTSIZ3 0x00016F0010000570ULL #define USBC_HCTSIZ4 0x00016F0010000590ULL #define USBC_HCTSIZ5 0x00016F00100005B0ULL #define USBC_HCTSIZ6 0x00016F00100005D0ULL #define USBC_HCTSIZ7 0x00016F00100005F0ULL #define USBC_DCFG 0x00016F0010000800ULL #define USBC_DCTL 0x00016F0010000804ULL #define USBC_DSTS 0x00016F0010000808ULL #define USBC_DIEPMSK 0x00016F0010000810ULL #define USBC_DOEPMSK 0x00016F0010000814ULL #define USBC_DAINT 0x00016F0010000818ULL #define USBC_DAINTMSK 0x00016F001000081CULL #define USBC_DTKNQR1 0x00016F0010000820ULL #define USBC_DTKNQR2 0x00016F0010000824ULL #define USBC_DTKNQR3 0x00016F0010000830ULL #define USBC_DTKNQR4 0x00016F0010000834ULL #define USBC_DIEPCTL0 0x00016F0010000900ULL #define USBC_DIEPCTL1 0x00016F0010000920ULL #define USBC_DIEPCTL2 0x00016F0010000940ULL #define USBC_DIEPCTL3 0x00016F0010000960ULL #define USBC_DIEPCTL4 0x00016F0010000980ULL #define USBC_DIEPINT0 0x00016F0010000908ULL #define USBC_DIEPINT1 0x00016F0010000928ULL #define USBC_DIEPINT2 0x00016F0010000948ULL #define USBC_DIEPINT3 0x00016F0010000968ULL #define USBC_DIEPINT4 0x00016F0010000988ULL #define USBC_DIEPTSIZ0 0x00016F0010000910ULL #define USBC_DIEPTSIZ1 0x00016F0010000930ULL #define USBC_DIEPTSIZ2 0x00016F0010000950ULL #define USBC_DIEPTSIZ3 0x00016F0010000970ULL #define USBC_DIEPTSIZ4 0x00016F0010000990ULL #define USBC_OEPCTL0 0x00016F0010000B00ULL #define USBC_OEPCTL1 0x00016F0010000B20ULL #define USBC_OEPCTL2 0x00016F0010000B40ULL #define USBC_OEPCTL3 0x00016F0010000B60ULL #define USBC_OEPCTL4 0x00016F0010000B80ULL #define USBC_OEPINT0 0x00016F0010000B08ULL #define USBC_OEPINT1 0x00016F0010000B28ULL #define USBC_OEPINT2 0x00016F0010000B48ULL #define USBC_OEPINT3 0x00016F0010000B68ULL #define USBC_OEPINT4 0x00016F0010000B88ULL #define USBC_OEPTSIZ0 0x00016F0010000B10ULL #define USBC_OEPTSIZ1 0x00016F0010000B30ULL #define USBC_OEPTSIZ2 0x00016F0010000B50ULL #define USBC_OEPTSIZ3 0x00016F0010000B70ULL #define USBC_OEPTSIZ4 0x00016F0010000B90ULL #define USBC_PCGCCTL 0x00016F0010000E00ULL #define USBC_NPTXDFIFO0 0x00016F0010001000ULL #define USBC_NPTXDFIFO1 0x00016F0010002000ULL #define USBC_NPTXDFIFO2 0x00016F0010003000ULL #define USBC_NPTXDFIFO3 0x00016F0010004000ULL #define USBC_NPTXDFIFO4 0x00016F0010005000ULL #define USBC_NPTXDFIFO5 0x00016F0010006000ULL #define USBC_NPTXDFIFO6 0x00016F0010007000ULL #define USBC_NPTXDFIFO7 0x00016F0010008000ULL #define USBC_GRXSTSRD 0x00016F001004001CULL #define USBC_GRXSTSPD 0x00016F0010040020ULL /* ---- register bits */ #define USBC_GOTGCTL_XXX_31_21 0xffe00000 #define USBC_GOTGCTL_XXX_20 UINT32_C(0x00100000) #define USBC_GOTGCTL_BSESVLD UINT32_C(0x00080000) #define USBC_GOTGCTL_ASESVLD UINT32_C(0x00040000) #define USBC_GOTGCTL_DBNCTIME UINT32_C(0x00020000) #define USBC_GOTGCTL_CONIDSTS UINT32_C(0x00010000) #define USBC_GOTGCTL_XXX_15_12 0x0000f000 #define USBC_GOTGCTL_DEVHNPEN UINT32_C(0x00000800) #define USBC_GOTGCTL_HSTSETHNPEN UINT32_C(0x00000400) #define USBC_GOTGCTL_HNPREQ UINT32_C(0x00000200) #define USBC_GOTGCTL_HSTNEGSCS UINT32_C(0x00000100) #define USBC_GOTGCTL_XXX_7_2 0x000000fc #define USBC_GOTGCTL_SESREQ UINT32_C(0x00000002) #define USBC_GOTGCTL_SESREQSCS UINT32_C(0x00000001) #define USBC_GOTGINT_XXX_31_20 0xfff00000 #define USBC_GOTGINT_DBNCEDONE UINT32_C(0x00080000) #define USBC_GOTGINT_ADEVTOUTCHG UINT32_C(0x00040000) #define USBC_GOTGINT_HSTNEGDET UINT32_C(0x00020000) #define USBC_GOTGINT_XXX_16_10 0x0001fc00 #define USBC_GOTGINT_HSTNEGSUCSTSCHNG UINT32_C(0x00000200) #define USBC_GOTGINT_SESREQSUCSTSCHNG UINT32_C(0x00000100) #define USBC_GOTGINT_XXX_7_3 0x000000f8 #define USBC_GOTGINT_SESENDDET UINT32_C(0x00000004) #define USBC_GOTGINT_XXX_1 UINT32_C(0x00000002) #define USBC_GOTGINT_XXX_0 UINT32_C(0x00000001) #define USBC_GAHBCFG_XXX_31_9 0xfffffe00 #define USBC_GAHBCFG_PTXFEMPLVL UINT32_C(0x00000100) #define USBC_GAHBCFG_NPTXFEMPLVL UINT32_C(0x00000080) #define USBC_GAHBCFG_XXX_6 UINT32_C(0x00000040) #define USBC_GAHBCFG_DMAEN UINT32_C(0x00000020) #define USBC_GAHBCFG_HBSTLEN 0x0000001e #define USBC_GAHBCFG_HBSTLEN_OFFSET 1 #define USBC_GAHBCFG_GLBLINTRMSK UINT32_C(0x00000001) #define USBC_GUSBCFG_XXX_31_17 0xfffe0000 #define USBC_GUSBCFG_OTGI2CSEL UINT32_C(0x00010000) #define USBC_GUSBCFG_PHYLPWRCLKSEL UINT32_C(0x00008000) #define USBC_GUSBCFG_XXX_14 UINT32_C(0x00004000) #define USBC_GUSBCFG_USBTRDTIM 0x00003c00 #define USBC_GUSBCFG_USBTRDTIM_OFFSET 10 #define USBC_GUSBCFG_HNPCAP UINT32_C(0x00000200) #define USBC_GUSBCFG_SRPCAP UINT32_C(0x00000100) #define USBC_GUSBCFG_DDRSEL UINT32_C(0x00000080) #define USBC_GUSBCFG_PHYSEL UINT32_C(0x00000040) #define USBC_GUSBCFG_FSINTF UINT32_C(0x00000020) #define USBC_GUSBCFG_ULPI_UTMI_SEL UINT32_C(0x00000010) #define USBC_GUSBCFG_PHYIF UINT32_C(0x00000008) #define USBC_GUSBCFG_TOUTCAL 0x00000007 #define USBC_GUSBCFG_TOUTCAL_OFFSET 0 #define USBC_GRSTCTL_AHBIDLE UINT32_C(0x80000000) #define USBC_GRSTCTL_DMAREQ UINT32_C(0x40000000) #define USBC_GRSTCTL_XXX_29_11 0x3ffff800 #define USBC_GRSTCTL_TXFNUM 0x000007c0 #define USBC_GRSTCTL_TXFNUM_OFFSET 6 #define USBC_GRSTCTL_TXFFLSH UINT32_C(0x00000020) #define USBC_GRSTCTL_RXFFLSH UINT32_C(0x00000010) #define USBC_GRSTCTL_INTKNQFLSH UINT32_C(0x00000008) #define USBC_GRSTCTL_FRMCNTRRST UINT32_C(0x00000004) #define USBC_GRSTCTL_HSFTRST UINT32_C(0x00000002) #define USBC_GRSTCTL_CSFTRST UINT32_C(0x00000001) #define USBC_GINTSTS_WKUPINT UINT32_C(0x80000000) #define USBC_GINTSTS_SESSREQINT UINT32_C(0x40000000) #define USBC_GINTSTS_DISCONNINT UINT32_C(0x20000000) #define USBC_GINTSTS_CONIDSTSCHNG UINT32_C(0x10000000) #define USBC_GINTSTS_XXX_27 UINT32_C(0x08000000) #define USBC_GINTSTS_PTXFEMP UINT32_C(0x04000000) #define USBC_GINTSTS_HCHINT UINT32_C(0x02000000) #define USBC_GINTSTS_PRTINT UINT32_C(0x01000000) #define USBC_GINTSTS_XXX_23 UINT32_C(0x00800000) #define USBC_GINTSTS_FETSUSP UINT32_C(0x00400000) #define USBC_GINTSTS_INCOMPLP UINT32_C(0x00200000) #define USBC_GINTSTS_INCOMPISOIN UINT32_C(0x00100000) #define USBC_GINTSTS_OEPINT UINT32_C(0x00080000) #define USBC_GINTSTS_IEPINT UINT32_C(0x00040000) #define USBC_GINTSTS_EPMIS UINT32_C(0x00020000) #define USBC_GINTSTS_XXX_16 UINT32_C(0x00010000) #define USBC_GINTSTS_EOPF UINT32_C(0x00008000) #define USBC_GINTSTS_ISOOUTDROP UINT32_C(0x00004000) #define USBC_GINTSTS_ENUMDONE UINT32_C(0x00002000) #define USBC_GINTSTS_USBRST UINT32_C(0x00001000) #define USBC_GINTSTS_USBSUSP UINT32_C(0x00000800) #define USBC_GINTSTS_ERLYSUSP UINT32_C(0x00000400) #define USBC_GINTSTS_I2CINT UINT32_C(0x00000200) #define USBC_GINTSTS_ULPICKINT UINT32_C(0x00000100) #define USBC_GINTSTS_GOUTNAKEFF UINT32_C(0x00000080) #define USBC_GINTSTS_GINNAKEFF UINT32_C(0x00000040) #define USBC_GINTSTS_NPTXFEMP UINT32_C(0x00000020) #define USBC_GINTSTS_RXFLVL UINT32_C(0x00000010) #define USBC_GINTSTS_SOF UINT32_C(0x00000008) #define USBC_GINTSTS_OTGINT UINT32_C(0x00000004) #define USBC_GINTSTS_MODEMIS UINT32_C(0x00000002) #define USBC_GINTSTS_CURMOD UINT32_C(0x00000001) #define USBC_GINTSTS_CURMOD_OFFSET 0 #define USBC_GINTSTS_CURMOD_DEVICE 0x0 #define USBC_GINTSTS_CURMOD_HOST 0x1 #define USBC_GINTMSK_WKUPINTMSK UINT32_C(0x80000000) #define USBC_GINTMSK_SESSREQINTMSK UINT32_C(0x40000000) #define USBC_GINTMSK_DISCONNINTMSK UINT32_C(0x20000000) #define USBC_GINTMSK_CONIDSTSTCHNGMSK UINT32_C(0x10000000) #define USBC_GINTMSK_XXX_27 UINT32_C(0x08000000) #define USBC_GINTMSK_PTXFEMPMSK UINT32_C(0x04000000) #define USBC_GINTMSK_HCHINTMSK UINT32_C(0x02000000) #define USBC_GINTMSK_PRTINTMSK UINT32_C(0x01000000) #define USBC_GINTMSK_XXX_23 UINT32_C(0x00800000) #define USBC_GINTMSK_FETSUSPMSK UINT32_C(0x00400000) #define USBC_GINTMSK_INCOMPISOOUTMSK UINT32_C(0x00200000) #define USBC_GINTMSK_INCOMPISOINMSK UINT32_C(0x00100000) #define USBC_GINTMSK_OEPINTMSK UINT32_C(0x00080000) #define USBC_GINTMSK_INEPINTMSK UINT32_C(0x00040000) #define USBC_GINTMSK_EPMISMSK UINT32_C(0x00020000) #define USBC_GINTMSK_XXX_16 UINT32_C(0x00010000) #define USBC_GINTMSK_EOPFMSK UINT32_C(0x00008000) #define USBC_GINTMSK_ISOOUTDROPMSK UINT32_C(0x00004000) #define USBC_GINTMSK_ENUMDONEMSK UINT32_C(0x00002000) #define USBC_GINTMSK_USBRSTMSK UINT32_C(0x00001000) #define USBC_GINTMSK_USBSUSPMSK UINT32_C(0x00000800) #define USBC_GINTMSK_ERLYSUSPMSK UINT32_C(0x00000400) #define USBC_GINTMSK_I2CINT UINT32_C(0x00000200) #define USBC_GINTMSK_ULPICKINTMSK UINT32_C(0x00000100) #define USBC_GINTMSK_GOUTNAKEFFMSK UINT32_C(0x00000080) #define USBC_GINTMSK_GINNAKEFFMSK UINT32_C(0x00000040) #define USBC_GINTMSK_NPTXFEMPMSK UINT32_C(0x00000020) #define USBC_GINTMSK_RXFLVLMSK UINT32_C(0x00000010) #define USBC_GINTMSK_SOFMSK UINT32_C(0x00000008) #define USBC_GINTMSK_OTGINTMSK UINT32_C(0x00000004) #define USBC_GINTMSK_MODEMISMSK UINT32_C(0x00000002) #define USBC_GINTMSK_XXX_0 UINT32_C(0x00000001) #define USBC_GRXSTSRH_XXX_31_21 0xffe00000 #define USBC_GRXSTSRH_PKTSTS 0x001e0000 #define USBC_GRXSTSRH_PKTSTS_OFFSET 17 #define USBC_GRXSTSRH_DPID 0x00018000 #define USBC_GRXSTSRH_DPID_OFFSET 15 #define USBC_GRXSTSRH_DPID_DATA0 0x00 #define USBC_GRXSTSRH_DPID_DATA1 0x10 #define USBC_GRXSTSRH_DPID_DATA2 0x01 #define USBC_GRXSTSRH_DPID_MDATA 0x11 #define USBC_GRXSTSRH_BCNT 0x00007ff0 #define USBC_GRXSTSRH_BCNT_OFFSET 4 #define USBC_GRXSTSRH_CHNUM 0x0000000f #define USBC_GRXSTSRH_CHNUM_OFFSET 0 #define USBC_GRXSTSPH_XXX_31_21 0xffe00000 #define USBC_GRXSTSPH_PKTSTS 0x001e0000 #define USBC_GRXSTSPH_PKTSTS_OFFSET 17 #define USBC_GRXSTSPH_PKTSTS_IN_DATA_RECV 0x2 #define USBC_GRXSTSPH_PKTSTS_IN_XFER_COMPL 0x3 #define USBC_GRXSTSPH_PKTSTS_TGL_ERR 0x5 #define USBC_GRXSTSPH_PKTSTS_CH_HLTD 0x7 #define USBC_GRXSTSPH_DPID 0x00018000 #define USBC_GRXSTSPH_DPID_OFFSET 15 #define USBC_GRXSTSPH_DPID_DATA0 0x00 #define USBC_GRXSTSPH_DPID_DATA1 0x10 #define USBC_GRXSTSPH_DPID_DATA2 0x01 #define USBC_GRXSTSPH_DPID_MDATA 0x11 #define USBC_GRXSTSPH_BCNT 0x00007ff0 #define USBC_GRXSTSPH_BCNT_OFFSET 4 #define USBC_GRXSTSPH_CHNUM 0x0000000f #define USBC_GRXSTSPH_CHNUM_OFFSET 0 #define USBC_GRXSTSRD_XXX_31_25 0xfe000000 #define USBC_GRXSTSRD_FN 0x01e00000 #define USBC_GRXSTSRD_PKTSTS 0x001e0000 #define USBC_GRXSTSRD_DPID 0x00018000 #define USBC_GRXSTSRD_BCNT 0x00007ff0 #define USBC_GRXSTSRD_EPNUM 0x0000000f #define USBC_GRXSTSPD_XXX_31_25 0xfe000000 #define USBC_GRXSTSPD_FN 0x01e00000 #define USBC_GRXSTSPD_PKTSTS 0x001e0000 #define USBC_GRXSTSPD_DPID 0x00018000 #define USBC_GRXSTSPD_BCNT 0x00007ff0 #define USBC_GRXSTSPD_EPNUM 0x0000000f #define USBC_GRXFSIZ_XXX_31_16 0xffff0000 #define USBC_GRXFSIZ_RXFDEP 0x0000ffff #define USBC_GNPTXFSIZ_NPTXFEDP 0xffff0000 #define USBC_GNPTXFSIZ_NPTXFEDP_OFFSET 16 #define USBC_GNPTXFSIZ_NPTXFSTADDR 0x0000ffff #define USBC_GNPTXSTS_XXX_31 UINT32_C(0x80000000) #define USBC_GNPTXSTS_NPTXQTOP_CHNUM 0x78000000 #define USBC_GNPTXSTS_NPTXQTOP_ENTRY 0x06000000 #define USBC_GNPTXSTS_NPTXQTOP_TERMINATE UINT32_C(0x01000000) #define USBC_GNPTXSTS_NPTXQSPCAVAIL 0x00ff0000 #define USBC_GNPTXSTS_NPTXQSPCAVAIL_OFFSET 16 #define USBC_GNPTXSTS_NPTXFSPCAVAIL 0x0000ffff #define USBC_GNPTXSTS_NPTXFSPCAVAIL_OFFSET 0 #define USBC_GSNPSID_SYNOPSYSID 0xffffffff #define USBC_GHWCFG1_EPDIR 0xffffffff #define USBC_GHWCFG2_XXX_31 UINT32_C(0x80000000) #define USBC_GHWCFG2_TKNQDEPTH 0x7c000000 #define USBC_GHWCFG2_PTXQDEPTH 0x03000000 #define USBC_GHWCFG2_PTXQDEPTH_OFFSET 24 #define USBC_GHWCFG2_NPTXQDEPTH 0x00c00000 #define USBC_GHWCFG2_NPTXQDEPTH_OFFSET 22 #define USBC_GHWCFG2_XXX_21_20 0x00300000 #define USBC_GHWCFG2_DYNFIFOSIZING UINT32_C(0x00080000) #define USBC_GHWCFG2_PERIOSUPPORT UINT32_C(0x00040000) #define USBC_GHWCFG2_NUMHSTCHN1 0x0003c000 #define USBC_GHWCFG2_NUMHSTCHN1_OFFSET 14 #define USBC_GHWCFG2_NUMDEVEPS 0x00003c00 #define USBC_GHWCFG2_FSPHYTYPE 0x00000300 #define USBC_GHWCFG2_HSPHYTYPE 0x000000c0 #define USBC_GHWCFG2_SINGPNT UINT32_C(0x00000020) #define USBC_GHWCFG2_OTGARCH 0x00000018 #define USBC_GHWCFG2_OTGARCH_OFFSET 3 #define USBC_GHWCFG2_OTGARCH_SLAVEONLY 0x0 #define USBC_GHWCFG2_OTGARCH_EXTERNALDMA 0x1 #define USBC_GHWCFG2_OTGARCH_INTERNALDMA 0x2 #define USBC_GHWCFG2_OTGARCH_RESERVED 0x3 #define USBC_GHWCFG2_OTGMODE 0x00000007 #define USBC_GHWCFG3_DFIFODEPTH 0xffff0000 #define USBC_GHWCFG3_DFIFODEPTH_OFFSET 16 #define USBC_GHWCFG3_XXX_15_13 0x0000e000 #define USBC_GHWCFG3_AHBPHYSYNC UINT32_C(0x00001000) #define USBC_GHWCFG3_RSTTYPE UINT32_C(0x00000800) #define USBC_GHWCFG3_OPTFEATURE UINT32_C(0x00000400) #define USBC_GHWCFG3_VENDOR_CONTROL_INTERFACE_SUPPORT UINT32_C(0x00000200) #define USBC_GHWCFG3_I2C_SELECTION UINT32_C(0x00000100) #define USBC_GHWCFG3_OTGEN UINT32_C(0x00000080) #define USBC_GHWCFG3_PKTSIZEWIDTH 0x00000070 #define USBC_GHWCFG3_XFERSIZEWIDTH 0x0000000f #define USBC_GHWCFG4_XXX_31_25 0xfe000000 #define USBC_GHWCFG4_SESSENDFLTR UINT32_C(0x01000000) #define USBC_GHWCFG4_BVAILDFLTR UINT32_C(0x01000000) #define USBC_GHWCFG4_AVAILDFLTR UINT32_C(0x00800000) #define USBC_GHWCFG4_VBUSVALIDFLTR UINT32_C(0x00400000) #define USBC_GHWCFG4_IDDGFLTR UINT32_C(0x00200000) #define USBC_GHWCFG4_NUMCTLEPS 0x000f0000 #define USBC_GHWCFG4_PHYDATAWIDTH 0x0000c000 #define USBC_GHWCFG4_XXX_13_6 0x00003fc0 #define USBC_GHWCFG4_AHBFREQ UINT32_C(0x00000020) #define USBC_GHWCFG4_ENABLEPWROPT UINT32_C(0x00000010) #define USBC_GHWCFG4_NUMDEVPERIOEPS 0x0000000f #define USBC_HPTXFSIZ_PTXFSIZE 0xffff0000 #define USBC_HPTXFSIZ_PTXFSIZE_OFFSET 16 #define USBC_HPTXFSIZ_PTXFSTADDR 0x0000ffff #define USBC_HPTXFSIZ_PTXFSTADDR_OFFSET 0 /* for USBC_DPTXFSIZ(1..4) */ #define USBC_DPTXFSIZX_DPTXFSIZE 0xffff0000 #define USBC_DPTXFSIZX_PTXFSTADDR 0x0000ffff #define USBC_HCFG_XXX_31_3 0xfffffff8 #define USBC_HCFG_FSLSSUPP UINT32_C(0x00000004) #define USBC_HCFG_FSLSPCLKSEL 0x00000003 #define USBC_HCFG_FSLSPCLKSEL_OFFSET 0 #define USBC_HCFG_FSLSPCLKSEL_30_60_MHZ 0x00 #define USBC_HCFG_FSLSPCLKSEL_48_MHZ 0x01 #define USBC_HCFG_FSLSPCLKSEL_6_MHZ 0x10 #define USBC_HFIR_XXX_31_16 0xffff0000 #define USBC_HFIR_FRINT 0x0000ffff #define USBC_HFIR_FRINT_OFFSET 0 #define USBC_HFNUM_FRREM 0xffff0000 #define USBC_HFNUM_FRNUM 0x0000ffff #define USBC_HPTXSTS_PTXQTOP 0xff000000 #define USBC_HPTXSTS_PTXQSPCAVAIL 0x00ff0000 #define USBC_HPTXSTS_PTXQSPCAVAIL_OFFSET 16 #define USBC_HPTXSTS_PTXFSPCAVAIL 0x0000ffff #define USBC_HPTXSTS_PTXFSPCAVAIL_OFFSET 0 #define USBC_HAINT_XXX_31_16 0xffff0000 /* #define USBC_HAINT_HAINT __BITS32(15, 0) */ #define USBC_HAINT_HAINT_F UINT32_C(0x00008000) #define USBC_HAINT_HAINT_E UINT32_C(0x00004000) #define USBC_HAINT_HAINT_D UINT32_C(0x00002000) #define USBC_HAINT_HAINT_C UINT32_C(0x00001000) #define USBC_HAINT_HAINT_B UINT32_C(0x00000800) #define USBC_HAINT_HAINT_A UINT32_C(0x00000400) #define USBC_HAINT_HAINT_9 UINT32_C(0x00000200) #define USBC_HAINT_HAINT_8 UINT32_C(0x00000100) #define USBC_HAINT_HAINT_7 UINT32_C(0x00000080) #define USBC_HAINT_HAINT_6 UINT32_C(0x00000040) #define USBC_HAINT_HAINT_5 UINT32_C(0x00000020) #define USBC_HAINT_HAINT_4 UINT32_C(0x00000010) #define USBC_HAINT_HAINT_3 UINT32_C(0x00000008) #define USBC_HAINT_HAINT_2 UINT32_C(0x00000004) #define USBC_HAINT_HAINT_1 UINT32_C(0x00000002) #define USBC_HAINT_HAINT_0 UINT32_C(0x00000001) #define USBC_HAINTMSK_XXX_31_16 0xffff0000 /*#define USBC_HAINTMSK_HAINTMSK __BITS32(15, 0) */ #define USBC_HAINTMSK_HAINTMSK_F UINT32_C(0x00008000) #define USBC_HAINTMSK_HAINTMSK_E UINT32_C(0x00004000) #define USBC_HAINTMSK_HAINTMSK_D UINT32_C(0x00002000) #define USBC_HAINTMSK_HAINTMSK_C UINT32_C(0x00001000) #define USBC_HAINTMSK_HAINTMSK_B UINT32_C(0x00000800) #define USBC_HAINTMSK_HAINTMSK_A UINT32_C(0x00000400) #define USBC_HAINTMSK_HAINTMSK_9 UINT32_C(0x00000200) #define USBC_HAINTMSK_HAINTMSK_8 UINT32_C(0x00000100) #define USBC_HAINTMSK_HAINTMSK_7 UINT32_C(0x00000080) #define USBC_HAINTMSK_HAINTMSK_6 UINT32_C(0x00000040) #define USBC_HAINTMSK_HAINTMSK_5 UINT32_C(0x00000020) #define USBC_HAINTMSK_HAINTMSK_4 UINT32_C(0x00000010) #define USBC_HAINTMSK_HAINTMSK_3 UINT32_C(0x00000008) #define USBC_HAINTMSK_HAINTMSK_2 UINT32_C(0x00000004) #define USBC_HAINTMSK_HAINTMSK_1 UINT32_C(0x00000002) #define USBC_HAINTMSK_HAINTMSK_0 UINT32_C(0x00000001) #define USBC_HPRT_XXX_31_19 0xfff80000 #define USBC_HPRT_PRTSPD 0x00060000 #define USBC_HPRT_PRTSPD_OFFSET 17 #define USBC_HPRT_PRTSPD_HIGH 0x0 #define USBC_HPRT_PRTSPD_FULL 0x1 #define USBC_HPRT_PRTSPD_LOW 0x2 #define USBC_HPRT_PRTSPD_RESERVED 0x3 #define USBC_HPRT_PRTTSTCTL 0x0001e000 #define USBC_HPRT_PRTPWR UINT32_C(0x00001000) #define USBC_HPRT_PRTLNSTS 0x00000c00 #define USBC_HPRT_XXX_9 UINT32_C(0x00000200) #define USBC_HPRT_PRTRST UINT32_C(0x00000100) #define USBC_HPRT_PRTSUSP UINT32_C(0x00000080) #define USBC_HPRT_PRTRES UINT32_C(0x00000040) #define USBC_HPRT_PRTOVRCURRCHNG UINT32_C(0x00000020) #define USBC_HPRT_PRTOVRCURRACT UINT32_C(0x00000010) #define USBC_HPRT_PRTENCHNG UINT32_C(0x00000008) #define USBC_HPRT_PRTENA UINT32_C(0x00000004) #define USBC_HPRT_PRTCONNDET UINT32_C(0x00000002) #define USBC_HPRT_PRTCONNSTS UINT32_C(0x00000001) /* for USBC_HCCHAR(0..7) */ #define USBC_HCCHARX_CHENA UINT32_C(0x80000000) #define USBC_HCCHARX_CHDIS UINT32_C(0x40000000) #define USBC_HCCHARX_ODDFRM UINT32_C(0x20000000) #define USBC_HCCHARX_DEVADDR 0x1fc00000 #define USBC_HCCHARX_DEVADDR_OFFSET 22 #define USBC_HCCHARX_EC 0x00300000 #define USBC_HCCHARX_EC_OFFSET 20 #define USBC_HCCHARX_EPTYPE 0x000c0000 #define USBC_HCCHARX_EPTYPE_OFFSET 18 #define USBC_HCCHARX_EPTYPE_CONTROL 0x00 #define USBC_HCCHARX_EPTYPE_ISOCHRONOUS 0x01 #define USBC_HCCHARX_EPTYPE_BULK 0x02 #define USBC_HCCHARX_EPTYPE_INTERRUPT 0x03 #define USBC_HCCHARX_LSPDDEV UINT32_C(0x00020000) #define USBC_HCCHARX_XXX_16 UINT32_C(0x00010000) #define USBC_HCCHARX_EPDIR UINT32_C(0x00008000) #define USBC_HCCHARX_EPNUM 0x00007800 #define USBC_HCCHARX_EPNUM_OFFSET 11 #define USBC_HCCHARX_MPS 0x000007ff #define USBC_HCCHARX_MPS_OFFSET 0 /* for USBC_HCSPLT(0..7) */ #define USBC_HCSPLTX_SPLTENA UINT32_C(0x80000000) #define USBC_HCSPLTX_XXX_30_17 0x7ffe0000 #define USBC_HCSPLTX_COMPSPLT UINT32_C(0x00010000) #define USBC_HCSPLTX_XACTPOS 0x0000c000 #define USBC_HCSPLTX_HUBADDR 0x00003f80 #define USBC_HCSPLTX_PRTADDR 0x0000007f /* for USBC_HCINT(0..7) */ #define USBC_HCINTX_XXX_31_11 0xfffff800 #define USBC_HCINTX_DATATGLERR UINT32_C(0x00000400) #define USBC_HCINTX_FRMOVRUN UINT32_C(0x00000200) #define USBC_HCINTX_BBLERR UINT32_C(0x00000100) #define USBC_HCINTX_XACTERR UINT32_C(0x00000080) #define USBC_HCINTX_NYET UINT32_C(0x00000040) #define USBC_HCINTX_ACK UINT32_C(0x00000020) #define USBC_HCINTX_NAK UINT32_C(0x00000010) #define USBC_HCINTX_STALL UINT32_C(0x00000008) #define USBC_HCINTX_AHBERR UINT32_C(0x00000004) #define USBC_HCINTX_CHHLTD UINT32_C(0x00000002) #define USBC_HCINTX_XFERCOMPL UINT32_C(0x00000001) /* for USBC_HCINTMSK(0..7) */ #define USBC_HCINTMSKX_XXX_31_11 0xfffff800 #define USBC_HCINTMSKX_DATATGLERRMSK UINT32_C(0x00000400) #define USBC_HCINTMSKX_FRMOVRUNMSK UINT32_C(0x00000200) #define USBC_HCINTMSKX_BBLERRMSK UINT32_C(0x00000100) #define USBC_HCINTMSKX_XACTERRMSK UINT32_C(0x00000080) #define USBC_HCINTMSKX_NYETMSK UINT32_C(0x00000040) #define USBC_HCINTMSKX_ACKMSK UINT32_C(0x00000020) #define USBC_HCINTMSKX_NAKMSK UINT32_C(0x00000010) #define USBC_HCINTMSKX_STALLMSK UINT32_C(0x00000008) #define USBC_HCINTMSKX_AHBERRMSK UINT32_C(0x00000004) #define USBC_HCINTMSKX_CHHLTDMSK UINT32_C(0x00000002) #define USBC_HCINTMSKX_XFERCOMPLMSK UINT32_C(0x00000001) /* for USBC_HCTSIZ(0..7) */ #define USBC_HCTSIZX_DOPNG UINT32_C(0x80000000) #define USBC_HCTSIZX_PID 0x60000000 #define USBC_HCTSIZX_PID_OFFSET 29 #define USBC_HCTSIZX_PID_DATA0 0x00 #define USBC_HCTSIZX_PID_DATA2 0x01 #define USBC_HCTSIZX_PID_DATA1 0x02 #define USBC_HCTSIZX_PID_MDATA_SETUP 0x03 #define USBC_HCTSIZX_PKTCNT 0x1ff80000 #define USBC_HCTSIZX_PKTCNT_OFFSET 19 #define USBC_HCTSIZX_XFERSIZE 0x0007ffff #define USBC_HCTSIZX_XFERSIZE_OFFSET 0 /* XXX Device Mode Registers */ /* for USBC_NPTXDFIFO(0..7) */ #define USBC_NPTXDFIFOX_DATA 0xffffffff /* ---- snprintb */ #define USBC_GOTGINT_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "b\x13" "DBNCEDONE\0" \ "b\x12" "ADEVTOUTCHG\0" \ "b\x11" "HSTNEGDET\0" \ "b\x09" "HSTNEGSUCSTSCHNG\0" \ "b\x08" "SESREQSUCSTSCHNG\0" \ "b\x02" "SESENDDET\0" #define USBC_GINTSTS_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "b\x1f" "WKUPINT\0" \ "b\x1e" "SESSREQINT\0" \ "b\x1d" "DISCONNINT\0" \ "b\x1c" "CONIDSTSCHNG\0" \ "b\x1a" "PTXFEMP\0" \ "b\x19" "HCHINT\0" \ "b\x18" "PRTINT\0" \ "b\x16" "FETSUSP\0" \ "b\x15" "INCOMPLP\0" \ "b\x14" "INCOMPISOIN\0" \ "b\x13" "OEPINT\0" \ "b\x12" "IEPINT\0" \ "b\x11" "EPMIS\0" \ "b\x0f" "EOPF\0" \ "b\x0e" "ISOOUTDROP\0" \ "b\x0d" "ENUMDONE\0" \ "b\x0c" "USBRST\0" \ "b\x0b" "USBSUSP\0" \ "b\x0a" "ERLYSUSP\0" \ "b\x09" "I2CINT\0" \ "b\x08" "ULPICKINT\0" \ "b\x07" "GOUTNAKEFF\0" \ "b\x06" "GINNAKEFF\0" \ "b\x05" "NPTXFEMP\0" \ "b\x04" "RXFLVL\0" \ "b\x03" "SOF\0" \ "b\x02" "OTGINT\0" \ "b\x01" "MODEMIS\0" \ "b\x00" "CURMOD\0" #define USBC_GINTMSK_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "b\x1f" "WKUPINTMSK\0" \ "b\x1e" "SESSREQINTMSK\0" \ "b\x1d" "DISCONNINTMSK\0" \ "b\x1c" "CONIDSTSTCHNGMSK\0" \ "b\x1a" "PTXFEMPMSK\0" \ "b\x19" "HCHINTMSK\0" \ "b\x18" "PRTINTMSK\0" \ "b\x16" "FETSUSPMSK\0" \ "b\x15" "INCOMPISOOUTMSK\0" \ "b\x14" "INCOMPISOINMSK\0" \ "b\x13" "OEPINTMSK\0" \ "b\x12" "INEPINTMSK\0" \ "b\x11" "EPMISMSK\0" \ "b\x0f" "EOPFMSK\0" \ "b\x0e" "ISOOUTDROPMSK\0" \ "b\x0d" "ENUMDONEMSK\0" \ "b\x0c" "USBRSTMSK\0" \ "b\x0b" "USBSUSPMSK\0" \ "b\x0a" "ERLYSUSPMSK\0" \ "b\x09" "I2CINT\0" \ "b\x08" "ULPICKINTMSK\0" \ "b\x07" "GOUTNAKEFFMSK\0" \ "b\x06" "GINNAKEFFMSK\0" \ "b\x05" "NPTXFEMPMSK\0" \ "b\x04" "RXFLVLMSK\0" \ "b\x03" "SOFMSK\0" \ "b\x02" "OTGINTMSK\0" \ "b\x01" "MODEMISMSK\0" #define USBC_GRXSTSRH_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "f\x11\x04" "PKTSTS\0" \ "f\x0f\x02" "DPID\0" \ "f\x04\x0b" "BCNT\0" \ "f\x00\x04" "CHNUM\0" #define USBC_GRXSTSPH_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "f\x11\x04" "PKTSTS\0" \ "f\x0f\x02" "DPID\0" \ "f\x04\x0b" "BCNT\0" \ "f\x00\x04" "CHNUM\0" #define USBC_GUSBCFG_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "b\x10" "OTGI2CSEL\0" \ "b\x0f" "PHYLPWRCLKSEL\0" \ "f\x0a\x04" "USBTRDTIM\0" \ "b\x09" "HNPCAP\0" \ "b\x08" "SRPCAP\0" \ "b\x07" "DDRSEL\0" \ "b\x06" "PHYSEL\0" \ "b\x05" "FSINTF\0" \ "b\x04" "ULPI_UTMI_SEL\0" \ "b\x03" "PHYIF\0" \ "f\x00\x03" "TOUTCAL\0" #define USBC_GRSTCTL_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "b\x1f" "AHBIDLE\0" \ "b\x1e" "DMAREQ\0" \ "f\x06\x05" "TXFNUM\0" \ "b\x05" "TXFFLSH\0" \ "b\x04" "RXFFLSH\0" \ "b\x03" "INTKNQFLSH\0" \ "b\x02" "FRMCNTRRST\0" \ "b\x01" "HSFTRST\0" \ "b\x00" "CSFTRST\0" #define USBC_GAHBCFG_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "b\x08" "PTXFEMPLVL\0" \ "b\x07" "NPTXFEMPLVL\0" \ "b\x05" "DMAEN\0" \ "f\x01\x04" "HBSTLEN\0" \ "b\x00" "GLBLINTRMSK\0" #define USBC_GRXFSIZ_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "f\x00\x10" "RXFDEP\0" #define USBC_GNPTXFSIZ_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "f\x10\x10" "NPTXFEDP\0" \ "f\x00\x10" "NPTXFSTADDR\0" #define USBC_GNPTXSTS_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "f\x1b\x04" "NPTXQTOP_CHNUM\0" \ "f\x19\x02" "NPTXQTOP_ENTRY\0" \ "b\x18" "NPTXQTOP_TERMINATE\0" \ "f\x10\x08" "NPTXQSPCAVAIL\0" \ "f\x00\x10" "NPTXFSPCAVAIL\0" #define USBC_GHWCFG1_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "f\x00\x20" "EPDIR\0" #define USBC_GHWCFG2_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "f\x1a\x05" "TKNQDEPTH\0" \ "f\x18\x02" "PTXQDEPTH\0" \ "f\x16\x02" "NPTXQDEPTH\0" \ "b\x13" "DYNFIFOSIZING\0" \ "b\x12" "PERIOSUPPORT\0" \ "f\x0e\x04" "NUMHSTCHN1\0" \ "f\x0a\x04" "NUMDEVEPS\0" \ "f\x08\x02" "FSPHYTYPE\0" \ "f\x06\x02" "HSPHYTYPE\0" \ "b\x05" "SINGPNT\0" \ "f\x03\x02" "OTGARCH\0" \ "f\x00\x03" "OTGMODE\0" #define USBC_GHWCFG3_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "f\x10\x10" "DFIFODEPTH\0" \ "b\x0c" "AHBPHYSYNC\0" \ "b\x0b" "RSTTYPE\0" \ "b\x0a" "OPTFEATURE\0" \ "b\x09" "VENDOR_CONTROL_INTERFACE_SUPPORT\0" \ "b\x08" "I2C_SELECTION\0" \ "b\x07" "OTGEN\0" \ "f\x04\x03" "PKTSIZEWIDTH\0" \ "f\x00\x04" "XFERSIZEWIDTH\0" #define USBC_GHWCFG4_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "b\x18" "SESSENDFLTR\0" \ "b\x18" "BVAILDFLTR\0" \ "b\x17" "AVAILDFLTR\0" \ "b\x16" "VBUSVALIDFLTR\0" \ "b\x15" "IDDGFLTR\0" \ "f\x10\x04" "NUMCTLEPS\0" \ "f\x0e\x02" "PHYDATAWIDTH\0" \ "b\x05" "AHBFREQ\0" \ "b\x04" "ENABLEPWROPT\0" \ "f\x00\x04" "NUMDEVPERIOEPS\0" #define USBC_HCFG_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "b\x02" "FSLSSUPP\0" \ "f\x00\x02" "FSLSPCLKSEL\0" #define USBC_HPRT_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "f\x11\x02" "PRTSPD\0" \ "f\x0d\x04" "PRTTSTCTL\0" \ "b\x0c" "PRTPWR\0" \ "f\x0a\x02" "PRTLNSTS\0" \ "b\x08" "PRTRST\0" \ "b\x07" "PRTSUSP\0" \ "b\x06" "PRTRES\0" \ "b\x05" "PRTOVRCURRCHNG\0" \ "b\x04" "PRTOVRCURRACT\0" \ "b\x03" "PRTENCHNG\0" \ "b\x02" "PRTENA\0" \ "b\x01" "PRTCONNDET\0" \ "b\x00" "PRTCONNSTS\0" #define USBC_HFIR_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "f\x00\x10" "FRINT\0" #define USBC_HAINT_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "b\x0f" "HAINT_F\0" \ "b\x0e" "HAINT_E\0" \ "b\x0d" "HAINT_D\0" \ "b\x0c" "HAINT_C\0" \ "b\x0b" "HAINT_B\0" \ "b\x0a" "HAINT_A\0" \ "b\x09" "HAINT_9\0" \ "b\x08" "HAINT_8\0" \ "b\x07" "HAINT_7\0" \ "b\x06" "HAINT_6\0" \ "b\x05" "HAINT_5\0" \ "b\x04" "HAINT_4\0" \ "b\x03" "HAINT_3\0" \ "b\x02" "HAINT_2\0" \ "b\x01" "HAINT_1\0" \ "b\x00" "HAINT_0\0" #define USBC_HAINTMSK_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "b\x0f" "HAINTMSK_F\0" \ "b\x0e" "HAINTMSK_E\0" \ "b\x0d" "HAINTMSK_D\0" \ "b\x0c" "HAINTMSK_C\0" \ "b\x0b" "HAINTMSK_B\0" \ "b\x0a" "HAINTMSK_A\0" \ "b\x09" "HAINTMSK_9\0" \ "b\x08" "HAINTMSK_8\0" \ "b\x07" "HAINTMSK_7\0" \ "b\x06" "HAINTMSK_6\0" \ "b\x05" "HAINTMSK_5\0" \ "b\x04" "HAINTMSK_4\0" \ "b\x03" "HAINTMSK_3\0" \ "b\x02" "HAINTMSK_2\0" \ "b\x01" "HAINTMSK_1\0" \ "b\x00" "HAINTMSK_0\0" #define USBC_HCINTX_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "b\x0a" "DATATGLERR\0" \ "b\x09" "FRMOVRUN\0" \ "b\x08" "BBLERR\0" \ "b\x07" "XACTERR\0" \ "b\x06" "NYET\0" \ "b\x05" "ACK\0" \ "b\x04" "NAK\0" \ "b\x03" "STALL\0" \ "b\x02" "AHBERR\0" \ "b\x01" "CHHLTD\0" \ "b\x00" "XFERCOMPL\0" #define USBC_HCINT0_BITS USBC_HCINTX_BITS #define USBC_HCINT1_BITS USBC_HCINTX_BITS #define USBC_HCINT2_BITS USBC_HCINTX_BITS #define USBC_HCINT3_BITS USBC_HCINTX_BITS #define USBC_HCINT4_BITS USBC_HCINTX_BITS #define USBC_HCINT5_BITS USBC_HCINTX_BITS #define USBC_HCINT6_BITS USBC_HCINTX_BITS #define USBC_HCINT7_BITS USBC_HCINTX_BITS #define USBC_HCINTMSKX_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "b\x0a" "DATATGLERRMSK\0" \ "b\x09" "FRMOVRUNMSK\0" \ "b\x08" "BBLERRMSK\0" \ "b\x07" "XACTERRMSK\0" \ "b\x06" "NYETMSK\0" \ "b\x05" "ACKMSK\0" \ "b\x04" "NAKMSK\0" \ "b\x03" "STALLMSK\0" \ "b\x02" "AHBERRMSK\0" \ "b\x01" "CHHLTDMSK\0" \ "b\x00" "XFERCOMPLMSK\0" #define USBC_HCINTMSK0_BITS USBC_HCINTMSKX_BITS #define USBC_HCINTMSK1_BITS USBC_HCINTMSKX_BITS #define USBC_HCINTMSK2_BITS USBC_HCINTMSKX_BITS #define USBC_HCINTMSK3_BITS USBC_HCINTMSKX_BITS #define USBC_HCINTMSK4_BITS USBC_HCINTMSKX_BITS #define USBC_HCINTMSK5_BITS USBC_HCINTMSKX_BITS #define USBC_HCINTMSK6_BITS USBC_HCINTMSKX_BITS #define USBC_HCINTMSK7_BITS USBC_HCINTMSKX_BITS #define USBC_HCCHARX_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "b\x1f" "CHENA\0" \ "b\x1e" "CHDIS\0" \ "b\x1d" "ODDFRM\0" \ "f\x16\x07" "DEVADDR\0" \ "f\x14\x02" "EC\0" \ "f\x12\x02" "EPTYPE\0" \ "b\x11" "LSPDDEV\0" \ "b\x0f" "EPDIR\0" \ "f\x0b\x04" "EPNUM\0" \ "f\x00\x0b" "MPS\0" #define USBC_HCCHAR0_BITS USBC_HCCHARX_BITS #define USBC_HCCHAR1_BITS USBC_HCCHARX_BITS #define USBC_HCCHAR2_BITS USBC_HCCHARX_BITS #define USBC_HCCHAR3_BITS USBC_HCCHARX_BITS #define USBC_HCCHAR4_BITS USBC_HCCHARX_BITS #define USBC_HCCHAR5_BITS USBC_HCCHARX_BITS #define USBC_HCCHAR6_BITS USBC_HCCHARX_BITS #define USBC_HCCHAR7_BITS USBC_HCCHARX_BITS #define USBC_HCTSIZX_BITS \ "\177" /* new format */ \ "\020" /* hex display */ \ "\020" /* %016x format */ \ "b\x1f" "DOPNG\0" \ "f\x1d\x02" "PID\0" \ "f\x13\x0a" "PKTCNT\0" \ "f\x00\x13" "XFERSIZE\0" #define USBC_HCTSIZ0_BITS USBC_HCTSIZX_BITS #define USBC_HCTSIZ1_BITS USBC_HCTSIZX_BITS #define USBC_HCTSIZ2_BITS USBC_HCTSIZX_BITS #define USBC_HCTSIZ3_BITS USBC_HCTSIZX_BITS #define USBC_HCTSIZ4_BITS USBC_HCTSIZX_BITS #define USBC_HCTSIZ5_BITS USBC_HCTSIZX_BITS #define USBC_HCTSIZ6_BITS USBC_HCTSIZX_BITS #define USBC_HCTSIZ7_BITS USBC_HCTSIZX_BITS /* ---- bus_space */ #define USBC_BASE 0x00016F0010000000ULL #define USBC_SIZE 0x40020 #define USBC_GOTGCTL_OFFSET 0x00000000 #define USBC_GOTGINT_OFFSET 0x00000004 #define USBC_GAHBCFG_OFFSET 0x00000008 #define USBC_GUSBCFG_OFFSET 0x0000000C #define USBC_GRSTCTL_OFFSET 0x00000010 #define USBC_GINTSTS_OFFSET 0x00000014 #define USBC_GINTMSK_OFFSET 0x00000018 #define USBC_GRXSTSRH_OFFSET 0x0000001C #define USBC_GRXSTSPH_OFFSET 0x00000020 #define USBC_GRXFSIZ_OFFSET 0x00000024 #define USBC_GNPTXFSIZ_OFFSET 0x00000028 #define USBC_GNPTXSTS_OFFSET 0x0000002C #define USBC_GSNPSID_OFFSET 0x00000040 #define USBC_GHWCFG1_OFFSET 0x00000044 #define USBC_GHWCFG2_OFFSET 0x00000048 #define USBC_GHWCFG3_OFFSET 0x0000004C #define USBC_GHWCFG4_OFFSET 0x00000050 #define USBC_HPTXFSIZ_OFFSET 0x00000100 #define USBC_DPTXFSIZ1_OFFSET 0x00000104 #define USBC_DPTXFSIZ2_OFFSET 0x00000108 #define USBC_DPTXFSIZ3_OFFSET 0x0000010C #define USBC_DPTXFSIZ4_OFFSET 0x00000110 #define USBC_HCFG_OFFSET 0x00000400 #define USBC_HFIR_OFFSET 0x00000404 #define USBC_HFNUM_OFFSET 0x00000408 #define USBC_HPTXSTS_OFFSET 0x00000410 #define USBC_HAINT_OFFSET 0x00000414 #define USBC_HAINTMSK_OFFSET 0x00000418 #define USBC_HPRT_OFFSET 0x00000440 #define USBC_HCCHAR0_OFFSET 0x00000500 #define USBC_HCCHAR1_OFFSET 0x00000520 #define USBC_HCCHAR2_OFFSET 0x00000540 #define USBC_HCCHAR3_OFFSET 0x00000560 #define USBC_HCCHAR4_OFFSET 0x00000580 #define USBC_HCCHAR5_OFFSET 0x000005A0 #define USBC_HCCHAR6_OFFSET 0x000005C0 #define USBC_HCCHAR7_OFFSET 0x000005E0 #define USBC_HCSPLT0_OFFSET 0x00000504 #define USBC_HCSPLT1_OFFSET 0x00000524 #define USBC_HCSPLT2_OFFSET 0x00000544 #define USBC_HCSPLT3_OFFSET 0x00000564 #define USBC_HCSPLT4_OFFSET 0x00000584 #define USBC_HCSPLT5_OFFSET 0x000005A4 #define USBC_HCSPLT6_OFFSET 0x000005C4 #define USBC_HCSPLT7_OFFSET 0x000005E4 #define USBC_HCINT0_OFFSET 0x00000508 #define USBC_HCINT1_OFFSET 0x00000528 #define USBC_HCINT2_OFFSET 0x00000548 #define USBC_HCINT3_OFFSET 0x00000568 #define USBC_HCINT4_OFFSET 0x00000588 #define USBC_HCINT5_OFFSET 0x000005A8 #define USBC_HCINT6_OFFSET 0x000005C8 #define USBC_HCINT7_OFFSET 0x000005E8 #define USBC_HCINTMSK0_OFFSET 0x0000050C #define USBC_HCINTMSK1_OFFSET 0x0000052C #define USBC_HCINTMSK2_OFFSET 0x0000054C #define USBC_HCINTMSK3_OFFSET 0x0000056C #define USBC_HCINTMSK4_OFFSET 0x0000058C #define USBC_HCINTMSK5_OFFSET 0x000005AC #define USBC_HCINTMSK6_OFFSET 0x000005CC #define USBC_HCINTMSK7_OFFSET 0x000005EC #define USBC_HCTSIZ0_OFFSET 0x00000510 #define USBC_HCTSIZ1_OFFSET 0x00000530 #define USBC_HCTSIZ2_OFFSET 0x00000550 #define USBC_HCTSIZ3_OFFSET 0x00000570 #define USBC_HCTSIZ4_OFFSET 0x00000590 #define USBC_HCTSIZ5_OFFSET 0x000005B0 #define USBC_HCTSIZ6_OFFSET 0x000005D0 #define USBC_HCTSIZ7_OFFSET 0x000005F0 #define USBC_DCFG_OFFSET 0x00000800 #define USBC_DCTL_OFFSET 0x00000804 #define USBC_DSTS_OFFSET 0x00000808 #define USBC_DIEPMSK_OFFSET 0x00000810 #define USBC_DOEPMSK_OFFSET 0x00000814 #define USBC_DAINT_OFFSET 0x00000818 #define USBC_DAINTMSK_OFFSET 0x0000081C #define USBC_DTKNQR1_OFFSET 0x00000820 #define USBC_DTKNQR2_OFFSET 0x00000824 #define USBC_DTKNQR3_OFFSET 0x00000830 #define USBC_DTKNQR4_OFFSET 0x00000834 #define USBC_DIEPCTL0_OFFSET 0x00000900 #define USBC_DIEPCTL1_OFFSET 0x00000920 #define USBC_DIEPCTL2_OFFSET 0x00000940 #define USBC_DIEPCTL3_OFFSET 0x00000960 #define USBC_DIEPCTL4_OFFSET 0x00000980 #define USBC_DIEPINT0_OFFSET 0x00000908 #define USBC_DIEPINT1_OFFSET 0x00000928 #define USBC_DIEPINT2_OFFSET 0x00000948 #define USBC_DIEPINT3_OFFSET 0x00000968 #define USBC_DIEPINT4_OFFSET 0x00000988 #define USBC_DIEPTSIZ0_OFFSET 0x00000910 #define USBC_DIEPTSIZ1_OFFSET 0x00000930 #define USBC_DIEPTSIZ2_OFFSET 0x00000950 #define USBC_DIEPTSIZ3_OFFSET 0x00000970 #define USBC_DIEPTSIZ4_OFFSET 0x00000990 #define USBC_OEPCTL0_OFFSET 0x00000B00 #define USBC_OEPCTL1_OFFSET 0x00000B20 #define USBC_OEPCTL2_OFFSET 0x00000B40 #define USBC_OEPCTL3_OFFSET 0x00000B60 #define USBC_OEPCTL4_OFFSET 0x00000B80 #define USBC_OEPINT0_OFFSET 0x00000B08 #define USBC_OEPINT1_OFFSET 0x00000B28 #define USBC_OEPINT2_OFFSET 0x00000B48 #define USBC_OEPINT3_OFFSET 0x00000B68 #define USBC_OEPINT4_OFFSET 0x00000B88 #define USBC_OEPTSIZ0_OFFSET 0x00000B10 #define USBC_OEPTSIZ1_OFFSET 0x00000B30 #define USBC_OEPTSIZ2_OFFSET 0x00000B50 #define USBC_OEPTSIZ3_OFFSET 0x00000B70 #define USBC_OEPTSIZ4_OFFSET 0x00000B90 #define USBC_PCGCCTL_OFFSET 0x00000E00 #define USBC_NPTXDFIFO0_OFFSET 0x00001000 #define USBC_NPTXDFIFO1_OFFSET 0x00002000 #define USBC_NPTXDFIFO2_OFFSET 0x00003000 #define USBC_NPTXDFIFO3_OFFSET 0x00004000 #define USBC_NPTXDFIFO4_OFFSET 0x00005000 #define USBC_NPTXDFIFO5_OFFSET 0x00006000 #define USBC_NPTXDFIFO6_OFFSET 0x00007000 #define USBC_NPTXDFIFO7_OFFSET 0x00008000 #define USBC_GRXSTSRD_OFFSET 0x0004001C #define USBC_GRXSTSPD_OFFSET 0x00040020 #endif /* _OCTEON_USBCREG_H_ */