17ae18f37SLucas Stach /* 27ae18f37SLucas Stach * Copyright (c) 2011 The Chromium OS Authors. 37e44d932SJim Lin * Copyright (c) 2013 NVIDIA Corporation 47ae18f37SLucas Stach * 51a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 67ae18f37SLucas Stach */ 77ae18f37SLucas Stach 87ae18f37SLucas Stach #ifndef _TEGRA_USB_H_ 97ae18f37SLucas Stach #define _TEGRA_USB_H_ 107ae18f37SLucas Stach 118f9fd6caSStefan Agner /* USB Controller (USBx_CONTROLLER_) regs */ 128f9fd6caSStefan Agner struct usb_ctlr { 138f9fd6caSStefan Agner /* 0x000 */ 148f9fd6caSStefan Agner uint id; 158f9fd6caSStefan Agner uint reserved0; 168f9fd6caSStefan Agner uint host; 178f9fd6caSStefan Agner uint device; 188f9fd6caSStefan Agner 198f9fd6caSStefan Agner /* 0x010 */ 208f9fd6caSStefan Agner uint txbuf; 218f9fd6caSStefan Agner uint rxbuf; 228f9fd6caSStefan Agner uint reserved1[2]; 238f9fd6caSStefan Agner 248f9fd6caSStefan Agner /* 0x020 */ 258f9fd6caSStefan Agner uint reserved2[56]; 268f9fd6caSStefan Agner 278f9fd6caSStefan Agner /* 0x100 */ 288f9fd6caSStefan Agner u16 cap_length; 298f9fd6caSStefan Agner u16 hci_version; 308f9fd6caSStefan Agner uint hcs_params; 318f9fd6caSStefan Agner uint hcc_params; 328f9fd6caSStefan Agner uint reserved3[5]; 338f9fd6caSStefan Agner 348f9fd6caSStefan Agner /* 0x120 */ 358f9fd6caSStefan Agner uint dci_version; 368f9fd6caSStefan Agner uint dcc_params; 378f9fd6caSStefan Agner uint reserved4[2]; 388f9fd6caSStefan Agner 398f9fd6caSStefan Agner #ifdef CONFIG_TEGRA20 408f9fd6caSStefan Agner /* 0x130 */ 418f9fd6caSStefan Agner uint reserved4_2[4]; 428f9fd6caSStefan Agner 438f9fd6caSStefan Agner /* 0x140 */ 448f9fd6caSStefan Agner uint usb_cmd; 458f9fd6caSStefan Agner uint usb_sts; 468f9fd6caSStefan Agner uint usb_intr; 478f9fd6caSStefan Agner uint frindex; 488f9fd6caSStefan Agner 498f9fd6caSStefan Agner /* 0x150 */ 508f9fd6caSStefan Agner uint reserved5; 518f9fd6caSStefan Agner uint periodic_list_base; 528f9fd6caSStefan Agner uint async_list_addr; 538f9fd6caSStefan Agner uint async_tt_sts; 548f9fd6caSStefan Agner 558f9fd6caSStefan Agner /* 0x160 */ 568f9fd6caSStefan Agner uint burst_size; 578f9fd6caSStefan Agner uint tx_fill_tuning; 588f9fd6caSStefan Agner uint reserved6; /* is this port_sc1 on some controllers? */ 598f9fd6caSStefan Agner uint icusb_ctrl; 608f9fd6caSStefan Agner 618f9fd6caSStefan Agner /* 0x170 */ 628f9fd6caSStefan Agner uint ulpi_viewport; 638f9fd6caSStefan Agner uint reserved7; 648f9fd6caSStefan Agner uint endpt_nak; 658f9fd6caSStefan Agner uint endpt_nak_enable; 668f9fd6caSStefan Agner 678f9fd6caSStefan Agner /* 0x180 */ 688f9fd6caSStefan Agner uint reserved; 698f9fd6caSStefan Agner uint port_sc1; 708f9fd6caSStefan Agner uint reserved8[6]; 718f9fd6caSStefan Agner 728f9fd6caSStefan Agner /* 0x1a0 */ 738f9fd6caSStefan Agner uint reserved9; 748f9fd6caSStefan Agner uint otgsc; 758f9fd6caSStefan Agner uint usb_mode; 768f9fd6caSStefan Agner uint endpt_setup_stat; 778f9fd6caSStefan Agner 788f9fd6caSStefan Agner /* 0x1b0 */ 798f9fd6caSStefan Agner uint reserved10[20]; 808f9fd6caSStefan Agner 818f9fd6caSStefan Agner /* 0x200 */ 828f9fd6caSStefan Agner uint reserved11[0x80]; 838f9fd6caSStefan Agner #else 848f9fd6caSStefan Agner /* 0x130 */ 858f9fd6caSStefan Agner uint usb_cmd; 868f9fd6caSStefan Agner uint usb_sts; 878f9fd6caSStefan Agner uint usb_intr; 888f9fd6caSStefan Agner uint frindex; 898f9fd6caSStefan Agner 908f9fd6caSStefan Agner /* 0x140 */ 918f9fd6caSStefan Agner uint reserved5; 928f9fd6caSStefan Agner uint periodic_list_base; 938f9fd6caSStefan Agner uint async_list_addr; 948f9fd6caSStefan Agner uint reserved5_1; 958f9fd6caSStefan Agner 968f9fd6caSStefan Agner /* 0x150 */ 978f9fd6caSStefan Agner uint burst_size; 988f9fd6caSStefan Agner uint tx_fill_tuning; 998f9fd6caSStefan Agner uint reserved6; 1008f9fd6caSStefan Agner uint icusb_ctrl; 1018f9fd6caSStefan Agner 1028f9fd6caSStefan Agner /* 0x160 */ 1038f9fd6caSStefan Agner uint ulpi_viewport; 1048f9fd6caSStefan Agner uint reserved7[3]; 1058f9fd6caSStefan Agner 1068f9fd6caSStefan Agner /* 0x170 */ 1078f9fd6caSStefan Agner uint reserved; 1088f9fd6caSStefan Agner uint port_sc1; 1098f9fd6caSStefan Agner uint reserved8[6]; 1108f9fd6caSStefan Agner 1118f9fd6caSStefan Agner /* 0x190 */ 1128f9fd6caSStefan Agner uint reserved9[8]; 1138f9fd6caSStefan Agner 1148f9fd6caSStefan Agner /* 0x1b0 */ 1158f9fd6caSStefan Agner uint reserved10; 1168f9fd6caSStefan Agner uint hostpc1_devlc; 1178f9fd6caSStefan Agner uint reserved10_1[2]; 1188f9fd6caSStefan Agner 1198f9fd6caSStefan Agner /* 0x1c0 */ 1208f9fd6caSStefan Agner uint reserved10_2[4]; 1218f9fd6caSStefan Agner 1228f9fd6caSStefan Agner /* 0x1d0 */ 1238f9fd6caSStefan Agner uint reserved10_3[4]; 1248f9fd6caSStefan Agner 1258f9fd6caSStefan Agner /* 0x1e0 */ 1268f9fd6caSStefan Agner uint reserved10_4[4]; 1278f9fd6caSStefan Agner 1288f9fd6caSStefan Agner /* 0x1f0 */ 1298f9fd6caSStefan Agner uint reserved10_5; 1308f9fd6caSStefan Agner uint otgsc; 1318f9fd6caSStefan Agner uint usb_mode; 1328f9fd6caSStefan Agner uint reserved10_6; 1338f9fd6caSStefan Agner 1348f9fd6caSStefan Agner /* 0x200 */ 1358f9fd6caSStefan Agner uint endpt_nak; 1368f9fd6caSStefan Agner uint endpt_nak_enable; 1378f9fd6caSStefan Agner uint endpt_setup_stat; 1388f9fd6caSStefan Agner uint reserved11_1[0x7D]; 1398f9fd6caSStefan Agner #endif 1408f9fd6caSStefan Agner 1418f9fd6caSStefan Agner /* 0x400 */ 1428f9fd6caSStefan Agner uint susp_ctrl; 1438f9fd6caSStefan Agner uint phy_vbus_sensors; 1448f9fd6caSStefan Agner uint phy_vbus_wakeup_id; 1458f9fd6caSStefan Agner uint phy_alt_vbus_sys; 1468f9fd6caSStefan Agner 1478f9fd6caSStefan Agner #ifdef CONFIG_TEGRA20 1488f9fd6caSStefan Agner /* 0x410 */ 1498f9fd6caSStefan Agner uint usb1_legacy_ctrl; 1508f9fd6caSStefan Agner uint reserved12[4]; 1518f9fd6caSStefan Agner 1528f9fd6caSStefan Agner /* 0x424 */ 1538f9fd6caSStefan Agner uint ulpi_timing_ctrl_0; 1548f9fd6caSStefan Agner uint ulpi_timing_ctrl_1; 1558f9fd6caSStefan Agner uint reserved13[53]; 1568f9fd6caSStefan Agner #else 1578f9fd6caSStefan Agner 1588f9fd6caSStefan Agner /* 0x410 */ 1598f9fd6caSStefan Agner uint usb1_legacy_ctrl; 1608f9fd6caSStefan Agner uint reserved12[3]; 1618f9fd6caSStefan Agner 1628f9fd6caSStefan Agner /* 0x420 */ 1638f9fd6caSStefan Agner uint reserved13[56]; 1648f9fd6caSStefan Agner #endif 1658f9fd6caSStefan Agner 1668f9fd6caSStefan Agner /* 0x500 */ 1678f9fd6caSStefan Agner uint reserved14[64 * 3]; 1688f9fd6caSStefan Agner 1698f9fd6caSStefan Agner /* 0x800 */ 1708f9fd6caSStefan Agner uint utmip_pll_cfg0; 1718f9fd6caSStefan Agner uint utmip_pll_cfg1; 1728f9fd6caSStefan Agner uint utmip_xcvr_cfg0; 1738f9fd6caSStefan Agner uint utmip_bias_cfg0; 1748f9fd6caSStefan Agner 1758f9fd6caSStefan Agner /* 0x810 */ 1768f9fd6caSStefan Agner uint utmip_hsrx_cfg0; 1778f9fd6caSStefan Agner uint utmip_hsrx_cfg1; 1788f9fd6caSStefan Agner uint utmip_fslsrx_cfg0; 1798f9fd6caSStefan Agner uint utmip_fslsrx_cfg1; 1808f9fd6caSStefan Agner 1818f9fd6caSStefan Agner /* 0x820 */ 1828f9fd6caSStefan Agner uint utmip_tx_cfg0; 1838f9fd6caSStefan Agner uint utmip_misc_cfg0; 1848f9fd6caSStefan Agner uint utmip_misc_cfg1; 1858f9fd6caSStefan Agner uint utmip_debounce_cfg0; 1868f9fd6caSStefan Agner 1878f9fd6caSStefan Agner /* 0x830 */ 1888f9fd6caSStefan Agner uint utmip_bat_chrg_cfg0; 1898f9fd6caSStefan Agner uint utmip_spare_cfg0; 1908f9fd6caSStefan Agner uint utmip_xcvr_cfg1; 1918f9fd6caSStefan Agner uint utmip_bias_cfg1; 1928f9fd6caSStefan Agner }; 1938f9fd6caSStefan Agner 1947ae18f37SLucas Stach /* USB1_LEGACY_CTRL */ 1957ae18f37SLucas Stach #define USB1_NO_LEGACY_MODE 1 1967ae18f37SLucas Stach 1977ae18f37SLucas Stach #define VBUS_SENSE_CTL_SHIFT 1 1987ae18f37SLucas Stach #define VBUS_SENSE_CTL_MASK (3 << VBUS_SENSE_CTL_SHIFT) 1997ae18f37SLucas Stach #define VBUS_SENSE_CTL_VBUS_WAKEUP 0 2007ae18f37SLucas Stach #define VBUS_SENSE_CTL_AB_SESS_VLD_OR_VBUS_WAKEUP 1 2017ae18f37SLucas Stach #define VBUS_SENSE_CTL_AB_SESS_VLD 2 2027ae18f37SLucas Stach #define VBUS_SENSE_CTL_A_SESS_VLD 3 2037ae18f37SLucas Stach 2047ae18f37SLucas Stach /* USBx_IF_USB_SUSP_CTRL_0 */ 2057ae18f37SLucas Stach #define UTMIP_PHY_ENB (1 << 12) 2067ae18f37SLucas Stach #define UTMIP_RESET (1 << 11) 2077ae18f37SLucas Stach #define USB_PHY_CLK_VALID (1 << 7) 2087ae18f37SLucas Stach #define USB_SUSP_CLR (1 << 5) 2097ae18f37SLucas Stach 2108f9fd6caSStefan Agner #if defined(CONFIG_TEGRA20) || defined(CONFIG_TEGRA30) 2117e44d932SJim Lin /* USB2_IF_USB_SUSP_CTRL_0 */ 2127e44d932SJim Lin #define ULPI_PHY_ENB (1 << 13) 2137e44d932SJim Lin 2148f9fd6caSStefan Agner /* USB2_IF_ULPI_TIMING_CTRL_0 */ 2158f9fd6caSStefan Agner #define ULPI_OUTPUT_PINMUX_BYP (1 << 10) 2168f9fd6caSStefan Agner #define ULPI_CLKOUT_PINMUX_BYP (1 << 11) 2178f9fd6caSStefan Agner 2188f9fd6caSStefan Agner /* USB2_IF_ULPI_TIMING_CTRL_1 */ 2198f9fd6caSStefan Agner #define ULPI_DATA_TRIMMER_LOAD (1 << 0) 2208f9fd6caSStefan Agner #define ULPI_DATA_TRIMMER_SEL(x) (((x) & 0x7) << 1) 2218f9fd6caSStefan Agner #define ULPI_STPDIRNXT_TRIMMER_LOAD (1 << 16) 2228f9fd6caSStefan Agner #define ULPI_STPDIRNXT_TRIMMER_SEL(x) (((x) & 0x7) << 17) 2238f9fd6caSStefan Agner #define ULPI_DIR_TRIMMER_LOAD (1 << 24) 2248f9fd6caSStefan Agner #define ULPI_DIR_TRIMMER_SEL(x) (((x) & 0x7) << 25) 2258f9fd6caSStefan Agner #endif 2268f9fd6caSStefan Agner 2277e44d932SJim Lin /* USBx_UTMIP_MISC_CFG0 */ 2287e44d932SJim Lin #define UTMIP_SUSPEND_EXIT_ON_EDGE (1 << 22) 2297e44d932SJim Lin 2307ae18f37SLucas Stach /* USBx_UTMIP_MISC_CFG1 */ 2318f9fd6caSStefan Agner #define UTMIP_PHY_XTAL_CLOCKEN (1 << 30) 2328f9fd6caSStefan Agner 2338f9fd6caSStefan Agner /* 2348f9fd6caSStefan Agner * Tegra 3 and later: Moved to Clock and Reset register space, see 2358f9fd6caSStefan Agner * CLK_RST_CONTROLLER_UTMIP_PLL_CFG2_0 2368f9fd6caSStefan Agner */ 2377ae18f37SLucas Stach #define UTMIP_PLLU_STABLE_COUNT_SHIFT 6 2387ae18f37SLucas Stach #define UTMIP_PLLU_STABLE_COUNT_MASK \ 2397ae18f37SLucas Stach (0xfff << UTMIP_PLLU_STABLE_COUNT_SHIFT) 2408f9fd6caSStefan Agner /* 2418f9fd6caSStefan Agner * Tegra 3 and later: Moved to Clock and Reset register space, see 2428f9fd6caSStefan Agner * CLK_RST_CONTROLLER_UTMIP_PLL_CFG2_0 2438f9fd6caSStefan Agner */ 2447ae18f37SLucas Stach #define UTMIP_PLL_ACTIVE_DLY_COUNT_SHIFT 18 2457ae18f37SLucas Stach #define UTMIP_PLL_ACTIVE_DLY_COUNT_MASK \ 2467ae18f37SLucas Stach (0x1f << UTMIP_PLL_ACTIVE_DLY_COUNT_SHIFT) 2477ae18f37SLucas Stach 2487ae18f37SLucas Stach /* USBx_UTMIP_PLL_CFG1_0 */ 2498f9fd6caSStefan Agner /* Tegra 3 and later: Moved to Clock and Reset register space */ 2507ae18f37SLucas Stach #define UTMIP_PLLU_ENABLE_DLY_COUNT_SHIFT 27 2517ae18f37SLucas Stach #define UTMIP_PLLU_ENABLE_DLY_COUNT_MASK \ 2527e44d932SJim Lin (0x1f << UTMIP_PLLU_ENABLE_DLY_COUNT_SHIFT) 2537ae18f37SLucas Stach #define UTMIP_XTAL_FREQ_COUNT_SHIFT 0 2547ae18f37SLucas Stach #define UTMIP_XTAL_FREQ_COUNT_MASK 0xfff 2557ae18f37SLucas Stach 2567e44d932SJim Lin /* USBx_UTMIP_BIAS_CFG0_0 */ 2577e44d932SJim Lin #define UTMIP_HSDISCON_LEVEL_MSB (1 << 24) 2587e44d932SJim Lin #define UTMIP_OTGPD (1 << 11) 2597e44d932SJim Lin #define UTMIP_BIASPD (1 << 10) 2607e44d932SJim Lin #define UTMIP_HSDISCON_LEVEL_SHIFT 2 2617e44d932SJim Lin #define UTMIP_HSDISCON_LEVEL_MASK \ 2627e44d932SJim Lin (0x3 << UTMIP_HSDISCON_LEVEL_SHIFT) 2637e44d932SJim Lin #define UTMIP_HSSQUELCH_LEVEL_SHIFT 0 2647e44d932SJim Lin #define UTMIP_HSSQUELCH_LEVEL_MASK \ 2657e44d932SJim Lin (0x3 << UTMIP_HSSQUELCH_LEVEL_SHIFT) 2667e44d932SJim Lin 2677ae18f37SLucas Stach /* USBx_UTMIP_BIAS_CFG1_0 */ 2687e44d932SJim Lin #define UTMIP_FORCE_PDTRK_POWERDOWN 1 269*7aaa5a60STom Warren #define UTMIP_BIAS_DEBOUNCE_TIMESCALE_SHIFT 8 270*7aaa5a60STom Warren #define UTMIP_BIAS_DEBOUNCE_TIMESCALE_MASK \ 271*7aaa5a60STom Warren (0x3f << UTMIP_BIAS_DEBOUNCE_TIMESCALE_SHIFT) 2727ae18f37SLucas Stach #define UTMIP_BIAS_PDTRK_COUNT_SHIFT 3 2737ae18f37SLucas Stach #define UTMIP_BIAS_PDTRK_COUNT_MASK \ 2747ae18f37SLucas Stach (0x1f << UTMIP_BIAS_PDTRK_COUNT_SHIFT) 2757ae18f37SLucas Stach 2767e44d932SJim Lin /* USBx_UTMIP_DEBOUNCE_CFG0_0 */ 2777ae18f37SLucas Stach #define UTMIP_DEBOUNCE_CFG0_SHIFT 0 2787ae18f37SLucas Stach #define UTMIP_DEBOUNCE_CFG0_MASK 0xffff 2797ae18f37SLucas Stach 2807ae18f37SLucas Stach /* USBx_UTMIP_TX_CFG0_0 */ 2817ae18f37SLucas Stach #define UTMIP_FS_PREAMBLE_J (1 << 19) 2827ae18f37SLucas Stach 2837ae18f37SLucas Stach /* USBx_UTMIP_BAT_CHRG_CFG0_0 */ 2847ae18f37SLucas Stach #define UTMIP_PD_CHRG 1 2857ae18f37SLucas Stach 2867ae18f37SLucas Stach /* USBx_UTMIP_SPARE_CFG0_0 */ 2877ae18f37SLucas Stach #define FUSE_SETUP_SEL (1 << 3) 2887ae18f37SLucas Stach 2897ae18f37SLucas Stach /* USBx_UTMIP_HSRX_CFG0_0 */ 2907ae18f37SLucas Stach #define UTMIP_IDLE_WAIT_SHIFT 15 2917ae18f37SLucas Stach #define UTMIP_IDLE_WAIT_MASK (0x1f << UTMIP_IDLE_WAIT_SHIFT) 2927ae18f37SLucas Stach #define UTMIP_ELASTIC_LIMIT_SHIFT 10 2937ae18f37SLucas Stach #define UTMIP_ELASTIC_LIMIT_MASK \ 2947ae18f37SLucas Stach (0x1f << UTMIP_ELASTIC_LIMIT_SHIFT) 2957ae18f37SLucas Stach 2967e44d932SJim Lin /* USBx_UTMIP_HSRX_CFG1_0 */ 2977ae18f37SLucas Stach #define UTMIP_HS_SYNC_START_DLY_SHIFT 1 2987ae18f37SLucas Stach #define UTMIP_HS_SYNC_START_DLY_MASK \ 2997e44d932SJim Lin (0x1f << UTMIP_HS_SYNC_START_DLY_SHIFT) 3007ae18f37SLucas Stach 3017ae18f37SLucas Stach /* USBx_CONTROLLER_2_USB2D_ICUSB_CTRL_0 */ 3027ae18f37SLucas Stach #define IC_ENB1 (1 << 3) 3037ae18f37SLucas Stach 3048f9fd6caSStefan Agner #ifdef CONFIG_TEGRA20 3058f9fd6caSStefan Agner /* PORTSC1, USB1 */ 3068f9fd6caSStefan Agner #define PTS1_SHIFT 31 3078f9fd6caSStefan Agner #define PTS1_MASK (1 << PTS1_SHIFT) 3088f9fd6caSStefan Agner #define STS1 (1 << 30) 3098f9fd6caSStefan Agner 3108f9fd6caSStefan Agner /* PORTSC, USB2, USB3 */ 3118f9fd6caSStefan Agner #define PTS_SHIFT 30 3128f9fd6caSStefan Agner #define PTS_MASK (3U << PTS_SHIFT) 3138f9fd6caSStefan Agner #define STS (1 << 29) 3148f9fd6caSStefan Agner #else 3158f9fd6caSStefan Agner /* USB2D_HOSTPC1_DEVLC_0 */ 3168f9fd6caSStefan Agner #define PTS_SHIFT 29 3178f9fd6caSStefan Agner #define PTS_MASK (0x7U << PTS_SHIFT) 3188f9fd6caSStefan Agner #define STS (1 << 28) 3198f9fd6caSStefan Agner #endif 3208f9fd6caSStefan Agner 3217ae18f37SLucas Stach #define PTS_UTMI 0 3227ae18f37SLucas Stach #define PTS_RESERVED 1 3237ae18f37SLucas Stach #define PTS_ULPI 2 3247ae18f37SLucas Stach #define PTS_ICUSB_SER 3 3257e44d932SJim Lin #define PTS_HSIC 4 3267ae18f37SLucas Stach 3277e44d932SJim Lin /* SB2_CONTROLLER_2_USB2D_PORTSC1_0 */ 3287ae18f37SLucas Stach #define WKOC (1 << 22) 3297ae18f37SLucas Stach #define WKDS (1 << 21) 3307ae18f37SLucas Stach #define WKCN (1 << 20) 3317ae18f37SLucas Stach 3327ae18f37SLucas Stach /* USBx_UTMIP_XCVR_CFG0_0 */ 3337ae18f37SLucas Stach #define UTMIP_FORCE_PD_POWERDOWN (1 << 14) 3347ae18f37SLucas Stach #define UTMIP_FORCE_PD2_POWERDOWN (1 << 16) 3357ae18f37SLucas Stach #define UTMIP_FORCE_PDZI_POWERDOWN (1 << 18) 3367e44d932SJim Lin #define UTMIP_XCVR_LSBIAS_SE (1 << 21) 3377e44d932SJim Lin #define UTMIP_XCVR_HSSLEW_MSB_SHIFT 25 3387e44d932SJim Lin #define UTMIP_XCVR_HSSLEW_MSB_MASK \ 3397e44d932SJim Lin (0x7f << UTMIP_XCVR_HSSLEW_MSB_SHIFT) 3407e44d932SJim Lin #define UTMIP_XCVR_SETUP_MSB_SHIFT 22 3417e44d932SJim Lin #define UTMIP_XCVR_SETUP_MSB_MASK (0x7 << UTMIP_XCVR_SETUP_MSB_SHIFT) 3427e44d932SJim Lin #define UTMIP_XCVR_SETUP_SHIFT 0 3437e44d932SJim Lin #define UTMIP_XCVR_SETUP_MASK (0xf << UTMIP_XCVR_SETUP_SHIFT) 3447ae18f37SLucas Stach 3457ae18f37SLucas Stach /* USBx_UTMIP_XCVR_CFG1_0 */ 3467e44d932SJim Lin #define UTMIP_XCVR_TERM_RANGE_ADJ_SHIFT 18 3477e44d932SJim Lin #define UTMIP_XCVR_TERM_RANGE_ADJ_MASK \ 3487e44d932SJim Lin (0xf << UTMIP_XCVR_TERM_RANGE_ADJ_SHIFT) 3497ae18f37SLucas Stach #define UTMIP_FORCE_PDDISC_POWERDOWN (1 << 0) 3507ae18f37SLucas Stach #define UTMIP_FORCE_PDCHRP_POWERDOWN (1 << 2) 3517ae18f37SLucas Stach #define UTMIP_FORCE_PDDR_POWERDOWN (1 << 4) 3527ae18f37SLucas Stach 3537ae18f37SLucas Stach /* USB3_IF_USB_PHY_VBUS_SENSORS_0 */ 3547ae18f37SLucas Stach #define VBUS_VLD_STS (1 << 26) 355a4539a2aSStephen Warren #define VBUS_B_SESS_VLD_SW_VALUE (1 << 12) 356a4539a2aSStephen Warren #define VBUS_B_SESS_VLD_SW_EN (1 << 11) 3577ae18f37SLucas Stach 3587ae18f37SLucas Stach /* Setup USB on the board */ 35916297cfbSMateusz Zalega int usb_process_devicetree(const void *blob); 3607ae18f37SLucas Stach 3617ae18f37SLucas Stach #endif /* _TEGRA_USB_H_ */ 362