1*52334306Syasuoka /* $OpenBSD: octhcireg.h,v 1.4 2022/12/28 01:39:21 yasuoka Exp $ */ 28f569c09Spirofti 38f569c09Spirofti /* 48f569c09Spirofti * Copyright (c) 2007 Internet Initiative Japan, Inc. 58f569c09Spirofti * All rights reserved. 68f569c09Spirofti * 78f569c09Spirofti * Redistribution and use in source and binary forms, with or without 88f569c09Spirofti * modification, are permitted provided that the following conditions 98f569c09Spirofti * are met: 108f569c09Spirofti * 1. Redistributions of source code must retain the above copyright 118f569c09Spirofti * notice, this list of conditions and the following disclaimer. 128f569c09Spirofti * 2. Redistributions in binary form must reproduce the above copyright 138f569c09Spirofti * notice, this list of conditions and the following disclaimer in the 148f569c09Spirofti * documentation and/or other materials provided with the distribution. 158f569c09Spirofti * 16*52334306Syasuoka * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND 178f569c09Spirofti * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 188f569c09Spirofti * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19*52334306Syasuoka * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE 208f569c09Spirofti * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 218f569c09Spirofti * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 228f569c09Spirofti * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 238f569c09Spirofti * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 248f569c09Spirofti * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 258f569c09Spirofti * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 268f569c09Spirofti * SUCH DAMAGE. 278f569c09Spirofti */ 288f569c09Spirofti 298f569c09Spirofti /* 308f569c09Spirofti * Cavium Networks OCTEON CN30XX Hardware Reference Manual 318f569c09Spirofti * CN30XX-HM-1.0 328f569c09Spirofti * 21.9.1 USBN Registers 338f569c09Spirofti * 348f569c09Spirofti * Cavium Networks OCTEON CN30XX Hardware Reference Manual 358f569c09Spirofti * CN50XX-HM-0.99 368f569c09Spirofti * 21.8.1 USBN Registers 378f569c09Spirofti */ 388f569c09Spirofti 398f569c09Spirofti #ifndef _OCTHCIREGREG_H_ 408f569c09Spirofti #define _OCTHCIREGREG_H_ 418f569c09Spirofti 428f569c09Spirofti /* 438f569c09Spirofti * USBN Registers - interface with the USB core 448f569c09Spirofti */ 458f569c09Spirofti #define USBN_INT_SUM 0x0001180068000000ULL 468f569c09Spirofti #define USBN_INT_ENB 0x0001180068000008ULL 478f569c09Spirofti #define USBN_CLK_CTL 0x0001180068000010ULL 488f569c09Spirofti #define USBN_USBP_CTL_STATUS 0x0001180068000018ULL 498f569c09Spirofti #define USBN_BIST_STATUS 0x00011800680007f8ULL 508f569c09Spirofti #define USBN_CTL_STATUS 0x00016F0000000800ULL 518f569c09Spirofti #define USBN_DMA_TEST 0x00016F0000000808ULL 528f569c09Spirofti 538f569c09Spirofti #define USBN_DMA0_INB_CHN0 0x00016F0000000818ULL 548f569c09Spirofti #define USBN_DMA0_INB_CHN1 0x00016F0000000820ULL 558f569c09Spirofti #define USBN_DMA0_INB_CHN2 0x00016F0000000828ULL 568f569c09Spirofti #define USBN_DMA0_INB_CHN3 0x00016F0000000830ULL 578f569c09Spirofti #define USBN_DMA0_INB_CHN4 0x00016F0000000838ULL 588f569c09Spirofti #define USBN_DMA0_INB_CHN5 0x00016F0000000840ULL 598f569c09Spirofti #define USBN_DMA0_INB_CHN6 0x00016F0000000848ULL 608f569c09Spirofti #define USBN_DMA0_INB_CHN7 0x00016F0000000850ULL 618f569c09Spirofti 628f569c09Spirofti #define USBN_DMA0_OUTB_CHN0 0x00016F0000000858ULL 638f569c09Spirofti #define USBN_DMA0_OUTB_CHN1 0x00016F0000000860ULL 648f569c09Spirofti #define USBN_DMA0_OUTB_CHN2 0x00016F0000000868ULL 658f569c09Spirofti #define USBN_DMA0_OUTB_CHN3 0x00016F0000000870ULL 668f569c09Spirofti #define USBN_DMA0_OUTB_CHN4 0x00016F0000000878ULL 678f569c09Spirofti #define USBN_DMA0_OUTB_CHN5 0x00016F0000000880ULL 688f569c09Spirofti #define USBN_DMA0_OUTB_CHN6 0x00016F0000000888ULL 698f569c09Spirofti #define USBN_DMA0_OUTB_CHN7 0x00016F0000000890ULL 708f569c09Spirofti 718f569c09Spirofti /* ---- register bits */ 728f569c09Spirofti 738f569c09Spirofti /* for USBN_INT_SUM and USBN_INT_ENB */ 748f569c09Spirofti #define USBN_INT_XXX_63_38 0xffffffc000000000ULL 758f569c09Spirofti #define USBN_INT_ND4O_DPF 0x0000002000000000ULL 768f569c09Spirofti #define USBN_INT_ND4O_DPE 0x0000001000000000ULL 778f569c09Spirofti #define USBN_INT_ND4O_RPF 0x0000000800000000ULL 788f569c09Spirofti #define USBN_INT_ND4O_RPE 0x0000000400000000ULL 798f569c09Spirofti #define USBN_INT_LTL_F_PF 0x0000000200000000ULL 808f569c09Spirofti #define USBN_INT_LTL_F_PE 0x0000000100000000ULL 818f569c09Spirofti #define USBN_INT_U2N_C_PE 0x0000000080000000ULL 828f569c09Spirofti #define USBN_INT_U2N_C_PF 0x0000000040000000ULL 838f569c09Spirofti #define USBN_INT_U2N_D_PF 0x0000000020000000ULL 848f569c09Spirofti #define USBN_INT_U2N_D_PE 0x0000000010000000ULL 858f569c09Spirofti #define USBN_INT_N2U_PE 0x0000000008000000ULL 868f569c09Spirofti #define USBN_INT_N2U_PF 0x0000000004000000ULL 878f569c09Spirofti #define USBN_INT_UOD_PF 0x0000000002000000ULL 888f569c09Spirofti #define USBN_INT_UOD_PE 0x0000000001000000ULL 898f569c09Spirofti #define USBN_INT_RQ_Q3_E 0x0000000000800000ULL 908f569c09Spirofti #define USBN_INT_RQ_Q3_F 0x0000000000400000ULL 918f569c09Spirofti #define USBN_INT_RQ_Q2_E 0x0000000000200000ULL 928f569c09Spirofti #define USBN_INT_RQ_Q2_F 0x0000000000100000ULL 938f569c09Spirofti #define USBN_INT_RG_FI_F 0x0000000000080000ULL 948f569c09Spirofti #define USBN_INT_RG_FI_E 0x0000000000040000ULL 958f569c09Spirofti #define USBN_INT_LT_FI_F 0x0000000000020000ULL 968f569c09Spirofti #define USBN_INT_LT_FI_E 0x0000000000010000ULL 978f569c09Spirofti #define USBN_INT_L2C_A_F 0x0000000000008000ULL 988f569c09Spirofti #define USBN_INT_L2C_S_E 0x0000000000004000ULL 998f569c09Spirofti #define USBN_INT_DCRED_F 0x0000000000002000ULL 1008f569c09Spirofti #define USBN_INT_DCRED_E 0x0000000000001000ULL 1018f569c09Spirofti #define USBN_INT_LT_PU_F 0x0000000000000800ULL 1028f569c09Spirofti #define USBN_INT_LT_PO_E 0x0000000000000400ULL 1038f569c09Spirofti #define USBN_INT_NT_PU_F 0x0000000000000200ULL 1048f569c09Spirofti #define USBN_INT_NT_PO_E 0x0000000000000100ULL 1058f569c09Spirofti #define USBN_INT_PT_PU_F 0x0000000000000080ULL 1068f569c09Spirofti #define USBN_INT_PT_PO_E 0x0000000000000040ULL 1078f569c09Spirofti #define USBN_INT_LR_PU_F 0x0000000000000020ULL 1088f569c09Spirofti #define USBN_INT_LR_PO_E 0x0000000000000010ULL 1098f569c09Spirofti #define USBN_INT_NR_PU_F 0x0000000000000008ULL 1108f569c09Spirofti #define USBN_INT_NR_PO_E 0x0000000000000004ULL 1118f569c09Spirofti #define USBN_INT_PR_PU_F 0x0000000000000002ULL 1128f569c09Spirofti #define USBN_INT_PR_PO_E 0x0000000000000001ULL 1138f569c09Spirofti 1148f569c09Spirofti #define USBN_CLK_CTL_XXX_63_18 0xfffffffffffc0000ULL 1158f569c09Spirofti #define USBN_CLK_CTL_HCLK_RST 0x0000000000020000ULL 1168f569c09Spirofti #define USBN_CLK_CTL_P_X_ON 0x0000000000010000ULL 1178f569c09Spirofti #define USBN_CLK_CTL_P_RCLK 0x0000000000008000ULL 1188f569c09Spirofti #define USBN_CLK_CTL_P_XENBN 0x0000000000004000ULL 1198f569c09Spirofti #define USBN_CLK_CTL_P_COM_ON 0x0000000000002000ULL 1208f569c09Spirofti #define USBN_CLK_CTL_P_C_SEL 0x0000000000001800ULL 1218f569c09Spirofti #define SET_USBN_CLK_CTL_P_C_SEL(v) (((v)<<11) & USBN_CLK_CTL_P_C_SEL) 1228f569c09Spirofti #define GET_USBN_CLK_CTL_P_C_SEL(v) (((v) & USBN_CLK_CTL_P_C_SEL) >> 11) 1238f569c09Spirofti #define USBN_CLK_CTL_CDIV_BYP 0x0000000000000400ULL 1248f569c09Spirofti #define USBN_CLK_CTL_SD_MODE 0x0000000000000300ULL 1258f569c09Spirofti #define USBN_CLK_CTL_S_BIST 0x0000000000000080ULL 1268f569c09Spirofti #define USBN_CLK_CTL_POR 0x0000000000000040ULL 1278f569c09Spirofti #define USBN_CLK_CTL_ENABLE 0x0000000000000020ULL 1288f569c09Spirofti #define USBN_CLK_CTL_PRST 0x0000000000000010ULL 1298f569c09Spirofti #define USBN_CLK_CTL_HRST 0x0000000000000008ULL 1308f569c09Spirofti #define USBN_CLK_CTL_DIVIDE 0x0000000000000007ULL 1318f569c09Spirofti #define SET_USBN_CLK_CTL_DIVIDE(v) (((v)<<0) & USBN_CLK_CTL_DIVIDE) 1328f569c09Spirofti #define GET_USBN_CLK_CTL_DIVIDE(v) (((v) & USBN_CLK_CTL_DIVIDE) >> 0) 1338f569c09Spirofti /* CN50xx extension */ 1348f569c09Spirofti #define USBN_CLK_CTL_DIVIDE2 0x00000000000c0000ULL 1358f569c09Spirofti #define SET_USBN_CLK_CTL_DIVIDE2(v) (((v)<<18) & USBN_CLK_CTL_DIVIDE2) 1368f569c09Spirofti #define GET_USBN_CLK_CTL_DIVIDE2(v) (((v) & USBN_CLK_CTL_DIVIDE2) >> 18) 1378f569c09Spirofti #define USBN_CLK_CTL_P_RTYPE 0x000000000000c000ULL 1388f569c09Spirofti #define SET_USBN_CLK_CTL_P_RTYPE(v) (((v)<<14) & USBN_CLK_CTL_P_RTYPE) 1398f569c09Spirofti #define GET_USBN_CLK_CTL_P_RTYPE(v) (((v) & USBN_CLK_CTL_P_RTYPE) >> 14) 1408f569c09Spirofti 1418f569c09Spirofti #define USBN_USBP_CTL_STATUS_XXX_63_38 0xffffffc000000000ULL 1428f569c09Spirofti #define USBN_USBP_CTL_STATUS_BIST_DONE 0x0000002000000000ULL 1438f569c09Spirofti #define USBN_USBP_CTL_STATUS_BIST_ERR 0x0000001000000000ULL 1448f569c09Spirofti #define USBN_USBP_CTL_STATUS_TDATA_OUT 0x0000000f00000000ULL 1458f569c09Spirofti #define USBN_USBP_CTL_STATUS_SPARES 0x00000000e0000000ULL 1468f569c09Spirofti #define USBN_USBP_CTL_STATUS_USBC_END 0x0000000010000000ULL 1478f569c09Spirofti #define USBN_USBP_CTL_STATUS_USBP_BIST 0x0000000008000000ULL 1488f569c09Spirofti #define USBN_USBP_CTL_STATUS_TCLK 0x0000000004000000ULL 1498f569c09Spirofti #define USBN_USBP_CTL_STATUS_DP_PULLD 0x0000000002000000ULL 1508f569c09Spirofti #define USBN_USBP_CTL_STATUS_DM_PULLD 0x0000000001000000ULL 1518f569c09Spirofti #define USBN_USBP_CTL_STATUS_HST_MODE 0x0000000000800000ULL 1528f569c09Spirofti #define USBN_USBP_CTL_STATUS_TUNING 0x0000000000780000ULL 1538f569c09Spirofti #define USBN_USBP_CTL_STATUS_TX_BS_ENH 0x0000000000040000ULL 1548f569c09Spirofti #define USBN_USBP_CTL_STATUS_TX_BS_EN 0x0000000000020000ULL 1558f569c09Spirofti #define USBN_USBP_CTL_STATUS_LOOP_ENB 0x0000000000010000ULL 1568f569c09Spirofti #define USBN_USBP_CTL_STATUS_VTEST_ENB 0x0000000000008000ULL 1578f569c09Spirofti #define USBN_USBP_CTL_STATUS_BIST_ENB 0x0000000000004000ULL 1588f569c09Spirofti #define USBN_USBP_CTL_STATUS_TDATA_SEL 0x0000000000002000ULL 1598f569c09Spirofti #define USBN_USBP_CTL_STATUS_TADDR_IN 0x0000000000001e00ULL 1608f569c09Spirofti #define USBN_USBP_CTL_STATUS_TDATA_IN 0x00000000000001feULL 1618f569c09Spirofti #define USBN_USBP_CTL_STATUS_ATE_RESET 0x0000000000000001ULL 1628f569c09Spirofti /* CN50xx extension */ 1638f569c09Spirofti #define USBN_USBP_CTL_STATUS_TXRISETUNE 0x8000000000000000ULL 1648f569c09Spirofti #define USBN_USBP_CTL_STATUS_TXVREFTUNE 0x7800000000000000ULL 1658f569c09Spirofti #define USBN_USBP_CTL_STATUS_TXFSLSTUNE 0x0780000000000000ULL 1668f569c09Spirofti #define USBN_USBP_CTL_STATUS_TXHSXVTUNE 0x0060000000000000ULL 1678f569c09Spirofti #define USBN_USBP_CTL_STATUS_SQRXTUNE 0x001c000000000000ULL 1688f569c09Spirofti #define USBN_USBP_CTL_STATUS_COMPDISTUNE 0x0003800000000000ULL 1698f569c09Spirofti #define USBN_USBP_CTL_STATUS_OTGTUNE 0x0000700000000000ULL 1708f569c09Spirofti #define USBN_USBP_CTL_STATUS_OTGDISABLE 0x0000080000000000ULL 1718f569c09Spirofti #define USBN_USBP_CTL_STATUS_PORTRESET 0x0000040000000000ULL 1728f569c09Spirofti #define USBN_USBP_CTL_STATUS_DRVVBUS 0x0000020000000000ULL 1738f569c09Spirofti #define USBN_USBP_CTL_STATUS_LSBIST 0x0000010000000000ULL 1748f569c09Spirofti #define USBN_USBP_CTL_STATUS_FSBIST 0x0000008000000000ULL 1758f569c09Spirofti #define USBN_USBP_CTL_STATUS_HSBIST 0x0000004000000000ULL 1768f569c09Spirofti 1778f569c09Spirofti #define USBN_BIST_STATUS_XXX_63_3 0xfffffffffffffff8ULL 1788f569c09Spirofti #define USBN_BIST_STATUS_USBC_BIS 0x0000000000000004ULL 1798f569c09Spirofti #define USBN_BIST_STATUS_NIF_BIS 0x0000000000000002ULL 1808f569c09Spirofti #define USBN_BIST_STATUS_NOF_BIS 0x0000000000000001ULL 1818f569c09Spirofti /* CN50xx extension */ 1828f569c09Spirofti #define USBN_BIST_STATUS_U2NC_BIS 0x0000000000000040ULL 1838f569c09Spirofti #define USBN_BIST_STATUS_U2NF_BIS 0x0000000000000020ULL 1848f569c09Spirofti #define USBN_BIST_STATUS_E2HC_BIS 0x0000000000000010ULL 1858f569c09Spirofti #define USBN_BIST_STATUS_N2UF_BIS 0x0000000000000008ULL 1868f569c09Spirofti 1878f569c09Spirofti #define USBN_CTL_STATUS_XXX_63_6 0xffffffffffffffc0ULL 1888f569c09Spirofti #define USBN_CTL_STATUS_DMA_0PAG 0x0000000000000020ULL 1898f569c09Spirofti #define USBN_CTL_STATUS_DMA_STT 0x0000000000000010ULL 1908f569c09Spirofti #define USBN_CTL_STATUS_DMA_TEST 0x0000000000000008ULL 1918f569c09Spirofti #define USBN_CTL_STATUS_INV_A2 0x0000000000000004ULL 1928f569c09Spirofti #define USBN_CTL_STATUS_L2C_EMOD 0x0000000000000003ULL 1938f569c09Spirofti 1948f569c09Spirofti #define USBN_DMA_TEST_XXX_63_40 0xffffff0000000000ULL 1958f569c09Spirofti #define USBN_DMA_TEST_DONE 0x0000008000000000ULL 1968f569c09Spirofti #define USBN_DMA_TEST_REQ 0x0000004000000000ULL 1978f569c09Spirofti #define USBN_DMA_TEST_F_ADDR 0x0000003ffff00000ULL 1988f569c09Spirofti #define USBN_DMA_TEST_COUNT 0x00000000000ffe00ULL 1998f569c09Spirofti #define USBN_DMA_TEST_CHANNEL 0x00000000000001f0ULL 2008f569c09Spirofti #define USBN_DMA_TEST_BURST 0x000000000000000fULL 2018f569c09Spirofti 2028f569c09Spirofti /* for USBN_DMA0_INB_CHN(0..7) */ 2038f569c09Spirofti #define USBN_DMA0_INB_CHNX_XXX_63_36 0xfffffff000000000ULL 2048f569c09Spirofti #define USBN_DMA0_INB_CHNX_ADDR 0x0000000fffffffffULL 2058f569c09Spirofti 2068f569c09Spirofti /* for USBN_DMA0_OUTB_CHN(0..7) */ 2078f569c09Spirofti #define USBN_DMA0_OUTB_CHNX_XXX_63_36 0xfffffff000000000ULL 2088f569c09Spirofti #define USBN_DMA0_OUTB_CHNX_ADDR 0x0000000fffffffffULL 2098f569c09Spirofti 2100d7516bbSmiod /* ---- %b format strings */ 2118f569c09Spirofti 2128f569c09Spirofti #define USBN_INT_BITS \ 2138f569c09Spirofti "\020" /* hex display */ \ 2148f569c09Spirofti "\x25" "ND4O_DPF" \ 2158f569c09Spirofti "\x24" "ND4O_DPE" \ 2168f569c09Spirofti "\x23" "ND4O_RPF" \ 2178f569c09Spirofti "\x22" "ND4O_RPE" \ 2188f569c09Spirofti "\x21" "LTL_F_PF" \ 2198f569c09Spirofti "\x20" "LTL_F_PE" \ 2208f569c09Spirofti "\x1f" "U2N_C_PE" \ 2218f569c09Spirofti "\x1e" "U2N_C_PF" \ 2228f569c09Spirofti "\x1d" "U2N_D_PF" \ 2238f569c09Spirofti "\x1c" "U2N_D_PE" \ 2248f569c09Spirofti "\x1b" "N2U_PE" \ 2258f569c09Spirofti "\x1a" "N2U_PF" \ 2268f569c09Spirofti "\x19" "UOD_PF" \ 2278f569c09Spirofti "\x18" "UOD_PE" \ 2288f569c09Spirofti "\x17" "RQ_Q3_E" \ 2298f569c09Spirofti "\x16" "RQ_Q3_F" \ 2308f569c09Spirofti "\x15" "RQ_Q2_E" \ 2318f569c09Spirofti "\x14" "RQ_Q2_F" \ 2328f569c09Spirofti "\x13" "RG_FI_F" \ 2338f569c09Spirofti "\x12" "RG_FI_E" \ 2348f569c09Spirofti "\x11" "LT_FI_F" \ 2358f569c09Spirofti "\x10" "LT_FI_E" \ 2368f569c09Spirofti "\x0f" "L2C_A_F" \ 2378f569c09Spirofti "\x0e" "L2C_S_E" \ 2388f569c09Spirofti "\x0d" "DCRED_F" \ 2398f569c09Spirofti "\x0c" "DCRED_E" \ 2408f569c09Spirofti "\x0b" "LT_PU_F" \ 2418f569c09Spirofti "\x0a" "LT_PO_E" \ 2428f569c09Spirofti "\x09" "NT_PU_F" \ 2438f569c09Spirofti "\x08" "NT_PO_E" \ 2448f569c09Spirofti "\x07" "PT_PU_F" \ 2458f569c09Spirofti "\x06" "PT_PO_E" \ 2468f569c09Spirofti "\x05" "LR_PU_F" \ 2478f569c09Spirofti "\x04" "LR_PO_E" \ 2488f569c09Spirofti "\x03" "NR_PU_F" \ 2498f569c09Spirofti "\x02" "NR_PO_E" \ 2508f569c09Spirofti "\x01" "PR_PU_F" \ 2518f569c09Spirofti "\x00" "PR_PO_E" 2528f569c09Spirofti 2538f569c09Spirofti #define USBN_CLK_CTL_BITS \ 2548f569c09Spirofti "\020" /* hex display */ \ 2558f569c09Spirofti "\x12" "DIVIDE2_2" \ 2568f569c09Spirofti "\x11" "HCLK_RST" \ 2578f569c09Spirofti "\x10" "RAZ" \ 2588f569c09Spirofti "\x0e" "P_RTYPE_2" \ 2598f569c09Spirofti "\x0d" "P_COM_ON" \ 2608f569c09Spirofti "\x0b" "P_C_SEL_2" \ 2618f569c09Spirofti "\x0a" "CDIV_BYP" \ 2628f569c09Spirofti "\x08" "SD_MODE_2" \ 2638f569c09Spirofti "\x07" "S_BIST" \ 2648f569c09Spirofti "\x06" "POR" \ 2658f569c09Spirofti "\x05" "ENABLE" \ 2668f569c09Spirofti "\x04" "PRST" \ 2678f569c09Spirofti "\x03" "HRST" \ 2688f569c09Spirofti "\x00" "DIVIDE_3" 2698f569c09Spirofti 2708f569c09Spirofti #define USBN_USBP_CTL_STATUS_BITS \ 2718f569c09Spirofti "\020" /* hex display */ \ 2728f569c09Spirofti "\x3f" "TXRISETUNE" \ 2738f569c09Spirofti "\x3b" "TXVREFTUNE_4" \ 2748f569c09Spirofti "\x37" "TXFSLSTUNE_4" \ 2758f569c09Spirofti "\x35" "TXHSXVTUNE_2" \ 2768f569c09Spirofti "\x32" "SQRXTUNE_3" \ 2778f569c09Spirofti "\x2f" "COMPDISTUNE_3" \ 2788f569c09Spirofti "\x2c" "OTGTUNE_3" \ 2798f569c09Spirofti "\x2b" "OTGDISABLE" \ 2808f569c09Spirofti "\x2a" "PORTRESET" \ 2818f569c09Spirofti "\x29" "DRVVBUS" \ 2828f569c09Spirofti "\x28" "LSBIST" \ 2838f569c09Spirofti "\x27" "FSBIST" \ 2848f569c09Spirofti "\x26" "HSBIST" \ 2858f569c09Spirofti "\x25" "BIST_DONE" \ 2868f569c09Spirofti "\x24" "BIST_ERR" \ 2878f569c09Spirofti "\x20" "TDATA_OUT_4" \ 2888f569c09Spirofti "\x1d" "SPARES_3" \ 2898f569c09Spirofti "\x1c" "USBC_END" \ 2908f569c09Spirofti "\x1b" "USBP_BIST" \ 2918f569c09Spirofti "\x1a" "TCLK" \ 2928f569c09Spirofti "\x19" "DP_PULLD" \ 2938f569c09Spirofti "\x18" "DM_PULLD" \ 2948f569c09Spirofti "\x17" "HST_MODE" \ 2958f569c09Spirofti "\x13" "TUNING_4" \ 2968f569c09Spirofti "\x12" "TX_BS_ENH" \ 2978f569c09Spirofti "\x11" "TX_BS_EN" \ 2988f569c09Spirofti "\x10" "LOOP_ENB" \ 2998f569c09Spirofti "\x0f" "VTEST_ENB" \ 3008f569c09Spirofti "\x0e" "BIST_ENB" \ 3018f569c09Spirofti "\x0d" "TDATA_SEL" \ 3028f569c09Spirofti "\x09" "TADDR_IN_4" \ 3038f569c09Spirofti "\x01" "TDATA_IN_8" \ 3048f569c09Spirofti "\x00" "ATE_RESET" 3058f569c09Spirofti 3068f569c09Spirofti #define USBN_BIST_STATUS_BITS \ 3078f569c09Spirofti "\020" /* hex display */ \ 3088f569c09Spirofti "\x06" "U2NC_BIS" \ 3098f569c09Spirofti "\x05" "U2NF_BIS" \ 3108f569c09Spirofti "\x04" "E2HC_BIS" \ 3118f569c09Spirofti "\x03" "N2UF_BIS" \ 3128f569c09Spirofti "\x02" "USBC_BIS" \ 3138f569c09Spirofti "\x01" "NIF_BIS" \ 3148f569c09Spirofti "\x00" "NOF_BIS" 3158f569c09Spirofti 3168f569c09Spirofti #define USBN_CTL_STATUS_BITS \ 3178f569c09Spirofti "\020" /* hex display */ \ 3188f569c09Spirofti "\x05" "DMA_0PAG" \ 3198f569c09Spirofti "\x04" "DMA_STT" \ 3208f569c09Spirofti "\x03" "DMA_TEST" \ 3218f569c09Spirofti "\x02" "INV_A2" \ 3228f569c09Spirofti "\x01" "L2C_EMOD_1" \ 3238f569c09Spirofti "\x00" "L2C_EMOD_0" 3248f569c09Spirofti 3258f569c09Spirofti #define USBN_DMA_TEST_BITS \ 3268f569c09Spirofti "\020" /* hex display */ \ 3278f569c09Spirofti "\x27" "DONE" \ 3288f569c09Spirofti "\x26" "REQ" \ 3298f569c09Spirofti "\x14" "F_ADDR_18" \ 3308f569c09Spirofti "\x09" "COUNT_12" \ 3318f569c09Spirofti "\x04" "CHANNEL_5" \ 3328f569c09Spirofti "\x00" "BURST_4" 3338f569c09Spirofti 3348f569c09Spirofti /* ---- bus_space */ 3358f569c09Spirofti 3368f569c09Spirofti #define USBN_NUNITS 1 3378f569c09Spirofti #define USBN_BASE 0x0001180068000000ULL 3388f569c09Spirofti #define USBN_SIZE 0x800 3398f569c09Spirofti 3408f569c09Spirofti #define USBN_INT_SUM_OFFSET 0x00000000 3418f569c09Spirofti #define USBN_INT_ENB_OFFSET 0x00000008 3428f569c09Spirofti #define USBN_CLK_CTL_OFFSET 0x00000010 3438f569c09Spirofti #define USBN_USBP_CTL_STATUS_OFFSET 0x00000018 3448f569c09Spirofti #define USBN_BIST_STATUS_OFFSET 0x000007f8 3458f569c09Spirofti 3468f569c09Spirofti 3478f569c09Spirofti /* ---- bus_space 2 */ 3488f569c09Spirofti 3498f569c09Spirofti #define USBN_2_NUNITS 1 3508f569c09Spirofti #define USBN_2_BASE 0x00016F0000000800ULL 3518f569c09Spirofti #define USBN_2_SIZE 0x098 3528f569c09Spirofti 3538f569c09Spirofti #define USBN_CTL_STATUS_OFFSET 0x00000000 3548f569c09Spirofti #define USBN_DMA_TEST_OFFSET 0x00000008 3558f569c09Spirofti #define USBN_DMA0_INB_CHN0_OFFSET 0x00000018 3568f569c09Spirofti #define USBN_DMA0_INB_CHN1_OFFSET 0x00000020 3578f569c09Spirofti #define USBN_DMA0_INB_CHN2_OFFSET 0x00000028 3588f569c09Spirofti #define USBN_DMA0_INB_CHN3_OFFSET 0x00000030 3598f569c09Spirofti #define USBN_DMA0_INB_CHN4_OFFSET 0x00000038 3608f569c09Spirofti #define USBN_DMA0_INB_CHN5_OFFSET 0x00000040 3618f569c09Spirofti #define USBN_DMA0_INB_CHN6_OFFSET 0x00000048 3628f569c09Spirofti #define USBN_DMA0_INB_CHN7_OFFSET 0x00000050 3638f569c09Spirofti #define USBN_DMA0_OUTB_CHN0_OFFSET 0x00000058 3648f569c09Spirofti #define USBN_DMA0_OUTB_CHN1_OFFSET 0x00000060 3658f569c09Spirofti #define USBN_DMA0_OUTB_CHN2_OFFSET 0x00000068 3668f569c09Spirofti #define USBN_DMA0_OUTB_CHN3_OFFSET 0x00000070 3678f569c09Spirofti #define USBN_DMA0_OUTB_CHN4_OFFSET 0x00000078 3688f569c09Spirofti #define USBN_DMA0_OUTB_CHN5_OFFSET 0x00000080 3698f569c09Spirofti #define USBN_DMA0_OUTB_CHN6_OFFSET 0x00000088 3708f569c09Spirofti #define USBN_DMA0_OUTB_CHN7_OFFSET 0x00000090 3718f569c09Spirofti 3728f569c09Spirofti 3738f569c09Spirofti 3748f569c09Spirofti /* 3758f569c09Spirofti * Cavium Networks OCTEON CN30XX Hardware Reference Manual 3768f569c09Spirofti * CN30XX-HM-1.0 3778f569c09Spirofti * 21.9.2 USBC Registers 3788f569c09Spirofti */ 3798f569c09Spirofti 3808f569c09Spirofti /* 3818f569c09Spirofti * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 3828f569c09Spirofti * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 3838f569c09Spirofti */ 3848f569c09Spirofti 3858f569c09Spirofti /* 3868f569c09Spirofti * USBC Registers - control the USB core 3878f569c09Spirofti */ 3888f569c09Spirofti #define USBC_GOTGCTL 0x00016F0010000000ULL 3898f569c09Spirofti #define USBC_GOTGINT 0x00016F0010000004ULL 3908f569c09Spirofti #define USBC_GAHBCFG 0x00016F0010000008ULL 3918f569c09Spirofti #define USBC_GUSBCFG 0x00016F001000000CULL 3928f569c09Spirofti #define USBC_GRSTCTL 0x00016F0010000010ULL 3938f569c09Spirofti #define USBC_GINTSTS 0x00016F0010000014ULL 3948f569c09Spirofti #define USBC_GINTMSK 0x00016F0010000018ULL 3958f569c09Spirofti #define USBC_GRXSTSRH 0x00016F001000001CULL 3968f569c09Spirofti #define USBC_GRXSTSPH 0x00016F0010000020ULL 3978f569c09Spirofti #define USBC_GRXFSIZ 0x00016F0010000024ULL 3988f569c09Spirofti #define USBC_GNPTXFSIZ 0x00016F0010000028ULL 3998f569c09Spirofti #define USBC_GNPTXSTS 0x00016F001000002CULL 4008f569c09Spirofti #define USBC_GSNPSID 0x00016F0010000040ULL 4018f569c09Spirofti #define USBC_GHWCFG1 0x00016F0010000044ULL 4028f569c09Spirofti #define USBC_GHWCFG2 0x00016F0010000048ULL 4038f569c09Spirofti #define USBC_GHWCFG3 0x00016F001000004CULL 4048f569c09Spirofti #define USBC_GHWCFG4 0x00016F0010000050ULL 4058f569c09Spirofti #define USBC_HPTXFSIZ 0x00016F0010000100ULL 4068f569c09Spirofti #define USBC_DPTXFSIZ1 0x00016F0010000104ULL 4078f569c09Spirofti #define USBC_DPTXFSIZ2 0x00016F0010000108ULL 4088f569c09Spirofti #define USBC_DPTXFSIZ3 0x00016F001000010CULL 4098f569c09Spirofti #define USBC_DPTXFSIZ4 0x00016F0010000110ULL 4108f569c09Spirofti #define USBC_HCFG 0x00016F0010000400ULL 4118f569c09Spirofti #define USBC_HFIR 0x00016F0010000404ULL 4128f569c09Spirofti #define USBC_HFNUM 0x00016F0010000408ULL 4138f569c09Spirofti #define USBC_HPTXSTS 0x00016F0010000410ULL 4148f569c09Spirofti #define USBC_HAINT 0x00016F0010000414ULL 4158f569c09Spirofti #define USBC_HAINTMSK 0x00016F0010000418ULL 4168f569c09Spirofti #define USBC_HPRT 0x00016F0010000440ULL 4178f569c09Spirofti #define USBC_HCCHAR0 0x00016F0010000500ULL 4188f569c09Spirofti #define USBC_HCCHAR1 0x00016F0010000520ULL 4198f569c09Spirofti #define USBC_HCCHAR2 0x00016F0010000540ULL 4208f569c09Spirofti #define USBC_HCCHAR3 0x00016F0010000560ULL 4218f569c09Spirofti #define USBC_HCCHAR4 0x00016F0010000580ULL 4228f569c09Spirofti #define USBC_HCCHAR5 0x00016F00100005A0ULL 4238f569c09Spirofti #define USBC_HCCHAR6 0x00016F00100005C0ULL 4248f569c09Spirofti #define USBC_HCCHAR7 0x00016F00100005E0ULL 4258f569c09Spirofti #define USBC_HCSPLT0 0x00016F0010000504ULL 4268f569c09Spirofti #define USBC_HCSPLT1 0x00016F0010000524ULL 4278f569c09Spirofti #define USBC_HCSPLT2 0x00016F0010000544ULL 4288f569c09Spirofti #define USBC_HCSPLT3 0x00016F0010000564ULL 4298f569c09Spirofti #define USBC_HCSPLT4 0x00016F0010000584ULL 4308f569c09Spirofti #define USBC_HCSPLT5 0x00016F00100005A4ULL 4318f569c09Spirofti #define USBC_HCSPLT6 0x00016F00100005C4ULL 4328f569c09Spirofti #define USBC_HCSPLT7 0x00016F00100005E4ULL 4338f569c09Spirofti #define USBC_HCINT0 0x00016F0010000508ULL 4348f569c09Spirofti #define USBC_HCINT1 0x00016F0010000528ULL 4358f569c09Spirofti #define USBC_HCINT2 0x00016F0010000548ULL 4368f569c09Spirofti #define USBC_HCINT3 0x00016F0010000568ULL 4378f569c09Spirofti #define USBC_HCINT4 0x00016F0010000588ULL 4388f569c09Spirofti #define USBC_HCINT5 0x00016F00100005A8ULL 4398f569c09Spirofti #define USBC_HCINT6 0x00016F00100005C8ULL 4408f569c09Spirofti #define USBC_HCINT7 0x00016F00100005E8ULL 4418f569c09Spirofti #define USBC_HCINTMSK0 0x00016F001000050CULL 4428f569c09Spirofti #define USBC_HCINTMSK1 0x00016F001000052CULL 4438f569c09Spirofti #define USBC_HCINTMSK2 0x00016F001000054CULL 4448f569c09Spirofti #define USBC_HCINTMSK3 0x00016F001000056CULL 4458f569c09Spirofti #define USBC_HCINTMSK4 0x00016F001000058CULL 4468f569c09Spirofti #define USBC_HCINTMSK5 0x00016F00100005ACULL 4478f569c09Spirofti #define USBC_HCINTMSK6 0x00016F00100005CCULL 4488f569c09Spirofti #define USBC_HCINTMSK7 0x00016F00100005ECULL 4498f569c09Spirofti #define USBC_HCTSIZ0 0x00016F0010000510ULL 4508f569c09Spirofti #define USBC_HCTSIZ1 0x00016F0010000530ULL 4518f569c09Spirofti #define USBC_HCTSIZ2 0x00016F0010000550ULL 4528f569c09Spirofti #define USBC_HCTSIZ3 0x00016F0010000570ULL 4538f569c09Spirofti #define USBC_HCTSIZ4 0x00016F0010000590ULL 4548f569c09Spirofti #define USBC_HCTSIZ5 0x00016F00100005B0ULL 4558f569c09Spirofti #define USBC_HCTSIZ6 0x00016F00100005D0ULL 4568f569c09Spirofti #define USBC_HCTSIZ7 0x00016F00100005F0ULL 4578f569c09Spirofti #define USBC_DCFG 0x00016F0010000800ULL 4588f569c09Spirofti #define USBC_DCTL 0x00016F0010000804ULL 4598f569c09Spirofti #define USBC_DSTS 0x00016F0010000808ULL 4608f569c09Spirofti #define USBC_DIEPMSK 0x00016F0010000810ULL 4618f569c09Spirofti #define USBC_DOEPMSK 0x00016F0010000814ULL 4628f569c09Spirofti #define USBC_DAINT 0x00016F0010000818ULL 4638f569c09Spirofti #define USBC_DAINTMSK 0x00016F001000081CULL 4648f569c09Spirofti #define USBC_DTKNQR1 0x00016F0010000820ULL 4658f569c09Spirofti #define USBC_DTKNQR2 0x00016F0010000824ULL 4668f569c09Spirofti #define USBC_DTKNQR3 0x00016F0010000830ULL 4678f569c09Spirofti #define USBC_DTKNQR4 0x00016F0010000834ULL 4688f569c09Spirofti #define USBC_DIEPCTL0 0x00016F0010000900ULL 4698f569c09Spirofti #define USBC_DIEPCTL1 0x00016F0010000920ULL 4708f569c09Spirofti #define USBC_DIEPCTL2 0x00016F0010000940ULL 4718f569c09Spirofti #define USBC_DIEPCTL3 0x00016F0010000960ULL 4728f569c09Spirofti #define USBC_DIEPCTL4 0x00016F0010000980ULL 4738f569c09Spirofti #define USBC_DIEPINT0 0x00016F0010000908ULL 4748f569c09Spirofti #define USBC_DIEPINT1 0x00016F0010000928ULL 4758f569c09Spirofti #define USBC_DIEPINT2 0x00016F0010000948ULL 4768f569c09Spirofti #define USBC_DIEPINT3 0x00016F0010000968ULL 4778f569c09Spirofti #define USBC_DIEPINT4 0x00016F0010000988ULL 4788f569c09Spirofti #define USBC_DIEPTSIZ0 0x00016F0010000910ULL 4798f569c09Spirofti #define USBC_DIEPTSIZ1 0x00016F0010000930ULL 4808f569c09Spirofti #define USBC_DIEPTSIZ2 0x00016F0010000950ULL 4818f569c09Spirofti #define USBC_DIEPTSIZ3 0x00016F0010000970ULL 4828f569c09Spirofti #define USBC_DIEPTSIZ4 0x00016F0010000990ULL 4838f569c09Spirofti #define USBC_OEPCTL0 0x00016F0010000B00ULL 4848f569c09Spirofti #define USBC_OEPCTL1 0x00016F0010000B20ULL 4858f569c09Spirofti #define USBC_OEPCTL2 0x00016F0010000B40ULL 4868f569c09Spirofti #define USBC_OEPCTL3 0x00016F0010000B60ULL 4878f569c09Spirofti #define USBC_OEPCTL4 0x00016F0010000B80ULL 4888f569c09Spirofti #define USBC_OEPINT0 0x00016F0010000B08ULL 4898f569c09Spirofti #define USBC_OEPINT1 0x00016F0010000B28ULL 4908f569c09Spirofti #define USBC_OEPINT2 0x00016F0010000B48ULL 4918f569c09Spirofti #define USBC_OEPINT3 0x00016F0010000B68ULL 4928f569c09Spirofti #define USBC_OEPINT4 0x00016F0010000B88ULL 4938f569c09Spirofti #define USBC_OEPTSIZ0 0x00016F0010000B10ULL 4948f569c09Spirofti #define USBC_OEPTSIZ1 0x00016F0010000B30ULL 4958f569c09Spirofti #define USBC_OEPTSIZ2 0x00016F0010000B50ULL 4968f569c09Spirofti #define USBC_OEPTSIZ3 0x00016F0010000B70ULL 4978f569c09Spirofti #define USBC_OEPTSIZ4 0x00016F0010000B90ULL 4988f569c09Spirofti #define USBC_PCGCCTL 0x00016F0010000E00ULL 4998f569c09Spirofti #define USBC_NPTXDFIFO0 0x00016F0010001000ULL 5008f569c09Spirofti #define USBC_NPTXDFIFO1 0x00016F0010002000ULL 5018f569c09Spirofti #define USBC_NPTXDFIFO2 0x00016F0010003000ULL 5028f569c09Spirofti #define USBC_NPTXDFIFO3 0x00016F0010004000ULL 5038f569c09Spirofti #define USBC_NPTXDFIFO4 0x00016F0010005000ULL 5048f569c09Spirofti #define USBC_NPTXDFIFO5 0x00016F0010006000ULL 5058f569c09Spirofti #define USBC_NPTXDFIFO6 0x00016F0010007000ULL 5068f569c09Spirofti #define USBC_NPTXDFIFO7 0x00016F0010008000ULL 5078f569c09Spirofti #define USBC_GRXSTSRD 0x00016F001004001CULL 5088f569c09Spirofti #define USBC_GRXSTSPD 0x00016F0010040020ULL 5098f569c09Spirofti 5108f569c09Spirofti /* ---- register bits */ 5118f569c09Spirofti 5128f569c09Spirofti #define USBC_GOTGCTL_XXX_31_21 0xffe00000 5138f569c09Spirofti #define USBC_GOTGCTL_XXX_20 UINT32_C(0x00100000) 5148f569c09Spirofti #define USBC_GOTGCTL_BSESVLD UINT32_C(0x00080000) 5158f569c09Spirofti #define USBC_GOTGCTL_ASESVLD UINT32_C(0x00040000) 5168f569c09Spirofti #define USBC_GOTGCTL_DBNCTIME UINT32_C(0x00020000) 5178f569c09Spirofti #define USBC_GOTGCTL_CONIDSTS UINT32_C(0x00010000) 5188f569c09Spirofti #define USBC_GOTGCTL_XXX_15_12 0x0000f000 5198f569c09Spirofti #define USBC_GOTGCTL_DEVHNPEN UINT32_C(0x00000800) 5208f569c09Spirofti #define USBC_GOTGCTL_HSTSETHNPEN UINT32_C(0x00000400) 5218f569c09Spirofti #define USBC_GOTGCTL_HNPREQ UINT32_C(0x00000200) 5228f569c09Spirofti #define USBC_GOTGCTL_HSTNEGSCS UINT32_C(0x00000100) 5238f569c09Spirofti #define USBC_GOTGCTL_XXX_7_2 0x000000fc 5248f569c09Spirofti #define USBC_GOTGCTL_SESREQ UINT32_C(0x00000002) 5258f569c09Spirofti #define USBC_GOTGCTL_SESREQSCS UINT32_C(0x00000001) 5268f569c09Spirofti 5278f569c09Spirofti #define USBC_GOTGINT_XXX_31_20 0xfff00000 5288f569c09Spirofti #define USBC_GOTGINT_DBNCEDONE UINT32_C(0x00080000) 5298f569c09Spirofti #define USBC_GOTGINT_ADEVTOUTCHG UINT32_C(0x00040000) 5308f569c09Spirofti #define USBC_GOTGINT_HSTNEGDET UINT32_C(0x00020000) 5318f569c09Spirofti #define USBC_GOTGINT_XXX_16_10 0x0001fc00 5328f569c09Spirofti #define USBC_GOTGINT_HSTNEGSUCSTSCHNG UINT32_C(0x00000200) 5338f569c09Spirofti #define USBC_GOTGINT_SESREQSUCSTSCHNG UINT32_C(0x00000100) 5348f569c09Spirofti #define USBC_GOTGINT_XXX_7_3 0x000000f8 5358f569c09Spirofti #define USBC_GOTGINT_SESENDDET UINT32_C(0x00000004) 5368f569c09Spirofti #define USBC_GOTGINT_XXX_1 UINT32_C(0x00000002) 5378f569c09Spirofti #define USBC_GOTGINT_XXX_0 UINT32_C(0x00000001) 5388f569c09Spirofti 5398f569c09Spirofti #define USBC_GAHBCFG_XXX_31_9 0xfffffe00 5408f569c09Spirofti #define USBC_GAHBCFG_PTXFEMPLVL UINT32_C(0x00000100) 5418f569c09Spirofti #define USBC_GAHBCFG_NPTXFEMPLVL UINT32_C(0x00000080) 5428f569c09Spirofti #define USBC_GAHBCFG_XXX_6 UINT32_C(0x00000040) 5438f569c09Spirofti #define USBC_GAHBCFG_DMAEN UINT32_C(0x00000020) 5448f569c09Spirofti #define USBC_GAHBCFG_HBSTLEN 0x0000001e 5458f569c09Spirofti #define USBC_GAHBCFG_HBSTLEN_OFFSET 1 5468f569c09Spirofti #define USBC_GAHBCFG_GLBLINTRMSK UINT32_C(0x00000001) 5478f569c09Spirofti 5488f569c09Spirofti #define USBC_GUSBCFG_XXX_31_17 0xfffe0000 5498f569c09Spirofti #define USBC_GUSBCFG_OTGI2CSEL UINT32_C(0x00010000) 5508f569c09Spirofti #define USBC_GUSBCFG_PHYLPWRCLKSEL UINT32_C(0x00008000) 5518f569c09Spirofti #define USBC_GUSBCFG_XXX_14 UINT32_C(0x00004000) 5528f569c09Spirofti #define USBC_GUSBCFG_USBTRDTIM 0x00003c00 5538f569c09Spirofti #define USBC_GUSBCFG_USBTRDTIM_OFFSET 10 5548f569c09Spirofti #define USBC_GUSBCFG_HNPCAP UINT32_C(0x00000200) 5558f569c09Spirofti #define USBC_GUSBCFG_SRPCAP UINT32_C(0x00000100) 5568f569c09Spirofti #define USBC_GUSBCFG_DDRSEL UINT32_C(0x00000080) 5578f569c09Spirofti #define USBC_GUSBCFG_PHYSEL UINT32_C(0x00000040) 5588f569c09Spirofti #define USBC_GUSBCFG_FSINTF UINT32_C(0x00000020) 5598f569c09Spirofti #define USBC_GUSBCFG_ULPI_UTMI_SEL UINT32_C(0x00000010) 5608f569c09Spirofti #define USBC_GUSBCFG_PHYIF UINT32_C(0x00000008) 5618f569c09Spirofti #define USBC_GUSBCFG_TOUTCAL 0x00000007 5628f569c09Spirofti #define USBC_GUSBCFG_TOUTCAL_OFFSET 0 5638f569c09Spirofti 5648f569c09Spirofti #define USBC_GRSTCTL_AHBIDLE UINT32_C(0x80000000) 5658f569c09Spirofti #define USBC_GRSTCTL_DMAREQ UINT32_C(0x40000000) 5668f569c09Spirofti #define USBC_GRSTCTL_XXX_29_11 0x3ffff800 5678f569c09Spirofti #define USBC_GRSTCTL_TXFNUM 0x000007c0 5688f569c09Spirofti #define USBC_GRSTCTL_TXFNUM_OFFSET 6 5698f569c09Spirofti #define USBC_GRSTCTL_TXFFLSH UINT32_C(0x00000020) 5708f569c09Spirofti #define USBC_GRSTCTL_RXFFLSH UINT32_C(0x00000010) 5718f569c09Spirofti #define USBC_GRSTCTL_INTKNQFLSH UINT32_C(0x00000008) 5728f569c09Spirofti #define USBC_GRSTCTL_FRMCNTRRST UINT32_C(0x00000004) 5738f569c09Spirofti #define USBC_GRSTCTL_HSFTRST UINT32_C(0x00000002) 5748f569c09Spirofti #define USBC_GRSTCTL_CSFTRST UINT32_C(0x00000001) 5758f569c09Spirofti 5768f569c09Spirofti #define USBC_GINTSTS_WKUPINT UINT32_C(0x80000000) 5778f569c09Spirofti #define USBC_GINTSTS_SESSREQINT UINT32_C(0x40000000) 5788f569c09Spirofti #define USBC_GINTSTS_DISCONNINT UINT32_C(0x20000000) 5798f569c09Spirofti #define USBC_GINTSTS_CONIDSTSCHNG UINT32_C(0x10000000) 5808f569c09Spirofti #define USBC_GINTSTS_XXX_27 UINT32_C(0x08000000) 5818f569c09Spirofti #define USBC_GINTSTS_PTXFEMP UINT32_C(0x04000000) 5828f569c09Spirofti #define USBC_GINTSTS_HCHINT UINT32_C(0x02000000) 5838f569c09Spirofti #define USBC_GINTSTS_PRTINT UINT32_C(0x01000000) 5848f569c09Spirofti #define USBC_GINTSTS_XXX_23 UINT32_C(0x00800000) 5858f569c09Spirofti #define USBC_GINTSTS_FETSUSP UINT32_C(0x00400000) 5868f569c09Spirofti #define USBC_GINTSTS_INCOMPLP UINT32_C(0x00200000) 5878f569c09Spirofti #define USBC_GINTSTS_INCOMPISOIN UINT32_C(0x00100000) 5888f569c09Spirofti #define USBC_GINTSTS_OEPINT UINT32_C(0x00080000) 5898f569c09Spirofti #define USBC_GINTSTS_IEPINT UINT32_C(0x00040000) 5908f569c09Spirofti #define USBC_GINTSTS_EPMIS UINT32_C(0x00020000) 5918f569c09Spirofti #define USBC_GINTSTS_XXX_16 UINT32_C(0x00010000) 5928f569c09Spirofti #define USBC_GINTSTS_EOPF UINT32_C(0x00008000) 5938f569c09Spirofti #define USBC_GINTSTS_ISOOUTDROP UINT32_C(0x00004000) 5948f569c09Spirofti #define USBC_GINTSTS_ENUMDONE UINT32_C(0x00002000) 5958f569c09Spirofti #define USBC_GINTSTS_USBRST UINT32_C(0x00001000) 5968f569c09Spirofti #define USBC_GINTSTS_USBSUSP UINT32_C(0x00000800) 5978f569c09Spirofti #define USBC_GINTSTS_ERLYSUSP UINT32_C(0x00000400) 5988f569c09Spirofti #define USBC_GINTSTS_I2CINT UINT32_C(0x00000200) 5998f569c09Spirofti #define USBC_GINTSTS_ULPICKINT UINT32_C(0x00000100) 6008f569c09Spirofti #define USBC_GINTSTS_GOUTNAKEFF UINT32_C(0x00000080) 6018f569c09Spirofti #define USBC_GINTSTS_GINNAKEFF UINT32_C(0x00000040) 6028f569c09Spirofti #define USBC_GINTSTS_NPTXFEMP UINT32_C(0x00000020) 6038f569c09Spirofti #define USBC_GINTSTS_RXFLVL UINT32_C(0x00000010) 6048f569c09Spirofti #define USBC_GINTSTS_SOF UINT32_C(0x00000008) 6058f569c09Spirofti #define USBC_GINTSTS_OTGINT UINT32_C(0x00000004) 6068f569c09Spirofti #define USBC_GINTSTS_MODEMIS UINT32_C(0x00000002) 6078f569c09Spirofti #define USBC_GINTSTS_CURMOD UINT32_C(0x00000001) 6088f569c09Spirofti #define USBC_GINTSTS_CURMOD_OFFSET 0 6098f569c09Spirofti #define USBC_GINTSTS_CURMOD_DEVICE 0x0 6108f569c09Spirofti #define USBC_GINTSTS_CURMOD_HOST 0x1 6118f569c09Spirofti 6128f569c09Spirofti #define USBC_GINTMSK_WKUPINTMSK UINT32_C(0x80000000) 6138f569c09Spirofti #define USBC_GINTMSK_SESSREQINTMSK UINT32_C(0x40000000) 6148f569c09Spirofti #define USBC_GINTMSK_DISCONNINTMSK UINT32_C(0x20000000) 6158f569c09Spirofti #define USBC_GINTMSK_CONIDSTSTCHNGMSK UINT32_C(0x10000000) 6168f569c09Spirofti #define USBC_GINTMSK_XXX_27 UINT32_C(0x08000000) 6178f569c09Spirofti #define USBC_GINTMSK_PTXFEMPMSK UINT32_C(0x04000000) 6188f569c09Spirofti #define USBC_GINTMSK_HCHINTMSK UINT32_C(0x02000000) 6198f569c09Spirofti #define USBC_GINTMSK_PRTINTMSK UINT32_C(0x01000000) 6208f569c09Spirofti #define USBC_GINTMSK_XXX_23 UINT32_C(0x00800000) 6218f569c09Spirofti #define USBC_GINTMSK_FETSUSPMSK UINT32_C(0x00400000) 6228f569c09Spirofti #define USBC_GINTMSK_INCOMPISOOUTMSK UINT32_C(0x00200000) 6238f569c09Spirofti #define USBC_GINTMSK_INCOMPISOINMSK UINT32_C(0x00100000) 6248f569c09Spirofti #define USBC_GINTMSK_OEPINTMSK UINT32_C(0x00080000) 6258f569c09Spirofti #define USBC_GINTMSK_INEPINTMSK UINT32_C(0x00040000) 6268f569c09Spirofti #define USBC_GINTMSK_EPMISMSK UINT32_C(0x00020000) 6278f569c09Spirofti #define USBC_GINTMSK_XXX_16 UINT32_C(0x00010000) 6288f569c09Spirofti #define USBC_GINTMSK_EOPFMSK UINT32_C(0x00008000) 6298f569c09Spirofti #define USBC_GINTMSK_ISOOUTDROPMSK UINT32_C(0x00004000) 6308f569c09Spirofti #define USBC_GINTMSK_ENUMDONEMSK UINT32_C(0x00002000) 6318f569c09Spirofti #define USBC_GINTMSK_USBRSTMSK UINT32_C(0x00001000) 6328f569c09Spirofti #define USBC_GINTMSK_USBSUSPMSK UINT32_C(0x00000800) 6338f569c09Spirofti #define USBC_GINTMSK_ERLYSUSPMSK UINT32_C(0x00000400) 6348f569c09Spirofti #define USBC_GINTMSK_I2CINT UINT32_C(0x00000200) 6358f569c09Spirofti #define USBC_GINTMSK_ULPICKINTMSK UINT32_C(0x00000100) 6368f569c09Spirofti #define USBC_GINTMSK_GOUTNAKEFFMSK UINT32_C(0x00000080) 6378f569c09Spirofti #define USBC_GINTMSK_GINNAKEFFMSK UINT32_C(0x00000040) 6388f569c09Spirofti #define USBC_GINTMSK_NPTXFEMPMSK UINT32_C(0x00000020) 6398f569c09Spirofti #define USBC_GINTMSK_RXFLVLMSK UINT32_C(0x00000010) 6408f569c09Spirofti #define USBC_GINTMSK_SOFMSK UINT32_C(0x00000008) 6418f569c09Spirofti #define USBC_GINTMSK_OTGINTMSK UINT32_C(0x00000004) 6428f569c09Spirofti #define USBC_GINTMSK_MODEMISMSK UINT32_C(0x00000002) 6438f569c09Spirofti #define USBC_GINTMSK_XXX_0 UINT32_C(0x00000001) 6448f569c09Spirofti 6458f569c09Spirofti #define USBC_GRXSTSRH_XXX_31_21 0xffe00000 6468f569c09Spirofti #define USBC_GRXSTSRH_PKTSTS 0x001e0000 6478f569c09Spirofti #define USBC_GRXSTSRH_PKTSTS_OFFSET 17 6488f569c09Spirofti #define USBC_GRXSTSRH_DPID 0x00018000 6498f569c09Spirofti #define USBC_GRXSTSRH_DPID_OFFSET 15 6508f569c09Spirofti #define USBC_GRXSTSRH_DPID_DATA0 0x00 6518f569c09Spirofti #define USBC_GRXSTSRH_DPID_DATA1 0x10 6528f569c09Spirofti #define USBC_GRXSTSRH_DPID_DATA2 0x01 6538f569c09Spirofti #define USBC_GRXSTSRH_DPID_MDATA 0x11 6548f569c09Spirofti #define USBC_GRXSTSRH_BCNT 0x00007ff0 6558f569c09Spirofti #define USBC_GRXSTSRH_BCNT_OFFSET 4 6568f569c09Spirofti #define USBC_GRXSTSRH_CHNUM 0x0000000f 6578f569c09Spirofti #define USBC_GRXSTSRH_CHNUM_OFFSET 0 6588f569c09Spirofti 6598f569c09Spirofti #define USBC_GRXSTSPH_XXX_31_21 0xffe00000 6608f569c09Spirofti #define USBC_GRXSTSPH_PKTSTS 0x001e0000 6618f569c09Spirofti #define USBC_GRXSTSPH_PKTSTS_OFFSET 17 6628f569c09Spirofti #define USBC_GRXSTSPH_PKTSTS_IN_DATA_RECV 0x2 6638f569c09Spirofti #define USBC_GRXSTSPH_PKTSTS_IN_XFER_COMPL 0x3 6648f569c09Spirofti #define USBC_GRXSTSPH_PKTSTS_TGL_ERR 0x5 6658f569c09Spirofti #define USBC_GRXSTSPH_PKTSTS_CH_HLTD 0x7 6668f569c09Spirofti #define USBC_GRXSTSPH_DPID 0x00018000 6678f569c09Spirofti #define USBC_GRXSTSPH_DPID_OFFSET 15 6688f569c09Spirofti #define USBC_GRXSTSPH_DPID_DATA0 0x00 6698f569c09Spirofti #define USBC_GRXSTSPH_DPID_DATA1 0x10 6708f569c09Spirofti #define USBC_GRXSTSPH_DPID_DATA2 0x01 6718f569c09Spirofti #define USBC_GRXSTSPH_DPID_MDATA 0x11 6728f569c09Spirofti #define USBC_GRXSTSPH_BCNT 0x00007ff0 6738f569c09Spirofti #define USBC_GRXSTSPH_BCNT_OFFSET 4 6748f569c09Spirofti #define USBC_GRXSTSPH_CHNUM 0x0000000f 6758f569c09Spirofti #define USBC_GRXSTSPH_CHNUM_OFFSET 0 6768f569c09Spirofti 6778f569c09Spirofti #define USBC_GRXSTSRD_XXX_31_25 0xfe000000 6788f569c09Spirofti #define USBC_GRXSTSRD_FN 0x01e00000 6798f569c09Spirofti #define USBC_GRXSTSRD_PKTSTS 0x001e0000 6808f569c09Spirofti #define USBC_GRXSTSRD_DPID 0x00018000 6818f569c09Spirofti #define USBC_GRXSTSRD_BCNT 0x00007ff0 6828f569c09Spirofti #define USBC_GRXSTSRD_EPNUM 0x0000000f 6838f569c09Spirofti 6848f569c09Spirofti #define USBC_GRXSTSPD_XXX_31_25 0xfe000000 6858f569c09Spirofti #define USBC_GRXSTSPD_FN 0x01e00000 6868f569c09Spirofti #define USBC_GRXSTSPD_PKTSTS 0x001e0000 6878f569c09Spirofti #define USBC_GRXSTSPD_DPID 0x00018000 6888f569c09Spirofti #define USBC_GRXSTSPD_BCNT 0x00007ff0 6898f569c09Spirofti #define USBC_GRXSTSPD_EPNUM 0x0000000f 6908f569c09Spirofti 6918f569c09Spirofti #define USBC_GRXFSIZ_XXX_31_16 0xffff0000 6928f569c09Spirofti #define USBC_GRXFSIZ_RXFDEP 0x0000ffff 6938f569c09Spirofti 6948f569c09Spirofti #define USBC_GNPTXFSIZ_NPTXFEDP 0xffff0000 6958f569c09Spirofti #define USBC_GNPTXFSIZ_NPTXFEDP_OFFSET 16 6968f569c09Spirofti #define USBC_GNPTXFSIZ_NPTXFSTADDR 0x0000ffff 6978f569c09Spirofti 6988f569c09Spirofti #define USBC_GNPTXSTS_XXX_31 UINT32_C(0x80000000) 6998f569c09Spirofti #define USBC_GNPTXSTS_NPTXQTOP_CHNUM 0x78000000 7008f569c09Spirofti #define USBC_GNPTXSTS_NPTXQTOP_ENTRY 0x06000000 7018f569c09Spirofti #define USBC_GNPTXSTS_NPTXQTOP_TERMINATE UINT32_C(0x01000000) 7028f569c09Spirofti #define USBC_GNPTXSTS_NPTXQSPCAVAIL 0x00ff0000 7038f569c09Spirofti #define USBC_GNPTXSTS_NPTXQSPCAVAIL_OFFSET 16 7048f569c09Spirofti #define USBC_GNPTXSTS_NPTXFSPCAVAIL 0x0000ffff 7058f569c09Spirofti #define USBC_GNPTXSTS_NPTXFSPCAVAIL_OFFSET 0 7068f569c09Spirofti 7078f569c09Spirofti #define USBC_GSNPSID_SYNOPSYSID 0xffffffff 7088f569c09Spirofti 7098f569c09Spirofti #define USBC_GHWCFG1_EPDIR 0xffffffff 7108f569c09Spirofti 7118f569c09Spirofti #define USBC_GHWCFG2_XXX_31 UINT32_C(0x80000000) 7128f569c09Spirofti #define USBC_GHWCFG2_TKNQDEPTH 0x7c000000 7138f569c09Spirofti #define USBC_GHWCFG2_PTXQDEPTH 0x03000000 7148f569c09Spirofti #define USBC_GHWCFG2_PTXQDEPTH_OFFSET 24 7158f569c09Spirofti #define USBC_GHWCFG2_NPTXQDEPTH 0x00c00000 7168f569c09Spirofti #define USBC_GHWCFG2_NPTXQDEPTH_OFFSET 22 7178f569c09Spirofti #define USBC_GHWCFG2_XXX_21_20 0x00300000 7188f569c09Spirofti #define USBC_GHWCFG2_DYNFIFOSIZING UINT32_C(0x00080000) 7198f569c09Spirofti #define USBC_GHWCFG2_PERIOSUPPORT UINT32_C(0x00040000) 7208f569c09Spirofti #define USBC_GHWCFG2_NUMHSTCHN1 0x0003c000 7218f569c09Spirofti #define USBC_GHWCFG2_NUMHSTCHN1_OFFSET 14 7228f569c09Spirofti #define USBC_GHWCFG2_NUMDEVEPS 0x00003c00 7238f569c09Spirofti #define USBC_GHWCFG2_FSPHYTYPE 0x00000300 7248f569c09Spirofti #define USBC_GHWCFG2_HSPHYTYPE 0x000000c0 7258f569c09Spirofti #define USBC_GHWCFG2_SINGPNT UINT32_C(0x00000020) 7268f569c09Spirofti #define USBC_GHWCFG2_OTGARCH 0x00000018 7278f569c09Spirofti #define USBC_GHWCFG2_OTGARCH_OFFSET 3 7288f569c09Spirofti #define USBC_GHWCFG2_OTGARCH_SLAVEONLY 0x0 7298f569c09Spirofti #define USBC_GHWCFG2_OTGARCH_EXTERNALDMA 0x1 7308f569c09Spirofti #define USBC_GHWCFG2_OTGARCH_INTERNALDMA 0x2 7318f569c09Spirofti #define USBC_GHWCFG2_OTGARCH_RESERVED 0x3 7328f569c09Spirofti #define USBC_GHWCFG2_OTGMODE 0x00000007 7338f569c09Spirofti 7348f569c09Spirofti #define USBC_GHWCFG3_DFIFODEPTH 0xffff0000 7358f569c09Spirofti #define USBC_GHWCFG3_DFIFODEPTH_OFFSET 16 7368f569c09Spirofti #define USBC_GHWCFG3_XXX_15_13 0x0000e000 7378f569c09Spirofti #define USBC_GHWCFG3_AHBPHYSYNC UINT32_C(0x00001000) 7388f569c09Spirofti #define USBC_GHWCFG3_RSTTYPE UINT32_C(0x00000800) 7398f569c09Spirofti #define USBC_GHWCFG3_OPTFEATURE UINT32_C(0x00000400) 7408f569c09Spirofti #define USBC_GHWCFG3_VENDOR_CONTROL_INTERFACE_SUPPORT UINT32_C(0x00000200) 7418f569c09Spirofti #define USBC_GHWCFG3_I2C_SELECTION UINT32_C(0x00000100) 7428f569c09Spirofti #define USBC_GHWCFG3_OTGEN UINT32_C(0x00000080) 7438f569c09Spirofti #define USBC_GHWCFG3_PKTSIZEWIDTH 0x00000070 7448f569c09Spirofti #define USBC_GHWCFG3_XFERSIZEWIDTH 0x0000000f 7458f569c09Spirofti 7468f569c09Spirofti #define USBC_GHWCFG4_XXX_31_25 0xfe000000 7478f569c09Spirofti #define USBC_GHWCFG4_SESSENDFLTR UINT32_C(0x01000000) 7488f569c09Spirofti #define USBC_GHWCFG4_BVAILDFLTR UINT32_C(0x01000000) 7498f569c09Spirofti #define USBC_GHWCFG4_AVAILDFLTR UINT32_C(0x00800000) 7508f569c09Spirofti #define USBC_GHWCFG4_VBUSVALIDFLTR UINT32_C(0x00400000) 7518f569c09Spirofti #define USBC_GHWCFG4_IDDGFLTR UINT32_C(0x00200000) 7528f569c09Spirofti #define USBC_GHWCFG4_NUMCTLEPS 0x000f0000 7538f569c09Spirofti #define USBC_GHWCFG4_PHYDATAWIDTH 0x0000c000 7548f569c09Spirofti #define USBC_GHWCFG4_XXX_13_6 0x00003fc0 7558f569c09Spirofti #define USBC_GHWCFG4_AHBFREQ UINT32_C(0x00000020) 7568f569c09Spirofti #define USBC_GHWCFG4_ENABLEPWROPT UINT32_C(0x00000010) 7578f569c09Spirofti #define USBC_GHWCFG4_NUMDEVPERIOEPS 0x0000000f 7588f569c09Spirofti 7598f569c09Spirofti #define USBC_HPTXFSIZ_PTXFSIZE 0xffff0000 7608f569c09Spirofti #define USBC_HPTXFSIZ_PTXFSIZE_OFFSET 16 7618f569c09Spirofti #define USBC_HPTXFSIZ_PTXFSTADDR 0x0000ffff 7628f569c09Spirofti #define USBC_HPTXFSIZ_PTXFSTADDR_OFFSET 0 7638f569c09Spirofti 7648f569c09Spirofti /* for USBC_DPTXFSIZ(1..4) */ 7658f569c09Spirofti #define USBC_DPTXFSIZX_DPTXFSIZE 0xffff0000 7668f569c09Spirofti #define USBC_DPTXFSIZX_PTXFSTADDR 0x0000ffff 7678f569c09Spirofti 7688f569c09Spirofti #define USBC_HCFG_XXX_31_3 0xfffffff8 7698f569c09Spirofti #define USBC_HCFG_FSLSSUPP UINT32_C(0x00000004) 7708f569c09Spirofti #define USBC_HCFG_FSLSPCLKSEL 0x00000003 7718f569c09Spirofti #define USBC_HCFG_FSLSPCLKSEL_OFFSET 0 7728f569c09Spirofti #define USBC_HCFG_FSLSPCLKSEL_30_60_MHZ 0x00 7738f569c09Spirofti #define USBC_HCFG_FSLSPCLKSEL_48_MHZ 0x01 7748f569c09Spirofti #define USBC_HCFG_FSLSPCLKSEL_6_MHZ 0x10 7758f569c09Spirofti 7768f569c09Spirofti #define USBC_HFIR_XXX_31_16 0xffff0000 7778f569c09Spirofti #define USBC_HFIR_FRINT 0x0000ffff 7788f569c09Spirofti #define USBC_HFIR_FRINT_OFFSET 0 7798f569c09Spirofti 7808f569c09Spirofti #define USBC_HFNUM_FRREM 0xffff0000 7818f569c09Spirofti #define USBC_HFNUM_FRNUM 0x0000ffff 7828f569c09Spirofti 7838f569c09Spirofti #define USBC_HPTXSTS_PTXQTOP 0xff000000 7848f569c09Spirofti #define USBC_HPTXSTS_PTXQSPCAVAIL 0x00ff0000 7858f569c09Spirofti #define USBC_HPTXSTS_PTXQSPCAVAIL_OFFSET 16 7868f569c09Spirofti #define USBC_HPTXSTS_PTXFSPCAVAIL 0x0000ffff 7878f569c09Spirofti #define USBC_HPTXSTS_PTXFSPCAVAIL_OFFSET 0 7888f569c09Spirofti 7898f569c09Spirofti #define USBC_HAINT_XXX_31_16 0xffff0000 7908f569c09Spirofti /* #define USBC_HAINT_HAINT __BITS32(15, 0) */ 7918f569c09Spirofti #define USBC_HAINT_HAINT_F UINT32_C(0x00008000) 7928f569c09Spirofti #define USBC_HAINT_HAINT_E UINT32_C(0x00004000) 7938f569c09Spirofti #define USBC_HAINT_HAINT_D UINT32_C(0x00002000) 7948f569c09Spirofti #define USBC_HAINT_HAINT_C UINT32_C(0x00001000) 7958f569c09Spirofti #define USBC_HAINT_HAINT_B UINT32_C(0x00000800) 7968f569c09Spirofti #define USBC_HAINT_HAINT_A UINT32_C(0x00000400) 7978f569c09Spirofti #define USBC_HAINT_HAINT_9 UINT32_C(0x00000200) 7988f569c09Spirofti #define USBC_HAINT_HAINT_8 UINT32_C(0x00000100) 7998f569c09Spirofti #define USBC_HAINT_HAINT_7 UINT32_C(0x00000080) 8008f569c09Spirofti #define USBC_HAINT_HAINT_6 UINT32_C(0x00000040) 8018f569c09Spirofti #define USBC_HAINT_HAINT_5 UINT32_C(0x00000020) 8028f569c09Spirofti #define USBC_HAINT_HAINT_4 UINT32_C(0x00000010) 8038f569c09Spirofti #define USBC_HAINT_HAINT_3 UINT32_C(0x00000008) 8048f569c09Spirofti #define USBC_HAINT_HAINT_2 UINT32_C(0x00000004) 8058f569c09Spirofti #define USBC_HAINT_HAINT_1 UINT32_C(0x00000002) 8068f569c09Spirofti #define USBC_HAINT_HAINT_0 UINT32_C(0x00000001) 8078f569c09Spirofti 8088f569c09Spirofti #define USBC_HAINTMSK_XXX_31_16 0xffff0000 8098f569c09Spirofti /*#define USBC_HAINTMSK_HAINTMSK __BITS32(15, 0) */ 8108f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_F UINT32_C(0x00008000) 8118f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_E UINT32_C(0x00004000) 8128f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_D UINT32_C(0x00002000) 8138f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_C UINT32_C(0x00001000) 8148f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_B UINT32_C(0x00000800) 8158f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_A UINT32_C(0x00000400) 8168f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_9 UINT32_C(0x00000200) 8178f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_8 UINT32_C(0x00000100) 8188f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_7 UINT32_C(0x00000080) 8198f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_6 UINT32_C(0x00000040) 8208f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_5 UINT32_C(0x00000020) 8218f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_4 UINT32_C(0x00000010) 8228f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_3 UINT32_C(0x00000008) 8238f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_2 UINT32_C(0x00000004) 8248f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_1 UINT32_C(0x00000002) 8258f569c09Spirofti #define USBC_HAINTMSK_HAINTMSK_0 UINT32_C(0x00000001) 8268f569c09Spirofti 8278f569c09Spirofti #define USBC_HPRT_XXX_31_19 0xfff80000 8288f569c09Spirofti #define USBC_HPRT_PRTSPD 0x00060000 8298f569c09Spirofti #define USBC_HPRT_PRTSPD_OFFSET 17 8308f569c09Spirofti #define USBC_HPRT_PRTSPD_HIGH 0x0 8318f569c09Spirofti #define USBC_HPRT_PRTSPD_FULL 0x1 8328f569c09Spirofti #define USBC_HPRT_PRTSPD_LOW 0x2 8338f569c09Spirofti #define USBC_HPRT_PRTSPD_RESERVED 0x3 8348f569c09Spirofti #define USBC_HPRT_PRTTSTCTL 0x0001e000 8358f569c09Spirofti #define USBC_HPRT_PRTPWR UINT32_C(0x00001000) 8368f569c09Spirofti #define USBC_HPRT_PRTLNSTS 0x00000c00 8378f569c09Spirofti #define USBC_HPRT_XXX_9 UINT32_C(0x00000200) 8388f569c09Spirofti #define USBC_HPRT_PRTRST UINT32_C(0x00000100) 8398f569c09Spirofti #define USBC_HPRT_PRTSUSP UINT32_C(0x00000080) 8408f569c09Spirofti #define USBC_HPRT_PRTRES UINT32_C(0x00000040) 8418f569c09Spirofti #define USBC_HPRT_PRTOVRCURRCHNG UINT32_C(0x00000020) 8428f569c09Spirofti #define USBC_HPRT_PRTOVRCURRACT UINT32_C(0x00000010) 8438f569c09Spirofti #define USBC_HPRT_PRTENCHNG UINT32_C(0x00000008) 8448f569c09Spirofti #define USBC_HPRT_PRTENA UINT32_C(0x00000004) 8458f569c09Spirofti #define USBC_HPRT_PRTCONNDET UINT32_C(0x00000002) 8468f569c09Spirofti #define USBC_HPRT_PRTCONNSTS UINT32_C(0x00000001) 8478f569c09Spirofti 8488f569c09Spirofti /* for USBC_HCCHAR(0..7) */ 8498f569c09Spirofti #define USBC_HCCHARX_CHENA UINT32_C(0x80000000) 8508f569c09Spirofti #define USBC_HCCHARX_CHDIS UINT32_C(0x40000000) 8518f569c09Spirofti #define USBC_HCCHARX_ODDFRM UINT32_C(0x20000000) 8528f569c09Spirofti #define USBC_HCCHARX_DEVADDR 0x1fc00000 8538f569c09Spirofti #define USBC_HCCHARX_DEVADDR_OFFSET 22 8548f569c09Spirofti #define USBC_HCCHARX_EC 0x00300000 8558f569c09Spirofti #define USBC_HCCHARX_EC_OFFSET 20 8568f569c09Spirofti #define USBC_HCCHARX_EPTYPE 0x000c0000 8578f569c09Spirofti #define USBC_HCCHARX_EPTYPE_OFFSET 18 8588f569c09Spirofti #define USBC_HCCHARX_EPTYPE_CONTROL 0x00 8598f569c09Spirofti #define USBC_HCCHARX_EPTYPE_ISOCHRONOUS 0x01 8608f569c09Spirofti #define USBC_HCCHARX_EPTYPE_BULK 0x02 8618f569c09Spirofti #define USBC_HCCHARX_EPTYPE_INTERRUPT 0x03 8628f569c09Spirofti #define USBC_HCCHARX_LSPDDEV UINT32_C(0x00020000) 8638f569c09Spirofti #define USBC_HCCHARX_XXX_16 UINT32_C(0x00010000) 8648f569c09Spirofti #define USBC_HCCHARX_EPDIR UINT32_C(0x00008000) 8658f569c09Spirofti #define USBC_HCCHARX_EPNUM 0x00007800 8668f569c09Spirofti #define USBC_HCCHARX_EPNUM_OFFSET 11 8678f569c09Spirofti #define USBC_HCCHARX_MPS 0x000007ff 8688f569c09Spirofti #define USBC_HCCHARX_MPS_OFFSET 0 8698f569c09Spirofti 8708f569c09Spirofti /* for USBC_HCSPLT(0..7) */ 8718f569c09Spirofti #define USBC_HCSPLTX_SPLTENA UINT32_C(0x80000000) 8728f569c09Spirofti #define USBC_HCSPLTX_XXX_30_17 0x7ffe0000 8738f569c09Spirofti #define USBC_HCSPLTX_COMPSPLT UINT32_C(0x00010000) 8748f569c09Spirofti #define USBC_HCSPLTX_XACTPOS 0x0000c000 8758f569c09Spirofti #define USBC_HCSPLTX_HUBADDR 0x00003f80 8768f569c09Spirofti #define USBC_HCSPLTX_PRTADDR 0x0000007f 8778f569c09Spirofti 8788f569c09Spirofti /* for USBC_HCINT(0..7) */ 8798f569c09Spirofti #define USBC_HCINTX_XXX_31_11 0xfffff800 8808f569c09Spirofti #define USBC_HCINTX_DATATGLERR UINT32_C(0x00000400) 8818f569c09Spirofti #define USBC_HCINTX_FRMOVRUN UINT32_C(0x00000200) 8828f569c09Spirofti #define USBC_HCINTX_BBLERR UINT32_C(0x00000100) 8838f569c09Spirofti #define USBC_HCINTX_XACTERR UINT32_C(0x00000080) 8848f569c09Spirofti #define USBC_HCINTX_NYET UINT32_C(0x00000040) 8858f569c09Spirofti #define USBC_HCINTX_ACK UINT32_C(0x00000020) 8868f569c09Spirofti #define USBC_HCINTX_NAK UINT32_C(0x00000010) 8878f569c09Spirofti #define USBC_HCINTX_STALL UINT32_C(0x00000008) 8888f569c09Spirofti #define USBC_HCINTX_AHBERR UINT32_C(0x00000004) 8898f569c09Spirofti #define USBC_HCINTX_CHHLTD UINT32_C(0x00000002) 8908f569c09Spirofti #define USBC_HCINTX_XFERCOMPL UINT32_C(0x00000001) 8918f569c09Spirofti 8928f569c09Spirofti /* for USBC_HCINTMSK(0..7) */ 8938f569c09Spirofti #define USBC_HCINTMSKX_XXX_31_11 0xfffff800 8948f569c09Spirofti #define USBC_HCINTMSKX_DATATGLERRMSK UINT32_C(0x00000400) 8958f569c09Spirofti #define USBC_HCINTMSKX_FRMOVRUNMSK UINT32_C(0x00000200) 8968f569c09Spirofti #define USBC_HCINTMSKX_BBLERRMSK UINT32_C(0x00000100) 8978f569c09Spirofti #define USBC_HCINTMSKX_XACTERRMSK UINT32_C(0x00000080) 8988f569c09Spirofti #define USBC_HCINTMSKX_NYETMSK UINT32_C(0x00000040) 8998f569c09Spirofti #define USBC_HCINTMSKX_ACKMSK UINT32_C(0x00000020) 9008f569c09Spirofti #define USBC_HCINTMSKX_NAKMSK UINT32_C(0x00000010) 9018f569c09Spirofti #define USBC_HCINTMSKX_STALLMSK UINT32_C(0x00000008) 9028f569c09Spirofti #define USBC_HCINTMSKX_AHBERRMSK UINT32_C(0x00000004) 9038f569c09Spirofti #define USBC_HCINTMSKX_CHHLTDMSK UINT32_C(0x00000002) 9048f569c09Spirofti #define USBC_HCINTMSKX_XFERCOMPLMSK UINT32_C(0x00000001) 9058f569c09Spirofti 9068f569c09Spirofti /* for USBC_HCTSIZ(0..7) */ 9078f569c09Spirofti #define USBC_HCTSIZX_DOPNG UINT32_C(0x80000000) 9088f569c09Spirofti #define USBC_HCTSIZX_PID 0x60000000 9098f569c09Spirofti #define USBC_HCTSIZX_PID_OFFSET 29 9108f569c09Spirofti #define USBC_HCTSIZX_PID_DATA0 0x00 9118f569c09Spirofti #define USBC_HCTSIZX_PID_DATA2 0x01 9128f569c09Spirofti #define USBC_HCTSIZX_PID_DATA1 0x02 9138f569c09Spirofti #define USBC_HCTSIZX_PID_MDATA_SETUP 0x03 9148f569c09Spirofti #define USBC_HCTSIZX_PKTCNT 0x1ff80000 9158f569c09Spirofti #define USBC_HCTSIZX_PKTCNT_OFFSET 19 9168f569c09Spirofti #define USBC_HCTSIZX_XFERSIZE 0x0007ffff 9178f569c09Spirofti #define USBC_HCTSIZX_XFERSIZE_OFFSET 0 9188f569c09Spirofti 9198f569c09Spirofti /* XXX Device Mode Registers */ 9208f569c09Spirofti 9218f569c09Spirofti 9228f569c09Spirofti 9238f569c09Spirofti /* for USBC_NPTXDFIFO(0..7) */ 9248f569c09Spirofti #define USBC_NPTXDFIFOX_DATA 0xffffffff 9258f569c09Spirofti 9268f569c09Spirofti /* ---- bus_space */ 9278f569c09Spirofti 9288f569c09Spirofti #define USBC_BASE 0x00016F0010000000ULL 9298f569c09Spirofti #define USBC_SIZE 0x40020 9308f569c09Spirofti 9318f569c09Spirofti #define USBC_GOTGCTL_OFFSET 0x00000000 9328f569c09Spirofti #define USBC_GOTGINT_OFFSET 0x00000004 9338f569c09Spirofti #define USBC_GAHBCFG_OFFSET 0x00000008 9348f569c09Spirofti #define USBC_GUSBCFG_OFFSET 0x0000000C 9358f569c09Spirofti #define USBC_GRSTCTL_OFFSET 0x00000010 9368f569c09Spirofti #define USBC_GINTSTS_OFFSET 0x00000014 9378f569c09Spirofti #define USBC_GINTMSK_OFFSET 0x00000018 9388f569c09Spirofti #define USBC_GRXSTSRH_OFFSET 0x0000001C 9398f569c09Spirofti #define USBC_GRXSTSPH_OFFSET 0x00000020 9408f569c09Spirofti #define USBC_GRXFSIZ_OFFSET 0x00000024 9418f569c09Spirofti #define USBC_GNPTXFSIZ_OFFSET 0x00000028 9428f569c09Spirofti #define USBC_GNPTXSTS_OFFSET 0x0000002C 9438f569c09Spirofti #define USBC_GSNPSID_OFFSET 0x00000040 9448f569c09Spirofti #define USBC_GHWCFG1_OFFSET 0x00000044 9458f569c09Spirofti #define USBC_GHWCFG2_OFFSET 0x00000048 9468f569c09Spirofti #define USBC_GHWCFG3_OFFSET 0x0000004C 9478f569c09Spirofti #define USBC_GHWCFG4_OFFSET 0x00000050 9488f569c09Spirofti #define USBC_HPTXFSIZ_OFFSET 0x00000100 9498f569c09Spirofti #define USBC_DPTXFSIZ1_OFFSET 0x00000104 9508f569c09Spirofti #define USBC_DPTXFSIZ2_OFFSET 0x00000108 9518f569c09Spirofti #define USBC_DPTXFSIZ3_OFFSET 0x0000010C 9528f569c09Spirofti #define USBC_DPTXFSIZ4_OFFSET 0x00000110 9538f569c09Spirofti #define USBC_HCFG_OFFSET 0x00000400 9548f569c09Spirofti #define USBC_HFIR_OFFSET 0x00000404 9558f569c09Spirofti #define USBC_HFNUM_OFFSET 0x00000408 9568f569c09Spirofti #define USBC_HPTXSTS_OFFSET 0x00000410 9578f569c09Spirofti #define USBC_HAINT_OFFSET 0x00000414 9588f569c09Spirofti #define USBC_HAINTMSK_OFFSET 0x00000418 9598f569c09Spirofti #define USBC_HPRT_OFFSET 0x00000440 9608f569c09Spirofti #define USBC_HCCHAR0_OFFSET 0x00000500 9618f569c09Spirofti #define USBC_HCCHAR1_OFFSET 0x00000520 9628f569c09Spirofti #define USBC_HCCHAR2_OFFSET 0x00000540 9638f569c09Spirofti #define USBC_HCCHAR3_OFFSET 0x00000560 9648f569c09Spirofti #define USBC_HCCHAR4_OFFSET 0x00000580 9658f569c09Spirofti #define USBC_HCCHAR5_OFFSET 0x000005A0 9668f569c09Spirofti #define USBC_HCCHAR6_OFFSET 0x000005C0 9678f569c09Spirofti #define USBC_HCCHAR7_OFFSET 0x000005E0 9688f569c09Spirofti #define USBC_HCSPLT0_OFFSET 0x00000504 9698f569c09Spirofti #define USBC_HCSPLT1_OFFSET 0x00000524 9708f569c09Spirofti #define USBC_HCSPLT2_OFFSET 0x00000544 9718f569c09Spirofti #define USBC_HCSPLT3_OFFSET 0x00000564 9728f569c09Spirofti #define USBC_HCSPLT4_OFFSET 0x00000584 9738f569c09Spirofti #define USBC_HCSPLT5_OFFSET 0x000005A4 9748f569c09Spirofti #define USBC_HCSPLT6_OFFSET 0x000005C4 9758f569c09Spirofti #define USBC_HCSPLT7_OFFSET 0x000005E4 9768f569c09Spirofti #define USBC_HCINT0_OFFSET 0x00000508 9778f569c09Spirofti #define USBC_HCINT1_OFFSET 0x00000528 9788f569c09Spirofti #define USBC_HCINT2_OFFSET 0x00000548 9798f569c09Spirofti #define USBC_HCINT3_OFFSET 0x00000568 9808f569c09Spirofti #define USBC_HCINT4_OFFSET 0x00000588 9818f569c09Spirofti #define USBC_HCINT5_OFFSET 0x000005A8 9828f569c09Spirofti #define USBC_HCINT6_OFFSET 0x000005C8 9838f569c09Spirofti #define USBC_HCINT7_OFFSET 0x000005E8 9848f569c09Spirofti #define USBC_HCINTMSK0_OFFSET 0x0000050C 9858f569c09Spirofti #define USBC_HCINTMSK1_OFFSET 0x0000052C 9868f569c09Spirofti #define USBC_HCINTMSK2_OFFSET 0x0000054C 9878f569c09Spirofti #define USBC_HCINTMSK3_OFFSET 0x0000056C 9888f569c09Spirofti #define USBC_HCINTMSK4_OFFSET 0x0000058C 9898f569c09Spirofti #define USBC_HCINTMSK5_OFFSET 0x000005AC 9908f569c09Spirofti #define USBC_HCINTMSK6_OFFSET 0x000005CC 9918f569c09Spirofti #define USBC_HCINTMSK7_OFFSET 0x000005EC 9928f569c09Spirofti #define USBC_HCTSIZ0_OFFSET 0x00000510 9938f569c09Spirofti #define USBC_HCTSIZ1_OFFSET 0x00000530 9948f569c09Spirofti #define USBC_HCTSIZ2_OFFSET 0x00000550 9958f569c09Spirofti #define USBC_HCTSIZ3_OFFSET 0x00000570 9968f569c09Spirofti #define USBC_HCTSIZ4_OFFSET 0x00000590 9978f569c09Spirofti #define USBC_HCTSIZ5_OFFSET 0x000005B0 9988f569c09Spirofti #define USBC_HCTSIZ6_OFFSET 0x000005D0 9998f569c09Spirofti #define USBC_HCTSIZ7_OFFSET 0x000005F0 10008f569c09Spirofti #define USBC_DCFG_OFFSET 0x00000800 10018f569c09Spirofti #define USBC_DCTL_OFFSET 0x00000804 10028f569c09Spirofti #define USBC_DSTS_OFFSET 0x00000808 10038f569c09Spirofti #define USBC_DIEPMSK_OFFSET 0x00000810 10048f569c09Spirofti #define USBC_DOEPMSK_OFFSET 0x00000814 10058f569c09Spirofti #define USBC_DAINT_OFFSET 0x00000818 10068f569c09Spirofti #define USBC_DAINTMSK_OFFSET 0x0000081C 10078f569c09Spirofti #define USBC_DTKNQR1_OFFSET 0x00000820 10088f569c09Spirofti #define USBC_DTKNQR2_OFFSET 0x00000824 10098f569c09Spirofti #define USBC_DTKNQR3_OFFSET 0x00000830 10108f569c09Spirofti #define USBC_DTKNQR4_OFFSET 0x00000834 10118f569c09Spirofti #define USBC_DIEPCTL0_OFFSET 0x00000900 10128f569c09Spirofti #define USBC_DIEPCTL1_OFFSET 0x00000920 10138f569c09Spirofti #define USBC_DIEPCTL2_OFFSET 0x00000940 10148f569c09Spirofti #define USBC_DIEPCTL3_OFFSET 0x00000960 10158f569c09Spirofti #define USBC_DIEPCTL4_OFFSET 0x00000980 10168f569c09Spirofti #define USBC_DIEPINT0_OFFSET 0x00000908 10178f569c09Spirofti #define USBC_DIEPINT1_OFFSET 0x00000928 10188f569c09Spirofti #define USBC_DIEPINT2_OFFSET 0x00000948 10198f569c09Spirofti #define USBC_DIEPINT3_OFFSET 0x00000968 10208f569c09Spirofti #define USBC_DIEPINT4_OFFSET 0x00000988 10218f569c09Spirofti #define USBC_DIEPTSIZ0_OFFSET 0x00000910 10228f569c09Spirofti #define USBC_DIEPTSIZ1_OFFSET 0x00000930 10238f569c09Spirofti #define USBC_DIEPTSIZ2_OFFSET 0x00000950 10248f569c09Spirofti #define USBC_DIEPTSIZ3_OFFSET 0x00000970 10258f569c09Spirofti #define USBC_DIEPTSIZ4_OFFSET 0x00000990 10268f569c09Spirofti #define USBC_OEPCTL0_OFFSET 0x00000B00 10278f569c09Spirofti #define USBC_OEPCTL1_OFFSET 0x00000B20 10288f569c09Spirofti #define USBC_OEPCTL2_OFFSET 0x00000B40 10298f569c09Spirofti #define USBC_OEPCTL3_OFFSET 0x00000B60 10308f569c09Spirofti #define USBC_OEPCTL4_OFFSET 0x00000B80 10318f569c09Spirofti #define USBC_OEPINT0_OFFSET 0x00000B08 10328f569c09Spirofti #define USBC_OEPINT1_OFFSET 0x00000B28 10338f569c09Spirofti #define USBC_OEPINT2_OFFSET 0x00000B48 10348f569c09Spirofti #define USBC_OEPINT3_OFFSET 0x00000B68 10358f569c09Spirofti #define USBC_OEPINT4_OFFSET 0x00000B88 10368f569c09Spirofti #define USBC_OEPTSIZ0_OFFSET 0x00000B10 10378f569c09Spirofti #define USBC_OEPTSIZ1_OFFSET 0x00000B30 10388f569c09Spirofti #define USBC_OEPTSIZ2_OFFSET 0x00000B50 10398f569c09Spirofti #define USBC_OEPTSIZ3_OFFSET 0x00000B70 10408f569c09Spirofti #define USBC_OEPTSIZ4_OFFSET 0x00000B90 10418f569c09Spirofti #define USBC_PCGCCTL_OFFSET 0x00000E00 10428f569c09Spirofti #define USBC_NPTXDFIFO0_OFFSET 0x00001000 10438f569c09Spirofti #define USBC_NPTXDFIFO1_OFFSET 0x00002000 10448f569c09Spirofti #define USBC_NPTXDFIFO2_OFFSET 0x00003000 10458f569c09Spirofti #define USBC_NPTXDFIFO3_OFFSET 0x00004000 10468f569c09Spirofti #define USBC_NPTXDFIFO4_OFFSET 0x00005000 10478f569c09Spirofti #define USBC_NPTXDFIFO5_OFFSET 0x00006000 10488f569c09Spirofti #define USBC_NPTXDFIFO6_OFFSET 0x00007000 10498f569c09Spirofti #define USBC_NPTXDFIFO7_OFFSET 0x00008000 10508f569c09Spirofti #define USBC_GRXSTSRD_OFFSET 0x0004001C 10518f569c09Spirofti #define USBC_GRXSTSPD_OFFSET 0x00040020 10528f569c09Spirofti 10538f569c09Spirofti 10548f569c09Spirofti #endif /* _OCTHCIREGREG_H_ */ 1055