octeon_usbcreg.h revision 1.1
1/* $NetBSD: octeon_usbcreg.h,v 1.1 2015/04/29 08:32:01 hikaru Exp $ */ 2 3/* 4 * Copyright (c) 2007 Internet Initiative Japan, Inc. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2. Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 17 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 */ 28 29/* 30 * USBC Registers 31 */ 32 33#ifndef _OCTEON_USBCREG_H_ 34#define _OCTEON_USBCREG_H_ 35 36/* ---- register addresses */ 37 38#define USBC_GOTGCTL 0x00016F0010000000ULL 39#define USBC_GOTGINT 0x00016F0010000004ULL 40#define USBC_GAHBCFG 0x00016F0010000008ULL 41#define USBC_GUSBCFG 0x00016F001000000CULL 42#define USBC_GRSTCTL 0x00016F0010000010ULL 43#define USBC_GINTSTS 0x00016F0010000014ULL 44#define USBC_GINTMSK 0x00016F0010000018ULL 45#define USBC_GRXSTSRH 0x00016F001000001CULL 46#define USBC_GRXSTSPH 0x00016F0010000020ULL 47#define USBC_GRXFSIZ 0x00016F0010000024ULL 48#define USBC_GNPTXFSIZ 0x00016F0010000028ULL 49#define USBC_GNPTXSTS 0x00016F001000002CULL 50#define USBC_GSNPSID 0x00016F0010000040ULL 51#define USBC_GHWCFG1 0x00016F0010000044ULL 52#define USBC_GHWCFG2 0x00016F0010000048ULL 53#define USBC_GHWCFG3 0x00016F001000004CULL 54#define USBC_GHWCFG4 0x00016F0010000050ULL 55#define USBC_HPTXFSIZ 0x00016F0010000100ULL 56#define USBC_DPTXFSIZ1 0x00016F0010000104ULL 57#define USBC_DPTXFSIZ2 0x00016F0010000108ULL 58#define USBC_DPTXFSIZ3 0x00016F001000010CULL 59#define USBC_DPTXFSIZ4 0x00016F0010000110ULL 60#define USBC_HCFG 0x00016F0010000400ULL 61#define USBC_HFIR 0x00016F0010000404ULL 62#define USBC_HFNUM 0x00016F0010000408ULL 63#define USBC_HPTXSTS 0x00016F0010000410ULL 64#define USBC_HAINT 0x00016F0010000414ULL 65#define USBC_HAINTMSK 0x00016F0010000418ULL 66#define USBC_HPRT 0x00016F0010000440ULL 67#define USBC_HCCHAR0 0x00016F0010000500ULL 68#define USBC_HCCHAR1 0x00016F0010000520ULL 69#define USBC_HCCHAR2 0x00016F0010000540ULL 70#define USBC_HCCHAR3 0x00016F0010000560ULL 71#define USBC_HCCHAR4 0x00016F0010000580ULL 72#define USBC_HCCHAR5 0x00016F00100005A0ULL 73#define USBC_HCCHAR6 0x00016F00100005C0ULL 74#define USBC_HCCHAR7 0x00016F00100005E0ULL 75#define USBC_HCSPLT0 0x00016F0010000504ULL 76#define USBC_HCSPLT1 0x00016F0010000524ULL 77#define USBC_HCSPLT2 0x00016F0010000544ULL 78#define USBC_HCSPLT3 0x00016F0010000564ULL 79#define USBC_HCSPLT4 0x00016F0010000584ULL 80#define USBC_HCSPLT5 0x00016F00100005A4ULL 81#define USBC_HCSPLT6 0x00016F00100005C4ULL 82#define USBC_HCSPLT7 0x00016F00100005E4ULL 83#define USBC_HCINT0 0x00016F0010000508ULL 84#define USBC_HCINT1 0x00016F0010000528ULL 85#define USBC_HCINT2 0x00016F0010000548ULL 86#define USBC_HCINT3 0x00016F0010000568ULL 87#define USBC_HCINT4 0x00016F0010000588ULL 88#define USBC_HCINT5 0x00016F00100005A8ULL 89#define USBC_HCINT6 0x00016F00100005C8ULL 90#define USBC_HCINT7 0x00016F00100005E8ULL 91#define USBC_HCINTMSK0 0x00016F001000050CULL 92#define USBC_HCINTMSK1 0x00016F001000052CULL 93#define USBC_HCINTMSK2 0x00016F001000054CULL 94#define USBC_HCINTMSK3 0x00016F001000056CULL 95#define USBC_HCINTMSK4 0x00016F001000058CULL 96#define USBC_HCINTMSK5 0x00016F00100005ACULL 97#define USBC_HCINTMSK6 0x00016F00100005CCULL 98#define USBC_HCINTMSK7 0x00016F00100005ECULL 99#define USBC_HCTSIZ0 0x00016F0010000510ULL 100#define USBC_HCTSIZ1 0x00016F0010000530ULL 101#define USBC_HCTSIZ2 0x00016F0010000550ULL 102#define USBC_HCTSIZ3 0x00016F0010000570ULL 103#define USBC_HCTSIZ4 0x00016F0010000590ULL 104#define USBC_HCTSIZ5 0x00016F00100005B0ULL 105#define USBC_HCTSIZ6 0x00016F00100005D0ULL 106#define USBC_HCTSIZ7 0x00016F00100005F0ULL 107#define USBC_DCFG 0x00016F0010000800ULL 108#define USBC_DCTL 0x00016F0010000804ULL 109#define USBC_DSTS 0x00016F0010000808ULL 110#define USBC_DIEPMSK 0x00016F0010000810ULL 111#define USBC_DOEPMSK 0x00016F0010000814ULL 112#define USBC_DAINT 0x00016F0010000818ULL 113#define USBC_DAINTMSK 0x00016F001000081CULL 114#define USBC_DTKNQR1 0x00016F0010000820ULL 115#define USBC_DTKNQR2 0x00016F0010000824ULL 116#define USBC_DTKNQR3 0x00016F0010000830ULL 117#define USBC_DTKNQR4 0x00016F0010000834ULL 118#define USBC_DIEPCTL0 0x00016F0010000900ULL 119#define USBC_DIEPCTL1 0x00016F0010000920ULL 120#define USBC_DIEPCTL2 0x00016F0010000940ULL 121#define USBC_DIEPCTL3 0x00016F0010000960ULL 122#define USBC_DIEPCTL4 0x00016F0010000980ULL 123#define USBC_DIEPINT0 0x00016F0010000908ULL 124#define USBC_DIEPINT1 0x00016F0010000928ULL 125#define USBC_DIEPINT2 0x00016F0010000948ULL 126#define USBC_DIEPINT3 0x00016F0010000968ULL 127#define USBC_DIEPINT4 0x00016F0010000988ULL 128#define USBC_DIEPTSIZ0 0x00016F0010000910ULL 129#define USBC_DIEPTSIZ1 0x00016F0010000930ULL 130#define USBC_DIEPTSIZ2 0x00016F0010000950ULL 131#define USBC_DIEPTSIZ3 0x00016F0010000970ULL 132#define USBC_DIEPTSIZ4 0x00016F0010000990ULL 133#define USBC_OEPCTL0 0x00016F0010000B00ULL 134#define USBC_OEPCTL1 0x00016F0010000B20ULL 135#define USBC_OEPCTL2 0x00016F0010000B40ULL 136#define USBC_OEPCTL3 0x00016F0010000B60ULL 137#define USBC_OEPCTL4 0x00016F0010000B80ULL 138#define USBC_OEPINT0 0x00016F0010000B08ULL 139#define USBC_OEPINT1 0x00016F0010000B28ULL 140#define USBC_OEPINT2 0x00016F0010000B48ULL 141#define USBC_OEPINT3 0x00016F0010000B68ULL 142#define USBC_OEPINT4 0x00016F0010000B88ULL 143#define USBC_OEPTSIZ0 0x00016F0010000B10ULL 144#define USBC_OEPTSIZ1 0x00016F0010000B30ULL 145#define USBC_OEPTSIZ2 0x00016F0010000B50ULL 146#define USBC_OEPTSIZ3 0x00016F0010000B70ULL 147#define USBC_OEPTSIZ4 0x00016F0010000B90ULL 148#define USBC_PCGCCTL 0x00016F0010000E00ULL 149#define USBC_NPTXDFIFO0 0x00016F0010001000ULL 150#define USBC_NPTXDFIFO1 0x00016F0010002000ULL 151#define USBC_NPTXDFIFO2 0x00016F0010003000ULL 152#define USBC_NPTXDFIFO3 0x00016F0010004000ULL 153#define USBC_NPTXDFIFO4 0x00016F0010005000ULL 154#define USBC_NPTXDFIFO5 0x00016F0010006000ULL 155#define USBC_NPTXDFIFO6 0x00016F0010007000ULL 156#define USBC_NPTXDFIFO7 0x00016F0010008000ULL 157#define USBC_GRXSTSRD 0x00016F001004001CULL 158#define USBC_GRXSTSPD 0x00016F0010040020ULL 159 160/* ---- register bits */ 161 162#define USBC_GOTGCTL_XXX_31_21 0xffe00000 163#define USBC_GOTGCTL_XXX_20 UINT32_C(0x00100000) 164#define USBC_GOTGCTL_BSESVLD UINT32_C(0x00080000) 165#define USBC_GOTGCTL_ASESVLD UINT32_C(0x00040000) 166#define USBC_GOTGCTL_DBNCTIME UINT32_C(0x00020000) 167#define USBC_GOTGCTL_CONIDSTS UINT32_C(0x00010000) 168#define USBC_GOTGCTL_XXX_15_12 0x0000f000 169#define USBC_GOTGCTL_DEVHNPEN UINT32_C(0x00000800) 170#define USBC_GOTGCTL_HSTSETHNPEN UINT32_C(0x00000400) 171#define USBC_GOTGCTL_HNPREQ UINT32_C(0x00000200) 172#define USBC_GOTGCTL_HSTNEGSCS UINT32_C(0x00000100) 173#define USBC_GOTGCTL_XXX_7_2 0x000000fc 174#define USBC_GOTGCTL_SESREQ UINT32_C(0x00000002) 175#define USBC_GOTGCTL_SESREQSCS UINT32_C(0x00000001) 176 177#define USBC_GOTGINT_XXX_31_20 0xfff00000 178#define USBC_GOTGINT_DBNCEDONE UINT32_C(0x00080000) 179#define USBC_GOTGINT_ADEVTOUTCHG UINT32_C(0x00040000) 180#define USBC_GOTGINT_HSTNEGDET UINT32_C(0x00020000) 181#define USBC_GOTGINT_XXX_16_10 0x0001fc00 182#define USBC_GOTGINT_HSTNEGSUCSTSCHNG UINT32_C(0x00000200) 183#define USBC_GOTGINT_SESREQSUCSTSCHNG UINT32_C(0x00000100) 184#define USBC_GOTGINT_XXX_7_3 0x000000f8 185#define USBC_GOTGINT_SESENDDET UINT32_C(0x00000004) 186#define USBC_GOTGINT_XXX_1 UINT32_C(0x00000002) 187#define USBC_GOTGINT_XXX_0 UINT32_C(0x00000001) 188 189#define USBC_GAHBCFG_XXX_31_9 0xfffffe00 190#define USBC_GAHBCFG_PTXFEMPLVL UINT32_C(0x00000100) 191#define USBC_GAHBCFG_NPTXFEMPLVL UINT32_C(0x00000080) 192#define USBC_GAHBCFG_XXX_6 UINT32_C(0x00000040) 193#define USBC_GAHBCFG_DMAEN UINT32_C(0x00000020) 194#define USBC_GAHBCFG_HBSTLEN 0x0000001e 195#define USBC_GAHBCFG_HBSTLEN_OFFSET 1 196#define USBC_GAHBCFG_GLBLINTRMSK UINT32_C(0x00000001) 197 198#define USBC_GUSBCFG_XXX_31_17 0xfffe0000 199#define USBC_GUSBCFG_OTGI2CSEL UINT32_C(0x00010000) 200#define USBC_GUSBCFG_PHYLPWRCLKSEL UINT32_C(0x00008000) 201#define USBC_GUSBCFG_XXX_14 UINT32_C(0x00004000) 202#define USBC_GUSBCFG_USBTRDTIM 0x00003c00 203#define USBC_GUSBCFG_USBTRDTIM_OFFSET 10 204#define USBC_GUSBCFG_HNPCAP UINT32_C(0x00000200) 205#define USBC_GUSBCFG_SRPCAP UINT32_C(0x00000100) 206#define USBC_GUSBCFG_DDRSEL UINT32_C(0x00000080) 207#define USBC_GUSBCFG_PHYSEL UINT32_C(0x00000040) 208#define USBC_GUSBCFG_FSINTF UINT32_C(0x00000020) 209#define USBC_GUSBCFG_ULPI_UTMI_SEL UINT32_C(0x00000010) 210#define USBC_GUSBCFG_PHYIF UINT32_C(0x00000008) 211#define USBC_GUSBCFG_TOUTCAL 0x00000007 212#define USBC_GUSBCFG_TOUTCAL_OFFSET 0 213 214#define USBC_GRSTCTL_AHBIDLE UINT32_C(0x80000000) 215#define USBC_GRSTCTL_DMAREQ UINT32_C(0x40000000) 216#define USBC_GRSTCTL_XXX_29_11 0x3ffff800 217#define USBC_GRSTCTL_TXFNUM 0x000007c0 218#define USBC_GRSTCTL_TXFNUM_OFFSET 6 219#define USBC_GRSTCTL_TXFFLSH UINT32_C(0x00000020) 220#define USBC_GRSTCTL_RXFFLSH UINT32_C(0x00000010) 221#define USBC_GRSTCTL_INTKNQFLSH UINT32_C(0x00000008) 222#define USBC_GRSTCTL_FRMCNTRRST UINT32_C(0x00000004) 223#define USBC_GRSTCTL_HSFTRST UINT32_C(0x00000002) 224#define USBC_GRSTCTL_CSFTRST UINT32_C(0x00000001) 225 226#define USBC_GINTSTS_WKUPINT UINT32_C(0x80000000) 227#define USBC_GINTSTS_SESSREQINT UINT32_C(0x40000000) 228#define USBC_GINTSTS_DISCONNINT UINT32_C(0x20000000) 229#define USBC_GINTSTS_CONIDSTSCHNG UINT32_C(0x10000000) 230#define USBC_GINTSTS_XXX_27 UINT32_C(0x08000000) 231#define USBC_GINTSTS_PTXFEMP UINT32_C(0x04000000) 232#define USBC_GINTSTS_HCHINT UINT32_C(0x02000000) 233#define USBC_GINTSTS_PRTINT UINT32_C(0x01000000) 234#define USBC_GINTSTS_XXX_23 UINT32_C(0x00800000) 235#define USBC_GINTSTS_FETSUSP UINT32_C(0x00400000) 236#define USBC_GINTSTS_INCOMPLP UINT32_C(0x00200000) 237#define USBC_GINTSTS_INCOMPISOIN UINT32_C(0x00100000) 238#define USBC_GINTSTS_OEPINT UINT32_C(0x00080000) 239#define USBC_GINTSTS_IEPINT UINT32_C(0x00040000) 240#define USBC_GINTSTS_EPMIS UINT32_C(0x00020000) 241#define USBC_GINTSTS_XXX_16 UINT32_C(0x00010000) 242#define USBC_GINTSTS_EOPF UINT32_C(0x00008000) 243#define USBC_GINTSTS_ISOOUTDROP UINT32_C(0x00004000) 244#define USBC_GINTSTS_ENUMDONE UINT32_C(0x00002000) 245#define USBC_GINTSTS_USBRST UINT32_C(0x00001000) 246#define USBC_GINTSTS_USBSUSP UINT32_C(0x00000800) 247#define USBC_GINTSTS_ERLYSUSP UINT32_C(0x00000400) 248#define USBC_GINTSTS_I2CINT UINT32_C(0x00000200) 249#define USBC_GINTSTS_ULPICKINT UINT32_C(0x00000100) 250#define USBC_GINTSTS_GOUTNAKEFF UINT32_C(0x00000080) 251#define USBC_GINTSTS_GINNAKEFF UINT32_C(0x00000040) 252#define USBC_GINTSTS_NPTXFEMP UINT32_C(0x00000020) 253#define USBC_GINTSTS_RXFLVL UINT32_C(0x00000010) 254#define USBC_GINTSTS_SOF UINT32_C(0x00000008) 255#define USBC_GINTSTS_OTGINT UINT32_C(0x00000004) 256#define USBC_GINTSTS_MODEMIS UINT32_C(0x00000002) 257#define USBC_GINTSTS_CURMOD UINT32_C(0x00000001) 258#define USBC_GINTSTS_CURMOD_OFFSET 0 259#define USBC_GINTSTS_CURMOD_DEVICE 0x0 260#define USBC_GINTSTS_CURMOD_HOST 0x1 261 262#define USBC_GINTMSK_WKUPINTMSK UINT32_C(0x80000000) 263#define USBC_GINTMSK_SESSREQINTMSK UINT32_C(0x40000000) 264#define USBC_GINTMSK_DISCONNINTMSK UINT32_C(0x20000000) 265#define USBC_GINTMSK_CONIDSTSTCHNGMSK UINT32_C(0x10000000) 266#define USBC_GINTMSK_XXX_27 UINT32_C(0x08000000) 267#define USBC_GINTMSK_PTXFEMPMSK UINT32_C(0x04000000) 268#define USBC_GINTMSK_HCHINTMSK UINT32_C(0x02000000) 269#define USBC_GINTMSK_PRTINTMSK UINT32_C(0x01000000) 270#define USBC_GINTMSK_XXX_23 UINT32_C(0x00800000) 271#define USBC_GINTMSK_FETSUSPMSK UINT32_C(0x00400000) 272#define USBC_GINTMSK_INCOMPISOOUTMSK UINT32_C(0x00200000) 273#define USBC_GINTMSK_INCOMPISOINMSK UINT32_C(0x00100000) 274#define USBC_GINTMSK_OEPINTMSK UINT32_C(0x00080000) 275#define USBC_GINTMSK_INEPINTMSK UINT32_C(0x00040000) 276#define USBC_GINTMSK_EPMISMSK UINT32_C(0x00020000) 277#define USBC_GINTMSK_XXX_16 UINT32_C(0x00010000) 278#define USBC_GINTMSK_EOPFMSK UINT32_C(0x00008000) 279#define USBC_GINTMSK_ISOOUTDROPMSK UINT32_C(0x00004000) 280#define USBC_GINTMSK_ENUMDONEMSK UINT32_C(0x00002000) 281#define USBC_GINTMSK_USBRSTMSK UINT32_C(0x00001000) 282#define USBC_GINTMSK_USBSUSPMSK UINT32_C(0x00000800) 283#define USBC_GINTMSK_ERLYSUSPMSK UINT32_C(0x00000400) 284#define USBC_GINTMSK_I2CINT UINT32_C(0x00000200) 285#define USBC_GINTMSK_ULPICKINTMSK UINT32_C(0x00000100) 286#define USBC_GINTMSK_GOUTNAKEFFMSK UINT32_C(0x00000080) 287#define USBC_GINTMSK_GINNAKEFFMSK UINT32_C(0x00000040) 288#define USBC_GINTMSK_NPTXFEMPMSK UINT32_C(0x00000020) 289#define USBC_GINTMSK_RXFLVLMSK UINT32_C(0x00000010) 290#define USBC_GINTMSK_SOFMSK UINT32_C(0x00000008) 291#define USBC_GINTMSK_OTGINTMSK UINT32_C(0x00000004) 292#define USBC_GINTMSK_MODEMISMSK UINT32_C(0x00000002) 293#define USBC_GINTMSK_XXX_0 UINT32_C(0x00000001) 294 295#define USBC_GRXSTSRH_XXX_31_21 0xffe00000 296#define USBC_GRXSTSRH_PKTSTS 0x001e0000 297#define USBC_GRXSTSRH_PKTSTS_OFFSET 17 298#define USBC_GRXSTSRH_DPID 0x00018000 299#define USBC_GRXSTSRH_DPID_OFFSET 15 300#define USBC_GRXSTSRH_DPID_DATA0 0x00 301#define USBC_GRXSTSRH_DPID_DATA1 0x10 302#define USBC_GRXSTSRH_DPID_DATA2 0x01 303#define USBC_GRXSTSRH_DPID_MDATA 0x11 304#define USBC_GRXSTSRH_BCNT 0x00007ff0 305#define USBC_GRXSTSRH_BCNT_OFFSET 4 306#define USBC_GRXSTSRH_CHNUM 0x0000000f 307#define USBC_GRXSTSRH_CHNUM_OFFSET 0 308 309#define USBC_GRXSTSPH_XXX_31_21 0xffe00000 310#define USBC_GRXSTSPH_PKTSTS 0x001e0000 311#define USBC_GRXSTSPH_PKTSTS_OFFSET 17 312#define USBC_GRXSTSPH_PKTSTS_IN_DATA_RECV 0x2 313#define USBC_GRXSTSPH_PKTSTS_IN_XFER_COMPL 0x3 314#define USBC_GRXSTSPH_PKTSTS_TGL_ERR 0x5 315#define USBC_GRXSTSPH_PKTSTS_CH_HLTD 0x7 316#define USBC_GRXSTSPH_DPID 0x00018000 317#define USBC_GRXSTSPH_DPID_OFFSET 15 318#define USBC_GRXSTSPH_DPID_DATA0 0x00 319#define USBC_GRXSTSPH_DPID_DATA1 0x10 320#define USBC_GRXSTSPH_DPID_DATA2 0x01 321#define USBC_GRXSTSPH_DPID_MDATA 0x11 322#define USBC_GRXSTSPH_BCNT 0x00007ff0 323#define USBC_GRXSTSPH_BCNT_OFFSET 4 324#define USBC_GRXSTSPH_CHNUM 0x0000000f 325#define USBC_GRXSTSPH_CHNUM_OFFSET 0 326 327#define USBC_GRXSTSRD_XXX_31_25 0xfe000000 328#define USBC_GRXSTSRD_FN 0x01e00000 329#define USBC_GRXSTSRD_PKTSTS 0x001e0000 330#define USBC_GRXSTSRD_DPID 0x00018000 331#define USBC_GRXSTSRD_BCNT 0x00007ff0 332#define USBC_GRXSTSRD_EPNUM 0x0000000f 333 334#define USBC_GRXSTSPD_XXX_31_25 0xfe000000 335#define USBC_GRXSTSPD_FN 0x01e00000 336#define USBC_GRXSTSPD_PKTSTS 0x001e0000 337#define USBC_GRXSTSPD_DPID 0x00018000 338#define USBC_GRXSTSPD_BCNT 0x00007ff0 339#define USBC_GRXSTSPD_EPNUM 0x0000000f 340 341#define USBC_GRXFSIZ_XXX_31_16 0xffff0000 342#define USBC_GRXFSIZ_RXFDEP 0x0000ffff 343 344#define USBC_GNPTXFSIZ_NPTXFEDP 0xffff0000 345#define USBC_GNPTXFSIZ_NPTXFEDP_OFFSET 16 346#define USBC_GNPTXFSIZ_NPTXFSTADDR 0x0000ffff 347 348#define USBC_GNPTXSTS_XXX_31 UINT32_C(0x80000000) 349#define USBC_GNPTXSTS_NPTXQTOP_CHNUM 0x78000000 350#define USBC_GNPTXSTS_NPTXQTOP_ENTRY 0x06000000 351#define USBC_GNPTXSTS_NPTXQTOP_TERMINATE UINT32_C(0x01000000) 352#define USBC_GNPTXSTS_NPTXQSPCAVAIL 0x00ff0000 353#define USBC_GNPTXSTS_NPTXQSPCAVAIL_OFFSET 16 354#define USBC_GNPTXSTS_NPTXFSPCAVAIL 0x0000ffff 355#define USBC_GNPTXSTS_NPTXFSPCAVAIL_OFFSET 0 356 357#define USBC_GSNPSID_SYNOPSYSID 0xffffffff 358 359#define USBC_GHWCFG1_EPDIR 0xffffffff 360 361#define USBC_GHWCFG2_XXX_31 UINT32_C(0x80000000) 362#define USBC_GHWCFG2_TKNQDEPTH 0x7c000000 363#define USBC_GHWCFG2_PTXQDEPTH 0x03000000 364#define USBC_GHWCFG2_PTXQDEPTH_OFFSET 24 365#define USBC_GHWCFG2_NPTXQDEPTH 0x00c00000 366#define USBC_GHWCFG2_NPTXQDEPTH_OFFSET 22 367#define USBC_GHWCFG2_XXX_21_20 0x00300000 368#define USBC_GHWCFG2_DYNFIFOSIZING UINT32_C(0x00080000) 369#define USBC_GHWCFG2_PERIOSUPPORT UINT32_C(0x00040000) 370#define USBC_GHWCFG2_NUMHSTCHN1 0x0003c000 371#define USBC_GHWCFG2_NUMHSTCHN1_OFFSET 14 372#define USBC_GHWCFG2_NUMDEVEPS 0x00003c00 373#define USBC_GHWCFG2_FSPHYTYPE 0x00000300 374#define USBC_GHWCFG2_HSPHYTYPE 0x000000c0 375#define USBC_GHWCFG2_SINGPNT UINT32_C(0x00000020) 376#define USBC_GHWCFG2_OTGARCH 0x00000018 377#define USBC_GHWCFG2_OTGARCH_OFFSET 3 378#define USBC_GHWCFG2_OTGARCH_SLAVEONLY 0x0 379#define USBC_GHWCFG2_OTGARCH_EXTERNALDMA 0x1 380#define USBC_GHWCFG2_OTGARCH_INTERNALDMA 0x2 381#define USBC_GHWCFG2_OTGARCH_RESERVED 0x3 382#define USBC_GHWCFG2_OTGMODE 0x00000007 383 384#define USBC_GHWCFG3_DFIFODEPTH 0xffff0000 385#define USBC_GHWCFG3_DFIFODEPTH_OFFSET 16 386#define USBC_GHWCFG3_XXX_15_13 0x0000e000 387#define USBC_GHWCFG3_AHBPHYSYNC UINT32_C(0x00001000) 388#define USBC_GHWCFG3_RSTTYPE UINT32_C(0x00000800) 389#define USBC_GHWCFG3_OPTFEATURE UINT32_C(0x00000400) 390#define USBC_GHWCFG3_VENDOR_CONTROL_INTERFACE_SUPPORT UINT32_C(0x00000200) 391#define USBC_GHWCFG3_I2C_SELECTION UINT32_C(0x00000100) 392#define USBC_GHWCFG3_OTGEN UINT32_C(0x00000080) 393#define USBC_GHWCFG3_PKTSIZEWIDTH 0x00000070 394#define USBC_GHWCFG3_XFERSIZEWIDTH 0x0000000f 395 396#define USBC_GHWCFG4_XXX_31_25 0xfe000000 397#define USBC_GHWCFG4_SESSENDFLTR UINT32_C(0x01000000) 398#define USBC_GHWCFG4_BVAILDFLTR UINT32_C(0x01000000) 399#define USBC_GHWCFG4_AVAILDFLTR UINT32_C(0x00800000) 400#define USBC_GHWCFG4_VBUSVALIDFLTR UINT32_C(0x00400000) 401#define USBC_GHWCFG4_IDDGFLTR UINT32_C(0x00200000) 402#define USBC_GHWCFG4_NUMCTLEPS 0x000f0000 403#define USBC_GHWCFG4_PHYDATAWIDTH 0x0000c000 404#define USBC_GHWCFG4_XXX_13_6 0x00003fc0 405#define USBC_GHWCFG4_AHBFREQ UINT32_C(0x00000020) 406#define USBC_GHWCFG4_ENABLEPWROPT UINT32_C(0x00000010) 407#define USBC_GHWCFG4_NUMDEVPERIOEPS 0x0000000f 408 409#define USBC_HPTXFSIZ_PTXFSIZE 0xffff0000 410#define USBC_HPTXFSIZ_PTXFSIZE_OFFSET 16 411#define USBC_HPTXFSIZ_PTXFSTADDR 0x0000ffff 412#define USBC_HPTXFSIZ_PTXFSTADDR_OFFSET 0 413 414/* for USBC_DPTXFSIZ(1..4) */ 415#define USBC_DPTXFSIZX_DPTXFSIZE 0xffff0000 416#define USBC_DPTXFSIZX_PTXFSTADDR 0x0000ffff 417 418#define USBC_HCFG_XXX_31_3 0xfffffff8 419#define USBC_HCFG_FSLSSUPP UINT32_C(0x00000004) 420#define USBC_HCFG_FSLSPCLKSEL 0x00000003 421#define USBC_HCFG_FSLSPCLKSEL_OFFSET 0 422#define USBC_HCFG_FSLSPCLKSEL_30_60_MHZ 0x00 423#define USBC_HCFG_FSLSPCLKSEL_48_MHZ 0x01 424#define USBC_HCFG_FSLSPCLKSEL_6_MHZ 0x10 425 426#define USBC_HFIR_XXX_31_16 0xffff0000 427#define USBC_HFIR_FRINT 0x0000ffff 428#define USBC_HFIR_FRINT_OFFSET 0 429 430#define USBC_HFNUM_FRREM 0xffff0000 431#define USBC_HFNUM_FRNUM 0x0000ffff 432 433#define USBC_HPTXSTS_PTXQTOP 0xff000000 434#define USBC_HPTXSTS_PTXQSPCAVAIL 0x00ff0000 435#define USBC_HPTXSTS_PTXQSPCAVAIL_OFFSET 16 436#define USBC_HPTXSTS_PTXFSPCAVAIL 0x0000ffff 437#define USBC_HPTXSTS_PTXFSPCAVAIL_OFFSET 0 438 439#define USBC_HAINT_XXX_31_16 0xffff0000 440/* #define USBC_HAINT_HAINT __BITS32(15, 0) */ 441#define USBC_HAINT_HAINT_F UINT32_C(0x00008000) 442#define USBC_HAINT_HAINT_E UINT32_C(0x00004000) 443#define USBC_HAINT_HAINT_D UINT32_C(0x00002000) 444#define USBC_HAINT_HAINT_C UINT32_C(0x00001000) 445#define USBC_HAINT_HAINT_B UINT32_C(0x00000800) 446#define USBC_HAINT_HAINT_A UINT32_C(0x00000400) 447#define USBC_HAINT_HAINT_9 UINT32_C(0x00000200) 448#define USBC_HAINT_HAINT_8 UINT32_C(0x00000100) 449#define USBC_HAINT_HAINT_7 UINT32_C(0x00000080) 450#define USBC_HAINT_HAINT_6 UINT32_C(0x00000040) 451#define USBC_HAINT_HAINT_5 UINT32_C(0x00000020) 452#define USBC_HAINT_HAINT_4 UINT32_C(0x00000010) 453#define USBC_HAINT_HAINT_3 UINT32_C(0x00000008) 454#define USBC_HAINT_HAINT_2 UINT32_C(0x00000004) 455#define USBC_HAINT_HAINT_1 UINT32_C(0x00000002) 456#define USBC_HAINT_HAINT_0 UINT32_C(0x00000001) 457 458#define USBC_HAINTMSK_XXX_31_16 0xffff0000 459/*#define USBC_HAINTMSK_HAINTMSK __BITS32(15, 0) */ 460#define USBC_HAINTMSK_HAINTMSK_F UINT32_C(0x00008000) 461#define USBC_HAINTMSK_HAINTMSK_E UINT32_C(0x00004000) 462#define USBC_HAINTMSK_HAINTMSK_D UINT32_C(0x00002000) 463#define USBC_HAINTMSK_HAINTMSK_C UINT32_C(0x00001000) 464#define USBC_HAINTMSK_HAINTMSK_B UINT32_C(0x00000800) 465#define USBC_HAINTMSK_HAINTMSK_A UINT32_C(0x00000400) 466#define USBC_HAINTMSK_HAINTMSK_9 UINT32_C(0x00000200) 467#define USBC_HAINTMSK_HAINTMSK_8 UINT32_C(0x00000100) 468#define USBC_HAINTMSK_HAINTMSK_7 UINT32_C(0x00000080) 469#define USBC_HAINTMSK_HAINTMSK_6 UINT32_C(0x00000040) 470#define USBC_HAINTMSK_HAINTMSK_5 UINT32_C(0x00000020) 471#define USBC_HAINTMSK_HAINTMSK_4 UINT32_C(0x00000010) 472#define USBC_HAINTMSK_HAINTMSK_3 UINT32_C(0x00000008) 473#define USBC_HAINTMSK_HAINTMSK_2 UINT32_C(0x00000004) 474#define USBC_HAINTMSK_HAINTMSK_1 UINT32_C(0x00000002) 475#define USBC_HAINTMSK_HAINTMSK_0 UINT32_C(0x00000001) 476 477#define USBC_HPRT_XXX_31_19 0xfff80000 478#define USBC_HPRT_PRTSPD 0x00060000 479#define USBC_HPRT_PRTSPD_OFFSET 17 480#define USBC_HPRT_PRTSPD_HIGH 0x0 481#define USBC_HPRT_PRTSPD_FULL 0x1 482#define USBC_HPRT_PRTSPD_LOW 0x2 483#define USBC_HPRT_PRTSPD_RESERVED 0x3 484#define USBC_HPRT_PRTTSTCTL 0x0001e000 485#define USBC_HPRT_PRTPWR UINT32_C(0x00001000) 486#define USBC_HPRT_PRTLNSTS 0x00000c00 487#define USBC_HPRT_XXX_9 UINT32_C(0x00000200) 488#define USBC_HPRT_PRTRST UINT32_C(0x00000100) 489#define USBC_HPRT_PRTSUSP UINT32_C(0x00000080) 490#define USBC_HPRT_PRTRES UINT32_C(0x00000040) 491#define USBC_HPRT_PRTOVRCURRCHNG UINT32_C(0x00000020) 492#define USBC_HPRT_PRTOVRCURRACT UINT32_C(0x00000010) 493#define USBC_HPRT_PRTENCHNG UINT32_C(0x00000008) 494#define USBC_HPRT_PRTENA UINT32_C(0x00000004) 495#define USBC_HPRT_PRTCONNDET UINT32_C(0x00000002) 496#define USBC_HPRT_PRTCONNSTS UINT32_C(0x00000001) 497 498/* for USBC_HCCHAR(0..7) */ 499#define USBC_HCCHARX_CHENA UINT32_C(0x80000000) 500#define USBC_HCCHARX_CHDIS UINT32_C(0x40000000) 501#define USBC_HCCHARX_ODDFRM UINT32_C(0x20000000) 502#define USBC_HCCHARX_DEVADDR 0x1fc00000 503#define USBC_HCCHARX_DEVADDR_OFFSET 22 504#define USBC_HCCHARX_EC 0x00300000 505#define USBC_HCCHARX_EC_OFFSET 20 506#define USBC_HCCHARX_EPTYPE 0x000c0000 507#define USBC_HCCHARX_EPTYPE_OFFSET 18 508#define USBC_HCCHARX_EPTYPE_CONTROL 0x00 509#define USBC_HCCHARX_EPTYPE_ISOCHRONOUS 0x01 510#define USBC_HCCHARX_EPTYPE_BULK 0x02 511#define USBC_HCCHARX_EPTYPE_INTERRUPT 0x03 512#define USBC_HCCHARX_LSPDDEV UINT32_C(0x00020000) 513#define USBC_HCCHARX_XXX_16 UINT32_C(0x00010000) 514#define USBC_HCCHARX_EPDIR UINT32_C(0x00008000) 515#define USBC_HCCHARX_EPNUM 0x00007800 516#define USBC_HCCHARX_EPNUM_OFFSET 11 517#define USBC_HCCHARX_MPS 0x000007ff 518#define USBC_HCCHARX_MPS_OFFSET 0 519 520/* for USBC_HCSPLT(0..7) */ 521#define USBC_HCSPLTX_SPLTENA UINT32_C(0x80000000) 522#define USBC_HCSPLTX_XXX_30_17 0x7ffe0000 523#define USBC_HCSPLTX_COMPSPLT UINT32_C(0x00010000) 524#define USBC_HCSPLTX_XACTPOS 0x0000c000 525#define USBC_HCSPLTX_HUBADDR 0x00003f80 526#define USBC_HCSPLTX_PRTADDR 0x0000007f 527 528/* for USBC_HCINT(0..7) */ 529#define USBC_HCINTX_XXX_31_11 0xfffff800 530#define USBC_HCINTX_DATATGLERR UINT32_C(0x00000400) 531#define USBC_HCINTX_FRMOVRUN UINT32_C(0x00000200) 532#define USBC_HCINTX_BBLERR UINT32_C(0x00000100) 533#define USBC_HCINTX_XACTERR UINT32_C(0x00000080) 534#define USBC_HCINTX_NYET UINT32_C(0x00000040) 535#define USBC_HCINTX_ACK UINT32_C(0x00000020) 536#define USBC_HCINTX_NAK UINT32_C(0x00000010) 537#define USBC_HCINTX_STALL UINT32_C(0x00000008) 538#define USBC_HCINTX_AHBERR UINT32_C(0x00000004) 539#define USBC_HCINTX_CHHLTD UINT32_C(0x00000002) 540#define USBC_HCINTX_XFERCOMPL UINT32_C(0x00000001) 541 542/* for USBC_HCINTMSK(0..7) */ 543#define USBC_HCINTMSKX_XXX_31_11 0xfffff800 544#define USBC_HCINTMSKX_DATATGLERRMSK UINT32_C(0x00000400) 545#define USBC_HCINTMSKX_FRMOVRUNMSK UINT32_C(0x00000200) 546#define USBC_HCINTMSKX_BBLERRMSK UINT32_C(0x00000100) 547#define USBC_HCINTMSKX_XACTERRMSK UINT32_C(0x00000080) 548#define USBC_HCINTMSKX_NYETMSK UINT32_C(0x00000040) 549#define USBC_HCINTMSKX_ACKMSK UINT32_C(0x00000020) 550#define USBC_HCINTMSKX_NAKMSK UINT32_C(0x00000010) 551#define USBC_HCINTMSKX_STALLMSK UINT32_C(0x00000008) 552#define USBC_HCINTMSKX_AHBERRMSK UINT32_C(0x00000004) 553#define USBC_HCINTMSKX_CHHLTDMSK UINT32_C(0x00000002) 554#define USBC_HCINTMSKX_XFERCOMPLMSK UINT32_C(0x00000001) 555 556/* for USBC_HCTSIZ(0..7) */ 557#define USBC_HCTSIZX_DOPNG UINT32_C(0x80000000) 558#define USBC_HCTSIZX_PID 0x60000000 559#define USBC_HCTSIZX_PID_OFFSET 29 560#define USBC_HCTSIZX_PID_DATA0 0x00 561#define USBC_HCTSIZX_PID_DATA2 0x01 562#define USBC_HCTSIZX_PID_DATA1 0x02 563#define USBC_HCTSIZX_PID_MDATA_SETUP 0x03 564#define USBC_HCTSIZX_PKTCNT 0x1ff80000 565#define USBC_HCTSIZX_PKTCNT_OFFSET 19 566#define USBC_HCTSIZX_XFERSIZE 0x0007ffff 567#define USBC_HCTSIZX_XFERSIZE_OFFSET 0 568 569/* XXX Device Mode Registers */ 570 571 572 573/* for USBC_NPTXDFIFO(0..7) */ 574#define USBC_NPTXDFIFOX_DATA 0xffffffff 575 576/* ---- snprintb */ 577 578#define USBC_GOTGINT_BITS \ 579 "\177" /* new format */ \ 580 "\020" /* hex display */ \ 581 "\020" /* %016x format */ \ 582 "b\x13" "DBNCEDONE\0" \ 583 "b\x12" "ADEVTOUTCHG\0" \ 584 "b\x11" "HSTNEGDET\0" \ 585 "b\x09" "HSTNEGSUCSTSCHNG\0" \ 586 "b\x08" "SESREQSUCSTSCHNG\0" \ 587 "b\x02" "SESENDDET\0" 588 589#define USBC_GINTSTS_BITS \ 590 "\177" /* new format */ \ 591 "\020" /* hex display */ \ 592 "\020" /* %016x format */ \ 593 "b\x1f" "WKUPINT\0" \ 594 "b\x1e" "SESSREQINT\0" \ 595 "b\x1d" "DISCONNINT\0" \ 596 "b\x1c" "CONIDSTSCHNG\0" \ 597 "b\x1a" "PTXFEMP\0" \ 598 "b\x19" "HCHINT\0" \ 599 "b\x18" "PRTINT\0" \ 600 "b\x16" "FETSUSP\0" \ 601 "b\x15" "INCOMPLP\0" \ 602 "b\x14" "INCOMPISOIN\0" \ 603 "b\x13" "OEPINT\0" \ 604 "b\x12" "IEPINT\0" \ 605 "b\x11" "EPMIS\0" \ 606 "b\x0f" "EOPF\0" \ 607 "b\x0e" "ISOOUTDROP\0" \ 608 "b\x0d" "ENUMDONE\0" \ 609 "b\x0c" "USBRST\0" \ 610 "b\x0b" "USBSUSP\0" \ 611 "b\x0a" "ERLYSUSP\0" \ 612 "b\x09" "I2CINT\0" \ 613 "b\x08" "ULPICKINT\0" \ 614 "b\x07" "GOUTNAKEFF\0" \ 615 "b\x06" "GINNAKEFF\0" \ 616 "b\x05" "NPTXFEMP\0" \ 617 "b\x04" "RXFLVL\0" \ 618 "b\x03" "SOF\0" \ 619 "b\x02" "OTGINT\0" \ 620 "b\x01" "MODEMIS\0" \ 621 "b\x00" "CURMOD\0" 622 623#define USBC_GINTMSK_BITS \ 624 "\177" /* new format */ \ 625 "\020" /* hex display */ \ 626 "\020" /* %016x format */ \ 627 "b\x1f" "WKUPINTMSK\0" \ 628 "b\x1e" "SESSREQINTMSK\0" \ 629 "b\x1d" "DISCONNINTMSK\0" \ 630 "b\x1c" "CONIDSTSTCHNGMSK\0" \ 631 "b\x1a" "PTXFEMPMSK\0" \ 632 "b\x19" "HCHINTMSK\0" \ 633 "b\x18" "PRTINTMSK\0" \ 634 "b\x16" "FETSUSPMSK\0" \ 635 "b\x15" "INCOMPISOOUTMSK\0" \ 636 "b\x14" "INCOMPISOINMSK\0" \ 637 "b\x13" "OEPINTMSK\0" \ 638 "b\x12" "INEPINTMSK\0" \ 639 "b\x11" "EPMISMSK\0" \ 640 "b\x0f" "EOPFMSK\0" \ 641 "b\x0e" "ISOOUTDROPMSK\0" \ 642 "b\x0d" "ENUMDONEMSK\0" \ 643 "b\x0c" "USBRSTMSK\0" \ 644 "b\x0b" "USBSUSPMSK\0" \ 645 "b\x0a" "ERLYSUSPMSK\0" \ 646 "b\x09" "I2CINT\0" \ 647 "b\x08" "ULPICKINTMSK\0" \ 648 "b\x07" "GOUTNAKEFFMSK\0" \ 649 "b\x06" "GINNAKEFFMSK\0" \ 650 "b\x05" "NPTXFEMPMSK\0" \ 651 "b\x04" "RXFLVLMSK\0" \ 652 "b\x03" "SOFMSK\0" \ 653 "b\x02" "OTGINTMSK\0" \ 654 "b\x01" "MODEMISMSK\0" 655 656#define USBC_GRXSTSRH_BITS \ 657 "\177" /* new format */ \ 658 "\020" /* hex display */ \ 659 "\020" /* %016x format */ \ 660 "f\x11\x04" "PKTSTS\0" \ 661 "f\x0f\x02" "DPID\0" \ 662 "f\x04\x0b" "BCNT\0" \ 663 "f\x00\x04" "CHNUM\0" 664 665#define USBC_GRXSTSPH_BITS \ 666 "\177" /* new format */ \ 667 "\020" /* hex display */ \ 668 "\020" /* %016x format */ \ 669 "f\x11\x04" "PKTSTS\0" \ 670 "f\x0f\x02" "DPID\0" \ 671 "f\x04\x0b" "BCNT\0" \ 672 "f\x00\x04" "CHNUM\0" 673 674#define USBC_GUSBCFG_BITS \ 675 "\177" /* new format */ \ 676 "\020" /* hex display */ \ 677 "\020" /* %016x format */ \ 678 "b\x10" "OTGI2CSEL\0" \ 679 "b\x0f" "PHYLPWRCLKSEL\0" \ 680 "f\x0a\x04" "USBTRDTIM\0" \ 681 "b\x09" "HNPCAP\0" \ 682 "b\x08" "SRPCAP\0" \ 683 "b\x07" "DDRSEL\0" \ 684 "b\x06" "PHYSEL\0" \ 685 "b\x05" "FSINTF\0" \ 686 "b\x04" "ULPI_UTMI_SEL\0" \ 687 "b\x03" "PHYIF\0" \ 688 "f\x00\x03" "TOUTCAL\0" 689 690#define USBC_GRSTCTL_BITS \ 691 "\177" /* new format */ \ 692 "\020" /* hex display */ \ 693 "\020" /* %016x format */ \ 694 "b\x1f" "AHBIDLE\0" \ 695 "b\x1e" "DMAREQ\0" \ 696 "f\x06\x05" "TXFNUM\0" \ 697 "b\x05" "TXFFLSH\0" \ 698 "b\x04" "RXFFLSH\0" \ 699 "b\x03" "INTKNQFLSH\0" \ 700 "b\x02" "FRMCNTRRST\0" \ 701 "b\x01" "HSFTRST\0" \ 702 "b\x00" "CSFTRST\0" 703 704#define USBC_GAHBCFG_BITS \ 705 "\177" /* new format */ \ 706 "\020" /* hex display */ \ 707 "\020" /* %016x format */ \ 708 "b\x08" "PTXFEMPLVL\0" \ 709 "b\x07" "NPTXFEMPLVL\0" \ 710 "b\x05" "DMAEN\0" \ 711 "f\x01\x04" "HBSTLEN\0" \ 712 "b\x00" "GLBLINTRMSK\0" 713 714#define USBC_GRXFSIZ_BITS \ 715 "\177" /* new format */ \ 716 "\020" /* hex display */ \ 717 "\020" /* %016x format */ \ 718 "f\x00\x10" "RXFDEP\0" 719 720#define USBC_GNPTXFSIZ_BITS \ 721 "\177" /* new format */ \ 722 "\020" /* hex display */ \ 723 "\020" /* %016x format */ \ 724 "f\x10\x10" "NPTXFEDP\0" \ 725 "f\x00\x10" "NPTXFSTADDR\0" 726 727#define USBC_GNPTXSTS_BITS \ 728 "\177" /* new format */ \ 729 "\020" /* hex display */ \ 730 "\020" /* %016x format */ \ 731 "f\x1b\x04" "NPTXQTOP_CHNUM\0" \ 732 "f\x19\x02" "NPTXQTOP_ENTRY\0" \ 733 "b\x18" "NPTXQTOP_TERMINATE\0" \ 734 "f\x10\x08" "NPTXQSPCAVAIL\0" \ 735 "f\x00\x10" "NPTXFSPCAVAIL\0" 736 737#define USBC_GHWCFG1_BITS \ 738 "\177" /* new format */ \ 739 "\020" /* hex display */ \ 740 "\020" /* %016x format */ \ 741 "f\x00\x20" "EPDIR\0" 742 743#define USBC_GHWCFG2_BITS \ 744 "\177" /* new format */ \ 745 "\020" /* hex display */ \ 746 "\020" /* %016x format */ \ 747 "f\x1a\x05" "TKNQDEPTH\0" \ 748 "f\x18\x02" "PTXQDEPTH\0" \ 749 "f\x16\x02" "NPTXQDEPTH\0" \ 750 "b\x13" "DYNFIFOSIZING\0" \ 751 "b\x12" "PERIOSUPPORT\0" \ 752 "f\x0e\x04" "NUMHSTCHN1\0" \ 753 "f\x0a\x04" "NUMDEVEPS\0" \ 754 "f\x08\x02" "FSPHYTYPE\0" \ 755 "f\x06\x02" "HSPHYTYPE\0" \ 756 "b\x05" "SINGPNT\0" \ 757 "f\x03\x02" "OTGARCH\0" \ 758 "f\x00\x03" "OTGMODE\0" 759 760#define USBC_GHWCFG3_BITS \ 761 "\177" /* new format */ \ 762 "\020" /* hex display */ \ 763 "\020" /* %016x format */ \ 764 "f\x10\x10" "DFIFODEPTH\0" \ 765 "b\x0c" "AHBPHYSYNC\0" \ 766 "b\x0b" "RSTTYPE\0" \ 767 "b\x0a" "OPTFEATURE\0" \ 768 "b\x09" "VENDOR_CONTROL_INTERFACE_SUPPORT\0" \ 769 "b\x08" "I2C_SELECTION\0" \ 770 "b\x07" "OTGEN\0" \ 771 "f\x04\x03" "PKTSIZEWIDTH\0" \ 772 "f\x00\x04" "XFERSIZEWIDTH\0" 773 774#define USBC_GHWCFG4_BITS \ 775 "\177" /* new format */ \ 776 "\020" /* hex display */ \ 777 "\020" /* %016x format */ \ 778 "b\x18" "SESSENDFLTR\0" \ 779 "b\x18" "BVAILDFLTR\0" \ 780 "b\x17" "AVAILDFLTR\0" \ 781 "b\x16" "VBUSVALIDFLTR\0" \ 782 "b\x15" "IDDGFLTR\0" \ 783 "f\x10\x04" "NUMCTLEPS\0" \ 784 "f\x0e\x02" "PHYDATAWIDTH\0" \ 785 "b\x05" "AHBFREQ\0" \ 786 "b\x04" "ENABLEPWROPT\0" \ 787 "f\x00\x04" "NUMDEVPERIOEPS\0" 788 789#define USBC_HCFG_BITS \ 790 "\177" /* new format */ \ 791 "\020" /* hex display */ \ 792 "\020" /* %016x format */ \ 793 "b\x02" "FSLSSUPP\0" \ 794 "f\x00\x02" "FSLSPCLKSEL\0" 795 796#define USBC_HPRT_BITS \ 797 "\177" /* new format */ \ 798 "\020" /* hex display */ \ 799 "\020" /* %016x format */ \ 800 "f\x11\x02" "PRTSPD\0" \ 801 "f\x0d\x04" "PRTTSTCTL\0" \ 802 "b\x0c" "PRTPWR\0" \ 803 "f\x0a\x02" "PRTLNSTS\0" \ 804 "b\x08" "PRTRST\0" \ 805 "b\x07" "PRTSUSP\0" \ 806 "b\x06" "PRTRES\0" \ 807 "b\x05" "PRTOVRCURRCHNG\0" \ 808 "b\x04" "PRTOVRCURRACT\0" \ 809 "b\x03" "PRTENCHNG\0" \ 810 "b\x02" "PRTENA\0" \ 811 "b\x01" "PRTCONNDET\0" \ 812 "b\x00" "PRTCONNSTS\0" 813 814#define USBC_HFIR_BITS \ 815 "\177" /* new format */ \ 816 "\020" /* hex display */ \ 817 "\020" /* %016x format */ \ 818 "f\x00\x10" "FRINT\0" 819 820#define USBC_HAINT_BITS \ 821 "\177" /* new format */ \ 822 "\020" /* hex display */ \ 823 "\020" /* %016x format */ \ 824 "b\x0f" "HAINT_F\0" \ 825 "b\x0e" "HAINT_E\0" \ 826 "b\x0d" "HAINT_D\0" \ 827 "b\x0c" "HAINT_C\0" \ 828 "b\x0b" "HAINT_B\0" \ 829 "b\x0a" "HAINT_A\0" \ 830 "b\x09" "HAINT_9\0" \ 831 "b\x08" "HAINT_8\0" \ 832 "b\x07" "HAINT_7\0" \ 833 "b\x06" "HAINT_6\0" \ 834 "b\x05" "HAINT_5\0" \ 835 "b\x04" "HAINT_4\0" \ 836 "b\x03" "HAINT_3\0" \ 837 "b\x02" "HAINT_2\0" \ 838 "b\x01" "HAINT_1\0" \ 839 "b\x00" "HAINT_0\0" 840 841#define USBC_HAINTMSK_BITS \ 842 "\177" /* new format */ \ 843 "\020" /* hex display */ \ 844 "\020" /* %016x format */ \ 845 "b\x0f" "HAINTMSK_F\0" \ 846 "b\x0e" "HAINTMSK_E\0" \ 847 "b\x0d" "HAINTMSK_D\0" \ 848 "b\x0c" "HAINTMSK_C\0" \ 849 "b\x0b" "HAINTMSK_B\0" \ 850 "b\x0a" "HAINTMSK_A\0" \ 851 "b\x09" "HAINTMSK_9\0" \ 852 "b\x08" "HAINTMSK_8\0" \ 853 "b\x07" "HAINTMSK_7\0" \ 854 "b\x06" "HAINTMSK_6\0" \ 855 "b\x05" "HAINTMSK_5\0" \ 856 "b\x04" "HAINTMSK_4\0" \ 857 "b\x03" "HAINTMSK_3\0" \ 858 "b\x02" "HAINTMSK_2\0" \ 859 "b\x01" "HAINTMSK_1\0" \ 860 "b\x00" "HAINTMSK_0\0" 861 862#define USBC_HCINTX_BITS \ 863 "\177" /* new format */ \ 864 "\020" /* hex display */ \ 865 "\020" /* %016x format */ \ 866 "b\x0a" "DATATGLERR\0" \ 867 "b\x09" "FRMOVRUN\0" \ 868 "b\x08" "BBLERR\0" \ 869 "b\x07" "XACTERR\0" \ 870 "b\x06" "NYET\0" \ 871 "b\x05" "ACK\0" \ 872 "b\x04" "NAK\0" \ 873 "b\x03" "STALL\0" \ 874 "b\x02" "AHBERR\0" \ 875 "b\x01" "CHHLTD\0" \ 876 "b\x00" "XFERCOMPL\0" 877#define USBC_HCINT0_BITS USBC_HCINTX_BITS 878#define USBC_HCINT1_BITS USBC_HCINTX_BITS 879#define USBC_HCINT2_BITS USBC_HCINTX_BITS 880#define USBC_HCINT3_BITS USBC_HCINTX_BITS 881#define USBC_HCINT4_BITS USBC_HCINTX_BITS 882#define USBC_HCINT5_BITS USBC_HCINTX_BITS 883#define USBC_HCINT6_BITS USBC_HCINTX_BITS 884#define USBC_HCINT7_BITS USBC_HCINTX_BITS 885 886#define USBC_HCINTMSKX_BITS \ 887 "\177" /* new format */ \ 888 "\020" /* hex display */ \ 889 "\020" /* %016x format */ \ 890 "b\x0a" "DATATGLERRMSK\0" \ 891 "b\x09" "FRMOVRUNMSK\0" \ 892 "b\x08" "BBLERRMSK\0" \ 893 "b\x07" "XACTERRMSK\0" \ 894 "b\x06" "NYETMSK\0" \ 895 "b\x05" "ACKMSK\0" \ 896 "b\x04" "NAKMSK\0" \ 897 "b\x03" "STALLMSK\0" \ 898 "b\x02" "AHBERRMSK\0" \ 899 "b\x01" "CHHLTDMSK\0" \ 900 "b\x00" "XFERCOMPLMSK\0" 901#define USBC_HCINTMSK0_BITS USBC_HCINTMSKX_BITS 902#define USBC_HCINTMSK1_BITS USBC_HCINTMSKX_BITS 903#define USBC_HCINTMSK2_BITS USBC_HCINTMSKX_BITS 904#define USBC_HCINTMSK3_BITS USBC_HCINTMSKX_BITS 905#define USBC_HCINTMSK4_BITS USBC_HCINTMSKX_BITS 906#define USBC_HCINTMSK5_BITS USBC_HCINTMSKX_BITS 907#define USBC_HCINTMSK6_BITS USBC_HCINTMSKX_BITS 908#define USBC_HCINTMSK7_BITS USBC_HCINTMSKX_BITS 909 910#define USBC_HCCHARX_BITS \ 911 "\177" /* new format */ \ 912 "\020" /* hex display */ \ 913 "\020" /* %016x format */ \ 914 "b\x1f" "CHENA\0" \ 915 "b\x1e" "CHDIS\0" \ 916 "b\x1d" "ODDFRM\0" \ 917 "f\x16\x07" "DEVADDR\0" \ 918 "f\x14\x02" "EC\0" \ 919 "f\x12\x02" "EPTYPE\0" \ 920 "b\x11" "LSPDDEV\0" \ 921 "b\x0f" "EPDIR\0" \ 922 "f\x0b\x04" "EPNUM\0" \ 923 "f\x00\x0b" "MPS\0" 924#define USBC_HCCHAR0_BITS USBC_HCCHARX_BITS 925#define USBC_HCCHAR1_BITS USBC_HCCHARX_BITS 926#define USBC_HCCHAR2_BITS USBC_HCCHARX_BITS 927#define USBC_HCCHAR3_BITS USBC_HCCHARX_BITS 928#define USBC_HCCHAR4_BITS USBC_HCCHARX_BITS 929#define USBC_HCCHAR5_BITS USBC_HCCHARX_BITS 930#define USBC_HCCHAR6_BITS USBC_HCCHARX_BITS 931#define USBC_HCCHAR7_BITS USBC_HCCHARX_BITS 932 933#define USBC_HCTSIZX_BITS \ 934 "\177" /* new format */ \ 935 "\020" /* hex display */ \ 936 "\020" /* %016x format */ \ 937 "b\x1f" "DOPNG\0" \ 938 "f\x1d\x02" "PID\0" \ 939 "f\x13\x0a" "PKTCNT\0" \ 940 "f\x00\x13" "XFERSIZE\0" 941#define USBC_HCTSIZ0_BITS USBC_HCTSIZX_BITS 942#define USBC_HCTSIZ1_BITS USBC_HCTSIZX_BITS 943#define USBC_HCTSIZ2_BITS USBC_HCTSIZX_BITS 944#define USBC_HCTSIZ3_BITS USBC_HCTSIZX_BITS 945#define USBC_HCTSIZ4_BITS USBC_HCTSIZX_BITS 946#define USBC_HCTSIZ5_BITS USBC_HCTSIZX_BITS 947#define USBC_HCTSIZ6_BITS USBC_HCTSIZX_BITS 948#define USBC_HCTSIZ7_BITS USBC_HCTSIZX_BITS 949 950/* ---- bus_space */ 951 952#define USBC_BASE 0x00016F0010000000ULL 953#define USBC_SIZE 0x40020 954 955#define USBC_GOTGCTL_OFFSET 0x00000000 956#define USBC_GOTGINT_OFFSET 0x00000004 957#define USBC_GAHBCFG_OFFSET 0x00000008 958#define USBC_GUSBCFG_OFFSET 0x0000000C 959#define USBC_GRSTCTL_OFFSET 0x00000010 960#define USBC_GINTSTS_OFFSET 0x00000014 961#define USBC_GINTMSK_OFFSET 0x00000018 962#define USBC_GRXSTSRH_OFFSET 0x0000001C 963#define USBC_GRXSTSPH_OFFSET 0x00000020 964#define USBC_GRXFSIZ_OFFSET 0x00000024 965#define USBC_GNPTXFSIZ_OFFSET 0x00000028 966#define USBC_GNPTXSTS_OFFSET 0x0000002C 967#define USBC_GSNPSID_OFFSET 0x00000040 968#define USBC_GHWCFG1_OFFSET 0x00000044 969#define USBC_GHWCFG2_OFFSET 0x00000048 970#define USBC_GHWCFG3_OFFSET 0x0000004C 971#define USBC_GHWCFG4_OFFSET 0x00000050 972#define USBC_HPTXFSIZ_OFFSET 0x00000100 973#define USBC_DPTXFSIZ1_OFFSET 0x00000104 974#define USBC_DPTXFSIZ2_OFFSET 0x00000108 975#define USBC_DPTXFSIZ3_OFFSET 0x0000010C 976#define USBC_DPTXFSIZ4_OFFSET 0x00000110 977#define USBC_HCFG_OFFSET 0x00000400 978#define USBC_HFIR_OFFSET 0x00000404 979#define USBC_HFNUM_OFFSET 0x00000408 980#define USBC_HPTXSTS_OFFSET 0x00000410 981#define USBC_HAINT_OFFSET 0x00000414 982#define USBC_HAINTMSK_OFFSET 0x00000418 983#define USBC_HPRT_OFFSET 0x00000440 984#define USBC_HCCHAR0_OFFSET 0x00000500 985#define USBC_HCCHAR1_OFFSET 0x00000520 986#define USBC_HCCHAR2_OFFSET 0x00000540 987#define USBC_HCCHAR3_OFFSET 0x00000560 988#define USBC_HCCHAR4_OFFSET 0x00000580 989#define USBC_HCCHAR5_OFFSET 0x000005A0 990#define USBC_HCCHAR6_OFFSET 0x000005C0 991#define USBC_HCCHAR7_OFFSET 0x000005E0 992#define USBC_HCSPLT0_OFFSET 0x00000504 993#define USBC_HCSPLT1_OFFSET 0x00000524 994#define USBC_HCSPLT2_OFFSET 0x00000544 995#define USBC_HCSPLT3_OFFSET 0x00000564 996#define USBC_HCSPLT4_OFFSET 0x00000584 997#define USBC_HCSPLT5_OFFSET 0x000005A4 998#define USBC_HCSPLT6_OFFSET 0x000005C4 999#define USBC_HCSPLT7_OFFSET 0x000005E4 1000#define USBC_HCINT0_OFFSET 0x00000508 1001#define USBC_HCINT1_OFFSET 0x00000528 1002#define USBC_HCINT2_OFFSET 0x00000548 1003#define USBC_HCINT3_OFFSET 0x00000568 1004#define USBC_HCINT4_OFFSET 0x00000588 1005#define USBC_HCINT5_OFFSET 0x000005A8 1006#define USBC_HCINT6_OFFSET 0x000005C8 1007#define USBC_HCINT7_OFFSET 0x000005E8 1008#define USBC_HCINTMSK0_OFFSET 0x0000050C 1009#define USBC_HCINTMSK1_OFFSET 0x0000052C 1010#define USBC_HCINTMSK2_OFFSET 0x0000054C 1011#define USBC_HCINTMSK3_OFFSET 0x0000056C 1012#define USBC_HCINTMSK4_OFFSET 0x0000058C 1013#define USBC_HCINTMSK5_OFFSET 0x000005AC 1014#define USBC_HCINTMSK6_OFFSET 0x000005CC 1015#define USBC_HCINTMSK7_OFFSET 0x000005EC 1016#define USBC_HCTSIZ0_OFFSET 0x00000510 1017#define USBC_HCTSIZ1_OFFSET 0x00000530 1018#define USBC_HCTSIZ2_OFFSET 0x00000550 1019#define USBC_HCTSIZ3_OFFSET 0x00000570 1020#define USBC_HCTSIZ4_OFFSET 0x00000590 1021#define USBC_HCTSIZ5_OFFSET 0x000005B0 1022#define USBC_HCTSIZ6_OFFSET 0x000005D0 1023#define USBC_HCTSIZ7_OFFSET 0x000005F0 1024#define USBC_DCFG_OFFSET 0x00000800 1025#define USBC_DCTL_OFFSET 0x00000804 1026#define USBC_DSTS_OFFSET 0x00000808 1027#define USBC_DIEPMSK_OFFSET 0x00000810 1028#define USBC_DOEPMSK_OFFSET 0x00000814 1029#define USBC_DAINT_OFFSET 0x00000818 1030#define USBC_DAINTMSK_OFFSET 0x0000081C 1031#define USBC_DTKNQR1_OFFSET 0x00000820 1032#define USBC_DTKNQR2_OFFSET 0x00000824 1033#define USBC_DTKNQR3_OFFSET 0x00000830 1034#define USBC_DTKNQR4_OFFSET 0x00000834 1035#define USBC_DIEPCTL0_OFFSET 0x00000900 1036#define USBC_DIEPCTL1_OFFSET 0x00000920 1037#define USBC_DIEPCTL2_OFFSET 0x00000940 1038#define USBC_DIEPCTL3_OFFSET 0x00000960 1039#define USBC_DIEPCTL4_OFFSET 0x00000980 1040#define USBC_DIEPINT0_OFFSET 0x00000908 1041#define USBC_DIEPINT1_OFFSET 0x00000928 1042#define USBC_DIEPINT2_OFFSET 0x00000948 1043#define USBC_DIEPINT3_OFFSET 0x00000968 1044#define USBC_DIEPINT4_OFFSET 0x00000988 1045#define USBC_DIEPTSIZ0_OFFSET 0x00000910 1046#define USBC_DIEPTSIZ1_OFFSET 0x00000930 1047#define USBC_DIEPTSIZ2_OFFSET 0x00000950 1048#define USBC_DIEPTSIZ3_OFFSET 0x00000970 1049#define USBC_DIEPTSIZ4_OFFSET 0x00000990 1050#define USBC_OEPCTL0_OFFSET 0x00000B00 1051#define USBC_OEPCTL1_OFFSET 0x00000B20 1052#define USBC_OEPCTL2_OFFSET 0x00000B40 1053#define USBC_OEPCTL3_OFFSET 0x00000B60 1054#define USBC_OEPCTL4_OFFSET 0x00000B80 1055#define USBC_OEPINT0_OFFSET 0x00000B08 1056#define USBC_OEPINT1_OFFSET 0x00000B28 1057#define USBC_OEPINT2_OFFSET 0x00000B48 1058#define USBC_OEPINT3_OFFSET 0x00000B68 1059#define USBC_OEPINT4_OFFSET 0x00000B88 1060#define USBC_OEPTSIZ0_OFFSET 0x00000B10 1061#define USBC_OEPTSIZ1_OFFSET 0x00000B30 1062#define USBC_OEPTSIZ2_OFFSET 0x00000B50 1063#define USBC_OEPTSIZ3_OFFSET 0x00000B70 1064#define USBC_OEPTSIZ4_OFFSET 0x00000B90 1065#define USBC_PCGCCTL_OFFSET 0x00000E00 1066#define USBC_NPTXDFIFO0_OFFSET 0x00001000 1067#define USBC_NPTXDFIFO1_OFFSET 0x00002000 1068#define USBC_NPTXDFIFO2_OFFSET 0x00003000 1069#define USBC_NPTXDFIFO3_OFFSET 0x00004000 1070#define USBC_NPTXDFIFO4_OFFSET 0x00005000 1071#define USBC_NPTXDFIFO5_OFFSET 0x00006000 1072#define USBC_NPTXDFIFO6_OFFSET 0x00007000 1073#define USBC_NPTXDFIFO7_OFFSET 0x00008000 1074#define USBC_GRXSTSRD_OFFSET 0x0004001C 1075#define USBC_GRXSTSPD_OFFSET 0x00040020 1076 1077#endif /* _OCTEON_USBCREG_H_ */ 1078