0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef __DWMAC4_H__
0011 #define __DWMAC4_H__
0012
0013 #include "common.h"
0014
0015
0016 #define GMAC_CONFIG 0x00000000
0017 #define GMAC_EXT_CONFIG 0x00000004
0018 #define GMAC_PACKET_FILTER 0x00000008
0019 #define GMAC_HASH_TAB(x) (0x10 + (x) * 4)
0020 #define GMAC_VLAN_TAG 0x00000050
0021 #define GMAC_VLAN_TAG_DATA 0x00000054
0022 #define GMAC_VLAN_HASH_TABLE 0x00000058
0023 #define GMAC_RX_FLOW_CTRL 0x00000090
0024 #define GMAC_VLAN_INCL 0x00000060
0025 #define GMAC_QX_TX_FLOW_CTRL(x) (0x70 + x * 4)
0026 #define GMAC_TXQ_PRTY_MAP0 0x98
0027 #define GMAC_TXQ_PRTY_MAP1 0x9C
0028 #define GMAC_RXQ_CTRL0 0x000000a0
0029 #define GMAC_RXQ_CTRL1 0x000000a4
0030 #define GMAC_RXQ_CTRL2 0x000000a8
0031 #define GMAC_RXQ_CTRL3 0x000000ac
0032 #define GMAC_INT_STATUS 0x000000b0
0033 #define GMAC_INT_EN 0x000000b4
0034 #define GMAC_1US_TIC_COUNTER 0x000000dc
0035 #define GMAC_PCS_BASE 0x000000e0
0036 #define GMAC_PHYIF_CONTROL_STATUS 0x000000f8
0037 #define GMAC_PMT 0x000000c0
0038 #define GMAC_DEBUG 0x00000114
0039 #define GMAC_HW_FEATURE0 0x0000011c
0040 #define GMAC_HW_FEATURE1 0x00000120
0041 #define GMAC_HW_FEATURE2 0x00000124
0042 #define GMAC_HW_FEATURE3 0x00000128
0043 #define GMAC_MDIO_ADDR 0x00000200
0044 #define GMAC_MDIO_DATA 0x00000204
0045 #define GMAC_GPIO_STATUS 0x0000020C
0046 #define GMAC_ARP_ADDR 0x00000210
0047 #define GMAC_ADDR_HIGH(reg) (0x300 + reg * 8)
0048 #define GMAC_ADDR_LOW(reg) (0x304 + reg * 8)
0049 #define GMAC_L3L4_CTRL(reg) (0x900 + (reg) * 0x30)
0050 #define GMAC_L4_ADDR(reg) (0x904 + (reg) * 0x30)
0051 #define GMAC_L3_ADDR0(reg) (0x910 + (reg) * 0x30)
0052 #define GMAC_L3_ADDR1(reg) (0x914 + (reg) * 0x30)
0053 #define GMAC_TIMESTAMP_STATUS 0x00000b20
0054
0055
0056 #define GMAC_RXQCTRL_AVCPQ_MASK GENMASK(2, 0)
0057 #define GMAC_RXQCTRL_AVCPQ_SHIFT 0
0058 #define GMAC_RXQCTRL_PTPQ_MASK GENMASK(6, 4)
0059 #define GMAC_RXQCTRL_PTPQ_SHIFT 4
0060 #define GMAC_RXQCTRL_DCBCPQ_MASK GENMASK(10, 8)
0061 #define GMAC_RXQCTRL_DCBCPQ_SHIFT 8
0062 #define GMAC_RXQCTRL_UPQ_MASK GENMASK(14, 12)
0063 #define GMAC_RXQCTRL_UPQ_SHIFT 12
0064 #define GMAC_RXQCTRL_MCBCQ_MASK GENMASK(18, 16)
0065 #define GMAC_RXQCTRL_MCBCQ_SHIFT 16
0066 #define GMAC_RXQCTRL_MCBCQEN BIT(20)
0067 #define GMAC_RXQCTRL_MCBCQEN_SHIFT 20
0068 #define GMAC_RXQCTRL_TACPQE BIT(21)
0069 #define GMAC_RXQCTRL_TACPQE_SHIFT 21
0070 #define GMAC_RXQCTRL_FPRQ GENMASK(26, 24)
0071 #define GMAC_RXQCTRL_FPRQ_SHIFT 24
0072
0073
0074 #define GMAC_PACKET_FILTER_PR BIT(0)
0075 #define GMAC_PACKET_FILTER_HMC BIT(2)
0076 #define GMAC_PACKET_FILTER_PM BIT(4)
0077 #define GMAC_PACKET_FILTER_PCF BIT(7)
0078 #define GMAC_PACKET_FILTER_HPF BIT(10)
0079 #define GMAC_PACKET_FILTER_VTFE BIT(16)
0080 #define GMAC_PACKET_FILTER_IPFE BIT(20)
0081 #define GMAC_PACKET_FILTER_RA BIT(31)
0082
0083 #define GMAC_MAX_PERFECT_ADDRESSES 128
0084
0085
0086 #define GMAC_VLAN_EDVLP BIT(26)
0087 #define GMAC_VLAN_VTHM BIT(25)
0088 #define GMAC_VLAN_DOVLTC BIT(20)
0089 #define GMAC_VLAN_ESVL BIT(18)
0090 #define GMAC_VLAN_ETV BIT(16)
0091 #define GMAC_VLAN_VID GENMASK(15, 0)
0092 #define GMAC_VLAN_VLTI BIT(20)
0093 #define GMAC_VLAN_CSVL BIT(19)
0094 #define GMAC_VLAN_VLC GENMASK(17, 16)
0095 #define GMAC_VLAN_VLC_SHIFT 16
0096 #define GMAC_VLAN_VLHT GENMASK(15, 0)
0097
0098
0099 #define GMAC_VLAN_TAG_VID GENMASK(15, 0)
0100 #define GMAC_VLAN_TAG_ETV BIT(16)
0101
0102
0103 #define GMAC_VLAN_TAG_CTRL_OB BIT(0)
0104 #define GMAC_VLAN_TAG_CTRL_CT BIT(1)
0105 #define GMAC_VLAN_TAG_CTRL_OFS_MASK GENMASK(6, 2)
0106 #define GMAC_VLAN_TAG_CTRL_OFS_SHIFT 2
0107 #define GMAC_VLAN_TAG_CTRL_EVLS_MASK GENMASK(22, 21)
0108 #define GMAC_VLAN_TAG_CTRL_EVLS_SHIFT 21
0109 #define GMAC_VLAN_TAG_CTRL_EVLRXS BIT(24)
0110
0111 #define GMAC_VLAN_TAG_STRIP_NONE (0x0 << GMAC_VLAN_TAG_CTRL_EVLS_SHIFT)
0112 #define GMAC_VLAN_TAG_STRIP_PASS (0x1 << GMAC_VLAN_TAG_CTRL_EVLS_SHIFT)
0113 #define GMAC_VLAN_TAG_STRIP_FAIL (0x2 << GMAC_VLAN_TAG_CTRL_EVLS_SHIFT)
0114 #define GMAC_VLAN_TAG_STRIP_ALL (0x3 << GMAC_VLAN_TAG_CTRL_EVLS_SHIFT)
0115
0116
0117 #define GMAC_VLAN_TAG_DATA_VID GENMASK(15, 0)
0118 #define GMAC_VLAN_TAG_DATA_VEN BIT(16)
0119 #define GMAC_VLAN_TAG_DATA_ETV BIT(17)
0120
0121
0122 #define GMAC_RX_QUEUE_CLEAR(queue) ~(GENMASK(1, 0) << ((queue) * 2))
0123 #define GMAC_RX_AV_QUEUE_ENABLE(queue) BIT((queue) * 2)
0124 #define GMAC_RX_DCB_QUEUE_ENABLE(queue) BIT(((queue) * 2) + 1)
0125
0126
0127 #define GMAC_RX_FLOW_CTRL_RFE BIT(0)
0128
0129
0130 #define GMAC_RXQCTRL_PSRQX_MASK(x) GENMASK(7 + ((x) * 8), 0 + ((x) * 8))
0131 #define GMAC_RXQCTRL_PSRQX_SHIFT(x) ((x) * 8)
0132
0133
0134 #define GMAC_TXQCTRL_PSTQX_MASK(x) GENMASK(7 + ((x) * 8), 0 + ((x) * 8))
0135 #define GMAC_TXQCTRL_PSTQX_SHIFT(x) ((x) * 8)
0136
0137
0138 #define GMAC_TX_FLOW_CTRL_TFE BIT(1)
0139 #define GMAC_TX_FLOW_CTRL_PT_SHIFT 16
0140
0141
0142 #define GMAC_INT_RGSMIIS BIT(0)
0143 #define GMAC_INT_PCS_LINK BIT(1)
0144 #define GMAC_INT_PCS_ANE BIT(2)
0145 #define GMAC_INT_PCS_PHYIS BIT(3)
0146 #define GMAC_INT_PMT_EN BIT(4)
0147 #define GMAC_INT_LPI_EN BIT(5)
0148 #define GMAC_INT_TSIE BIT(12)
0149
0150 #define GMAC_PCS_IRQ_DEFAULT (GMAC_INT_RGSMIIS | GMAC_INT_PCS_LINK | \
0151 GMAC_INT_PCS_ANE)
0152
0153 #define GMAC_INT_DEFAULT_ENABLE (GMAC_INT_PMT_EN | GMAC_INT_LPI_EN | \
0154 GMAC_INT_TSIE)
0155
0156 enum dwmac4_irq_status {
0157 time_stamp_irq = 0x00001000,
0158 mmc_rx_csum_offload_irq = 0x00000800,
0159 mmc_tx_irq = 0x00000400,
0160 mmc_rx_irq = 0x00000200,
0161 mmc_irq = 0x00000100,
0162 lpi_irq = 0x00000020,
0163 pmt_irq = 0x00000010,
0164 };
0165
0166
0167 enum power_event {
0168 pointer_reset = 0x80000000,
0169 global_unicast = 0x00000200,
0170 wake_up_rx_frame = 0x00000040,
0171 magic_frame = 0x00000020,
0172 wake_up_frame_en = 0x00000004,
0173 magic_pkt_en = 0x00000002,
0174 power_down = 0x00000001,
0175 };
0176
0177
0178
0179
0180
0181 #define GMAC4_LPI_CTRL_STATUS 0xd0
0182 #define GMAC4_LPI_TIMER_CTRL 0xd4
0183 #define GMAC4_LPI_ENTRY_TIMER 0xd8
0184
0185
0186 #define GMAC4_LPI_CTRL_STATUS_LPITCSE BIT(21)
0187 #define GMAC4_LPI_CTRL_STATUS_LPIATE BIT(20)
0188 #define GMAC4_LPI_CTRL_STATUS_LPITXA BIT(19)
0189 #define GMAC4_LPI_CTRL_STATUS_PLS BIT(17)
0190 #define GMAC4_LPI_CTRL_STATUS_LPIEN BIT(16)
0191 #define GMAC4_LPI_CTRL_STATUS_RLPIEX BIT(3)
0192 #define GMAC4_LPI_CTRL_STATUS_RLPIEN BIT(2)
0193 #define GMAC4_LPI_CTRL_STATUS_TLPIEX BIT(1)
0194 #define GMAC4_LPI_CTRL_STATUS_TLPIEN BIT(0)
0195
0196
0197 #define GMAC_DEBUG_TFCSTS_MASK GENMASK(18, 17)
0198 #define GMAC_DEBUG_TFCSTS_SHIFT 17
0199 #define GMAC_DEBUG_TFCSTS_IDLE 0
0200 #define GMAC_DEBUG_TFCSTS_WAIT 1
0201 #define GMAC_DEBUG_TFCSTS_GEN_PAUSE 2
0202 #define GMAC_DEBUG_TFCSTS_XFER 3
0203 #define GMAC_DEBUG_TPESTS BIT(16)
0204 #define GMAC_DEBUG_RFCFCSTS_MASK GENMASK(2, 1)
0205 #define GMAC_DEBUG_RFCFCSTS_SHIFT 1
0206 #define GMAC_DEBUG_RPESTS BIT(0)
0207
0208
0209 #define GMAC_CONFIG_ARPEN BIT(31)
0210 #define GMAC_CONFIG_SARC GENMASK(30, 28)
0211 #define GMAC_CONFIG_SARC_SHIFT 28
0212 #define GMAC_CONFIG_IPC BIT(27)
0213 #define GMAC_CONFIG_IPG GENMASK(26, 24)
0214 #define GMAC_CONFIG_IPG_SHIFT 24
0215 #define GMAC_CONFIG_2K BIT(22)
0216 #define GMAC_CONFIG_ACS BIT(20)
0217 #define GMAC_CONFIG_BE BIT(18)
0218 #define GMAC_CONFIG_JD BIT(17)
0219 #define GMAC_CONFIG_JE BIT(16)
0220 #define GMAC_CONFIG_PS BIT(15)
0221 #define GMAC_CONFIG_FES BIT(14)
0222 #define GMAC_CONFIG_FES_SHIFT 14
0223 #define GMAC_CONFIG_DM BIT(13)
0224 #define GMAC_CONFIG_LM BIT(12)
0225 #define GMAC_CONFIG_DCRS BIT(9)
0226 #define GMAC_CONFIG_TE BIT(1)
0227 #define GMAC_CONFIG_RE BIT(0)
0228
0229
0230 #define GMAC_CONFIG_EIPG GENMASK(29, 25)
0231 #define GMAC_CONFIG_EIPG_SHIFT 25
0232 #define GMAC_CONFIG_EIPG_EN BIT(24)
0233 #define GMAC_CONFIG_HDSMS GENMASK(22, 20)
0234 #define GMAC_CONFIG_HDSMS_SHIFT 20
0235 #define GMAC_CONFIG_HDSMS_256 (0x2 << GMAC_CONFIG_HDSMS_SHIFT)
0236
0237
0238 #define GMAC_HW_FEAT_SAVLANINS BIT(27)
0239 #define GMAC_HW_FEAT_ADDMAC BIT(18)
0240 #define GMAC_HW_FEAT_RXCOESEL BIT(16)
0241 #define GMAC_HW_FEAT_TXCOSEL BIT(14)
0242 #define GMAC_HW_FEAT_EEESEL BIT(13)
0243 #define GMAC_HW_FEAT_TSSEL BIT(12)
0244 #define GMAC_HW_FEAT_ARPOFFSEL BIT(9)
0245 #define GMAC_HW_FEAT_MMCSEL BIT(8)
0246 #define GMAC_HW_FEAT_MGKSEL BIT(7)
0247 #define GMAC_HW_FEAT_RWKSEL BIT(6)
0248 #define GMAC_HW_FEAT_SMASEL BIT(5)
0249 #define GMAC_HW_FEAT_VLHASH BIT(4)
0250 #define GMAC_HW_FEAT_PCSSEL BIT(3)
0251 #define GMAC_HW_FEAT_HDSEL BIT(2)
0252 #define GMAC_HW_FEAT_GMIISEL BIT(1)
0253 #define GMAC_HW_FEAT_MIISEL BIT(0)
0254
0255
0256 #define GMAC_HW_FEAT_L3L4FNUM GENMASK(30, 27)
0257 #define GMAC_HW_HASH_TB_SZ GENMASK(25, 24)
0258 #define GMAC_HW_FEAT_AVSEL BIT(20)
0259 #define GMAC_HW_TSOEN BIT(18)
0260 #define GMAC_HW_FEAT_SPHEN BIT(17)
0261 #define GMAC_HW_ADDR64 GENMASK(15, 14)
0262 #define GMAC_HW_TXFIFOSIZE GENMASK(10, 6)
0263 #define GMAC_HW_RXFIFOSIZE GENMASK(4, 0)
0264
0265
0266 #define GMAC_HW_FEAT_AUXSNAPNUM GENMASK(30, 28)
0267 #define GMAC_HW_FEAT_PPSOUTNUM GENMASK(26, 24)
0268 #define GMAC_HW_FEAT_TXCHCNT GENMASK(21, 18)
0269 #define GMAC_HW_FEAT_RXCHCNT GENMASK(15, 12)
0270 #define GMAC_HW_FEAT_TXQCNT GENMASK(9, 6)
0271 #define GMAC_HW_FEAT_RXQCNT GENMASK(3, 0)
0272
0273
0274 #define GMAC_HW_FEAT_ASP GENMASK(29, 28)
0275 #define GMAC_HW_FEAT_TBSSEL BIT(27)
0276 #define GMAC_HW_FEAT_FPESEL BIT(26)
0277 #define GMAC_HW_FEAT_ESTWID GENMASK(21, 20)
0278 #define GMAC_HW_FEAT_ESTDEP GENMASK(19, 17)
0279 #define GMAC_HW_FEAT_ESTSEL BIT(16)
0280 #define GMAC_HW_FEAT_FRPES GENMASK(14, 13)
0281 #define GMAC_HW_FEAT_FRPBS GENMASK(12, 11)
0282 #define GMAC_HW_FEAT_FRPSEL BIT(10)
0283 #define GMAC_HW_FEAT_DVLAN BIT(5)
0284 #define GMAC_HW_FEAT_NRVF GENMASK(2, 0)
0285
0286
0287 #define GMAC_GPO0 BIT(16)
0288 #define GMAC_GPO1 BIT(17)
0289 #define GMAC_GPO2 BIT(18)
0290 #define GMAC_GPO3 BIT(19)
0291
0292
0293 #define GMAC_HI_DCS GENMASK(18, 16)
0294 #define GMAC_HI_DCS_SHIFT 16
0295 #define GMAC_HI_REG_AE BIT(31)
0296
0297
0298 #define GMAC_L4DPIM0 BIT(21)
0299 #define GMAC_L4DPM0 BIT(20)
0300 #define GMAC_L4SPIM0 BIT(19)
0301 #define GMAC_L4SPM0 BIT(18)
0302 #define GMAC_L4PEN0 BIT(16)
0303 #define GMAC_L3DAIM0 BIT(5)
0304 #define GMAC_L3DAM0 BIT(4)
0305 #define GMAC_L3SAIM0 BIT(3)
0306 #define GMAC_L3SAM0 BIT(2)
0307 #define GMAC_L3PEN0 BIT(0)
0308 #define GMAC_L4DP0 GENMASK(31, 16)
0309 #define GMAC_L4DP0_SHIFT 16
0310 #define GMAC_L4SP0 GENMASK(15, 0)
0311
0312
0313 #define GMAC_TIMESTAMP_AUXTSTRIG BIT(2)
0314 #define GMAC_TIMESTAMP_ATSNS_MASK GENMASK(29, 25)
0315 #define GMAC_TIMESTAMP_ATSNS_SHIFT 25
0316
0317
0318 #define MTL_OPERATION_MODE 0x00000c00
0319 #define MTL_FRPE BIT(15)
0320 #define MTL_OPERATION_SCHALG_MASK GENMASK(6, 5)
0321 #define MTL_OPERATION_SCHALG_WRR (0x0 << 5)
0322 #define MTL_OPERATION_SCHALG_WFQ (0x1 << 5)
0323 #define MTL_OPERATION_SCHALG_DWRR (0x2 << 5)
0324 #define MTL_OPERATION_SCHALG_SP (0x3 << 5)
0325 #define MTL_OPERATION_RAA BIT(2)
0326 #define MTL_OPERATION_RAA_SP (0x0 << 2)
0327 #define MTL_OPERATION_RAA_WSP (0x1 << 2)
0328
0329 #define MTL_INT_STATUS 0x00000c20
0330 #define MTL_INT_QX(x) BIT(x)
0331
0332 #define MTL_RXQ_DMA_MAP0 0x00000c30
0333 #define MTL_RXQ_DMA_MAP1 0x00000c34
0334 #define MTL_RXQ_DMA_Q04MDMACH_MASK GENMASK(3, 0)
0335 #define MTL_RXQ_DMA_Q04MDMACH(x) ((x) << 0)
0336 #define MTL_RXQ_DMA_QXMDMACH_MASK(x) GENMASK(11 + (8 * ((x) - 1)), 8 * (x))
0337 #define MTL_RXQ_DMA_QXMDMACH(chan, q) ((chan) << (8 * (q)))
0338
0339 #define MTL_CHAN_BASE_ADDR 0x00000d00
0340 #define MTL_CHAN_BASE_OFFSET 0x40
0341 #define MTL_CHANX_BASE_ADDR(x) (MTL_CHAN_BASE_ADDR + \
0342 (x * MTL_CHAN_BASE_OFFSET))
0343
0344 #define MTL_CHAN_TX_OP_MODE(x) MTL_CHANX_BASE_ADDR(x)
0345 #define MTL_CHAN_TX_DEBUG(x) (MTL_CHANX_BASE_ADDR(x) + 0x8)
0346 #define MTL_CHAN_INT_CTRL(x) (MTL_CHANX_BASE_ADDR(x) + 0x2c)
0347 #define MTL_CHAN_RX_OP_MODE(x) (MTL_CHANX_BASE_ADDR(x) + 0x30)
0348 #define MTL_CHAN_RX_DEBUG(x) (MTL_CHANX_BASE_ADDR(x) + 0x38)
0349
0350 #define MTL_OP_MODE_RSF BIT(5)
0351 #define MTL_OP_MODE_TXQEN_MASK GENMASK(3, 2)
0352 #define MTL_OP_MODE_TXQEN_AV BIT(2)
0353 #define MTL_OP_MODE_TXQEN BIT(3)
0354 #define MTL_OP_MODE_TSF BIT(1)
0355
0356 #define MTL_OP_MODE_TQS_MASK GENMASK(24, 16)
0357 #define MTL_OP_MODE_TQS_SHIFT 16
0358
0359 #define MTL_OP_MODE_TTC_MASK 0x70
0360 #define MTL_OP_MODE_TTC_SHIFT 4
0361
0362 #define MTL_OP_MODE_TTC_32 0
0363 #define MTL_OP_MODE_TTC_64 (1 << MTL_OP_MODE_TTC_SHIFT)
0364 #define MTL_OP_MODE_TTC_96 (2 << MTL_OP_MODE_TTC_SHIFT)
0365 #define MTL_OP_MODE_TTC_128 (3 << MTL_OP_MODE_TTC_SHIFT)
0366 #define MTL_OP_MODE_TTC_192 (4 << MTL_OP_MODE_TTC_SHIFT)
0367 #define MTL_OP_MODE_TTC_256 (5 << MTL_OP_MODE_TTC_SHIFT)
0368 #define MTL_OP_MODE_TTC_384 (6 << MTL_OP_MODE_TTC_SHIFT)
0369 #define MTL_OP_MODE_TTC_512 (7 << MTL_OP_MODE_TTC_SHIFT)
0370
0371 #define MTL_OP_MODE_RQS_MASK GENMASK(29, 20)
0372 #define MTL_OP_MODE_RQS_SHIFT 20
0373
0374 #define MTL_OP_MODE_RFD_MASK GENMASK(19, 14)
0375 #define MTL_OP_MODE_RFD_SHIFT 14
0376
0377 #define MTL_OP_MODE_RFA_MASK GENMASK(13, 8)
0378 #define MTL_OP_MODE_RFA_SHIFT 8
0379
0380 #define MTL_OP_MODE_EHFC BIT(7)
0381
0382 #define MTL_OP_MODE_RTC_MASK 0x18
0383 #define MTL_OP_MODE_RTC_SHIFT 3
0384
0385 #define MTL_OP_MODE_RTC_32 (1 << MTL_OP_MODE_RTC_SHIFT)
0386 #define MTL_OP_MODE_RTC_64 0
0387 #define MTL_OP_MODE_RTC_96 (2 << MTL_OP_MODE_RTC_SHIFT)
0388 #define MTL_OP_MODE_RTC_128 (3 << MTL_OP_MODE_RTC_SHIFT)
0389
0390
0391 #define MTL_ETS_CTRL_BASE_ADDR 0x00000d10
0392 #define MTL_ETS_CTRL_BASE_OFFSET 0x40
0393 #define MTL_ETSX_CTRL_BASE_ADDR(x) (MTL_ETS_CTRL_BASE_ADDR + \
0394 ((x) * MTL_ETS_CTRL_BASE_OFFSET))
0395
0396 #define MTL_ETS_CTRL_CC BIT(3)
0397 #define MTL_ETS_CTRL_AVALG BIT(2)
0398
0399
0400 #define MTL_TXQ_WEIGHT_BASE_ADDR 0x00000d18
0401 #define MTL_TXQ_WEIGHT_BASE_OFFSET 0x40
0402 #define MTL_TXQX_WEIGHT_BASE_ADDR(x) (MTL_TXQ_WEIGHT_BASE_ADDR + \
0403 ((x) * MTL_TXQ_WEIGHT_BASE_OFFSET))
0404 #define MTL_TXQ_WEIGHT_ISCQW_MASK GENMASK(20, 0)
0405
0406
0407 #define MTL_SEND_SLP_CRED_BASE_ADDR 0x00000d1c
0408 #define MTL_SEND_SLP_CRED_OFFSET 0x40
0409 #define MTL_SEND_SLP_CREDX_BASE_ADDR(x) (MTL_SEND_SLP_CRED_BASE_ADDR + \
0410 ((x) * MTL_SEND_SLP_CRED_OFFSET))
0411
0412 #define MTL_SEND_SLP_CRED_SSC_MASK GENMASK(13, 0)
0413
0414
0415 #define MTL_HIGH_CRED_BASE_ADDR 0x00000d20
0416 #define MTL_HIGH_CRED_OFFSET 0x40
0417 #define MTL_HIGH_CREDX_BASE_ADDR(x) (MTL_HIGH_CRED_BASE_ADDR + \
0418 ((x) * MTL_HIGH_CRED_OFFSET))
0419
0420 #define MTL_HIGH_CRED_HC_MASK GENMASK(28, 0)
0421
0422
0423 #define MTL_LOW_CRED_BASE_ADDR 0x00000d24
0424 #define MTL_LOW_CRED_OFFSET 0x40
0425 #define MTL_LOW_CREDX_BASE_ADDR(x) (MTL_LOW_CRED_BASE_ADDR + \
0426 ((x) * MTL_LOW_CRED_OFFSET))
0427
0428 #define MTL_HIGH_CRED_LC_MASK GENMASK(28, 0)
0429
0430
0431 #define MTL_DEBUG_TXSTSFSTS BIT(5)
0432 #define MTL_DEBUG_TXFSTS BIT(4)
0433 #define MTL_DEBUG_TWCSTS BIT(3)
0434
0435
0436 #define MTL_DEBUG_TRCSTS_MASK GENMASK(2, 1)
0437 #define MTL_DEBUG_TRCSTS_SHIFT 1
0438 #define MTL_DEBUG_TRCSTS_IDLE 0
0439 #define MTL_DEBUG_TRCSTS_READ 1
0440 #define MTL_DEBUG_TRCSTS_TXW 2
0441 #define MTL_DEBUG_TRCSTS_WRITE 3
0442 #define MTL_DEBUG_TXPAUSED BIT(0)
0443
0444
0445 #define MTL_DEBUG_RXFSTS_MASK GENMASK(5, 4)
0446 #define MTL_DEBUG_RXFSTS_SHIFT 4
0447 #define MTL_DEBUG_RXFSTS_EMPTY 0
0448 #define MTL_DEBUG_RXFSTS_BT 1
0449 #define MTL_DEBUG_RXFSTS_AT 2
0450 #define MTL_DEBUG_RXFSTS_FULL 3
0451 #define MTL_DEBUG_RRCSTS_MASK GENMASK(2, 1)
0452 #define MTL_DEBUG_RRCSTS_SHIFT 1
0453 #define MTL_DEBUG_RRCSTS_IDLE 0
0454 #define MTL_DEBUG_RRCSTS_RDATA 1
0455 #define MTL_DEBUG_RRCSTS_RSTAT 2
0456 #define MTL_DEBUG_RRCSTS_FLUSH 3
0457 #define MTL_DEBUG_RWCSTS BIT(0)
0458
0459
0460 #define MTL_RX_OVERFLOW_INT_EN BIT(24)
0461 #define MTL_RX_OVERFLOW_INT BIT(16)
0462
0463
0464 #define GMAC_CORE_INIT (GMAC_CONFIG_JD | GMAC_CONFIG_PS | \
0465 GMAC_CONFIG_BE | GMAC_CONFIG_DCRS | \
0466 GMAC_CONFIG_JE)
0467
0468
0469 #define GMAC_REG_NUM 132
0470
0471
0472 #define MTL_DEBUG_TXSTSFSTS BIT(5)
0473 #define MTL_DEBUG_TXFSTS BIT(4)
0474 #define MTL_DEBUG_TWCSTS BIT(3)
0475
0476
0477 #define MTL_DEBUG_TRCSTS_MASK GENMASK(2, 1)
0478 #define MTL_DEBUG_TRCSTS_SHIFT 1
0479 #define MTL_DEBUG_TRCSTS_IDLE 0
0480 #define MTL_DEBUG_TRCSTS_READ 1
0481 #define MTL_DEBUG_TRCSTS_TXW 2
0482 #define MTL_DEBUG_TRCSTS_WRITE 3
0483 #define MTL_DEBUG_TXPAUSED BIT(0)
0484
0485
0486 #define MTL_DEBUG_RXFSTS_MASK GENMASK(5, 4)
0487 #define MTL_DEBUG_RXFSTS_SHIFT 4
0488 #define MTL_DEBUG_RXFSTS_EMPTY 0
0489 #define MTL_DEBUG_RXFSTS_BT 1
0490 #define MTL_DEBUG_RXFSTS_AT 2
0491 #define MTL_DEBUG_RXFSTS_FULL 3
0492 #define MTL_DEBUG_RRCSTS_MASK GENMASK(2, 1)
0493 #define MTL_DEBUG_RRCSTS_SHIFT 1
0494 #define MTL_DEBUG_RRCSTS_IDLE 0
0495 #define MTL_DEBUG_RRCSTS_RDATA 1
0496 #define MTL_DEBUG_RRCSTS_RSTAT 2
0497 #define MTL_DEBUG_RRCSTS_FLUSH 3
0498 #define MTL_DEBUG_RWCSTS BIT(0)
0499
0500
0501 #define GMAC_PHYIF_CTRLSTATUS_TC BIT(0)
0502 #define GMAC_PHYIF_CTRLSTATUS_LUD BIT(1)
0503 #define GMAC_PHYIF_CTRLSTATUS_SMIDRXS BIT(4)
0504 #define GMAC_PHYIF_CTRLSTATUS_LNKMOD BIT(16)
0505 #define GMAC_PHYIF_CTRLSTATUS_SPEED GENMASK(18, 17)
0506 #define GMAC_PHYIF_CTRLSTATUS_SPEED_SHIFT 17
0507 #define GMAC_PHYIF_CTRLSTATUS_LNKSTS BIT(19)
0508 #define GMAC_PHYIF_CTRLSTATUS_JABTO BIT(20)
0509 #define GMAC_PHYIF_CTRLSTATUS_FALSECARDET BIT(21)
0510
0511 #define GMAC_PHYIF_CTRLSTATUS_LNKMOD_MASK 0x1
0512
0513 #define GMAC_PHYIF_CTRLSTATUS_SPEED_125 0x2
0514 #define GMAC_PHYIF_CTRLSTATUS_SPEED_25 0x1
0515 #define GMAC_PHYIF_CTRLSTATUS_SPEED_2_5 0x0
0516
0517 extern const struct stmmac_dma_ops dwmac4_dma_ops;
0518 extern const struct stmmac_dma_ops dwmac410_dma_ops;
0519 #endif