1 /* 2 * Copyright (c) 2015-2025, STMicroelectronics - All Rights Reserved 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef __USB_DWC3_REGS_H 8 #define __USB_DWC3_REGS_H 9 10 /* 11 * USB3 Global Register Block 12 */ 13 #define _DWC3_GSBUSCFG0 U(0x0) 14 #define _DWC3_GSBUSCFG1 U(0x4) 15 #define _DWC3_GTXTHRCFG U(0x8) 16 #define _DWC3_GRXTHRCFG U(0xC) 17 #define _DWC3_GCTL U(0x10) 18 #define _DWC3_GPMSTS U(0x14) 19 #define _DWC3_GSTS U(0x18) 20 #define _DWC3_GUCTL1 U(0x1C) 21 #define _DWC3_GSNPSID U(0x20) 22 #define _DWC3_GGPIO U(0x24) 23 #define _DWC3_GUID U(0x28) 24 #define _DWC3_GUCTL U(0x2C) 25 #define _DWC3_GBUSERRADDRLO U(0x30) 26 #define _DWC3_GBUSERRADDRHI U(0x34) 27 #define _DWC3_GPRTBIMAPLO U(0x38) 28 #define _DWC3_GPRTBIMAPHI U(0x3C) 29 #define _DWC3_GHWPARAMS0 U(0x40) 30 #define _DWC3_GHWPARAMS1 U(0x44) 31 #define _DWC3_GHWPARAMS2 U(0x48) 32 #define _DWC3_GHWPARAMS3 U(0x4C) 33 #define _DWC3_GHWPARAMS4 U(0x50) 34 #define _DWC3_GHWPARAMS5 U(0x54) 35 #define _DWC3_GHWPARAMS6 U(0x58) 36 #define _DWC3_GHWPARAMS7 U(0x5C) 37 #define _DWC3_GDBGFIFOSPACE U(0x60) 38 #define _DWC3_GDBGLTSSM U(0x64) 39 #define _DWC3_GDBGLNMCC U(0x68) 40 #define _DWC3_GDBGBMU U(0x6C) 41 #define _DWC3_GDBGLSPMUX_HST U(0x70) 42 #define _DWC3_GDBGLSP U(0x74) 43 #define _DWC3_GDBGEPINFO0 U(0x78) 44 #define _DWC3_GDBGEPINFO1 U(0x7C) 45 #define _DWC3_GPRTBIMAP_HSLO U(0x80) 46 #define _DWC3_GPRTBIMAP_HSHI U(0x84) 47 #define _DWC3_GPRTBIMAP_FSLO U(0x88) 48 #define _DWC3_GPRTBIMAP_FSHI U(0x8C) 49 #define _DWC3_GUCTL2 U(0x9C) 50 #define _DWC3_GUSB2PHYCFG U(0x100) 51 #define _DWC3_GUSB2I2CCTL U(0x140) 52 #define _DWC3_GUSB2PHYACC_ULPI U(0x180) 53 #define _DWC3_GUSB3PIPECTL U(0x1c0) 54 #define _DWC3_GTXFIFOSIZ0 U(0x200) 55 #define _DWC3_GTXFIFOSIZ1 U(0x204) 56 #define _DWC3_GTXFIFOSIZ2 U(0x208) 57 #define _DWC3_GTXFIFOSIZ3 U(0x20c) 58 #define _DWC3_GTXFIFOSIZ4 U(0x210) 59 #define _DWC3_GTXFIFOSIZ5 U(0x214) 60 #define _DWC3_GTXFIFOSIZ6 U(0x218) 61 #define _DWC3_GTXFIFOSIZ7 U(0x21c) 62 #define _DWC3_GTXFIFOSIZ8 U(0x220) 63 #define _DWC3_GTXFIFOSIZ9 U(0x224) 64 #define _DWC3_GTXFIFOSIZ10 U(0x228) 65 #define _DWC3_GTXFIFOSIZ11 U(0x22c) 66 #define _DWC3_GRXFIFOSIZ0 U(0x280) 67 #define _DWC3_GRXFIFOSIZ1 U(0x284) 68 #define _DWC3_GRXFIFOSIZ2 U(0x288) 69 #define _DWC3_GEVNTADRLO U(0x300) 70 #define _DWC3_GEVNTADRHI U(0x304) 71 #define _DWC3_GEVNTSIZ U(0x308) 72 #define _DWC3_GEVNTCOUNT U(0x30c) 73 #define _DWC3_GHWPARAMS8 U(0x500) 74 #define _DWC3_GTXFIFOPRIDEV U(0x510) 75 #define _DWC3_GTXFIFOPRIHST U(0x518) 76 #define _DWC3_GRXFIFOPRIHST U(0x51C) 77 #define _DWC3_GDMAHLRATIO U(0x524) 78 #define _DWC3_GFLADJ U(0x530) 79 80 /* _DWC3_GSBUSCFG0 register fields */ 81 #define _DWC3_GSBUSCFG0_INCRBRSTENA BIT_32(0) 82 #define _DWC3_GSBUSCFG0_INCR4BRSTENA BIT_32(1) 83 #define _DWC3_GSBUSCFG0_INCR8BRSTENA BIT_32(2) 84 #define _DWC3_GSBUSCFG0_INCR16BRSTENA BIT_32(3) 85 #define _DWC3_GSBUSCFG0_INCR32BRSTENA BIT_32(4) 86 #define _DWC3_GSBUSCFG0_INCR64BRSTENA BIT_32(5) 87 #define _DWC3_GSBUSCFG0_INCR128BRSTENA BIT_32(6) 88 #define _DWC3_GSBUSCFG0_INCR256BRSTENA BIT_32(7) 89 #define _DWC3_GSBUSCFG0_DESBIGEND BIT_32(10) 90 #define _DWC3_GSBUSCFG0_DATBIGEND BIT_32(11) 91 #define _DWC3_GSBUSCFG0_DESWRREQINFO_MASK GENMASK_32(19, 16) 92 #define _DWC3_GSBUSCFG0_DESWRREQINFO_SHIFT 16 93 #define _DWC3_GSBUSCFG0_DATWRREQINFO_MASK GENMASK_32(23, 20) 94 #define _DWC3_GSBUSCFG0_DATWRREQINFO_SHIFT 20 95 #define _DWC3_GSBUSCFG0_DESRDREQINFO_MASK GENMASK_32(27, 24) 96 #define _DWC3_GSBUSCFG0_DESRDREQINFO_SHIFT 24 97 #define _DWC3_GSBUSCFG0_DATRDREQINFO_MASK GENMASK_32(31, 28) 98 #define _DWC3_GSBUSCFG0_DATRDREQINFO_SHIFT 28 99 100 /* _DWC3_GSBUSCFG1 register fields */ 101 #define _DWC3_GSBUSCFG1_PIPETRANSLIMIT_MASK GENMASK_32(11, 8) 102 #define _DWC3_GSBUSCFG1_PIPETRANSLIMIT_SHIFT 8 103 #define _DWC3_GSBUSCFG1_EN1KPAGE BIT_32(12) 104 105 /* _DWC3_GTXTHRCFG register fields */ 106 #define _DWC3_GTXTHRCFG_USBMAXTXBURSTSIZE_MASK GENMASK_32(23, 16) 107 #define _DWC3_GTXTHRCFG_USBMAXTXBURSTSIZE_SHIFT 16 108 #define _DWC3_GTXTHRCFG_USBTXPKTCNT_MASK GENMASK_32(27, 24) 109 #define _DWC3_GTXTHRCFG_USBTXPKTCNT_SHIFT 24 110 #define _DWC3_GTXTHRCFG_USBTXPKTCNTSEL BIT_32(29) 111 112 /* _DWC3_GRXTHRCFG register fields */ 113 #define _DWC3_GRXTHRCFG_RESVISOCOUTSPC_MASK GENMASK_32(12, 0) 114 #define _DWC3_GRXTHRCFG_RESVISOCOUTSPC_SHIFT 0 115 #define _DWC3_GRXTHRCFG_USBMAXRXBURSTSIZE_MASK GENMASK_32(23, 19) 116 #define _DWC3_GRXTHRCFG_USBMAXRXBURSTSIZE_SHIFT 19 117 #define _DWC3_GRXTHRCFG_USBRXPKTCNT_MASK GENMASK_32(27, 24) 118 #define _DWC3_GRXTHRCFG_USBRXPKTCNT_SHIFT 24 119 #define _DWC3_GRXTHRCFG_USBRXPKTCNTSEL BIT_32(29) 120 121 /* _DWC3_GCTL register fields */ 122 #define _DWC3_GCTL_DSBLCLKGTNG BIT_32(0) 123 #define _DWC3_GCTL_GBLHIBERNATIONEN BIT_32(1) 124 #define _DWC3_GCTL_U2EXIT_LFPS BIT_32(2) 125 #define _DWC3_GCTL_DISSCRAMBLE BIT_32(3) 126 #define _DWC3_GCTL_SCALEDOWN_MASK GENMASK_32(5, 4) 127 #define _DWC3_GCTL_SCALEDOWN_SHIFT 4 128 #define _DWC3_GCTL_RAMCLKSEL_MASK GENMASK_32(7, 6) 129 #define _DWC3_GCTL_RAMCLKSEL_SHIFT 6 130 #define _DWC3_GCTL_DEBUGATTACH BIT_32(8) 131 #define _DWC3_GCTL_U1U2TIMERSCALE BIT_32(9) 132 #define _DWC3_GCTL_SOFITPSYNC BIT_32(10) 133 #define _DWC3_GCTL_CORESOFTRESET BIT_32(11) 134 #define _DWC3_GCTL_PRTCAPDIR_MASK GENMASK_32(13, 12) 135 #define _DWC3_GCTL_PRTCAPDIR_SHIFT 12 136 #define _DWC3_GCTL_FRMSCLDWN_MASK GENMASK_32(15, 14) 137 #define _DWC3_GCTL_FRMSCLDWN_SHIFT 14 138 #define _DWC3_GCTL_U2RSTECN BIT_32(16) 139 #define _DWC3_GCTL_BYPSSETADDR BIT_32(17) 140 #define _DWC3_GCTL_MASTERFILTBYPASS BIT_32(18) 141 #define _DWC3_GCTL_PWRDNSCALE_MASK GENMASK_32(31, 19) 142 #define _DWC3_GCTL_PWRDNSCALE_SHIFT 19 143 144 /* _DWC3_GPMSTS register fields */ 145 #define _DWC3_GPMSTS_U2WAKEUP_MASK GENMASK_32(9, 0) 146 #define _DWC3_GPMSTS_U2WAKEUP_SHIFT 0 147 #define _DWC3_GPMSTS_U3WAKEUP_MASK GENMASK_32(16, 12) 148 #define _DWC3_GPMSTS_U3WAKEUP_SHIFT 12 149 #define _DWC3_GPMSTS_PORTSEL_MASK GENMASK_32(31, 28) 150 #define _DWC3_GPMSTS_PORTSEL_SHIFT 28 151 152 /* _DWC3_GSTS register fields */ 153 #define _DWC3_GSTS_CURMOD_MASK GENMASK_32(1, 0) 154 #define _DWC3_GSTS_CURMOD_SHIFT 0 155 #define _DWC3_GSTS_BUSERRADDRVLD BIT_32(4) 156 #define _DWC3_GSTS_CSRTIMEOUT BIT_32(5) 157 #define _DWC3_GSTS_DEVICE_IP BIT_32(6) 158 #define _DWC3_GSTS_HOST_IP BIT_32(7) 159 #define _DWC3_GSTS_ADP_IP BIT_32(8) 160 #define _DWC3_GSTS_BC_IP BIT_32(9) 161 #define _DWC3_GSTS_OTG_IP BIT_32(10) 162 #define _DWC3_GSTS_SSIC_IP BIT_32(11) 163 #define _DWC3_GSTS_CBELT_MASK GENMASK_32(31, 20) 164 #define _DWC3_GSTS_CBELT_SHIFT 20 165 166 /* _DWC3_GUCTL1 register fields */ 167 #define _DWC3_GUCTL1_LOA_FILTER_EN BIT_32(0) 168 #define _DWC3_GUCTL1_OVRLD_L1_SUSP_COM BIT_32(1) 169 #define _DWC3_GUCTL1_HC_PARCHK_DISABLE BIT_32(2) 170 #define _DWC3_GUCTL1_HC_ERRATA_ENABLE BIT_32(3) 171 #define _DWC3_GUCTL1_L1_SUSP_THRLD_FOR_HOST_MASK GENMASK_32(7, 4) 172 #define _DWC3_GUCTL1_L1_SUSP_THRLD_FOR_HOST_SHIFT 4 173 #define _DWC3_GUCTL1_L1_SUSP_THRLD_EN_FOR_HOST BIT_32(8) 174 #define _DWC3_GUCTL1_DEV_HS_NYET_BULK_SPR BIT_32(9) 175 #define _DWC3_GUCTL1_RESUME_OPMODE_HS_HOST BIT_32(10) 176 #define _DWC3_GUCTL1_PARKMODE_DISABLE_FSLS BIT_32(15) 177 #define _DWC3_GUCTL1_PARKMODE_DISABLE_HS BIT_32(16) 178 #define _DWC3_GUCTL1_PARKMODE_DISABLE_SS BIT_32(17) 179 #define _DWC3_GUCTL1_NAK_PER_ENH_HS BIT_32(18) 180 #define _DWC3_GUCTL1_NAK_PER_ENH_FS BIT_32(19) 181 #define _DWC3_GUCTL1_DEV_LSP_TAIL_LOCK_DIS BIT_32(20) 182 #define _DWC3_GUCTL1_IP_GAP_ADD_ON_MASK GENMASK_32(23, 21) 183 #define _DWC3_GUCTL1_IP_GAP_ADD_ON_SHIFT 21 184 #define _DWC3_GUCTL1_DEV_L1_EXIT_BY_HW BIT_32(24) 185 #define _DWC3_GUCTL1_P3_IN_U2 BIT_32(25) 186 #define _DWC3_GUCTL1_DEV_FORCE_20_CLK_FOR_30_CLK BIT_32(26) 187 #define _DWC3_GUCTL1_DEV_TRB_OUT_SPR_IND BIT_32(27) 188 #define _DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS BIT_32(28) 189 #define _DWC3_GUCTL1_FILTER_SE0_FSLS_EOP BIT_32(29) 190 #define _DWC3_GUCTL1_DS_RXDET_MAX_TOUT_CTRL BIT_32(30) 191 #define _DWC3_GUCTL1_DEV_DECOUPLE_L1L2_EVT BIT_32(31) 192 193 /* _DWC3_GGPIO register fields */ 194 #define _DWC3_GGPIO_GPI_MASK GENMASK_32(15, 0) 195 #define _DWC3_GGPIO_GPI_SHIFT 0 196 #define _DWC3_GGPIO_GPO_MASK GENMASK_32(31, 16) 197 #define _DWC3_GGPIO_GPO_SHIFT 16 198 199 /* _DWC3_GUCTL register fields */ 200 #define _DWC3_GUCTL_DTFT_MASK GENMASK_32(8, 0) 201 #define _DWC3_GUCTL_DTFT_SHIFT 0 202 #define _DWC3_GUCTL_DTCT_MASK GENMASK_32(10, 9) 203 #define _DWC3_GUCTL_DTCT_SHIFT 9 204 #define _DWC3_GUCTL_INSRTEXTRFSBODI BIT_32(11) 205 #define _DWC3_GUCTL_EXTCAPSUPPTEN BIT_32(12) 206 #define _DWC3_GUCTL_ENOVERLAPCHK BIT_32(13) 207 #define _DWC3_GUCTL_USBHSTINAUTORETRYEN BIT_32(14) 208 #define _DWC3_GUCTL_RESBWHSEPS BIT_32(16) 209 #define _DWC3_GUCTL_SPRSCTRLTRANSEN BIT_32(17) 210 #define _DWC3_GUCTL_NOEXTRDL BIT_32(21) 211 #define _DWC3_GUCTL_REFCLKPER_MASK GENMASK_32(31, 22) 212 #define _DWC3_GUCTL_REFCLKPER_SHIFT 22 213 214 /* _DWC3_GPRTBIMAPLO register fields */ 215 #define _DWC3_GPRTBIMAPLO_BINUM1_MASK GENMASK_32(3, 0) 216 #define _DWC3_GPRTBIMAPLO_BINUM1_SHIFT 0 217 #define _DWC3_GPRTBIMAPLO_BINUM2_MASK GENMASK_32(7, 4) 218 #define _DWC3_GPRTBIMAPLO_BINUM2_SHIFT 4 219 #define _DWC3_GPRTBIMAPLO_BINUM3_MASK GENMASK_32(11, 8) 220 #define _DWC3_GPRTBIMAPLO_BINUM3_SHIFT 8 221 #define _DWC3_GPRTBIMAPLO_BINUM4_MASK GENMASK_32(15, 12) 222 #define _DWC3_GPRTBIMAPLO_BINUM4_SHIFT 12 223 #define _DWC3_GPRTBIMAPLO_BINUM5_MASK GENMASK_32(19, 16) 224 #define _DWC3_GPRTBIMAPLO_BINUM5_SHIFT 16 225 #define _DWC3_GPRTBIMAPLO_BINUM6_MASK GENMASK_32(23, 20) 226 #define _DWC3_GPRTBIMAPLO_BINUM6_SHIFT 20 227 #define _DWC3_GPRTBIMAPLO_BINUM7_MASK GENMASK_32(27, 24) 228 #define _DWC3_GPRTBIMAPLO_BINUM7_SHIFT 24 229 #define _DWC3_GPRTBIMAPLO_BINUM8_MASK GENMASK_32(31, 28) 230 #define _DWC3_GPRTBIMAPLO_BINUM8_SHIFT 28 231 232 /* _DWC3_GPRTBIMAPHI register fields */ 233 #define _DWC3_GPRTBIMAPHI_BINUM9_MASK GENMASK_32(3, 0) 234 #define _DWC3_GPRTBIMAPHI_BINUM9_SHIFT 0 235 #define _DWC3_GPRTBIMAPHI_BINUM10_MASK GENMASK_32(7, 4) 236 #define _DWC3_GPRTBIMAPHI_BINUM10_SHIFT 4 237 #define _DWC3_GPRTBIMAPHI_BINUM11_MASK GENMASK_32(11, 8) 238 #define _DWC3_GPRTBIMAPHI_BINUM11_SHIFT 8 239 #define _DWC3_GPRTBIMAPHI_BINUM12_MASK GENMASK_32(15, 12) 240 #define _DWC3_GPRTBIMAPHI_BINUM12_SHIFT 12 241 #define _DWC3_GPRTBIMAPHI_BINUM13_MASK GENMASK_32(19, 16) 242 #define _DWC3_GPRTBIMAPHI_BINUM13_SHIFT 16 243 #define _DWC3_GPRTBIMAPHI_BINUM14_MASK GENMASK_32(23, 20) 244 #define _DWC3_GPRTBIMAPHI_BINUM14_SHIFT 20 245 #define _DWC3_GPRTBIMAPHI_BINUM15_MASK GENMASK_32(27, 24) 246 #define _DWC3_GPRTBIMAPHI_BINUM15_SHIFT 24 247 248 /* _DWC3_GHWPARAMS0 register fields */ 249 #define _DWC3_GHWPARAMS0_GHWPARAMS0_2_0_MASK GENMASK_32(2, 0) 250 #define _DWC3_GHWPARAMS0_GHWPARAMS0_2_0_SHIFT 0 251 #define _DWC3_GHWPARAMS0_GHWPARAMS0_5_3_MASK GENMASK_32(5, 3) 252 #define _DWC3_GHWPARAMS0_GHWPARAMS0_5_3_SHIFT 3 253 #define _DWC3_GHWPARAMS0_GHWPARAMS0_7_6_MASK GENMASK_32(7, 6) 254 #define _DWC3_GHWPARAMS0_GHWPARAMS0_7_6_SHIFT 6 255 #define _DWC3_GHWPARAMS0_GHWPARAMS0_15_8_MASK GENMASK_32(15, 8) 256 #define _DWC3_GHWPARAMS0_GHWPARAMS0_15_8_SHIFT 8 257 #define _DWC3_GHWPARAMS0_GHWPARAMS0_23_16_MASK GENMASK_32(23, 16) 258 #define _DWC3_GHWPARAMS0_GHWPARAMS0_23_16_SHIFT 16 259 #define _DWC3_GHWPARAMS0_GHWPARAMS0_31_24_MASK GENMASK_32(31, 24) 260 #define _DWC3_GHWPARAMS0_GHWPARAMS0_31_24_SHIFT 24 261 262 /* _DWC3_GHWPARAMS1 register fields */ 263 #define _DWC3_GHWPARAMS1_GHWPARAMS1_2_0_MASK GENMASK_32(2, 0) 264 #define _DWC3_GHWPARAMS1_GHWPARAMS1_2_0_SHIFT 0 265 #define _DWC3_GHWPARAMS1_GHWPARAMS1_5_3_MASK GENMASK_32(5, 3) 266 #define _DWC3_GHWPARAMS1_GHWPARAMS1_5_3_SHIFT 3 267 #define _DWC3_GHWPARAMS1_GHWPARAMS1_8_6_MASK GENMASK_32(8, 6) 268 #define _DWC3_GHWPARAMS1_GHWPARAMS1_8_6_SHIFT 6 269 #define _DWC3_GHWPARAMS1_GHWPARAMS1_11_9_MASK GENMASK_32(11, 9) 270 #define _DWC3_GHWPARAMS1_GHWPARAMS1_11_9_SHIFT 9 271 #define _DWC3_GHWPARAMS1_GHWPARAMS1_14_12_MASK GENMASK_32(14, 12) 272 #define _DWC3_GHWPARAMS1_GHWPARAMS1_14_12_SHIFT 12 273 #define _DWC3_GHWPARAMS1_GHWPARAMS1_20_15_MASK GENMASK_32(20, 15) 274 #define _DWC3_GHWPARAMS1_GHWPARAMS1_20_15_SHIFT 15 275 #define _DWC3_GHWPARAMS1_GHWPARAMS1_22_21_MASK GENMASK_32(22, 21) 276 #define _DWC3_GHWPARAMS1_GHWPARAMS1_22_21_SHIFT 21 277 #define _DWC3_GHWPARAMS1_GHWPARAMS1_23 BIT_32(23) 278 #define _DWC3_GHWPARAMS1_GHWPARAMS1_25_24_MASK GENMASK_32(25, 24) 279 #define _DWC3_GHWPARAMS1_GHWPARAMS1_25_24_SHIFT 24 280 #define _DWC3_GHWPARAMS1_GHWPARAMS1_26 BIT_32(26) 281 #define _DWC3_GHWPARAMS1_GHWPARAMS1_27 BIT_32(27) 282 #define _DWC3_GHWPARAMS1_GHWPARAMS1_28 BIT_32(28) 283 #define _DWC3_GHWPARAMS1_GHWPARAMS1_29 BIT_32(29) 284 #define _DWC3_GHWPARAMS1_GHWPARAMS1_30 BIT_32(30) 285 #define _DWC3_GHWPARAMS1_GHWPARAMS1_31 BIT_32(31) 286 287 /* _DWC3_GHWPARAMS3 register fields */ 288 #define _DWC3_GHWPARAMS3_GHWPARAMS3_1_0_MASK GENMASK_32(1, 0) 289 #define _DWC3_GHWPARAMS3_GHWPARAMS3_1_0_SHIFT 0 290 #define _DWC3_GHWPARAMS3_GHWPARAMS3_3_2_MASK GENMASK_32(3, 2) 291 #define _DWC3_GHWPARAMS3_GHWPARAMS3_3_2_SHIFT 2 292 #define _DWC3_GHWPARAMS3_GHWPARAMS3_5_4_MASK GENMASK_32(5, 4) 293 #define _DWC3_GHWPARAMS3_GHWPARAMS3_5_4_SHIFT 4 294 #define _DWC3_GHWPARAMS3_GHWPARAMS3_7_6_MASK GENMASK_32(7, 6) 295 #define _DWC3_GHWPARAMS3_GHWPARAMS3_7_6_SHIFT 6 296 #define _DWC3_GHWPARAMS3_GHWPARAMS3_9_8_MASK GENMASK_32(9, 8) 297 #define _DWC3_GHWPARAMS3_GHWPARAMS3_9_8_SHIFT 8 298 #define _DWC3_GHWPARAMS3_GHWPARAMS3_10 BIT_32(10) 299 #define _DWC3_GHWPARAMS3_GHWPARAMS3_11 BIT_32(11) 300 #define _DWC3_GHWPARAMS3_GHWPARAMS3_17_12_MASK GENMASK_32(17, 12) 301 #define _DWC3_GHWPARAMS3_GHWPARAMS3_17_12_SHIFT 12 302 #define _DWC3_GHWPARAMS3_GHWPARAMS3_22_18_MASK GENMASK_32(22, 18) 303 #define _DWC3_GHWPARAMS3_GHWPARAMS3_22_18_SHIFT 18 304 #define _DWC3_GHWPARAMS3_GHWPARAMS3_30_23_MASK GENMASK_32(30, 23) 305 #define _DWC3_GHWPARAMS3_GHWPARAMS3_30_23_SHIFT 23 306 #define _DWC3_GHWPARAMS3_GHWPARAMS3_31 BIT_32(31) 307 308 /* _DWC3_GHWPARAMS4 register fields */ 309 #define _DWC3_GHWPARAMS4_GHWPARAMS4_5_0_MASK GENMASK_32(5, 0) 310 #define _DWC3_GHWPARAMS4_GHWPARAMS4_5_0_SHIFT 0 311 #define _DWC3_GHWPARAMS4_GHWPARAMS4_6 BIT_32(6) 312 #define _DWC3_GHWPARAMS4_GHWPARAMS4_8_7_MASK GENMASK_32(8, 7) 313 #define _DWC3_GHWPARAMS4_GHWPARAMS4_8_7_SHIFT 7 314 #define _DWC3_GHWPARAMS4_GHWPARAMS4_10_9_MASK GENMASK_32(10, 9) 315 #define _DWC3_GHWPARAMS4_GHWPARAMS4_10_9_SHIFT 9 316 #define _DWC3_GHWPARAMS4_GHWPARAMS4_11 BIT_32(11) 317 #define _DWC3_GHWPARAMS4_GHWPARAMS4_12 BIT_32(12) 318 #define _DWC3_GHWPARAMS4_GHWPARAMS4_16_13_MASK GENMASK_32(16, 13) 319 #define _DWC3_GHWPARAMS4_GHWPARAMS4_16_13_SHIFT 13 320 #define _DWC3_GHWPARAMS4_GHWPARAMS4_20_17_MASK GENMASK_32(20, 17) 321 #define _DWC3_GHWPARAMS4_GHWPARAMS4_20_17_SHIFT 17 322 #define _DWC3_GHWPARAMS4_GHWPARAMS4_21 BIT_32(21) 323 #define _DWC3_GHWPARAMS4_GHWPARAMS4_22 BIT_32(22) 324 #define _DWC3_GHWPARAMS4_GHWPARAMS4_23 BIT_32(23) 325 #define _DWC3_GHWPARAMS4_GHWPARAMS4_27_24_MASK GENMASK_32(27, 24) 326 #define _DWC3_GHWPARAMS4_GHWPARAMS4_27_24_SHIFT 24 327 #define _DWC3_GHWPARAMS4_GHWPARAMS4_31_28_MASK GENMASK_32(31, 28) 328 #define _DWC3_GHWPARAMS4_GHWPARAMS4_31_28_SHIFT 28 329 330 /* _DWC3_GHWPARAMS5 register fields */ 331 #define _DWC3_GHWPARAMS5_GHWPARAMS5_3_0_MASK GENMASK_32(3, 0) 332 #define _DWC3_GHWPARAMS5_GHWPARAMS5_3_0_SHIFT 0 333 #define _DWC3_GHWPARAMS5_GHWPARAMS5_9_4_MASK GENMASK_32(9, 4) 334 #define _DWC3_GHWPARAMS5_GHWPARAMS5_9_4_SHIFT 4 335 #define _DWC3_GHWPARAMS5_GHWPARAMS5_15_10_MASK GENMASK_32(15, 10) 336 #define _DWC3_GHWPARAMS5_GHWPARAMS5_15_10_SHIFT 10 337 #define _DWC3_GHWPARAMS5_GHWPARAMS5_21_16_MASK GENMASK_32(21, 16) 338 #define _DWC3_GHWPARAMS5_GHWPARAMS5_21_16_SHIFT 16 339 #define _DWC3_GHWPARAMS5_GHWPARAMS5_27_22_MASK GENMASK_32(27, 22) 340 #define _DWC3_GHWPARAMS5_GHWPARAMS5_27_22_SHIFT 22 341 #define _DWC3_GHWPARAMS5_GHWPARAMS5_31_28_MASK GENMASK_32(31, 28) 342 #define _DWC3_GHWPARAMS5_GHWPARAMS5_31_28_SHIFT 28 343 344 /* _DWC3_GHWPARAMS6 register fields */ 345 #define _DWC3_GHWPARAMS6_GHWPARAMS6_5_0_MASK GENMASK_32(5, 0) 346 #define _DWC3_GHWPARAMS6_GHWPARAMS6_5_0_SHIFT 0 347 #define _DWC3_GHWPARAMS6_GHWPARAMS6_6 BIT_32(6) 348 #define _DWC3_GHWPARAMS6_GHWPARAMS6_7 BIT_32(7) 349 #define _DWC3_GHWPARAMS6_GHWPARAMS6_9_8_MASK GENMASK_32(9, 8) 350 #define _DWC3_GHWPARAMS6_GHWPARAMS6_9_8_SHIFT 8 351 #define _DWC3_GHWPARAMS6_SRPSUPPORT BIT_32(10) 352 #define _DWC3_GHWPARAMS6_HNPSUPPORT BIT_32(11) 353 #define _DWC3_GHWPARAMS6_ADPSUPPORT BIT_32(12) 354 #define _DWC3_GHWPARAMS6_OTG_SS_SUPPORT BIT_32(13) 355 #define _DWC3_GHWPARAMS6_BCSUPPORT BIT_32(14) 356 #define _DWC3_GHWPARAMS6_BUSFLTRSSUPPORT BIT_32(15) 357 #define _DWC3_GHWPARAMS6_GHWPARAMS6_31_16_MASK GENMASK_32(31, 16) 358 #define _DWC3_GHWPARAMS6_GHWPARAMS6_31_16_SHIFT 16 359 360 /* _DWC3_GHWPARAMS7 register fields */ 361 #define _DWC3_GHWPARAMS7_GHWPARAMS7_15_0_MASK GENMASK_32(15, 0) 362 #define _DWC3_GHWPARAMS7_GHWPARAMS7_15_0_SHIFT 0 363 #define _DWC3_GHWPARAMS7_GHWPARAMS7_31_16_MASK GENMASK_32(31, 16) 364 #define _DWC3_GHWPARAMS7_GHWPARAMS7_31_16_SHIFT 16 365 366 /* _DWC3_GDBGFIFOSPACE register fields */ 367 #define _DWC3_GDBGFIFOSPACE_FIFO_QUEUE_SELECT_MASK GENMASK_32(8, 0) 368 #define _DWC3_GDBGFIFOSPACE_FIFO_QUEUE_SELECT_SHIFT 0 369 #define _DWC3_GDBGFIFOSPACE_SPACE_AVAILABLE_MASK GENMASK_32(31, 16) 370 #define _DWC3_GDBGFIFOSPACE_SPACE_AVAILABLE_SHIFT 16 371 372 /* _DWC3_GDBGLTSSM register fields */ 373 #define _DWC3_GDBGLTSSM_TXONESZEROS BIT_32(0) 374 #define _DWC3_GDBGLTSSM_RXTERMINATION BIT_32(1) 375 #define _DWC3_GDBGLTSSM_TXSWING BIT_32(2) 376 #define _DWC3_GDBGLTSSM_LTDBCLKSTATE_MASK GENMASK_32(5, 3) 377 #define _DWC3_GDBGLTSSM_LTDBCLKSTATE_SHIFT 3 378 #define _DWC3_GDBGLTSSM_TXDEEMPHASIS_MASK GENMASK_32(7, 6) 379 #define _DWC3_GDBGLTSSM_TXDEEMPHASIS_SHIFT 6 380 #define _DWC3_GDBGLTSSM_RXEQTRAIN BIT_32(8) 381 #define _DWC3_GDBGLTSSM_POWERDOWN_MASK GENMASK_32(10, 9) 382 #define _DWC3_GDBGLTSSM_POWERDOWN_SHIFT 9 383 #define _DWC3_GDBGLTSSM_LTDBPHYCMDSTATE_MASK GENMASK_32(13, 11) 384 #define _DWC3_GDBGLTSSM_LTDBPHYCMDSTATE_SHIFT 11 385 #define _DWC3_GDBGLTSSM_TXDETRXLOOPBACK BIT_32(14) 386 #define _DWC3_GDBGLTSSM_RXPOLARITY BIT_32(15) 387 #define _DWC3_GDBGLTSSM_TXELECLDLE BIT_32(16) 388 #define _DWC3_GDBGLTSSM_ELASTICBUFFERMODE BIT_32(17) 389 #define _DWC3_GDBGLTSSM_LTDBSUBSTATE_MASK GENMASK_32(21, 18) 390 #define _DWC3_GDBGLTSSM_LTDBSUBSTATE_SHIFT 18 391 #define _DWC3_GDBGLTSSM_LTDBLINKSTATE_MASK GENMASK_32(25, 22) 392 #define _DWC3_GDBGLTSSM_LTDBLINKSTATE_SHIFT 22 393 #define _DWC3_GDBGLTSSM_LTDBTIMEOUT BIT_32(26) 394 #define _DWC3_GDBGLTSSM_PRTDIRECTION BIT_32(27) 395 #define _DWC3_GDBGLTSSM_X3_DS_HOST_SHUTDOWN BIT_32(28) 396 #define _DWC3_GDBGLTSSM_X3_XS_SWAPPING BIT_32(29) 397 #define _DWC3_GDBGLTSSM_RXELECIDLE BIT_32(30) 398 399 /* _DWC3_GDBGLNMCC register fields */ 400 #define _DWC3_GDBGLNMCC_LNMCC_BERC_MASK GENMASK_32(8, 0) 401 #define _DWC3_GDBGLNMCC_LNMCC_BERC_SHIFT 0 402 403 /* _DWC3_GDBGBMU register fields */ 404 #define _DWC3_GDBGBMU_BMU_CCU_MASK GENMASK_32(3, 0) 405 #define _DWC3_GDBGBMU_BMU_CCU_SHIFT 0 406 #define _DWC3_GDBGBMU_BMU_DCU_MASK GENMASK_32(7, 4) 407 #define _DWC3_GDBGBMU_BMU_DCU_SHIFT 4 408 #define _DWC3_GDBGBMU_BMU_BCU_MASK GENMASK_32(31, 8) 409 #define _DWC3_GDBGBMU_BMU_BCU_SHIFT 8 410 411 /* _DWC3_GDBGLSPMUX_HST register fields */ 412 #define _DWC3_GDBGLSPMUX_HST_HOSTSELECT_MASK GENMASK_32(13, 0) 413 #define _DWC3_GDBGLSPMUX_HST_HOSTSELECT_SHIFT 0 414 #define _DWC3_GDBGLSPMUX_HST_LOGIC_ANALYZER_TRACE_MASK GENMASK_32(23, 16) 415 #define _DWC3_GDBGLSPMUX_HST_LOGIC_ANALYZER_TRACE_SHIFT 16 416 417 /* _DWC3_GPRTBIMAP_HSLO register fields */ 418 #define _DWC3_GPRTBIMAP_HSLO_BINUM1_MASK GENMASK_32(3, 0) 419 #define _DWC3_GPRTBIMAP_HSLO_BINUM1_SHIFT 0 420 #define _DWC3_GPRTBIMAP_HSLO_BINUM2_MASK GENMASK_32(7, 4) 421 #define _DWC3_GPRTBIMAP_HSLO_BINUM2_SHIFT 4 422 #define _DWC3_GPRTBIMAP_HSLO_BINUM3_MASK GENMASK_32(11, 8) 423 #define _DWC3_GPRTBIMAP_HSLO_BINUM3_SHIFT 8 424 #define _DWC3_GPRTBIMAP_HSLO_BINUM4_MASK GENMASK_32(15, 12) 425 #define _DWC3_GPRTBIMAP_HSLO_BINUM4_SHIFT 12 426 #define _DWC3_GPRTBIMAP_HSLO_BINUM5_MASK GENMASK_32(19, 16) 427 #define _DWC3_GPRTBIMAP_HSLO_BINUM5_SHIFT 16 428 #define _DWC3_GPRTBIMAP_HSLO_BINUM6_MASK GENMASK_32(23, 20) 429 #define _DWC3_GPRTBIMAP_HSLO_BINUM6_SHIFT 20 430 #define _DWC3_GPRTBIMAP_HSLO_BINUM7_MASK GENMASK_32(27, 24) 431 #define _DWC3_GPRTBIMAP_HSLO_BINUM7_SHIFT 24 432 #define _DWC3_GPRTBIMAP_HSLO_BINUM8_MASK GENMASK_32(31, 28) 433 #define _DWC3_GPRTBIMAP_HSLO_BINUM8_SHIFT 28 434 435 /* _DWC3_GPRTBIMAP_HSHI register fields */ 436 #define _DWC3_GPRTBIMAP_HSHI_BINUM9_MASK GENMASK_32(3, 0) 437 #define _DWC3_GPRTBIMAP_HSHI_BINUM9_SHIFT 0 438 #define _DWC3_GPRTBIMAP_HSHI_BINUM10_MASK GENMASK_32(7, 4) 439 #define _DWC3_GPRTBIMAP_HSHI_BINUM10_SHIFT 4 440 #define _DWC3_GPRTBIMAP_HSHI_BINUM11_MASK GENMASK_32(11, 8) 441 #define _DWC3_GPRTBIMAP_HSHI_BINUM11_SHIFT 8 442 #define _DWC3_GPRTBIMAP_HSHI_BINUM12_MASK GENMASK_32(15, 12) 443 #define _DWC3_GPRTBIMAP_HSHI_BINUM12_SHIFT 12 444 #define _DWC3_GPRTBIMAP_HSHI_BINUM13_MASK GENMASK_32(19, 16) 445 #define _DWC3_GPRTBIMAP_HSHI_BINUM13_SHIFT 16 446 #define _DWC3_GPRTBIMAP_HSHI_BINUM14_MASK GENMASK_32(23, 20) 447 #define _DWC3_GPRTBIMAP_HSHI_BINUM14_SHIFT 20 448 #define _DWC3_GPRTBIMAP_HSHI_BINUM15_MASK GENMASK_32(27, 24) 449 #define _DWC3_GPRTBIMAP_HSHI_BINUM15_SHIFT 24 450 451 /* _DWC3_GPRTBIMAP_FSLO register fields */ 452 #define _DWC3_GPRTBIMAP_FSLO_BINUM1_MASK GENMASK_32(3, 0) 453 #define _DWC3_GPRTBIMAP_FSLO_BINUM1_SHIFT 0 454 #define _DWC3_GPRTBIMAP_FSLO_BINUM2_MASK GENMASK_32(7, 4) 455 #define _DWC3_GPRTBIMAP_FSLO_BINUM2_SHIFT 4 456 #define _DWC3_GPRTBIMAP_FSLO_BINUM3_MASK GENMASK_32(11, 8) 457 #define _DWC3_GPRTBIMAP_FSLO_BINUM3_SHIFT 8 458 #define _DWC3_GPRTBIMAP_FSLO_BINUM4_MASK GENMASK_32(15, 12) 459 #define _DWC3_GPRTBIMAP_FSLO_BINUM4_SHIFT 12 460 #define _DWC3_GPRTBIMAP_FSLO_BINUM5_MASK GENMASK_32(19, 16) 461 #define _DWC3_GPRTBIMAP_FSLO_BINUM5_SHIFT 16 462 #define _DWC3_GPRTBIMAP_FSLO_BINUM6_MASK GENMASK_32(23, 20) 463 #define _DWC3_GPRTBIMAP_FSLO_BINUM6_SHIFT 20 464 #define _DWC3_GPRTBIMAP_FSLO_BINUM7_MASK GENMASK_32(27, 24) 465 #define _DWC3_GPRTBIMAP_FSLO_BINUM7_SHIFT 24 466 #define _DWC3_GPRTBIMAP_FSLO_BINUM8_MASK GENMASK_32(31, 28) 467 #define _DWC3_GPRTBIMAP_FSLO_BINUM8_SHIFT 28 468 469 /* _DWC3_GPRTBIMAP_FSHI register fields */ 470 #define _DWC3_GPRTBIMAP_FSHI_BINUM9_MASK GENMASK_32(3, 0) 471 #define _DWC3_GPRTBIMAP_FSHI_BINUM9_SHIFT 0 472 #define _DWC3_GPRTBIMAP_FSHI_BINUM10_MASK GENMASK_32(7, 4) 473 #define _DWC3_GPRTBIMAP_FSHI_BINUM10_SHIFT 4 474 #define _DWC3_GPRTBIMAP_FSHI_BINUM11_MASK GENMASK_32(11, 8) 475 #define _DWC3_GPRTBIMAP_FSHI_BINUM11_SHIFT 8 476 #define _DWC3_GPRTBIMAP_FSHI_BINUM12_MASK GENMASK_32(15, 12) 477 #define _DWC3_GPRTBIMAP_FSHI_BINUM12_SHIFT 12 478 #define _DWC3_GPRTBIMAP_FSHI_BINUM13_MASK GENMASK_32(19, 16) 479 #define _DWC3_GPRTBIMAP_FSHI_BINUM13_SHIFT 16 480 #define _DWC3_GPRTBIMAP_FSHI_BINUM14_MASK GENMASK_32(23, 20) 481 #define _DWC3_GPRTBIMAP_FSHI_BINUM14_SHIFT 20 482 #define _DWC3_GPRTBIMAP_FSHI_BINUM15_MASK GENMASK_32(27, 24) 483 #define _DWC3_GPRTBIMAP_FSHI_BINUM15_SHIFT 24 484 485 /* _DWC3_GUCTL2 register fields */ 486 #define _DWC3_GUCTL2_TXPINGDURATION_MASK GENMASK_32(4, 0) 487 #define _DWC3_GUCTL2_TXPINGDURATION_SHIFT 0 488 #define _DWC3_GUCTL2_RXPINGDURATION_MASK GENMASK_32(10, 5) 489 #define _DWC3_GUCTL2_RXPINGDURATION_SHIFT 5 490 #define _DWC3_GUCTL2_DISABLECFC BIT_32(11) 491 #define _DWC3_GUCTL2_ENABLEEPCACHEEVICT BIT_32(12) 492 #define _DWC3_GUCTL2_RST_ACTBITLATER BIT_32(14) 493 #define _DWC3_GUCTL2_NOLOWPWRDUR_MASK GENMASK_32(18, 15) 494 #define _DWC3_GUCTL2_NOLOWPWRDUR_SHIFT 15 495 #define _DWC3_GUCTL2_EN_HP_PM_TIMER_MASK GENMASK_32(25, 19) 496 #define _DWC3_GUCTL2_EN_HP_PM_TIMER_SHIFT 19 497 498 /* _DWC3_GTXFIFOPRIDEV register fields */ 499 #define _DWC3_GTXFIFOPRIDEV_GTXFIFOPRIDEV_MASK GENMASK_32(11, 0) 500 #define _DWC3_GTXFIFOPRIDEV_GTXFIFOPRIDEV_SHIFT 0 501 502 /* _DWC3_GTXFIFOPRIHST register fields */ 503 #define _DWC3_GTXFIFOPRIHST_GTXFIFOPRIHST_MASK GENMASK_32(2, 0) 504 #define _DWC3_GTXFIFOPRIHST_GTXFIFOPRIHST_SHIFT 0 505 506 /* _DWC3_GRXFIFOPRIHST register fields */ 507 #define _DWC3_GRXFIFOPRIHST_GRXFIFOPRIHST_MASK GENMASK_32(2, 0) 508 #define _DWC3_GRXFIFOPRIHST_GRXFIFOPRIHST_SHIFT 0 509 510 /* _DWC3_GDMAHLRATIO register fields */ 511 #define _DWC3_GDMAHLRATIO_HSTTXFIFO_MASK GENMASK_32(4, 0) 512 #define _DWC3_GDMAHLRATIO_HSTTXFIFO_SHIFT 0 513 #define _DWC3_GDMAHLRATIO_HSTRXFIFO_MASK GENMASK_32(12, 8) 514 #define _DWC3_GDMAHLRATIO_HSTRXFIFO_SHIFT 8 515 516 /* _DWC3_GFLADJ register fields */ 517 #define _DWC3_GFLADJ_GFLADJ_30MHZ_MASK GENMASK_32(5, 0) 518 #define _DWC3_GFLADJ_GFLADJ_30MHZ_SHIFT 0 519 #define _DWC3_GFLADJ_GFLADJ_30MHZ_SDBND_SEL BIT_32(7) 520 #define _DWC3_GFLADJ_GFLADJ_REFCLK_FLADJ_MASK GENMASK_32(21, 8) 521 #define _DWC3_GFLADJ_GFLADJ_REFCLK_FLADJ_SHIFT 8 522 #define _DWC3_GFLADJ_GFLADJ_REFCLK_LPM_SEL BIT_32(23) 523 #define _DWC3_GFLADJ_GFLADJ_REFCLK_240MHZ_DECR_MASK GENMASK_32(30, 24) 524 #define _DWC3_GFLADJ_GFLADJ_REFCLK_240MHZ_DECR_SHIFT 24 525 #define _DWC3_GFLADJ_GFLADJ_REFCLK_240MHZDECR_PLS1 BIT_32(31) 526 527 /* _DWC3_GUSB2PHYCFG register fields */ 528 #define _DWC3_GUSB2PHYCFG_TOUTCAL_MASK GENMASK_32(2, 0) 529 #define _DWC3_GUSB2PHYCFG_TOUTCAL_SHIFT 0 530 #define _DWC3_GUSB2PHYCFG_PHYIF BIT_32(3) 531 #define _DWC3_GUSB2PHYCFG_ULPI_UTMI_SEL BIT_32(4) 532 #define _DWC3_GUSB2PHYCFG_FSINTF BIT_32(5) 533 #define _DWC3_GUSB2PHYCFG_SUSPENDUSB20 BIT_32(6) 534 #define _DWC3_GUSB2PHYCFG_PHYSEL BIT_32(7) 535 #define _DWC3_GUSB2PHYCFG_ENBLSLPM BIT_32(8) 536 #define _DWC3_GUSB2PHYCFG_XCVRDLY BIT_32(9) 537 #define _DWC3_GUSB2PHYCFG_USBTRDTIM_MASK GENMASK_32(13, 10) 538 #define _DWC3_GUSB2PHYCFG_USBTRDTIM_SHIFT 10 539 #define _DWC3_GUSB2PHYCFG_ULPIAUTORES BIT_32(15) 540 #define _DWC3_GUSB2PHYCFG_ULPIEXTVBUSDRV BIT_32(17) 541 #define _DWC3_GUSB2PHYCFG_ULPIEXTVBUSINDIACTOR BIT_32(18) 542 #define _DWC3_GUSB2PHYCFG_LSIPD_MASK GENMASK_32(21, 19) 543 #define _DWC3_GUSB2PHYCFG_LSIPD_SHIFT 19 544 #define _DWC3_GUSB2PHYCFG_LSTRD_MASK GENMASK_32(24, 22) 545 #define _DWC3_GUSB2PHYCFG_LSTRD_SHIFT 22 546 #define _DWC3_GUSB2PHYCFG_INV_SEL_HSIC BIT_32(26) 547 #define _DWC3_GUSB2PHYCFG_HSIC_CON_WIDTH_ADJ_MASK GENMASK_32(28, 27) 548 #define _DWC3_GUSB2PHYCFG_HSIC_CON_WIDTH_ADJ_SHIFT 27 549 #define _DWC3_GUSB2PHYCFG_ULPI_LPM_WITH_OPMODE_CHK BIT_32(29) 550 #define _DWC3_GUSB2PHYCFG_U2_FREECLK_EXISTS BIT_32(30) 551 #define _DWC3_GUSB2PHYCFG_PHYSOFTRST BIT_32(31) 552 553 /* _DWC3_GUSB2PHYACC_ULPI register fields */ 554 #define _DWC3_GUSB2PHYACC_ULPI_REGDATA_MASK GENMASK_32(7, 0) 555 #define _DWC3_GUSB2PHYACC_ULPI_REGDATA_SHIFT 0 556 #define _DWC3_GUSB2PHYACC_ULPI_EXTREGADDR_MASK GENMASK_32(15, 8) 557 #define _DWC3_GUSB2PHYACC_ULPI_EXTREGADDR_SHIFT 8 558 #define _DWC3_GUSB2PHYACC_ULPI_REGADDR_MASK GENMASK_32(21, 16) 559 #define _DWC3_GUSB2PHYACC_ULPI_REGADDR_SHIFT 16 560 #define _DWC3_GUSB2PHYACC_ULPI_REGWR BIT_32(22) 561 #define _DWC3_GUSB2PHYACC_ULPI_VSTSBSY BIT_32(23) 562 #define _DWC3_GUSB2PHYACC_ULPI_VSTSDONE BIT_32(24) 563 #define _DWC3_GUSB2PHYACC_ULPI_NEWREGREQ BIT_32(25) 564 #define _DWC3_GUSB2PHYACC_ULPI_DISUIPIDRVR BIT_32(26) 565 566 /* _DWC3_GUSB3PIPECTL register fields */ 567 #define _DWC3_GUSB3PIPECTL_ELASTIC_BUFFER_MODE BIT_32(0) 568 #define _DWC3_GUSB3PIPECTL_SS_TX_DE_EMPHASIS_MASK GENMASK_32(2, 1) 569 #define _DWC3_GUSB3PIPECTL_SS_TX_DE_EMPHASIS_SHIFT 1 570 #define _DWC3_GUSB3PIPECTL_TX_MARGIN_MASK GENMASK_32(5, 3) 571 #define _DWC3_GUSB3PIPECTL_TX_MARGIN_SHIFT 3 572 #define _DWC3_GUSB3PIPECTL_TX_SWING BIT_32(6) 573 #define _DWC3_GUSB3PIPECTL_SSICEN BIT_32(7) 574 #define _DWC3_GUSB3PIPECTL_RX_DETECT_TO_POLLING_LFPS_CONTROL BIT_32(8) 575 #define _DWC3_GUSB3PIPECTL_LFPSFILTER BIT_32(9) 576 #define _DWC3_GUSB3PIPECTL_P3EXSIGP2 BIT_32(10) 577 #define _DWC3_GUSB3PIPECTL_P3P2TRANOK BIT_32(11) 578 #define _DWC3_GUSB3PIPECTL_LFPSP0ALGN BIT_32(12) 579 #define _DWC3_GUSB3PIPECTL_SKIPRXDET BIT_32(13) 580 #define _DWC3_GUSB3PIPECTL_ABORTRXDETINU2 BIT_32(14) 581 #define _DWC3_GUSB3PIPECTL_DATWIDTH_MASK GENMASK_32(16, 15) 582 #define _DWC3_GUSB3PIPECTL_DATWIDTH_SHIFT 15 583 #define _DWC3_GUSB3PIPECTL_SUSPENDENABLE BIT_32(17) 584 #define _DWC3_GUSB3PIPECTL_DELAYP1TRANS BIT_32(18) 585 #define _DWC3_GUSB3PIPECTL_DELAYP1P2P3_MASK GENMASK_32(21, 19) 586 #define _DWC3_GUSB3PIPECTL_DELAYP1P2P3_SHIFT 19 587 #define _DWC3_GUSB3PIPECTL_DISRXDETU3RXDET BIT_32(22) 588 #define _DWC3_GUSB3PIPECTL_STARTRXDETU3RXDET BIT_32(23) 589 #define _DWC3_GUSB3PIPECTL_REQUEST_P1P2P3 BIT_32(24) 590 #define _DWC3_GUSB3PIPECTL_U1U2EXITFAIL_TO_RECOV BIT_32(25) 591 #define _DWC3_GUSB3PIPECTL_PING_ENHANCEMENT_EN BIT_32(26) 592 #define _DWC3_GUSB3PIPECTL_UX_EXIT_IN_PX BIT_32(27) 593 #define _DWC3_GUSB3PIPECTL_DISRXDETP3 BIT_32(28) 594 #define _DWC3_GUSB3PIPECTL_U2P3OK BIT_32(29) 595 #define _DWC3_GUSB3PIPECTL_HSTPRTCMPL BIT_32(30) 596 #define _DWC3_GUSB3PIPECTL_PHYSOFTRST BIT_32(31) 597 598 /* _DWC3_GTXFIFOSIZ0 register fields */ 599 #define _DWC3_GTXFIFOSIZ0_TXFDEP_N_MASK GENMASK_32(15, 0) 600 #define _DWC3_GTXFIFOSIZ0_TXFDEP_N_SHIFT 0 601 #define _DWC3_GTXFIFOSIZ0_TXFSTADDR_N_MASK GENMASK_32(31, 16) 602 #define _DWC3_GTXFIFOSIZ0_TXFSTADDR_N_SHIFT 16 603 604 /* _DWC3_GTXFIFOSIZ1 register fields */ 605 #define _DWC3_GTXFIFOSIZ1_TXFDEP_N_MASK GENMASK_32(15, 0) 606 #define _DWC3_GTXFIFOSIZ1_TXFDEP_N_SHIFT 0 607 #define _DWC3_GTXFIFOSIZ1_TXFSTADDR_N_MASK GENMASK_32(31, 16) 608 #define _DWC3_GTXFIFOSIZ1_TXFSTADDR_N_SHIFT 16 609 610 /* _DWC3_GTXFIFOSIZ2 register fields */ 611 #define _DWC3_GTXFIFOSIZ2_TXFDEP_N_MASK GENMASK_32(15, 0) 612 #define _DWC3_GTXFIFOSIZ2_TXFDEP_N_SHIFT 0 613 #define _DWC3_GTXFIFOSIZ2_TXFSTADDR_N_MASK GENMASK_32(31, 16) 614 #define _DWC3_GTXFIFOSIZ2_TXFSTADDR_N_SHIFT 16 615 616 /* _DWC3_GTXFIFOSIZ3 register fields */ 617 #define _DWC3_GTXFIFOSIZ3_TXFDEP_N_MASK GENMASK_32(15, 0) 618 #define _DWC3_GTXFIFOSIZ3_TXFDEP_N_SHIFT 0 619 #define _DWC3_GTXFIFOSIZ3_TXFSTADDR_N_MASK GENMASK_32(31, 16) 620 #define _DWC3_GTXFIFOSIZ3_TXFSTADDR_N_SHIFT 16 621 622 /* _DWC3_GTXFIFOSIZ4 register fields */ 623 #define _DWC3_GTXFIFOSIZ4_TXFDEP_N_MASK GENMASK_32(15, 0) 624 #define _DWC3_GTXFIFOSIZ4_TXFDEP_N_SHIFT 0 625 #define _DWC3_GTXFIFOSIZ4_TXFSTADDR_N_MASK GENMASK_32(31, 16) 626 #define _DWC3_GTXFIFOSIZ4_TXFSTADDR_N_SHIFT 16 627 628 /* _DWC3_GTXFIFOSIZ5 register fields */ 629 #define _DWC3_GTXFIFOSIZ5_TXFDEP_N_MASK GENMASK_32(15, 0) 630 #define _DWC3_GTXFIFOSIZ5_TXFDEP_N_SHIFT 0 631 #define _DWC3_GTXFIFOSIZ5_TXFSTADDR_N_MASK GENMASK_32(31, 16) 632 #define _DWC3_GTXFIFOSIZ5_TXFSTADDR_N_SHIFT 16 633 634 /* _DWC3_GTXFIFOSIZ6 register fields */ 635 #define _DWC3_GTXFIFOSIZ6_TXFDEP_N_MASK GENMASK_32(15, 0) 636 #define _DWC3_GTXFIFOSIZ6_TXFDEP_N_SHIFT 0 637 #define _DWC3_GTXFIFOSIZ6_TXFSTADDR_N_MASK GENMASK_32(31, 16) 638 #define _DWC3_GTXFIFOSIZ6_TXFSTADDR_N_SHIFT 16 639 640 /* _DWC3_GTXFIFOSIZ7 register fields */ 641 #define _DWC3_GTXFIFOSIZ7_TXFDEP_N_MASK GENMASK_32(15, 0) 642 #define _DWC3_GTXFIFOSIZ7_TXFDEP_N_SHIFT 0 643 #define _DWC3_GTXFIFOSIZ7_TXFSTADDR_N_MASK GENMASK_32(31, 16) 644 #define _DWC3_GTXFIFOSIZ7_TXFSTADDR_N_SHIFT 16 645 646 /* _DWC3_GTXFIFOSIZ8 register fields */ 647 #define _DWC3_GTXFIFOSIZ8_TXFDEP_N_MASK GENMASK_32(15, 0) 648 #define _DWC3_GTXFIFOSIZ8_TXFDEP_N_SHIFT 0 649 #define _DWC3_GTXFIFOSIZ8_TXFSTADDR_N_MASK GENMASK_32(31, 16) 650 #define _DWC3_GTXFIFOSIZ8_TXFSTADDR_N_SHIFT 16 651 652 /* _DWC3_GTXFIFOSIZ9 register fields */ 653 #define _DWC3_GTXFIFOSIZ9_TXFDEP_N_MASK GENMASK_32(15, 0) 654 #define _DWC3_GTXFIFOSIZ9_TXFDEP_N_SHIFT 0 655 #define _DWC3_GTXFIFOSIZ9_TXFSTADDR_N_MASK GENMASK_32(31, 16) 656 #define _DWC3_GTXFIFOSIZ9_TXFSTADDR_N_SHIFT 16 657 658 /* _DWC3_GTXFIFOSIZ10 register fields */ 659 #define _DWC3_GTXFIFOSIZ10_TXFDEP_N_MASK GENMASK_32(15, 0) 660 #define _DWC3_GTXFIFOSIZ10_TXFDEP_N_SHIFT 0 661 #define _DWC3_GTXFIFOSIZ10_TXFSTADDR_N_MASK GENMASK_32(31, 16) 662 #define _DWC3_GTXFIFOSIZ10_TXFSTADDR_N_SHIFT 16 663 664 /* _DWC3_GTXFIFOSIZ11 register fields */ 665 #define _DWC3_GTXFIFOSIZ11_TXFDEP_N_MASK GENMASK_32(15, 0) 666 #define _DWC3_GTXFIFOSIZ11_TXFDEP_N_SHIFT 0 667 #define _DWC3_GTXFIFOSIZ11_TXFSTADDR_N_MASK GENMASK_32(31, 16) 668 #define _DWC3_GTXFIFOSIZ11_TXFSTADDR_N_SHIFT 16 669 670 /* _DWC3_GRXFIFOSIZ0 register fields */ 671 #define _DWC3_GRXFIFOSIZ0_RXFDEP_N_MASK GENMASK_32(15, 0) 672 #define _DWC3_GRXFIFOSIZ0_RXFDEP_N_SHIFT 0 673 #define _DWC3_GRXFIFOSIZ0_RXFSTADDR_N_MASK GENMASK_32(31, 16) 674 #define _DWC3_GRXFIFOSIZ0_RXFSTADDR_N_SHIFT 16 675 676 /* _DWC3_GRXFIFOSIZ1 register fields */ 677 #define _DWC3_GRXFIFOSIZ1_RXFDEP_N_MASK GENMASK_32(15, 0) 678 #define _DWC3_GRXFIFOSIZ1_RXFDEP_N_SHIFT 0 679 #define _DWC3_GRXFIFOSIZ1_RXFSTADDR_N_MASK GENMASK_32(31, 16) 680 #define _DWC3_GRXFIFOSIZ1_RXFSTADDR_N_SHIFT 16 681 682 /* _DWC3_GRXFIFOSIZ2 register fields */ 683 #define _DWC3_GRXFIFOSIZ2_RXFDEP_N_MASK GENMASK_32(15, 0) 684 #define _DWC3_GRXFIFOSIZ2_RXFDEP_N_SHIFT 0 685 #define _DWC3_GRXFIFOSIZ2_RXFSTADDR_N_MASK GENMASK_32(31, 16) 686 #define _DWC3_GRXFIFOSIZ2_RXFSTADDR_N_SHIFT 16 687 688 /* _DWC3_GEVNTSIZ register fields */ 689 #define _DWC3_GEVNTSIZ_EVENTSIZ_MASK GENMASK_32(15, 0) 690 #define _DWC3_GEVNTSIZ_EVENTSIZ_SHIFT 0 691 #define _DWC3_GEVNTSIZ_EVNTINTRPTMASK BIT_32(31) 692 693 /* _DWC3_GEVNTCOUNT register fields */ 694 #define _DWC3_GEVNTCOUNT_EVNTCOUNT_MASK GENMASK_32(15, 0) 695 #define _DWC3_GEVNTCOUNT_EVNTCOUNT_SHIFT 0 696 #define _DWC3_GEVNTCOUNT_EVNT_HANDLER_BUSY BIT_32(31) 697 698 /* 699 * USB3 Device Register Block 700 */ 701 #define _DWC3_DCFG U(0x0) 702 #define _DWC3_DCTL U(0x4) 703 #define _DWC3_DEVTEN U(0x8) 704 #define _DWC3_DSTS U(0xC) 705 #define _DWC3_DGCMDPAR U(0x10) 706 #define _DWC3_DGCMD U(0x14) 707 #define _DWC3_DALEPENA U(0x20) 708 #define _DWC3_DEPCMDPAR2 U(0x100) 709 #define _DWC3_DEPCMDPAR1 U(0x104) 710 #define _DWC3_DEPCMDPAR0 U(0x108) 711 #define _DWC3_DEPCMD U(0x10c) 712 #define _DWC3_DEV_IMOD U(0x300) 713 714 /* _DWC3_DCFG register fields */ 715 #define _DWC3_DCFG_DEVSPD_MASK GENMASK_32(2, 0) 716 #define _DWC3_DCFG_DEVSPD_SHIFT 0 717 #define _DWC3_DCFG_DEVADDR_MASK GENMASK_32(9, 3) 718 #define _DWC3_DCFG_DEVADDR_SHIFT 3 719 #define _DWC3_DCFG_INTRNUM_MASK GENMASK_32(16, 12) 720 #define _DWC3_DCFG_INTRNUM_SHIFT 12 721 #define _DWC3_DCFG_NUMP_MASK GENMASK_32(21, 17) 722 #define _DWC3_DCFG_NUMP_SHIFT 17 723 #define _DWC3_DCFG_LPMCAP BIT_32(22) 724 #define _DWC3_DCFG_IGNSTRMPP BIT_32(23) 725 726 /* _DWC3_DCTL register fields */ 727 #define _DWC3_DCTL_TSTCTL_MASK GENMASK_32(4, 1) 728 #define _DWC3_DCTL_TSTCTL_SHIFT 1 729 #define _DWC3_DCTL_ULSTCHNGREQ_MASK GENMASK_32(8, 5) 730 #define _DWC3_DCTL_ULSTCHNGREQ_SHIFT 5 731 #define _DWC3_DCTL_ACCEPTU1ENA BIT_32(9) 732 #define _DWC3_DCTL_INITU1ENA BIT_32(10) 733 #define _DWC3_DCTL_ACCEPTU2ENA BIT_32(11) 734 #define _DWC3_DCTL_INITU2ENA BIT_32(12) 735 #define _DWC3_DCTL_CSS BIT_32(16) 736 #define _DWC3_DCTL_CRS BIT_32(17) 737 #define _DWC3_DCTL_L1HIBERNATIONEN BIT_32(18) 738 #define _DWC3_DCTL_KEEPCONNECT BIT_32(19) 739 #define _DWC3_DCTL_LPM_NYET_THRES_MASK GENMASK_32(23, 20) 740 #define _DWC3_DCTL_LPM_NYET_THRES_SHIFT 20 741 #define _DWC3_DCTL_HIRDTHRES_MASK GENMASK_32(28, 24) 742 #define _DWC3_DCTL_HIRDTHRES_SHIFT 24 743 #define _DWC3_DCTL_CSFTRST BIT_32(30) 744 #define _DWC3_DCTL_RUN_STOP BIT_32(31) 745 746 /* _DWC3_DEVTEN register fields */ 747 #define _DWC3_DEVTEN_DISSCONNEVTEN BIT_32(0) 748 #define _DWC3_DEVTEN_USBRSTEVTEN BIT_32(1) 749 #define _DWC3_DEVTEN_CONNECTDONEEVTEN BIT_32(2) 750 #define _DWC3_DEVTEN_ULSTCNGEN BIT_32(3) 751 #define _DWC3_DEVTEN_WKUPEVTEN BIT_32(4) 752 #define _DWC3_DEVTEN_HIBERNATIONREQEVTEN BIT_32(5) 753 #define _DWC3_DEVTEN_U3L2L1SUSPEN BIT_32(6) 754 #define _DWC3_DEVTEN_SOFTEVTEN BIT_32(7) 755 #define _DWC3_DEVTEN_L1SUSPEN BIT_32(8) 756 #define _DWC3_DEVTEN_ERRTICERREVTEN BIT_32(9) 757 #define _DWC3_DEVTEN_CMDCMPLTEN BIT_32(10) 758 #define _DWC3_DEVTEN_EVNTOVERFLOWEN BIT_32(11) 759 #define _DWC3_DEVTEN_VENDEVTSTRCVDEN BIT_32(12) 760 #define _DWC3_DEVTEN_L1WKUPEVTEN BIT_32(14) 761 #define _DWC3_DEVTEN_ECCERREN BIT_32(16) 762 763 /* _DWC3_DSTS register fields */ 764 #define _DWC3_DSTS_CONNECTSPD_MASK GENMASK_32(2, 0) 765 #define _DWC3_DSTS_CONNECTSPD_SHIFT 0 766 #define _DWC3_DSTS_SOFFN_MASK GENMASK_32(16, 3) 767 #define _DWC3_DSTS_SOFFN_SHIFT 3 768 #define _DWC3_DSTS_RXFIFOEMPTY BIT_32(17) 769 #define _DWC3_DSTS_USBLNKST_MASK GENMASK_32(21, 18) 770 #define _DWC3_DSTS_USBLNKST_SHIFT 18 771 #define _DWC3_DSTS_DEVCTRLHLT BIT_32(22) 772 #define _DWC3_DSTS_COREIDLE BIT_32(23) 773 #define _DWC3_DSTS_SSS BIT_32(24) 774 #define _DWC3_DSTS_RSS BIT_32(25) 775 #define _DWC3_DSTS_SRE BIT_32(28) 776 #define _DWC3_DSTS_DCNRD BIT_32(29) 777 778 /* _DWC3_DGCMD register fields */ 779 #define _DWC3_DGCMD_CMDTYP_MASK GENMASK_32(7, 0) 780 #define _DWC3_DGCMD_CMDTYP_SHIFT 0 781 #define _DWC3_DGCMD_CMDIOC BIT_32(8) 782 #define _DWC3_DGCMD_CMDACT BIT_32(10) 783 #define _DWC3_DGCMD_CMDSTATUS_MASK GENMASK_32(15, 12) 784 #define _DWC3_DGCMD_CMDSTATUS_SHIFT 12 785 786 /* _DWC3_DEPCMD register fields */ 787 #define _DWC3_DEPCMD_CMDTYP_MASK GENMASK_32(3, 0) 788 #define _DWC3_DEPCMD_CMDTYP_SHIFT 0 789 #define _DWC3_DEPCMD_CMDIOC BIT_32(8) 790 #define _DWC3_DEPCMD_CMDACT BIT_32(10) 791 #define _DWC3_DEPCMD_HIPRI_FORCERM BIT_32(11) 792 #define _DWC3_DEPCMD_CMDSTATUS_MASK GENMASK_32(15, 12) 793 #define _DWC3_DEPCMD_CMDSTATUS_SHIFT 12 794 #define _DWC3_DEPCMD_COMMANDPARAM_MASK GENMASK_32(31, 16) 795 #define _DWC3_DEPCMD_COMMANDPARAM_SHIFT 16 796 797 /* _DWC3_DEV_IMOD register fields */ 798 #define _DWC3_DEV_IMOD_DEVICE_IMODI_MASK GENMASK_32(15, 0) 799 #define _DWC3_DEV_IMOD_DEVICE_IMODI_SHIFT 0 800 #define _DWC3_DEV_IMOD_DEVICE_IMODC_MASK GENMASK_32(31, 16) 801 #define _DWC3_DEV_IMOD_DEVICE_IMODC_SHIFT 16 802 803 /* 804 * USB3 BC Register Block 805 */ 806 #define _DWC3_BCFG U(0x0) 807 #define _DWC3_BCEVT U(0x8) 808 #define _DWC3_BCEVTEN U(0xC) 809 810 /* _DWC3_BCFG register fields */ 811 #define _DWC3_BCFG_CHIRP_EN BIT_32(0) 812 #define _DWC3_BCFG_IDDIG_SEL BIT_32(1) 813 814 /* _DWC3_BCEVT register fields */ 815 #define _DWC3_BCEVT_MULTVALIDBC_MASK GENMASK_32(4, 0) 816 #define _DWC3_BCEVT_MULTVALIDBC_SHIFT 0 817 #define _DWC3_BCEVT_MV_CHNGEVNT BIT_32(24) 818 819 /* _DWC3_BCEVTEN register fields */ 820 #define _DWC3_BCEVTEN_MV_CHNGEVNTENA BIT_32(24) 821 822 /* 823 * USB3 eXtensible Host Controller Capability Register Block 824 */ 825 #define _DWC3_CAPLENGTH U(0x0) 826 #define _DWC3_HCSPARAMS1 U(0x4) 827 #define _DWC3_HCSPARAMS2 U(0x8) 828 #define _DWC3_HCSPARAMS3 U(0xC) 829 #define _DWC3_HCCPARAMS1 U(0x10) 830 #define _DWC3_DBOFF U(0x14) 831 #define _DWC3_RTSOFF U(0x18) 832 #define _DWC3_HCCPARAMS2 U(0x1C) 833 834 /* _DWC3_CAPLENGTH register fields */ 835 #define _DWC3_CAPLENGTH_CAPLENGTH_MASK GENMASK_32(7, 0) 836 #define _DWC3_CAPLENGTH_CAPLENGTH_SHIFT 0 837 #define _DWC3_CAPLENGTH_HCIVERSION_MASK GENMASK_32(31, 16) 838 #define _DWC3_CAPLENGTH_HCIVERSION_SHIFT 16 839 840 /* _DWC3_HCSPARAMS1 register fields */ 841 #define _DWC3_HCSPARAMS1_MAXSLOTS_MASK GENMASK_32(7, 0) 842 #define _DWC3_HCSPARAMS1_MAXSLOTS_SHIFT 0 843 #define _DWC3_HCSPARAMS1_MAXINTRS_MASK GENMASK_32(18, 8) 844 #define _DWC3_HCSPARAMS1_MAXINTRS_SHIFT 8 845 #define _DWC3_HCSPARAMS1_MAXPORTS_MASK GENMASK_32(31, 24) 846 #define _DWC3_HCSPARAMS1_MAXPORTS_SHIFT 24 847 848 /* _DWC3_HCSPARAMS2 register fields */ 849 #define _DWC3_HCSPARAMS2_IST_MASK GENMASK_32(3, 0) 850 #define _DWC3_HCSPARAMS2_IST_SHIFT 0 851 #define _DWC3_HCSPARAMS2_ERSTMAX_MASK GENMASK_32(7, 4) 852 #define _DWC3_HCSPARAMS2_ERSTMAX_SHIFT 4 853 #define _DWC3_HCSPARAMS2_MAXSCRATCHPADBUFS_HI_MASK GENMASK_32(25, 21) 854 #define _DWC3_HCSPARAMS2_MAXSCRATCHPADBUFS_HI_SHIFT 21 855 #define _DWC3_HCSPARAMS2_SPR BIT_32(26) 856 #define _DWC3_HCSPARAMS2_MAXSCRATCHPADBUFS_MASK GENMASK_32(31, 27) 857 #define _DWC3_HCSPARAMS2_MAXSCRATCHPADBUFS_SHIFT 27 858 859 /* _DWC3_HCSPARAMS3 register fields */ 860 #define _DWC3_HCSPARAMS3_U1_DEVICE_EXIT_LAT_MASK GENMASK_32(7, 0) 861 #define _DWC3_HCSPARAMS3_U1_DEVICE_EXIT_LAT_SHIFT 0 862 #define _DWC3_HCSPARAMS3_U2_DEVICE_EXIT_LAT_MASK GENMASK_32(31, 16) 863 #define _DWC3_HCSPARAMS3_U2_DEVICE_EXIT_LAT_SHIFT 16 864 865 /* _DWC3_HCCPARAMS1 register fields */ 866 #define _DWC3_HCCPARAMS1_AC64 BIT_32(0) 867 #define _DWC3_HCCPARAMS1_BNC BIT_32(1) 868 #define _DWC3_HCCPARAMS1_CSZ BIT_32(2) 869 #define _DWC3_HCCPARAMS1_PPC BIT_32(3) 870 #define _DWC3_HCCPARAMS1_PIND BIT_32(4) 871 #define _DWC3_HCCPARAMS1_LHRC BIT_32(5) 872 #define _DWC3_HCCPARAMS1_LTC BIT_32(6) 873 #define _DWC3_HCCPARAMS1_NSS BIT_32(7) 874 #define _DWC3_HCCPARAMS1_PAE BIT_32(8) 875 #define _DWC3_HCCPARAMS1_SPC BIT_32(9) 876 #define _DWC3_HCCPARAMS1_SEC BIT_32(10) 877 #define _DWC3_HCCPARAMS1_CFC BIT_32(11) 878 #define _DWC3_HCCPARAMS1_MAXPSASIZE_MASK GENMASK_32(15, 12) 879 #define _DWC3_HCCPARAMS1_MAXPSASIZE_SHIFT 12 880 #define _DWC3_HCCPARAMS1_XECP_MASK GENMASK_32(31, 16) 881 #define _DWC3_HCCPARAMS1_XECP_SHIFT 16 882 883 /* _DWC3_DBOFF register fields */ 884 #define _DWC3_DBOFF_DOORBELL_ARRAY_OFFSET_MASK GENMASK_32(31, 2) 885 #define _DWC3_DBOFF_DOORBELL_ARRAY_OFFSET_SHIFT 2 886 887 /* _DWC3_RTSOFF register fields */ 888 #define _DWC3_RTSOFF_RUNTIME_REG_SPACE_OFFSET_MASK GENMASK_32(31, 5) 889 #define _DWC3_RTSOFF_RUNTIME_REG_SPACE_OFFSET_SHIFT 5 890 891 /* _DWC3_HCCPARAMS2 register fields */ 892 #define _DWC3_HCCPARAMS2_U3C BIT_32(0) 893 #define _DWC3_HCCPARAMS2_CMC BIT_32(1) 894 #define _DWC3_HCCPARAMS2_FSC BIT_32(2) 895 #define _DWC3_HCCPARAMS2_CTC BIT_32(3) 896 #define _DWC3_HCCPARAMS2_LEC BIT_32(4) 897 #define _DWC3_HCCPARAMS2_CIC BIT_32(5) 898 899 /* 900 * USB3 Host Cntrl Oper Regs Block 901 */ 902 #define _DWC3_USBCMD U(0x0) 903 #define _DWC3_USBSTS U(0x4) 904 #define _DWC3_PAGESIZE U(0x8) 905 #define _DWC3_DNCTRL U(0x14) 906 #define _DWC3_CRCR_LO U(0x18) 907 #define _DWC3_CRCR_HI U(0x1C) 908 #define _DWC3_DCBAAP_LO U(0x30) 909 #define _DWC3_DCBAAP_HI U(0x34) 910 #define _DWC3_CONFIG U(0x38) 911 912 /* _DWC3_USBCMD register fields */ 913 #define _DWC3_USBCMD_R_S BIT_32(0) 914 #define _DWC3_USBCMD_HCRST BIT_32(1) 915 #define _DWC3_USBCMD_INTE BIT_32(2) 916 #define _DWC3_USBCMD_HSEE BIT_32(3) 917 #define _DWC3_USBCMD_LHCRST BIT_32(7) 918 #define _DWC3_USBCMD_CSS BIT_32(8) 919 #define _DWC3_USBCMD_CRS BIT_32(9) 920 #define _DWC3_USBCMD_EWE BIT_32(10) 921 #define _DWC3_USBCMD_EU3S BIT_32(11) 922 #define _DWC3_USBCMD_CME BIT_32(13) 923 924 /* _DWC3_USBSTS register fields */ 925 #define _DWC3_USBSTS_HCH BIT_32(0) 926 #define _DWC3_USBSTS_HSE BIT_32(2) 927 #define _DWC3_USBSTS_EINT BIT_32(3) 928 #define _DWC3_USBSTS_PCD BIT_32(4) 929 #define _DWC3_USBSTS_SSS BIT_32(8) 930 #define _DWC3_USBSTS_RSS BIT_32(9) 931 #define _DWC3_USBSTS_SRE BIT_32(10) 932 #define _DWC3_USBSTS_CNR BIT_32(11) 933 #define _DWC3_USBSTS_HCE BIT_32(12) 934 935 /* _DWC3_PAGESIZE register fields */ 936 #define _DWC3_PAGESIZE_PAGE_SIZE_MASK GENMASK_32(15, 0) 937 #define _DWC3_PAGESIZE_PAGE_SIZE_SHIFT 0 938 939 /* _DWC3_DNCTRL register fields */ 940 #define _DWC3_DNCTRL_N0_N15_MASK GENMASK_32(15, 0) 941 #define _DWC3_DNCTRL_N0_N15_SHIFT 0 942 943 /* _DWC3_CRCR_LO register fields */ 944 #define _DWC3_CRCR_LO_RCS BIT_32(0) 945 #define _DWC3_CRCR_LO_CS BIT_32(1) 946 #define _DWC3_CRCR_LO_CA BIT_32(2) 947 #define _DWC3_CRCR_LO_CRR BIT_32(3) 948 #define _DWC3_CRCR_LO_CMD_RING_PNTR_MASK GENMASK_32(31, 6) 949 #define _DWC3_CRCR_LO_CMD_RING_PNTR_SHIFT 6 950 951 /* _DWC3_DCBAAP_LO register fields */ 952 #define _DWC3_DCBAAP_LO_DEVICE_CONTEXT_BAAP_MASK GENMASK_32(31, 6) 953 #define _DWC3_DCBAAP_LO_DEVICE_CONTEXT_BAAP_SHIFT 6 954 955 /* _DWC3_CONFIG register fields */ 956 #define _DWC3_CONFIG_MAXSLOTSEN_MASK GENMASK_32(7, 0) 957 #define _DWC3_CONFIG_MAXSLOTSEN_SHIFT 0 958 #define _DWC3_CONFIG_U3E BIT_32(8) 959 #define _DWC3_CONFIG_CIE BIT_32(9) 960 961 /* 962 * USB3 Host Cntrl Port Reg Set Block 963 */ 964 #define _DWC3_PORTSC_20 U(0x0) 965 #define _DWC3_PORTPMSC_20 U(0x4) 966 #define _DWC3_PORTLI_20 U(0x8) 967 #define _DWC3_PORTHLPMC_20 U(0xc) 968 #define _DWC3_PORTSC_30 U(0x10) 969 #define _DWC3_PORTPMSC_30 U(0x14) 970 #define _DWC3_PORTLI_30 U(0x18) 971 #define _DWC3_PORTHLPMC_30 U(0x1c) 972 973 /* _DWC3_PORTSC_20 register fields */ 974 #define _DWC3_PORTSC_20_CCS BIT_32(0) 975 #define _DWC3_PORTSC_20_PED BIT_32(1) 976 #define _DWC3_PORTSC_20_OCA BIT_32(3) 977 #define _DWC3_PORTSC_20_PR BIT_32(4) 978 #define _DWC3_PORTSC_20_PLS_MASK GENMASK_32(8, 5) 979 #define _DWC3_PORTSC_20_PLS_SHIFT 5 980 #define _DWC3_PORTSC_20_PP BIT_32(9) 981 #define _DWC3_PORTSC_20_PORTSPEED_MASK GENMASK_32(13, 10) 982 #define _DWC3_PORTSC_20_PORTSPEED_SHIFT 10 983 #define _DWC3_PORTSC_20_PIC_MASK GENMASK_32(15, 14) 984 #define _DWC3_PORTSC_20_PIC_SHIFT 14 985 #define _DWC3_PORTSC_20_LWS BIT_32(16) 986 #define _DWC3_PORTSC_20_CSC BIT_32(17) 987 #define _DWC3_PORTSC_20_PEC BIT_32(18) 988 #define _DWC3_PORTSC_20_OCC BIT_32(20) 989 #define _DWC3_PORTSC_20_PRC BIT_32(21) 990 #define _DWC3_PORTSC_20_PLC BIT_32(22) 991 #define _DWC3_PORTSC_20_CAS BIT_32(24) 992 #define _DWC3_PORTSC_20_WCE BIT_32(25) 993 #define _DWC3_PORTSC_20_WDE BIT_32(26) 994 #define _DWC3_PORTSC_20_WOE BIT_32(27) 995 #define _DWC3_PORTSC_20_DR BIT_32(30) 996 997 /* _DWC3_PORTPMSC_20 register fields */ 998 #define _DWC3_PORTPMSC_20_L1S_MASK GENMASK_32(2, 0) 999 #define _DWC3_PORTPMSC_20_L1S_SHIFT 0 1000 #define _DWC3_PORTPMSC_20_RWE BIT_32(3) 1001 #define _DWC3_PORTPMSC_20_HIRD_MASK GENMASK_32(7, 4) 1002 #define _DWC3_PORTPMSC_20_HIRD_SHIFT 4 1003 #define _DWC3_PORTPMSC_20_L1DSLOT_MASK GENMASK_32(15, 8) 1004 #define _DWC3_PORTPMSC_20_L1DSLOT_SHIFT 8 1005 #define _DWC3_PORTPMSC_20_HLE BIT_32(16) 1006 #define _DWC3_PORTPMSC_20_PRTTSTCTRL_MASK GENMASK_32(31, 28) 1007 #define _DWC3_PORTPMSC_20_PRTTSTCTRL_SHIFT 28 1008 1009 /* _DWC3_PORTHLPMC_20 register fields */ 1010 #define _DWC3_PORTHLPMC_20_HIRDM_MASK GENMASK_32(1, 0) 1011 #define _DWC3_PORTHLPMC_20_HIRDM_SHIFT 0 1012 #define _DWC3_PORTHLPMC_20_L1_TIMEOUT_MASK GENMASK_32(9, 2) 1013 #define _DWC3_PORTHLPMC_20_L1_TIMEOUT_SHIFT 2 1014 #define _DWC3_PORTHLPMC_20_HIRDD_MASK GENMASK_32(13, 10) 1015 #define _DWC3_PORTHLPMC_20_HIRDD_SHIFT 10 1016 1017 /* _DWC3_PORTSC_30 register fields */ 1018 #define _DWC3_PORTSC_30_CCS BIT_32(0) 1019 #define _DWC3_PORTSC_30_PED BIT_32(1) 1020 #define _DWC3_PORTSC_30_OCA BIT_32(3) 1021 #define _DWC3_PORTSC_30_PR BIT_32(4) 1022 #define _DWC3_PORTSC_30_PLS_MASK GENMASK_32(8, 5) 1023 #define _DWC3_PORTSC_30_PLS_SHIFT 5 1024 #define _DWC3_PORTSC_30_PP BIT_32(9) 1025 #define _DWC3_PORTSC_30_PORTSPEED_MASK GENMASK_32(13, 10) 1026 #define _DWC3_PORTSC_30_PORTSPEED_SHIFT 10 1027 #define _DWC3_PORTSC_30_PIC_MASK GENMASK_32(15, 14) 1028 #define _DWC3_PORTSC_30_PIC_SHIFT 14 1029 #define _DWC3_PORTSC_30_LWS BIT_32(16) 1030 #define _DWC3_PORTSC_30_CSC BIT_32(17) 1031 #define _DWC3_PORTSC_30_PEC BIT_32(18) 1032 #define _DWC3_PORTSC_30_WRC BIT_32(19) 1033 #define _DWC3_PORTSC_30_OCC BIT_32(20) 1034 #define _DWC3_PORTSC_30_PRC BIT_32(21) 1035 #define _DWC3_PORTSC_30_PLC BIT_32(22) 1036 #define _DWC3_PORTSC_30_CEC BIT_32(23) 1037 #define _DWC3_PORTSC_30_CAS BIT_32(24) 1038 #define _DWC3_PORTSC_30_WCE BIT_32(25) 1039 #define _DWC3_PORTSC_30_WDE BIT_32(26) 1040 #define _DWC3_PORTSC_30_WOE BIT_32(27) 1041 #define _DWC3_PORTSC_30_DR BIT_32(30) 1042 #define _DWC3_PORTSC_30_WPR BIT_32(31) 1043 1044 /* _DWC3_PORTPMSC_30 register fields */ 1045 #define _DWC3_PORTPMSC_30_U1_TIMEOUT_MASK GENMASK_32(7, 0) 1046 #define _DWC3_PORTPMSC_30_U1_TIMEOUT_SHIFT 0 1047 #define _DWC3_PORTPMSC_30_U2_TIMEOUT_MASK GENMASK_32(15, 8) 1048 #define _DWC3_PORTPMSC_30_U2_TIMEOUT_SHIFT 8 1049 #define _DWC3_PORTPMSC_30_FLA BIT_32(16) 1050 1051 /* _DWC3_PORTLI_30 register fields */ 1052 #define _DWC3_PORTLI_30_LINK_ERROR_COUNT_MASK GENMASK_32(15, 0) 1053 #define _DWC3_PORTLI_30_LINK_ERROR_COUNT_SHIFT 0 1054 1055 /* 1056 * USB3 Host Cntrl Runtime Regs Block 1057 */ 1058 #define _DWC3_MFINDEX U(0x0) 1059 1060 /* _DWC3_MFINDEX register fields */ 1061 #define _DWC3_MFINDEX_MICROFRAME_INDEX_MASK GENMASK_32(13, 0) 1062 #define _DWC3_MFINDEX_MICROFRAME_INDEX_SHIFT 0 1063 1064 /* 1065 * USB3 Interrupter Regs Block 1066 */ 1067 #define _DWC3_IMAN U(0x0) 1068 #define _DWC3_IMOD U(0x4) 1069 #define _DWC3_ERSTSZ U(0x8) 1070 #define _DWC3_ERSTBA_LO U(0x10) 1071 #define _DWC3_ERSTBA_HI U(0x14) 1072 #define _DWC3_ERDP_LO U(0x18) 1073 #define _DWC3_ERDP_HI U(0x1c) 1074 1075 /* _DWC3_IMAN register fields */ 1076 #define _DWC3_IMAN_IP BIT_32(0) 1077 #define _DWC3_IMAN_IE BIT_32(1) 1078 1079 /* _DWC3_IMOD register fields */ 1080 #define _DWC3_IMOD_IMODI_MASK GENMASK_32(15, 0) 1081 #define _DWC3_IMOD_IMODI_SHIFT 0 1082 #define _DWC3_IMOD_IMODC_MASK GENMASK_32(31, 16) 1083 #define _DWC3_IMOD_IMODC_SHIFT 16 1084 1085 /* _DWC3_ERSTSZ register fields */ 1086 #define _DWC3_ERSTSZ_ERS_TABLE_SIZE_MASK GENMASK_32(15, 0) 1087 #define _DWC3_ERSTSZ_ERS_TABLE_SIZE_SHIFT 0 1088 1089 /* _DWC3_ERSTBA_LO register fields */ 1090 #define _DWC3_ERSTBA_LO_ERS_TABLE_BAR_MASK GENMASK_32(31, 6) 1091 #define _DWC3_ERSTBA_LO_ERS_TABLE_BAR_SHIFT 6 1092 1093 /* _DWC3_ERDP_LO register fields */ 1094 #define _DWC3_ERDP_LO_DESI_MASK GENMASK_32(2, 0) 1095 #define _DWC3_ERDP_LO_DESI_SHIFT 0 1096 #define _DWC3_ERDP_LO_EHB BIT_32(3) 1097 #define _DWC3_ERDP_LO_ERD_PNTR_MASK GENMASK_32(31, 4) 1098 #define _DWC3_ERDP_LO_ERD_PNTR_SHIFT 4 1099 1100 /* 1101 * USB3 Doorbell Reg Block 1102 */ 1103 #define _DWC3_DB U(0x0) 1104 1105 /* _DWC3_DB register fields */ 1106 #define _DWC3_DB_DB_TARGET_MASK GENMASK_32(7, 0) 1107 #define _DWC3_DB_DB_TARGET_SHIFT 0 1108 #define _DWC3_DB_DB_STREAM_ID_MASK GENMASK_32(31, 16) 1109 #define _DWC3_DB_DB_STREAM_ID_SHIFT 16 1110 1111 /* 1112 * USB3 internal RAM0 Register Block 1113 1114 * For a description of this standard USB register field, see the eXtensible Host Controller 1115 * Interface for Universal Serial Bus (USB) Specification 3.0. 1116 1117 */ 1118 1119 /* 1120 * USB3 internal RAM1 Register Block 1121 1122 * For a description of this standard USB register field, see the eXtensible Host Controller 1123 * Interface for Universal Serial Bus (USB) Specification 3.0. 1124 1125 */ 1126 1127 /* 1128 * USB3 internal RAM2 Register Block 1129 */ 1130 1131 /* 1132 * USB3 HC Extended Capability Register Block 1133 */ 1134 #define _DWC3_USBLEGSUP U(0x0) 1135 #define _DWC3_USBLEGCTLSTS U(0x4) 1136 1137 /* _DWC3_USBLEGSUP register fields */ 1138 #define _DWC3_USBLEGSUP_CAPABILITY_ID_MASK GENMASK_32(7, 0) 1139 #define _DWC3_USBLEGSUP_CAPABILITY_ID_SHIFT 0 1140 #define _DWC3_USBLEGSUP_NEXT_CAPABILITY_POINTER_MASK GENMASK_32(15, 8) 1141 #define _DWC3_USBLEGSUP_NEXT_CAPABILITY_POINTER_SHIFT 8 1142 #define _DWC3_USBLEGSUP_HC_BIOS_OWNED BIT_32(16) 1143 #define _DWC3_USBLEGSUP_HC_OS_OWNED BIT_32(24) 1144 1145 /* _DWC3_USBLEGCTLSTS register fields */ 1146 #define _DWC3_USBLEGCTLSTS_USB_SMI_ENABLE BIT_32(0) 1147 #define _DWC3_USBLEGCTLSTS_SMI_ON_HOST_E BIT_32(4) 1148 #define _DWC3_USBLEGCTLSTS_SMI_ON_OS_E BIT_32(13) 1149 #define _DWC3_USBLEGCTLSTS_SMI_ON_PCI_E BIT_32(14) 1150 #define _DWC3_USBLEGCTLSTS_SMI_ON_BAR_E BIT_32(15) 1151 #define _DWC3_USBLEGCTLSTS_SMI_ON_EVENT BIT_32(16) 1152 #define _DWC3_USBLEGCTLSTS_SMI_ON_HOST BIT_32(20) 1153 #define _DWC3_USBLEGCTLSTS_SMI_ON_OS BIT_32(29) 1154 #define _DWC3_USBLEGCTLSTS_SMI_ON_PCI BIT_32(30) 1155 #define _DWC3_USBLEGCTLSTS_SMI_ON_BAR BIT_32(31) 1156 1157 /* 1158 * USB3 xHCI Supported Protocol Capability (USB 2.0) Block 1159 */ 1160 #define _DWC3_SUPTPRT2_DW0 U(0x0) 1161 #define _DWC3_SUPTPRT2_DW1 U(0x4) 1162 #define _DWC3_SUPTPRT2_DW2 U(0x8) 1163 #define _DWC3_SUPTPRT2_DW3 U(0xC) 1164 1165 /* _DWC3_SUPTPRT2_DW0 register fields */ 1166 #define _DWC3_SUPTPRT2_DW0_CAPABILITY_ID_MASK GENMASK_32(7, 0) 1167 #define _DWC3_SUPTPRT2_DW0_CAPABILITY_ID_SHIFT 0 1168 #define _DWC3_SUPTPRT2_DW0_NEXT_CAPABILITY_POINTER_MASK GENMASK_32(15, 8) 1169 #define _DWC3_SUPTPRT2_DW0_NEXT_CAPABILITY_POINTER_SHIFT 8 1170 #define _DWC3_SUPTPRT2_DW0_MINOR_REVISION_MASK GENMASK_32(23, 16) 1171 #define _DWC3_SUPTPRT2_DW0_MINOR_REVISION_SHIFT 16 1172 #define _DWC3_SUPTPRT2_DW0_MAJOR_REVISION_MASK GENMASK_32(31, 24) 1173 #define _DWC3_SUPTPRT2_DW0_MAJOR_REVISION_SHIFT 24 1174 1175 /* _DWC3_SUPTPRT2_DW2 register fields */ 1176 #define _DWC3_SUPTPRT2_DW2_COMPATIBLE_PORT_OFFSET_MASK GENMASK_32(7, 0) 1177 #define _DWC3_SUPTPRT2_DW2_COMPATIBLE_PORT_OFFSET_SHIFT 0 1178 #define _DWC3_SUPTPRT2_DW2_COMPATIBLE_PORT_COUNT_MASK GENMASK_32(15, 8) 1179 #define _DWC3_SUPTPRT2_DW2_COMPATIBLE_PORT_COUNT_SHIFT 8 1180 #define _DWC3_SUPTPRT2_DW2_HSO BIT_32(17) 1181 #define _DWC3_SUPTPRT2_DW2_IHI BIT_32(18) 1182 #define _DWC3_SUPTPRT2_DW2_HLC BIT_32(19) 1183 #define _DWC3_SUPTPRT2_DW2_BLC BIT_32(20) 1184 #define _DWC3_SUPTPRT2_DW2_MHD_MASK GENMASK_32(27, 25) 1185 #define _DWC3_SUPTPRT2_DW2_MHD_SHIFT 25 1186 #define _DWC3_SUPTPRT2_DW2_PSIC_MASK GENMASK_32(31, 28) 1187 #define _DWC3_SUPTPRT2_DW2_PSIC_SHIFT 28 1188 1189 /* _DWC3_SUPTPRT2_DW3 register fields */ 1190 #define _DWC3_SUPTPRT2_DW3_PROTCL_SLT_TY_MASK GENMASK_32(4, 0) 1191 #define _DWC3_SUPTPRT2_DW3_PROTCL_SLT_TY_SHIFT 0 1192 1193 /* 1194 * USB3 xHCI Supported Protocol Capability (USB 3.0) Block 1195 */ 1196 #define _DWC3_SUPTPRT3_DW0 U(0x0) 1197 #define _DWC3_SUPTPRT3_DW1 U(0x4) 1198 #define _DWC3_SUPTPRT3_DW2 U(0x8) 1199 #define _DWC3_SUPTPRT3_DW3 U(0xC) 1200 1201 /* _DWC3_SUPTPRT3_DW0 register fields */ 1202 #define _DWC3_SUPTPRT3_DW0_CAPABILITY_ID_MASK GENMASK_32(7, 0) 1203 #define _DWC3_SUPTPRT3_DW0_CAPABILITY_ID_SHIFT 0 1204 #define _DWC3_SUPTPRT3_DW0_NEXT_CAPABILITY_POINTER_MASK GENMASK_32(15, 8) 1205 #define _DWC3_SUPTPRT3_DW0_NEXT_CAPABILITY_POINTER_SHIFT 8 1206 #define _DWC3_SUPTPRT3_DW0_MINOR_REVISION_MASK GENMASK_32(23, 16) 1207 #define _DWC3_SUPTPRT3_DW0_MINOR_REVISION_SHIFT 16 1208 #define _DWC3_SUPTPRT3_DW0_MAJOR_REVISION_MASK GENMASK_32(31, 24) 1209 #define _DWC3_SUPTPRT3_DW0_MAJOR_REVISION_SHIFT 24 1210 1211 /* _DWC3_SUPTPRT3_DW2 register fields */ 1212 #define _DWC3_SUPTPRT3_DW2_COMPATIBLE_PORT_OFFSET_MASK GENMASK_32(7, 0) 1213 #define _DWC3_SUPTPRT3_DW2_COMPATIBLE_PORT_OFFSET_SHIFT 0 1214 #define _DWC3_SUPTPRT3_DW2_COMPATIBLE_PORT_COUNT_MASK GENMASK_32(15, 8) 1215 #define _DWC3_SUPTPRT3_DW2_COMPATIBLE_PORT_COUNT_SHIFT 8 1216 #define _DWC3_SUPTPRT3_DW2_MHD_MASK GENMASK_32(27, 25) 1217 #define _DWC3_SUPTPRT3_DW2_MHD_SHIFT 25 1218 #define _DWC3_SUPTPRT3_DW2_PSIC_MASK GENMASK_32(31, 28) 1219 #define _DWC3_SUPTPRT3_DW2_PSIC_SHIFT 28 1220 1221 /* _DWC3_SUPTPRT3_DW3 register fields */ 1222 #define _DWC3_SUPTPRT3_DW3_PROTCL_SLT_TY_MASK GENMASK_32(4, 0) 1223 #define _DWC3_SUPTPRT3_DW3_PROTCL_SLT_TY_SHIFT 0 1224 1225 #endif /* __USB_DWC3_REGS_H */ 1226