Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags   |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) /* SPDX-License-Identifier: GPL-2.0+ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3)  * Copyright (C) 2015 Microchip Technology
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) #ifndef _LAN78XX_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) #define _LAN78XX_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) /* USB Vendor Requests */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) #define USB_VENDOR_REQUEST_WRITE_REGISTER	0xA0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) #define USB_VENDOR_REQUEST_READ_REGISTER	0xA1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) #define USB_VENDOR_REQUEST_GET_STATS		0xA2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) /* Interrupt Endpoint status word bitfields */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) #define INT_ENP_EEE_START_TX_LPI_INT		BIT(26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) #define INT_ENP_EEE_STOP_TX_LPI_INT		BIT(25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) #define INT_ENP_EEE_RX_LPI_INT			BIT(24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) #define INT_ENP_RDFO_INT			BIT(22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) #define INT_ENP_TXE_INT				BIT(21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) #define INT_ENP_TX_DIS_INT			BIT(19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) #define INT_ENP_RX_DIS_INT			BIT(18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) #define INT_ENP_PHY_INT				BIT(17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) #define INT_ENP_DP_INT				BIT(16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) #define INT_ENP_MAC_ERR_INT			BIT(15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) #define INT_ENP_TDFU_INT			BIT(14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) #define INT_ENP_TDFO_INT			BIT(13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) #define INT_ENP_UTX_FP_INT			BIT(12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) #define TX_PKT_ALIGNMENT			4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) #define RX_PKT_ALIGNMENT			4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) /* Tx Command A */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) #define TX_CMD_A_IGE_			(0x20000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) #define TX_CMD_A_ICE_			(0x10000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) #define TX_CMD_A_LSO_			(0x08000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) #define TX_CMD_A_IPE_			(0x04000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) #define TX_CMD_A_TPE_			(0x02000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) #define TX_CMD_A_IVTG_			(0x01000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) #define TX_CMD_A_RVTG_			(0x00800000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) #define TX_CMD_A_FCS_			(0x00400000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) #define TX_CMD_A_LEN_MASK_		(0x000FFFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) /* Tx Command B */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) #define TX_CMD_B_MSS_SHIFT_		(16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) #define TX_CMD_B_MSS_MASK_		(0x3FFF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) #define TX_CMD_B_MSS_MIN_		((unsigned short)8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) #define TX_CMD_B_VTAG_MASK_		(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) #define TX_CMD_B_VTAG_PRI_MASK_		(0x0000E000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) #define TX_CMD_B_VTAG_CFI_MASK_		(0x00001000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) #define TX_CMD_B_VTAG_VID_MASK_		(0x00000FFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) /* Rx Command A */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) #define RX_CMD_A_ICE_			(0x80000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) #define RX_CMD_A_TCE_			(0x40000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) #define RX_CMD_A_CSE_MASK_		(0xC0000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) #define RX_CMD_A_IPV_			(0x20000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) #define RX_CMD_A_PID_MASK_		(0x18000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) #define RX_CMD_A_PID_NONE_IP_		(0x00000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) #define RX_CMD_A_PID_TCP_IP_		(0x08000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) #define RX_CMD_A_PID_UDP_IP_		(0x10000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) #define RX_CMD_A_PID_IP_		(0x18000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) #define RX_CMD_A_PFF_			(0x04000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) #define RX_CMD_A_BAM_			(0x02000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) #define RX_CMD_A_MAM_			(0x01000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) #define RX_CMD_A_FVTG_			(0x00800000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) #define RX_CMD_A_RED_			(0x00400000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) #define RX_CMD_A_RX_ERRS_MASK_		(0xC03F0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) #define RX_CMD_A_RWT_			(0x00200000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) #define RX_CMD_A_RUNT_			(0x00100000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) #define RX_CMD_A_LONG_			(0x00080000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) #define RX_CMD_A_RXE_			(0x00040000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) #define RX_CMD_A_DRB_			(0x00020000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) #define RX_CMD_A_FCS_			(0x00010000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) #define RX_CMD_A_UAM_			(0x00008000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) #define RX_CMD_A_ICSM_			(0x00004000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) #define RX_CMD_A_LEN_MASK_		(0x00003FFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) /* Rx Command B */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) #define RX_CMD_B_CSUM_SHIFT_		(16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) #define RX_CMD_B_CSUM_MASK_		(0xFFFF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) #define RX_CMD_B_VTAG_MASK_		(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) #define RX_CMD_B_VTAG_PRI_MASK_		(0x0000E000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) #define RX_CMD_B_VTAG_CFI_MASK_		(0x00001000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) #define RX_CMD_B_VTAG_VID_MASK_		(0x00000FFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) /* Rx Command C */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) #define RX_CMD_C_WAKE_SHIFT_		(15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) #define RX_CMD_C_WAKE_			(0x8000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) #define RX_CMD_C_REF_FAIL_SHIFT_	(14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) #define RX_CMD_C_REF_FAIL_		(0x4000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) /* SCSRs */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) #define NUMBER_OF_REGS			(193)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) #define ID_REV				(0x00)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) #define ID_REV_CHIP_ID_MASK_		(0xFFFF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) #define ID_REV_CHIP_REV_MASK_		(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) #define ID_REV_CHIP_ID_7800_		(0x7800)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) #define ID_REV_CHIP_ID_7850_		(0x7850)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) #define ID_REV_CHIP_ID_7801_		(0x7801)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) #define FPGA_REV			(0x04)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) #define FPGA_REV_MINOR_MASK_		(0x0000FF00)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) #define FPGA_REV_MAJOR_MASK_		(0x000000FF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) #define INT_STS				(0x0C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) #define INT_STS_CLEAR_ALL_		(0xFFFFFFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) #define INT_STS_EEE_TX_LPI_STRT_	(0x04000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) #define INT_STS_EEE_TX_LPI_STOP_	(0x02000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) #define INT_STS_EEE_RX_LPI_		(0x01000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) #define INT_STS_RDFO_			(0x00400000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) #define INT_STS_TXE_			(0x00200000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) #define INT_STS_TX_DIS_			(0x00080000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) #define INT_STS_RX_DIS_			(0x00040000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) #define INT_STS_PHY_INT_		(0x00020000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) #define INT_STS_DP_INT_			(0x00010000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) #define INT_STS_MAC_ERR_		(0x00008000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) #define INT_STS_TDFU_			(0x00004000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) #define INT_STS_TDFO_			(0x00002000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) #define INT_STS_UFX_FP_			(0x00001000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) #define INT_STS_GPIO_MASK_		(0x00000FFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) #define INT_STS_GPIO11_			(0x00000800)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) #define INT_STS_GPIO10_			(0x00000400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) #define INT_STS_GPIO9_			(0x00000200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) #define INT_STS_GPIO8_			(0x00000100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) #define INT_STS_GPIO7_			(0x00000080)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) #define INT_STS_GPIO6_			(0x00000040)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) #define INT_STS_GPIO5_			(0x00000020)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) #define INT_STS_GPIO4_			(0x00000010)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) #define INT_STS_GPIO3_			(0x00000008)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) #define INT_STS_GPIO2_			(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) #define INT_STS_GPIO1_			(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) #define INT_STS_GPIO0_			(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) #define HW_CFG				(0x010)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) #define HW_CFG_CLK125_EN_		(0x02000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) #define HW_CFG_REFCLK25_EN_		(0x01000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) #define HW_CFG_LED3_EN_			(0x00800000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) #define HW_CFG_LED2_EN_			(0x00400000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) #define HW_CFG_LED1_EN_			(0x00200000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) #define HW_CFG_LED0_EN_			(0x00100000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) #define HW_CFG_EEE_PHY_LUSU_		(0x00020000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) #define HW_CFG_EEE_TSU_			(0x00010000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) #define HW_CFG_NETDET_STS_		(0x00008000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) #define HW_CFG_NETDET_EN_		(0x00004000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) #define HW_CFG_EEM_			(0x00002000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) #define HW_CFG_RST_PROTECT_		(0x00001000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) #define HW_CFG_CONNECT_BUF_		(0x00000400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) #define HW_CFG_CONNECT_EN_		(0x00000200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) #define HW_CFG_CONNECT_POL_		(0x00000100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) #define HW_CFG_SUSPEND_N_SEL_MASK_	(0x000000C0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) #define HW_CFG_SUSPEND_N_SEL_2		(0x00000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) #define HW_CFG_SUSPEND_N_SEL_12N	(0x00000040)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) #define HW_CFG_SUSPEND_N_SEL_012N	(0x00000080)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) #define HW_CFG_SUSPEND_N_SEL_0123N	(0x000000C0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) #define HW_CFG_SUSPEND_N_POL_		(0x00000020)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) #define HW_CFG_MEF_			(0x00000010)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) #define HW_CFG_ETC_			(0x00000008)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) #define HW_CFG_LRST_			(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) #define HW_CFG_SRST_			(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) #define PMT_CTL				(0x014)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) #define PMT_CTL_EEE_WAKEUP_EN_		(0x00002000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) #define PMT_CTL_EEE_WUPS_		(0x00001000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) #define PMT_CTL_MAC_SRST_		(0x00000800)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) #define PMT_CTL_PHY_PWRUP_		(0x00000400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) #define PMT_CTL_RES_CLR_WKP_MASK_	(0x00000300)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) #define PMT_CTL_RES_CLR_WKP_STS_	(0x00000200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) #define PMT_CTL_RES_CLR_WKP_EN_		(0x00000100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) #define PMT_CTL_READY_			(0x00000080)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) #define PMT_CTL_SUS_MODE_MASK_		(0x00000060)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) #define PMT_CTL_SUS_MODE_0_		(0x00000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) #define PMT_CTL_SUS_MODE_1_		(0x00000020)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) #define PMT_CTL_SUS_MODE_2_		(0x00000040)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) #define PMT_CTL_SUS_MODE_3_		(0x00000060)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) #define PMT_CTL_PHY_RST_		(0x00000010)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) #define PMT_CTL_WOL_EN_			(0x00000008)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) #define PMT_CTL_PHY_WAKE_EN_		(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) #define PMT_CTL_WUPS_MASK_		(0x00000003)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) #define PMT_CTL_WUPS_MLT_		(0x00000003)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) #define PMT_CTL_WUPS_MAC_		(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) #define PMT_CTL_WUPS_PHY_		(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) #define GPIO_CFG0			(0x018)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) #define GPIO_CFG0_GPIOEN_MASK_		(0x0000F000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) #define GPIO_CFG0_GPIOEN3_		(0x00008000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) #define GPIO_CFG0_GPIOEN2_		(0x00004000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) #define GPIO_CFG0_GPIOEN1_		(0x00002000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) #define GPIO_CFG0_GPIOEN0_		(0x00001000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) #define GPIO_CFG0_GPIOBUF_MASK_		(0x00000F00)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) #define GPIO_CFG0_GPIOBUF3_		(0x00000800)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) #define GPIO_CFG0_GPIOBUF2_		(0x00000400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) #define GPIO_CFG0_GPIOBUF1_		(0x00000200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) #define GPIO_CFG0_GPIOBUF0_		(0x00000100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) #define GPIO_CFG0_GPIODIR_MASK_		(0x000000F0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) #define GPIO_CFG0_GPIODIR3_		(0x00000080)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) #define GPIO_CFG0_GPIODIR2_		(0x00000040)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) #define GPIO_CFG0_GPIODIR1_		(0x00000020)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) #define GPIO_CFG0_GPIODIR0_		(0x00000010)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) #define GPIO_CFG0_GPIOD_MASK_		(0x0000000F)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) #define GPIO_CFG0_GPIOD3_		(0x00000008)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) #define GPIO_CFG0_GPIOD2_		(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) #define GPIO_CFG0_GPIOD1_		(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) #define GPIO_CFG0_GPIOD0_		(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) #define GPIO_CFG1			(0x01C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) #define GPIO_CFG1_GPIOEN_MASK_		(0xFF000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) #define GPIO_CFG1_GPIOEN11_		(0x80000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) #define GPIO_CFG1_GPIOEN10_		(0x40000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) #define GPIO_CFG1_GPIOEN9_		(0x20000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) #define GPIO_CFG1_GPIOEN8_		(0x10000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) #define GPIO_CFG1_GPIOEN7_		(0x08000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) #define GPIO_CFG1_GPIOEN6_		(0x04000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) #define GPIO_CFG1_GPIOEN5_		(0x02000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) #define GPIO_CFG1_GPIOEN4_		(0x01000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) #define GPIO_CFG1_GPIOBUF_MASK_		(0x00FF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) #define GPIO_CFG1_GPIOBUF11_		(0x00800000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) #define GPIO_CFG1_GPIOBUF10_		(0x00400000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) #define GPIO_CFG1_GPIOBUF9_		(0x00200000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) #define GPIO_CFG1_GPIOBUF8_		(0x00100000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) #define GPIO_CFG1_GPIOBUF7_		(0x00080000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) #define GPIO_CFG1_GPIOBUF6_		(0x00040000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) #define GPIO_CFG1_GPIOBUF5_		(0x00020000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) #define GPIO_CFG1_GPIOBUF4_		(0x00010000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) #define GPIO_CFG1_GPIODIR_MASK_		(0x0000FF00)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) #define GPIO_CFG1_GPIODIR11_		(0x00008000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) #define GPIO_CFG1_GPIODIR10_		(0x00004000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) #define GPIO_CFG1_GPIODIR9_		(0x00002000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) #define GPIO_CFG1_GPIODIR8_		(0x00001000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) #define GPIO_CFG1_GPIODIR7_		(0x00000800)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) #define GPIO_CFG1_GPIODIR6_		(0x00000400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) #define GPIO_CFG1_GPIODIR5_		(0x00000200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) #define GPIO_CFG1_GPIODIR4_		(0x00000100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) #define GPIO_CFG1_GPIOD_MASK_		(0x000000FF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) #define GPIO_CFG1_GPIOD11_		(0x00000080)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) #define GPIO_CFG1_GPIOD10_		(0x00000040)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) #define GPIO_CFG1_GPIOD9_		(0x00000020)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) #define GPIO_CFG1_GPIOD8_		(0x00000010)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) #define GPIO_CFG1_GPIOD7_		(0x00000008)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) #define GPIO_CFG1_GPIOD6_		(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) #define GPIO_CFG1_GPIOD6_		(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) #define GPIO_CFG1_GPIOD5_		(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) #define GPIO_CFG1_GPIOD4_		(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) #define GPIO_WAKE			(0x020)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) #define GPIO_WAKE_GPIOPOL_MASK_		(0x0FFF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) #define GPIO_WAKE_GPIOPOL11_		(0x08000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) #define GPIO_WAKE_GPIOPOL10_		(0x04000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) #define GPIO_WAKE_GPIOPOL9_		(0x02000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) #define GPIO_WAKE_GPIOPOL8_		(0x01000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) #define GPIO_WAKE_GPIOPOL7_		(0x00800000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) #define GPIO_WAKE_GPIOPOL6_		(0x00400000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) #define GPIO_WAKE_GPIOPOL5_		(0x00200000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) #define GPIO_WAKE_GPIOPOL4_		(0x00100000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) #define GPIO_WAKE_GPIOPOL3_		(0x00080000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) #define GPIO_WAKE_GPIOPOL2_		(0x00040000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) #define GPIO_WAKE_GPIOPOL1_		(0x00020000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) #define GPIO_WAKE_GPIOPOL0_		(0x00010000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) #define GPIO_WAKE_GPIOWK_MASK_		(0x00000FFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) #define GPIO_WAKE_GPIOWK11_		(0x00000800)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) #define GPIO_WAKE_GPIOWK10_		(0x00000400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) #define GPIO_WAKE_GPIOWK9_		(0x00000200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) #define GPIO_WAKE_GPIOWK8_		(0x00000100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) #define GPIO_WAKE_GPIOWK7_		(0x00000080)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) #define GPIO_WAKE_GPIOWK6_		(0x00000040)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) #define GPIO_WAKE_GPIOWK5_		(0x00000020)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) #define GPIO_WAKE_GPIOWK4_		(0x00000010)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) #define GPIO_WAKE_GPIOWK3_		(0x00000008)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) #define GPIO_WAKE_GPIOWK2_		(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) #define GPIO_WAKE_GPIOWK1_		(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) #define GPIO_WAKE_GPIOWK0_		(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) #define DP_SEL				(0x024)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) #define DP_SEL_DPRDY_			(0x80000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) #define DP_SEL_RSEL_MASK_		(0x0000000F)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) #define DP_SEL_RSEL_USB_PHY_CSRS_	(0x0000000F)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) #define DP_SEL_RSEL_OTP_64BIT_		(0x00000009)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) #define DP_SEL_RSEL_OTP_8BIT_		(0x00000008)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) #define DP_SEL_RSEL_UTX_BUF_RAM_	(0x00000007)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) #define DP_SEL_RSEL_DESC_RAM_		(0x00000005)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) #define DP_SEL_RSEL_TXFIFO_		(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) #define DP_SEL_RSEL_RXFIFO_		(0x00000003)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) #define DP_SEL_RSEL_LSO_		(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) #define DP_SEL_RSEL_VLAN_DA_		(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) #define DP_SEL_RSEL_URXBUF_		(0x00000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) #define DP_SEL_VHF_HASH_LEN		(16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) #define DP_SEL_VHF_VLAN_LEN		(128)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) #define DP_CMD				(0x028)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) #define DP_CMD_WRITE_			(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) #define DP_CMD_READ_			(0x00000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) #define DP_ADDR				(0x02C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) #define DP_ADDR_MASK_			(0x00003FFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) #define DP_DATA				(0x030)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) #define E2P_CMD				(0x040)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) #define E2P_CMD_EPC_BUSY_		(0x80000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) #define E2P_CMD_EPC_CMD_MASK_		(0x70000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) #define E2P_CMD_EPC_CMD_RELOAD_		(0x70000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) #define E2P_CMD_EPC_CMD_ERAL_		(0x60000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) #define E2P_CMD_EPC_CMD_ERASE_		(0x50000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) #define E2P_CMD_EPC_CMD_WRAL_		(0x40000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) #define E2P_CMD_EPC_CMD_WRITE_		(0x30000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) #define E2P_CMD_EPC_CMD_EWEN_		(0x20000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) #define E2P_CMD_EPC_CMD_EWDS_		(0x10000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) #define E2P_CMD_EPC_CMD_READ_		(0x00000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) #define E2P_CMD_EPC_TIMEOUT_		(0x00000400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) #define E2P_CMD_EPC_DL_			(0x00000200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) #define E2P_CMD_EPC_ADDR_MASK_		(0x000001FF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) #define E2P_DATA			(0x044)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) #define E2P_DATA_EEPROM_DATA_MASK_	(0x000000FF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) #define BOS_ATTR			(0x050)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) #define BOS_ATTR_BLOCK_SIZE_MASK_	(0x000000FF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) #define SS_ATTR				(0x054)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) #define SS_ATTR_POLL_INT_MASK_		(0x00FF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) #define SS_ATTR_DEV_DESC_SIZE_MASK_	(0x0000FF00)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) #define SS_ATTR_CFG_BLK_SIZE_MASK_	(0x000000FF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) #define HS_ATTR				(0x058)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) #define HS_ATTR_POLL_INT_MASK_		(0x00FF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) #define HS_ATTR_DEV_DESC_SIZE_MASK_	(0x0000FF00)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) #define HS_ATTR_CFG_BLK_SIZE_MASK_	(0x000000FF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) #define FS_ATTR				(0x05C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) #define FS_ATTR_POLL_INT_MASK_		(0x00FF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) #define FS_ATTR_DEV_DESC_SIZE_MASK_	(0x0000FF00)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) #define FS_ATTR_CFG_BLK_SIZE_MASK_	(0x000000FF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) #define STR_ATTR0			    (0x060)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) #define STR_ATTR0_CFGSTR_DESC_SIZE_MASK_    (0xFF000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) #define STR_ATTR0_SERSTR_DESC_SIZE_MASK_    (0x00FF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) #define STR_ATTR0_PRODSTR_DESC_SIZE_MASK_   (0x0000FF00)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) #define STR_ATTR0_MANUF_DESC_SIZE_MASK_     (0x000000FF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) #define STR_ATTR1			    (0x064)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) #define STR_ATTR1_INTSTR_DESC_SIZE_MASK_    (0x000000FF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) #define STR_FLAG_ATTR			    (0x068)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) #define STR_FLAG_ATTR_PME_FLAGS_MASK_	    (0x000000FF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) #define USB_CFG0			(0x080)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) #define USB_CFG_LPM_RESPONSE_		(0x80000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) #define USB_CFG_LPM_CAPABILITY_		(0x40000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) #define USB_CFG_LPM_ENBL_SLPM_		(0x20000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) #define USB_CFG_HIRD_THR_MASK_		(0x1F000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) #define USB_CFG_HIRD_THR_960_		(0x1C000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) #define USB_CFG_HIRD_THR_885_		(0x1B000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) #define USB_CFG_HIRD_THR_810_		(0x1A000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) #define USB_CFG_HIRD_THR_735_		(0x19000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) #define USB_CFG_HIRD_THR_660_		(0x18000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) #define USB_CFG_HIRD_THR_585_		(0x17000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) #define USB_CFG_HIRD_THR_510_		(0x16000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) #define USB_CFG_HIRD_THR_435_		(0x15000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) #define USB_CFG_HIRD_THR_360_		(0x14000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) #define USB_CFG_HIRD_THR_285_		(0x13000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) #define USB_CFG_HIRD_THR_210_		(0x12000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) #define USB_CFG_HIRD_THR_135_		(0x11000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) #define USB_CFG_HIRD_THR_60_		(0x10000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) #define USB_CFG_MAX_BURST_BI_MASK_	(0x00F00000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) #define USB_CFG_MAX_BURST_BO_MASK_	(0x000F0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) #define USB_CFG_MAX_DEV_SPEED_MASK_	(0x0000E000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) #define USB_CFG_MAX_DEV_SPEED_SS_	(0x00008000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) #define USB_CFG_MAX_DEV_SPEED_HS_	(0x00000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) #define USB_CFG_MAX_DEV_SPEED_FS_	(0x00002000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) #define USB_CFG_PHY_BOOST_MASK_		(0x00000180)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) #define USB_CFG_PHY_BOOST_PLUS_12_	(0x00000180)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) #define USB_CFG_PHY_BOOST_PLUS_8_	(0x00000100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) #define USB_CFG_PHY_BOOST_PLUS_4_	(0x00000080)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) #define USB_CFG_PHY_BOOST_NORMAL_	(0x00000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) #define USB_CFG_BIR_			(0x00000040)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) #define USB_CFG_BCE_			(0x00000020)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) #define USB_CFG_PORT_SWAP_		(0x00000010)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) #define USB_CFG_LPM_EN_			(0x00000008)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) #define USB_CFG_RMT_WKP_		(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) #define USB_CFG_PWR_SEL_		(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) #define USB_CFG_STALL_BO_DIS_		(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) #define USB_CFG1			(0x084)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) #define USB_CFG1_U1_TIMEOUT_MASK_	(0xFF000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) #define USB_CFG1_U2_TIMEOUT_MASK_	(0x00FF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) #define USB_CFG1_HS_TOUT_CAL_MASK_	(0x0000E000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) #define USB_CFG1_DEV_U2_INIT_EN_	(0x00001000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) #define USB_CFG1_DEV_U2_EN_		(0x00000800)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) #define USB_CFG1_DEV_U1_INIT_EN_	(0x00000400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) #define USB_CFG1_DEV_U1_EN_		(0x00000200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) #define USB_CFG1_LTM_ENABLE_		(0x00000100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) #define USB_CFG1_FS_TOUT_CAL_MASK_	(0x00000070)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) #define USB_CFG1_SCALE_DOWN_MASK_	(0x00000003)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) #define USB_CFG1_SCALE_DOWN_MODE3_	(0x00000003)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) #define USB_CFG1_SCALE_DOWN_MODE2_	(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) #define USB_CFG1_SCALE_DOWN_MODE1_	(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) #define USB_CFG1_SCALE_DOWN_MODE0_	(0x00000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) #define USB_CFG2			    (0x088)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) #define USB_CFG2_SS_DETACH_TIME_MASK_	    (0xFFFF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) #define USB_CFG2_HS_DETACH_TIME_MASK_	    (0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) #define BURST_CAP			(0x090)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) #define BURST_CAP_SIZE_MASK_		(0x000000FF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) #define BULK_IN_DLY			(0x094)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) #define BULK_IN_DLY_MASK_		(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) #define INT_EP_CTL			(0x098)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) #define INT_EP_INTEP_ON_		(0x80000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) #define INT_STS_EEE_TX_LPI_STRT_EN_	(0x04000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) #define INT_STS_EEE_TX_LPI_STOP_EN_	(0x02000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) #define INT_STS_EEE_RX_LPI_EN_		(0x01000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) #define INT_EP_RDFO_EN_			(0x00400000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) #define INT_EP_TXE_EN_			(0x00200000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) #define INT_EP_TX_DIS_EN_		(0x00080000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) #define INT_EP_RX_DIS_EN_		(0x00040000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) #define INT_EP_PHY_INT_EN_		(0x00020000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) #define INT_EP_DP_INT_EN_		(0x00010000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) #define INT_EP_MAC_ERR_EN_		(0x00008000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) #define INT_EP_TDFU_EN_			(0x00004000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) #define INT_EP_TDFO_EN_			(0x00002000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) #define INT_EP_UTX_FP_EN_		(0x00001000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) #define INT_EP_GPIO_EN_MASK_		(0x00000FFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) #define PIPE_CTL			(0x09C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) #define PIPE_CTL_TXSWING_		(0x00000040)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) #define PIPE_CTL_TXMARGIN_MASK_		(0x00000038)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) #define PIPE_CTL_TXDEEMPHASIS_MASK_	(0x00000006)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) #define PIPE_CTL_ELASTICITYBUFFERMODE_	(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) #define U1_LATENCY			(0xA0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) #define U2_LATENCY			(0xA4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) #define USB_STATUS			(0x0A8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) #define USB_STATUS_REMOTE_WK_		(0x00100000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) #define USB_STATUS_FUNC_REMOTE_WK_	(0x00080000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) #define USB_STATUS_LTM_ENABLE_		(0x00040000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) #define USB_STATUS_U2_ENABLE_		(0x00020000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) #define USB_STATUS_U1_ENABLE_		(0x00010000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440) #define USB_STATUS_SET_SEL_		(0x00000020)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) #define USB_STATUS_REMOTE_WK_STS_	(0x00000010)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) #define USB_STATUS_FUNC_REMOTE_WK_STS_	(0x00000008)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) #define USB_STATUS_LTM_ENABLE_STS_	(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) #define USB_STATUS_U2_ENABLE_STS_	(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) #define USB_STATUS_U1_ENABLE_STS_	(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) #define USB_CFG3			(0x0AC)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) #define USB_CFG3_EN_U2_LTM_		(0x40000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) #define USB_CFG3_BULK_OUT_NUMP_OVR_	(0x20000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) #define USB_CFG3_DIS_FAST_U1_EXIT_	(0x10000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) #define USB_CFG3_LPM_NYET_THR_		(0x0F000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) #define USB_CFG3_RX_DET_2_POL_LFPS_	(0x00800000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) #define USB_CFG3_LFPS_FILT_		(0x00400000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) #define USB_CFG3_SKIP_RX_DET_		(0x00200000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) #define USB_CFG3_DELAY_P1P2P3_		(0x001C0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456) #define USB_CFG3_DELAY_PHY_PWR_CHG_	(0x00020000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) #define USB_CFG3_U1U2_EXIT_FR_		(0x00010000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) #define USB_CFG3_REQ_P1P2P3		(0x00008000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) #define USB_CFG3_HST_PRT_CMPL_		(0x00004000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) #define USB_CFG3_DIS_SCRAMB_		(0x00002000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461) #define USB_CFG3_PWR_DN_SCALE_		(0x00001FFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) #define RFE_CTL				(0x0B0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) #define RFE_CTL_IGMP_COE_		(0x00004000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465) #define RFE_CTL_ICMP_COE_		(0x00002000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) #define RFE_CTL_TCPUDP_COE_		(0x00001000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467) #define RFE_CTL_IP_COE_			(0x00000800)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) #define RFE_CTL_BCAST_EN_		(0x00000400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) #define RFE_CTL_MCAST_EN_		(0x00000200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) #define RFE_CTL_UCAST_EN_		(0x00000100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) #define RFE_CTL_VLAN_STRIP_		(0x00000080)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) #define RFE_CTL_DISCARD_UNTAGGED_	(0x00000040)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) #define RFE_CTL_VLAN_FILTER_		(0x00000020)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) #define RFE_CTL_SA_FILTER_		(0x00000010)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) #define RFE_CTL_MCAST_HASH_		(0x00000008)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) #define RFE_CTL_DA_HASH_		(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) #define RFE_CTL_DA_PERFECT_		(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) #define RFE_CTL_RST_			(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) #define VLAN_TYPE			(0x0B4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) #define VLAN_TYPE_MASK_			(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) #define FCT_RX_CTL			(0x0C0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) #define FCT_RX_CTL_EN_			(0x80000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) #define FCT_RX_CTL_RST_			(0x40000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) #define FCT_RX_CTL_SBF_			(0x02000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487) #define FCT_RX_CTL_OVFL_		(0x01000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) #define FCT_RX_CTL_DROP_		(0x00800000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) #define FCT_RX_CTL_NOT_EMPTY_		(0x00400000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) #define FCT_RX_CTL_EMPTY_		(0x00200000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) #define FCT_RX_CTL_DIS_			(0x00100000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) #define FCT_RX_CTL_USED_MASK_		(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) #define FCT_TX_CTL			(0x0C4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) #define FCT_TX_CTL_EN_			(0x80000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) #define FCT_TX_CTL_RST_			(0x40000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) #define FCT_TX_CTL_NOT_EMPTY_		(0x00400000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) #define FCT_TX_CTL_EMPTY_		(0x00200000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499) #define FCT_TX_CTL_DIS_			(0x00100000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500) #define FCT_TX_CTL_USED_MASK_		(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502) #define FCT_RX_FIFO_END			(0x0C8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) #define FCT_RX_FIFO_END_MASK_		(0x0000007F)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) #define FCT_TX_FIFO_END			(0x0CC)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) #define FCT_TX_FIFO_END_MASK_		(0x0000003F)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) #define FCT_FLOW			(0x0D0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) #define FCT_FLOW_OFF_MASK_		(0x00007F00)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) #define FCT_FLOW_ON_MASK_		(0x0000007F)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512) #define RX_DP_STOR			(0x0D4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513) #define RX_DP_STORE_TOT_RXUSED_MASK_	(0xFFFF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514) #define RX_DP_STORE_UTX_RXUSED_MASK_	(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) #define TX_DP_STOR			(0x0D8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) #define TX_DP_STORE_TOT_TXUSED_MASK_	(0xFFFF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518) #define TX_DP_STORE_URX_TXUSED_MASK_	(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520) #define LTM_BELT_IDLE0			(0x0E0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) #define LTM_BELT_IDLE0_IDLE1000_	(0x0FFF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) #define LTM_BELT_IDLE0_IDLE100_		(0x00000FFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) #define LTM_BELT_IDLE1			(0x0E4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) #define LTM_BELT_IDLE1_IDLE10_		(0x00000FFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527) #define LTM_BELT_ACT0			(0x0E8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) #define LTM_BELT_ACT0_ACT1000_		(0x0FFF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) #define LTM_BELT_ACT0_ACT100_		(0x00000FFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) #define LTM_BELT_ACT1			(0x0EC)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) #define LTM_BELT_ACT1_ACT10_		(0x00000FFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534) #define LTM_INACTIVE0			(0x0F0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) #define LTM_INACTIVE0_TIMER1000_	(0xFFFF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) #define LTM_INACTIVE0_TIMER100_		(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538) #define LTM_INACTIVE1			(0x0F4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539) #define LTM_INACTIVE1_TIMER10_		(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541) #define MAC_CR				(0x100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) #define MAC_CR_GMII_EN_			(0x00080000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543) #define MAC_CR_EEE_TX_CLK_STOP_EN_	(0x00040000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) #define MAC_CR_EEE_EN_			(0x00020000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545) #define MAC_CR_EEE_TLAR_EN_		(0x00010000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) #define MAC_CR_ADP_			(0x00002000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547) #define MAC_CR_AUTO_DUPLEX_		(0x00001000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548) #define MAC_CR_AUTO_SPEED_		(0x00000800)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) #define MAC_CR_LOOPBACK_		(0x00000400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) #define MAC_CR_BOLMT_MASK_		(0x000000C0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) #define MAC_CR_FULL_DUPLEX_		(0x00000008)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) #define MAC_CR_SPEED_MASK_		(0x00000006)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553) #define MAC_CR_SPEED_1000_		(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554) #define MAC_CR_SPEED_100_		(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555) #define MAC_CR_SPEED_10_		(0x00000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) #define MAC_CR_RST_			(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) #define MAC_RX				(0x104)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) #define MAC_RX_MAX_SIZE_SHIFT_		(16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) #define MAC_RX_MAX_SIZE_MASK_		(0x3FFF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) #define MAC_RX_FCS_STRIP_		(0x00000010)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562) #define MAC_RX_VLAN_FSE_		(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563) #define MAC_RX_RXD_			(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) #define MAC_RX_RXEN_			(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) #define MAC_TX				(0x108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) #define MAC_TX_BAD_FCS_			(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568) #define MAC_TX_TXD_			(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569) #define MAC_TX_TXEN_			(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571) #define FLOW				(0x10C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) #define FLOW_CR_FORCE_FC_		(0x80000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) #define FLOW_CR_TX_FCEN_		(0x40000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574) #define FLOW_CR_RX_FCEN_		(0x20000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575) #define FLOW_CR_FPF_			(0x10000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) #define FLOW_CR_FCPT_MASK_		(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578) #define RAND_SEED			(0x110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579) #define RAND_SEED_MASK_			(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) #define ERR_STS				(0x114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582) #define ERR_STS_FERR_			(0x00000100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583) #define ERR_STS_LERR_			(0x00000080)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) #define ERR_STS_RFERR_			(0x00000040)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) #define ERR_STS_ECERR_			(0x00000010)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) #define ERR_STS_ALERR_			(0x00000008)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) #define ERR_STS_URERR_			(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) #define RX_ADDRH			(0x118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590) #define RX_ADDRH_MASK_			(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) #define RX_ADDRL			(0x11C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) #define RX_ADDRL_MASK_			(0xFFFFFFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595) #define MII_ACC				(0x120)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596) #define MII_ACC_PHY_ADDR_SHIFT_		(11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597) #define MII_ACC_PHY_ADDR_MASK_		(0x0000F800)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598) #define MII_ACC_MIIRINDA_SHIFT_		(6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) #define MII_ACC_MIIRINDA_MASK_		(0x000007C0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600) #define MII_ACC_MII_READ_		(0x00000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601) #define MII_ACC_MII_WRITE_		(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602) #define MII_ACC_MII_BUSY_		(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604) #define MII_DATA			(0x124)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605) #define MII_DATA_MASK_			(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) #define MAC_RGMII_ID			(0x128)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608) #define MAC_RGMII_ID_TXC_DELAY_EN_	(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609) #define MAC_RGMII_ID_RXC_DELAY_EN_	(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) #define EEE_TX_LPI_REQ_DLY		(0x130)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612) #define EEE_TX_LPI_REQ_DLY_CNT_MASK_	(0xFFFFFFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614) #define EEE_TW_TX_SYS			(0x134)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 615) #define EEE_TW_TX_SYS_CNT1G_MASK_	(0xFFFF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 616) #define EEE_TW_TX_SYS_CNT100M_MASK_	(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 617) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 618) #define EEE_TX_LPI_REM_DLY		(0x138)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 619) #define EEE_TX_LPI_REM_DLY_CNT_		(0x00FFFFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 620) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 621) #define WUCSR				(0x140)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 622) #define WUCSR_TESTMODE_			(0x80000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 623) #define WUCSR_RFE_WAKE_EN_		(0x00004000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 624) #define WUCSR_EEE_TX_WAKE_		(0x00002000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 625) #define WUCSR_EEE_TX_WAKE_EN_		(0x00001000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 626) #define WUCSR_EEE_RX_WAKE_		(0x00000800)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 627) #define WUCSR_EEE_RX_WAKE_EN_		(0x00000400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 628) #define WUCSR_RFE_WAKE_FR_		(0x00000200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 629) #define WUCSR_STORE_WAKE_		(0x00000100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 630) #define WUCSR_PFDA_FR_			(0x00000080)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 631) #define WUCSR_WUFR_			(0x00000040)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 632) #define WUCSR_MPR_			(0x00000020)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 633) #define WUCSR_BCST_FR_			(0x00000010)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 634) #define WUCSR_PFDA_EN_			(0x00000008)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 635) #define WUCSR_WAKE_EN_			(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 636) #define WUCSR_MPEN_			(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 637) #define WUCSR_BCST_EN_			(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 638) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 639) #define WK_SRC				(0x144)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 640) #define WK_SRC_GPIOX_INT_WK_SHIFT_	(20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 641) #define WK_SRC_GPIOX_INT_WK_MASK_	(0xFFF00000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 642) #define WK_SRC_IPV6_TCPSYN_RCD_WK_	(0x00010000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 643) #define WK_SRC_IPV4_TCPSYN_RCD_WK_	(0x00008000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 644) #define WK_SRC_EEE_TX_WK_		(0x00004000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 645) #define WK_SRC_EEE_RX_WK_		(0x00002000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 646) #define WK_SRC_GOOD_FR_WK_		(0x00001000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 647) #define WK_SRC_PFDA_FR_WK_		(0x00000800)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 648) #define WK_SRC_MP_FR_WK_		(0x00000400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 649) #define WK_SRC_BCAST_FR_WK_		(0x00000200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 650) #define WK_SRC_WU_FR_WK_		(0x00000100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 651) #define WK_SRC_WUFF_MATCH_MASK_		(0x0000001F)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 652) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 653) #define WUF_CFG0			(0x150)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 654) #define NUM_OF_WUF_CFG			(32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 655) #define WUF_CFG_BEGIN			(WUF_CFG0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 656) #define WUF_CFG(index)			(WUF_CFG_BEGIN + (4 * (index)))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 657) #define WUF_CFGX_EN_			(0x80000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 658) #define WUF_CFGX_TYPE_MASK_		(0x03000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 659) #define WUF_CFGX_TYPE_MCAST_		(0x02000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 660) #define WUF_CFGX_TYPE_ALL_		(0x01000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 661) #define WUF_CFGX_TYPE_UCAST_		(0x00000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 662) #define WUF_CFGX_OFFSET_SHIFT_		(16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 663) #define WUF_CFGX_OFFSET_MASK_		(0x00FF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 664) #define WUF_CFGX_CRC16_MASK_		(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 665) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 666) #define WUF_MASK0_0			(0x200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 667) #define WUF_MASK0_1			(0x204)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 668) #define WUF_MASK0_2			(0x208)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 669) #define WUF_MASK0_3			(0x20C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 670) #define NUM_OF_WUF_MASK			(32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 671) #define WUF_MASK0_BEGIN			(WUF_MASK0_0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 672) #define WUF_MASK1_BEGIN			(WUF_MASK0_1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 673) #define WUF_MASK2_BEGIN			(WUF_MASK0_2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 674) #define WUF_MASK3_BEGIN			(WUF_MASK0_3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 675) #define WUF_MASK0(index)		(WUF_MASK0_BEGIN + (0x10 * (index)))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 676) #define WUF_MASK1(index)		(WUF_MASK1_BEGIN + (0x10 * (index)))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 677) #define WUF_MASK2(index)		(WUF_MASK2_BEGIN + (0x10 * (index)))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 678) #define WUF_MASK3(index)		(WUF_MASK3_BEGIN + (0x10 * (index)))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 679) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 680) #define MAF_BASE			(0x400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 681) #define MAF_HIX				(0x00)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 682) #define MAF_LOX				(0x04)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 683) #define NUM_OF_MAF			(33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 684) #define MAF_HI_BEGIN			(MAF_BASE + MAF_HIX)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 685) #define MAF_LO_BEGIN			(MAF_BASE + MAF_LOX)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 686) #define MAF_HI(index)			(MAF_BASE + (8 * (index)) + (MAF_HIX))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 687) #define MAF_LO(index)			(MAF_BASE + (8 * (index)) + (MAF_LOX))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 688) #define MAF_HI_VALID_			(0x80000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 689) #define MAF_HI_TYPE_MASK_		(0x40000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 690) #define MAF_HI_TYPE_SRC_		(0x40000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 691) #define MAF_HI_TYPE_DST_		(0x00000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 692) #define MAF_HI_ADDR_MASK		(0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 693) #define MAF_LO_ADDR_MASK		(0xFFFFFFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 694) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 695) #define WUCSR2				(0x600)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 696) #define WUCSR2_CSUM_DISABLE_		(0x80000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 697) #define WUCSR2_NA_SA_SEL_		(0x00000100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 698) #define WUCSR2_NS_RCD_			(0x00000080)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 699) #define WUCSR2_ARP_RCD_			(0x00000040)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 700) #define WUCSR2_IPV6_TCPSYN_RCD_		(0x00000020)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 701) #define WUCSR2_IPV4_TCPSYN_RCD_		(0x00000010)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 702) #define WUCSR2_NS_OFFLOAD_EN_		(0x00000008)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 703) #define WUCSR2_ARP_OFFLOAD_EN_		(0x00000004)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 704) #define WUCSR2_IPV6_TCPSYN_WAKE_EN_	(0x00000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 705) #define WUCSR2_IPV4_TCPSYN_WAKE_EN_	(0x00000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 706) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 707) #define NS1_IPV6_ADDR_DEST0		(0x610)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 708) #define NS1_IPV6_ADDR_DEST1		(0x614)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 709) #define NS1_IPV6_ADDR_DEST2		(0x618)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 710) #define NS1_IPV6_ADDR_DEST3		(0x61C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 711) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 712) #define NS1_IPV6_ADDR_SRC0		(0x620)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 713) #define NS1_IPV6_ADDR_SRC1		(0x624)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 714) #define NS1_IPV6_ADDR_SRC2		(0x628)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 715) #define NS1_IPV6_ADDR_SRC3		(0x62C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 716) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 717) #define NS1_ICMPV6_ADDR0_0		(0x630)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 718) #define NS1_ICMPV6_ADDR0_1		(0x634)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 719) #define NS1_ICMPV6_ADDR0_2		(0x638)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 720) #define NS1_ICMPV6_ADDR0_3		(0x63C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 721) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 722) #define NS1_ICMPV6_ADDR1_0		(0x640)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 723) #define NS1_ICMPV6_ADDR1_1		(0x644)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 724) #define NS1_ICMPV6_ADDR1_2		(0x648)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 725) #define NS1_ICMPV6_ADDR1_3		(0x64C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 726) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 727) #define NS2_IPV6_ADDR_DEST0		(0x650)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 728) #define NS2_IPV6_ADDR_DEST1		(0x654)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 729) #define NS2_IPV6_ADDR_DEST2		(0x658)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 730) #define NS2_IPV6_ADDR_DEST3		(0x65C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 731) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 732) #define NS2_IPV6_ADDR_SRC0		(0x660)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 733) #define NS2_IPV6_ADDR_SRC1		(0x664)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 734) #define NS2_IPV6_ADDR_SRC2		(0x668)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 735) #define NS2_IPV6_ADDR_SRC3		(0x66C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 736) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 737) #define NS2_ICMPV6_ADDR0_0		(0x670)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 738) #define NS2_ICMPV6_ADDR0_1		(0x674)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 739) #define NS2_ICMPV6_ADDR0_2		(0x678)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 740) #define NS2_ICMPV6_ADDR0_3		(0x67C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 741) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 742) #define NS2_ICMPV6_ADDR1_0		(0x680)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 743) #define NS2_ICMPV6_ADDR1_1		(0x684)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 744) #define NS2_ICMPV6_ADDR1_2		(0x688)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 745) #define NS2_ICMPV6_ADDR1_3		(0x68C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 746) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 747) #define SYN_IPV4_ADDR_SRC		(0x690)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 748) #define SYN_IPV4_ADDR_DEST		(0x694)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 749) #define SYN_IPV4_TCP_PORTS		(0x698)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 750) #define SYN_IPV4_TCP_PORTS_IPV4_DEST_PORT_SHIFT_    (16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 751) #define SYN_IPV4_TCP_PORTS_IPV4_DEST_PORT_MASK_     (0xFFFF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 752) #define SYN_IPV4_TCP_PORTS_IPV4_SRC_PORT_MASK_	    (0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 753) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 754) #define SYN_IPV6_ADDR_SRC0		(0x69C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 755) #define SYN_IPV6_ADDR_SRC1		(0x6A0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 756) #define SYN_IPV6_ADDR_SRC2		(0x6A4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 757) #define SYN_IPV6_ADDR_SRC3		(0x6A8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 758) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 759) #define SYN_IPV6_ADDR_DEST0		(0x6AC)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 760) #define SYN_IPV6_ADDR_DEST1		(0x6B0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 761) #define SYN_IPV6_ADDR_DEST2		(0x6B4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 762) #define SYN_IPV6_ADDR_DEST3		(0x6B8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 763) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 764) #define SYN_IPV6_TCP_PORTS		(0x6BC)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 765) #define SYN_IPV6_TCP_PORTS_IPV6_DEST_PORT_SHIFT_    (16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 766) #define SYN_IPV6_TCP_PORTS_IPV6_DEST_PORT_MASK_     (0xFFFF0000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 767) #define SYN_IPV6_TCP_PORTS_IPV6_SRC_PORT_MASK_	    (0x0000FFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 768) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 769) #define ARP_SPA				(0x6C0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 770) #define ARP_TPA				(0x6C4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 771) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 772) #define PHY_DEV_ID			(0x700)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 773) #define PHY_DEV_ID_REV_SHIFT_		(28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 774) #define PHY_DEV_ID_REV_SHIFT_		(28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 775) #define PHY_DEV_ID_REV_MASK_		(0xF0000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 776) #define PHY_DEV_ID_MODEL_SHIFT_		(22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 777) #define PHY_DEV_ID_MODEL_MASK_		(0x0FC00000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 778) #define PHY_DEV_ID_OUI_MASK_		(0x003FFFFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 779) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 780) #define RGMII_TX_BYP_DLL		(0x708)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 781) #define RGMII_TX_BYP_DLL_TX_TUNE_ADJ_MASK_	(0x000FC00)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 782) #define RGMII_TX_BYP_DLL_TX_TUNE_SEL_MASK_	(0x00003F0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 783) #define RGMII_TX_BYP_DLL_TX_DLL_RESET_		(0x0000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 784) #define RGMII_TX_BYP_DLL_TX_DLL_BYPASS_		(0x0000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 785) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 786) #define RGMII_RX_BYP_DLL		(0x70C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 787) #define RGMII_RX_BYP_DLL_RX_TUNE_ADJ_MASK_	(0x000FC00)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 788) #define RGMII_RX_BYP_DLL_RX_TUNE_SEL_MASK_	(0x00003F0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 789) #define RGMII_RX_BYP_DLL_RX_DLL_RESET_		(0x0000002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 790) #define RGMII_RX_BYP_DLL_RX_DLL_BYPASS_		(0x0000001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 791) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 792) #define OTP_BASE_ADDR			(0x00001000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 793) #define OTP_ADDR_RANGE_			(0x1FF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 794) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 795) #define OTP_PWR_DN			(OTP_BASE_ADDR + 4 * 0x00)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 796) #define OTP_PWR_DN_PWRDN_N_		(0x01)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 797) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 798) #define OTP_ADDR1			(OTP_BASE_ADDR + 4 * 0x01)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 799) #define OTP_ADDR1_15_11			(0x1F)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 800) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 801) #define OTP_ADDR2			(OTP_BASE_ADDR + 4 * 0x02)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 802) #define OTP_ADDR2_10_3			(0xFF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 803) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 804) #define OTP_ADDR3			(OTP_BASE_ADDR + 4 * 0x03)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 805) #define OTP_ADDR3_2_0			(0x03)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 806) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 807) #define OTP_PRGM_DATA			(OTP_BASE_ADDR + 4 * 0x04)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 808) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 809) #define OTP_PRGM_MODE			(OTP_BASE_ADDR + 4 * 0x05)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 810) #define OTP_PRGM_MODE_BYTE_		(0x01)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 811) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 812) #define OTP_RD_DATA			(OTP_BASE_ADDR + 4 * 0x06)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 813) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 814) #define OTP_FUNC_CMD			(OTP_BASE_ADDR + 4 * 0x08)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 815) #define OTP_FUNC_CMD_RESET_		(0x04)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 816) #define OTP_FUNC_CMD_PROGRAM_		(0x02)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 817) #define OTP_FUNC_CMD_READ_		(0x01)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 818) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 819) #define OTP_TST_CMD			(OTP_BASE_ADDR + 4 * 0x09)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 820) #define OTP_TST_CMD_TEST_DEC_SEL_	(0x10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 821) #define OTP_TST_CMD_PRGVRFY_		(0x08)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 822) #define OTP_TST_CMD_WRTEST_		(0x04)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 823) #define OTP_TST_CMD_TESTDEC_		(0x02)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 824) #define OTP_TST_CMD_BLANKCHECK_		(0x01)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 825) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 826) #define OTP_CMD_GO			(OTP_BASE_ADDR + 4 * 0x0A)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 827) #define OTP_CMD_GO_GO_			(0x01)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 828) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 829) #define OTP_PASS_FAIL			(OTP_BASE_ADDR + 4 * 0x0B)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 830) #define OTP_PASS_FAIL_PASS_		(0x02)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 831) #define OTP_PASS_FAIL_FAIL_		(0x01)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 832) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 833) #define OTP_STATUS			(OTP_BASE_ADDR + 4 * 0x0C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 834) #define OTP_STATUS_OTP_LOCK_		(0x10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 835) #define OTP_STATUS_WEB_			(0x08)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 836) #define OTP_STATUS_PGMEN		(0x04)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 837) #define OTP_STATUS_CPUMPEN_		(0x02)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 838) #define OTP_STATUS_BUSY_		(0x01)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 839) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 840) #define OTP_MAX_PRG			(OTP_BASE_ADDR + 4 * 0x0D)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 841) #define OTP_MAX_PRG_MAX_PROG		(0x1F)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 842) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 843) #define OTP_INTR_STATUS			(OTP_BASE_ADDR + 4 * 0x10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 844) #define OTP_INTR_STATUS_READY_		(0x01)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 845) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 846) #define OTP_INTR_MASK			(OTP_BASE_ADDR + 4 * 0x11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 847) #define OTP_INTR_MASK_READY_		(0x01)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 848) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 849) #define OTP_RSTB_PW1			(OTP_BASE_ADDR + 4 * 0x14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 850) #define OTP_RSTB_PW2			(OTP_BASE_ADDR + 4 * 0x15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 851) #define OTP_PGM_PW1			(OTP_BASE_ADDR + 4 * 0x18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 852) #define OTP_PGM_PW2			(OTP_BASE_ADDR + 4 * 0x19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 853) #define OTP_READ_PW1			(OTP_BASE_ADDR + 4 * 0x1C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 854) #define OTP_READ_PW2			(OTP_BASE_ADDR + 4 * 0x1D)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 855) #define OTP_TCRST			(OTP_BASE_ADDR + 4 * 0x20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 856) #define OTP_RSRD			(OTP_BASE_ADDR + 4 * 0x21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 857) #define OTP_TREADEN_VAL			(OTP_BASE_ADDR + 4 * 0x22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 858) #define OTP_TDLES_VAL			(OTP_BASE_ADDR + 4 * 0x23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 859) #define OTP_TWWL_VAL			(OTP_BASE_ADDR + 4 * 0x24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 860) #define OTP_TDLEH_VAL			(OTP_BASE_ADDR + 4 * 0x25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 861) #define OTP_TWPED_VAL			(OTP_BASE_ADDR + 4 * 0x26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 862) #define OTP_TPES_VAL			(OTP_BASE_ADDR + 4 * 0x27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 863) #define OTP_TCPS_VAL			(OTP_BASE_ADDR + 4 * 0x28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 864) #define OTP_TCPH_VAL			(OTP_BASE_ADDR + 4 * 0x29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 865) #define OTP_TPGMVFY_VAL			(OTP_BASE_ADDR + 4 * 0x2A)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 866) #define OTP_TPEH_VAL			(OTP_BASE_ADDR + 4 * 0x2B)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 867) #define OTP_TPGRST_VAL			(OTP_BASE_ADDR + 4 * 0x2C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 868) #define OTP_TCLES_VAL			(OTP_BASE_ADDR + 4 * 0x2D)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 869) #define OTP_TCLEH_VAL			(OTP_BASE_ADDR + 4 * 0x2E)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 870) #define OTP_TRDES_VAL			(OTP_BASE_ADDR + 4 * 0x2F)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 871) #define OTP_TBCACC_VAL			(OTP_BASE_ADDR + 4 * 0x30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 872) #define OTP_TAAC_VAL			(OTP_BASE_ADDR + 4 * 0x31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 873) #define OTP_TACCT_VAL			(OTP_BASE_ADDR + 4 * 0x32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 874) #define OTP_TRDEP_VAL			(OTP_BASE_ADDR + 4 * 0x38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 875) #define OTP_TPGSV_VAL			(OTP_BASE_ADDR + 4 * 0x39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 876) #define OTP_TPVSR_VAL			(OTP_BASE_ADDR + 4 * 0x3A)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 877) #define OTP_TPVHR_VAL			(OTP_BASE_ADDR + 4 * 0x3B)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 878) #define OTP_TPVSA_VAL			(OTP_BASE_ADDR + 4 * 0x3C)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 879) #endif /* _LAN78XX_H */