net: mediatek: add support for PDMA v2
[platform/kernel/u-boot.git] / drivers / net / mtk_eth.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) 2018 MediaTek Inc.
4  *
5  * Author: Weijie Gao <weijie.gao@mediatek.com>
6  * Author: Mark Lee <mark-mc.lee@mediatek.com>
7  */
8
9 #ifndef _MTK_ETH_H_
10 #define _MTK_ETH_H_
11
12 #include <linux/bitops.h>
13 #include <linux/bitfield.h>
14
15 enum mkt_eth_capabilities {
16         MTK_TRGMII_BIT,
17         MTK_TRGMII_MT7621_CLK_BIT,
18         MTK_NETSYS_V2_BIT,
19
20         /* PATH BITS */
21         MTK_ETH_PATH_GMAC1_TRGMII_BIT,
22 };
23
24 #define MTK_TRGMII                      BIT(MTK_TRGMII_BIT)
25 #define MTK_TRGMII_MT7621_CLK           BIT(MTK_TRGMII_MT7621_CLK_BIT)
26 #define MTK_NETSYS_V2                   BIT(MTK_NETSYS_V2_BIT)
27
28 /* Supported path present on SoCs */
29 #define MTK_ETH_PATH_GMAC1_TRGMII       BIT(MTK_ETH_PATH_GMAC1_TRGMII_BIT)
30
31 #define MTK_GMAC1_TRGMII        (MTK_ETH_PATH_GMAC1_TRGMII | MTK_TRGMII)
32
33 #define MTK_HAS_CAPS(caps, _x)          (((caps) & (_x)) == (_x))
34
35 #define MT7621_CAPS  (MTK_GMAC1_TRGMII | MTK_TRGMII_MT7621_CLK)
36
37 #define MT7623_CAPS  (MTK_GMAC1_TRGMII)
38
39 /* Frame Engine Register Bases */
40 #define PDMA_V1_BASE                    0x0800
41 #define PDMA_V2_BASE                    0x6000
42 #define GDMA1_BASE                      0x0500
43 #define GDMA2_BASE                      0x1500
44 #define GMAC_BASE                       0x10000
45
46 /* Ethernet subsystem registers */
47
48 #define ETHSYS_SYSCFG0_REG              0x14
49 #define SYSCFG0_GE_MODE_S(n)            (12 + ((n) * 2))
50 #define SYSCFG0_GE_MODE_M               0x3
51 #define SYSCFG0_SGMII_SEL_M             (0x3 << 8)
52 #define SYSCFG0_SGMII_SEL(gmac)         ((!(gmac)) ? BIT(9) : BIT(8))
53
54 #define ETHSYS_CLKCFG0_REG              0x2c
55 #define ETHSYS_TRGMII_CLK_SEL362_5      BIT(11)
56
57 /* SYSCFG0_GE_MODE: GE Modes */
58 #define GE_MODE_RGMII                   0
59 #define GE_MODE_MII                     1
60 #define GE_MODE_MII_PHY                 2
61 #define GE_MODE_RMII                    3
62
63 /* SGMII subsystem config registers */
64 #define SGMSYS_PCS_CONTROL_1            0x0
65 #define SGMII_LINK_STATUS               BIT(18)
66 #define SGMII_AN_ENABLE                 BIT(12)
67 #define SGMII_AN_RESTART                BIT(9)
68
69 #define SGMSYS_SGMII_MODE               0x20
70 #define SGMII_FORCE_MODE                0x31120019
71
72 #define SGMSYS_QPHY_PWR_STATE_CTRL      0xe8
73 #define SGMII_PHYA_PWD                  BIT(4)
74
75 #define SGMSYS_GEN2_SPEED               0x2028
76 #define SGMSYS_GEN2_SPEED_V2            0x128
77 #define SGMSYS_SPEED_2500               BIT(2)
78
79 /* Frame Engine Registers */
80 #define FE_GLO_MISC_REG                 0x124
81 #define PDMA_VER_V2                     BIT(4)
82
83 /* PDMA */
84 #define TX_BASE_PTR_REG(n)              (0x000 + (n) * 0x10)
85 #define TX_MAX_CNT_REG(n)               (0x004 + (n) * 0x10)
86 #define TX_CTX_IDX_REG(n)               (0x008 + (n) * 0x10)
87 #define TX_DTX_IDX_REG(n)               (0x00c + (n) * 0x10)
88
89 #define RX_BASE_PTR_REG(n)              (0x100 + (n) * 0x10)
90 #define RX_MAX_CNT_REG(n)               (0x104 + (n) * 0x10)
91 #define RX_CRX_IDX_REG(n)               (0x108 + (n) * 0x10)
92 #define RX_DRX_IDX_REG(n)               (0x10c + (n) * 0x10)
93
94 #define PDMA_GLO_CFG_REG                0x204
95 #define TX_WB_DDONE                     BIT(6)
96 #define RX_DMA_BUSY                     BIT(3)
97 #define RX_DMA_EN                       BIT(2)
98 #define TX_DMA_BUSY                     BIT(1)
99 #define TX_DMA_EN                       BIT(0)
100
101 #define PDMA_RST_IDX_REG                0x208
102 #define RST_DRX_IDX0                    BIT(16)
103 #define RST_DTX_IDX0                    BIT(0)
104
105 /* GDMA */
106 #define GDMA_IG_CTRL_REG                0x000
107 #define GDM_ICS_EN                      BIT(22)
108 #define GDM_TCS_EN                      BIT(21)
109 #define GDM_UCS_EN                      BIT(20)
110 #define STRP_CRC                        BIT(16)
111 #define MYMAC_DP_S                      12
112 #define MYMAC_DP_M                      0xf000
113 #define BC_DP_S                         8
114 #define BC_DP_M                         0xf00
115 #define MC_DP_S                         4
116 #define MC_DP_M                         0xf0
117 #define UN_DP_S                         0
118 #define UN_DP_M                         0x0f
119
120 #define GDMA_MAC_LSB_REG                0x008
121
122 #define GDMA_MAC_MSB_REG                0x00c
123
124 /* MYMAC_DP/BC_DP/MC_DP/UN_DP: Destination ports */
125 #define DP_PDMA                         0
126 #define DP_GDMA1                        1
127 #define DP_GDMA2                        2
128 #define DP_PPE                          4
129 #define DP_QDMA                         5
130 #define DP_DISCARD                      7
131
132 /* GMAC Registers */
133
134 #define GMAC_PIAC_REG                   0x0004
135 #define PHY_ACS_ST                      BIT(31)
136 #define MDIO_REG_ADDR_S                 25
137 #define MDIO_REG_ADDR_M                 0x3e000000
138 #define MDIO_PHY_ADDR_S                 20
139 #define MDIO_PHY_ADDR_M                 0x1f00000
140 #define MDIO_CMD_S                      18
141 #define MDIO_CMD_M                      0xc0000
142 #define MDIO_ST_S                       16
143 #define MDIO_ST_M                       0x30000
144 #define MDIO_RW_DATA_S                  0
145 #define MDIO_RW_DATA_M                  0xffff
146
147 /* MDIO_CMD: MDIO commands */
148 #define MDIO_CMD_ADDR                   0
149 #define MDIO_CMD_WRITE                  1
150 #define MDIO_CMD_READ                   2
151 #define MDIO_CMD_READ_C45               3
152
153 /* MDIO_ST: MDIO start field */
154 #define MDIO_ST_C45                     0
155 #define MDIO_ST_C22                     1
156
157 #define GMAC_PORT_MCR(p)                (0x0100 + (p) * 0x100)
158 #define MAC_RX_PKT_LEN_S                24
159 #define MAC_RX_PKT_LEN_M                0x3000000
160 #define IPG_CFG_S                       18
161 #define IPG_CFG_M                       0xc0000
162 #define MAC_MODE                        BIT(16)
163 #define FORCE_MODE                      BIT(15)
164 #define MAC_TX_EN                       BIT(14)
165 #define MAC_RX_EN                       BIT(13)
166 #define BKOFF_EN                        BIT(9)
167 #define BACKPR_EN                       BIT(8)
168 #define FORCE_RX_FC                     BIT(5)
169 #define FORCE_TX_FC                     BIT(4)
170 #define FORCE_SPD_S                     2
171 #define FORCE_SPD_M                     0x0c
172 #define FORCE_DPX                       BIT(1)
173 #define FORCE_LINK                      BIT(0)
174
175 /* Values of IPG_CFG */
176 #define IPG_96BIT                       0
177 #define IPG_96BIT_WITH_SHORT_IPG        1
178 #define IPG_64BIT                       2
179
180 /* MAC_RX_PKT_LEN: Max RX packet length */
181 #define MAC_RX_PKT_LEN_1518             0
182 #define MAC_RX_PKT_LEN_1536             1
183 #define MAC_RX_PKT_LEN_1552             2
184 #define MAC_RX_PKT_LEN_JUMBO            3
185
186 /* FORCE_SPD: Forced link speed */
187 #define SPEED_10M                       0
188 #define SPEED_100M                      1
189 #define SPEED_1000M                     2
190
191 #define GMAC_TRGMII_RCK_CTRL            0x300
192 #define RX_RST                          BIT(31)
193 #define RXC_DQSISEL                     BIT(30)
194
195 #define GMAC_TRGMII_TD_ODT(n)           (0x354 + (n) * 8)
196 #define TD_DM_DRVN_S                    4
197 #define TD_DM_DRVN_M                    0xf0
198 #define TD_DM_DRVP_S                    0
199 #define TD_DM_DRVP_M                    0x0f
200
201 /* MT7530 Registers */
202
203 #define PCR_REG(p)                      (0x2004 + (p) * 0x100)
204 #define PORT_MATRIX_S                   16
205 #define PORT_MATRIX_M                   0xff0000
206
207 #define PVC_REG(p)                      (0x2010 + (p) * 0x100)
208 #define STAG_VPID_S                     16
209 #define STAG_VPID_M                     0xffff0000
210 #define VLAN_ATTR_S                     6
211 #define VLAN_ATTR_M                     0xc0
212
213 /* VLAN_ATTR: VLAN attributes */
214 #define VLAN_ATTR_USER                  0
215 #define VLAN_ATTR_STACK                 1
216 #define VLAN_ATTR_TRANSLATION           2
217 #define VLAN_ATTR_TRANSPARENT           3
218
219 #define PMCR_REG(p)                     (0x3000 + (p) * 0x100)
220 /* XXX: all fields of MT7530 are defined under GMAC_PORT_MCR
221  * MT7531 specific fields are defined below
222  */
223 #define FORCE_MODE_EEE1G                BIT(25)
224 #define FORCE_MODE_EEE100               BIT(26)
225 #define FORCE_MODE_TX_FC                BIT(27)
226 #define FORCE_MODE_RX_FC                BIT(28)
227 #define FORCE_MODE_DPX                  BIT(29)
228 #define FORCE_MODE_SPD                  BIT(30)
229 #define FORCE_MODE_LNK                  BIT(31)
230 #define MT7531_FORCE_MODE               FORCE_MODE_EEE1G | FORCE_MODE_EEE100 |\
231                                         FORCE_MODE_TX_FC | FORCE_MODE_RX_FC | \
232                                         FORCE_MODE_DPX   | FORCE_MODE_SPD | \
233                                         FORCE_MODE_LNK
234
235 /* MT7531 SGMII Registers */
236 #define MT7531_SGMII_REG_BASE           0x5000
237 #define MT7531_SGMII_REG_PORT_BASE      0x1000
238 #define MT7531_SGMII_REG(p, r)          (MT7531_SGMII_REG_BASE + \
239                                         (p) * MT7531_SGMII_REG_PORT_BASE + (r))
240 #define MT7531_PCS_CONTROL_1(p)         MT7531_SGMII_REG(((p) - 5), 0x00)
241 #define MT7531_SGMII_MODE(p)            MT7531_SGMII_REG(((p) - 5), 0x20)
242 #define MT7531_QPHY_PWR_STATE_CTRL(p)   MT7531_SGMII_REG(((p) - 5), 0xe8)
243 #define MT7531_PHYA_CTRL_SIGNAL3(p)     MT7531_SGMII_REG(((p) - 5), 0x128)
244 /* XXX: all fields of MT7531 SGMII  are defined under SGMSYS */
245
246 /* MT753x System Control Register */
247 #define SYS_CTRL_REG                    0x7000
248 #define SW_PHY_RST                      BIT(2)
249 #define SW_SYS_RST                      BIT(1)
250 #define SW_REG_RST                      BIT(0)
251
252 /* MT7531  */
253 #define MT7531_PHY_IAC                  0x701c
254 /* XXX: all fields are defined under GMAC_PIAC_REG */
255
256 #define MT7531_CLKGEN_CTRL              0x7500
257 #define CLK_SKEW_OUT_S                  8
258 #define CLK_SKEW_OUT_M                  0x300
259 #define CLK_SKEW_IN_S                   6
260 #define CLK_SKEW_IN_M                   0xc0
261 #define RXCLK_NO_DELAY                  BIT(5)
262 #define TXCLK_NO_REVERSE                BIT(4)
263 #define GP_MODE_S                       1
264 #define GP_MODE_M                       0x06
265 #define GP_CLK_EN                       BIT(0)
266
267 /* Values of GP_MODE */
268 #define GP_MODE_RGMII                   0
269 #define GP_MODE_MII                     1
270 #define GP_MODE_REV_MII                 2
271
272 /* Values of CLK_SKEW_IN */
273 #define CLK_SKEW_IN_NO_CHANGE           0
274 #define CLK_SKEW_IN_DELAY_100PPS        1
275 #define CLK_SKEW_IN_DELAY_200PPS        2
276 #define CLK_SKEW_IN_REVERSE             3
277
278 /* Values of CLK_SKEW_OUT */
279 #define CLK_SKEW_OUT_NO_CHANGE          0
280 #define CLK_SKEW_OUT_DELAY_100PPS       1
281 #define CLK_SKEW_OUT_DELAY_200PPS       2
282 #define CLK_SKEW_OUT_REVERSE            3
283
284 #define HWTRAP_REG                      0x7800
285 /* MT7530 Modified Hardware Trap Status Registers */
286 #define MHWTRAP_REG                     0x7804
287 #define CHG_TRAP                        BIT(16)
288 #define LOOPDET_DIS                     BIT(14)
289 #define P5_INTF_SEL_S                   13
290 #define P5_INTF_SEL_M                   0x2000
291 #define SMI_ADDR_S                      11
292 #define SMI_ADDR_M                      0x1800
293 #define XTAL_FSEL_S                     9
294 #define XTAL_FSEL_M                     0x600
295 #define P6_INTF_DIS                     BIT(8)
296 #define P5_INTF_MODE_S                  7
297 #define P5_INTF_MODE_M                  0x80
298 #define P5_INTF_DIS                     BIT(6)
299 #define C_MDIO_BPS                      BIT(5)
300 #define CHIP_MODE_S                     0
301 #define CHIP_MODE_M                     0x0f
302
303 /* P5_INTF_SEL: Interface type of Port5 */
304 #define P5_INTF_SEL_GPHY                0
305 #define P5_INTF_SEL_GMAC5               1
306
307 /* P5_INTF_MODE: Interface mode of Port5 */
308 #define P5_INTF_MODE_GMII_MII           0
309 #define P5_INTF_MODE_RGMII              1
310
311 #define MT7530_P6ECR                    0x7830
312 #define P6_INTF_MODE_M                  0x3
313 #define P6_INTF_MODE_S                  0
314
315 /* P6_INTF_MODE: Interface mode of Port6 */
316 #define P6_INTF_MODE_RGMII              0
317 #define P6_INTF_MODE_TRGMII             1
318
319 #define NUM_TRGMII_CTRL                 5
320
321 #define MT7530_TRGMII_RD(n)             (0x7a10 + (n) * 8)
322 #define RD_TAP_S                        0
323 #define RD_TAP_M                        0x7f
324
325 #define MT7530_TRGMII_TD_ODT(n)         (0x7a54 + (n) * 8)
326 /* XXX: all fields are defined under GMAC_TRGMII_TD_ODT */
327
328 /* TOP Signals Status Register */
329 #define MT7531_TOP_SIG_SR               0x780c
330 #define PAD_MCM_SMI_EN                  BIT(0)
331 #define PAD_DUAL_SGMII_EN               BIT(1)
332
333 /* MT7531 PLLGP Registers */
334 #define MT7531_PLLGP_EN                 0x7820
335 #define EN_COREPLL                      BIT(2)
336 #define SW_CLKSW                        BIT(1)
337 #define SW_PLLGP                        BIT(0)
338
339 #define MT7531_PLLGP_CR0                0x78a8
340 #define RG_COREPLL_EN                   BIT(22)
341 #define RG_COREPLL_POSDIV_S             23
342 #define RG_COREPLL_POSDIV_M             0x3800000
343 #define RG_COREPLL_SDM_PCW_S            1
344 #define RG_COREPLL_SDM_PCW_M            0x3ffffe
345 #define RG_COREPLL_SDM_PCW_CHG          BIT(0)
346
347 /* MT7531 RGMII and SGMII PLL clock */
348 #define MT7531_ANA_PLLGP_CR2            0x78b0
349 #define MT7531_ANA_PLLGP_CR5            0x78bc
350
351 /* MT7531 GPIO GROUP IOLB SMT0 Control */
352 #define MT7531_SMT0_IOLB                0x7f04
353 #define SMT_IOLB_5_SMI_MDC_EN           BIT(5)
354
355 /* MT7530 GPHY MDIO Indirect Access Registers */
356 #define MII_MMD_ACC_CTL_REG             0x0d
357 #define MMD_CMD_S                       14
358 #define MMD_CMD_M                       0xc000
359 #define MMD_DEVAD_S                     0
360 #define MMD_DEVAD_M                     0x1f
361
362 /* MMD_CMD: MMD commands */
363 #define MMD_ADDR                        0
364 #define MMD_DATA                        1
365 #define MMD_DATA_RW_POST_INC            2
366 #define MMD_DATA_W_POST_INC             3
367
368 #define MII_MMD_ADDR_DATA_REG           0x0e
369
370 /* MT7530 GPHY MDIO MMD Registers */
371 #define CORE_PLL_GROUP2                 0x401
372 #define RG_SYSPLL_EN_NORMAL             BIT(15)
373 #define RG_SYSPLL_VODEN                 BIT(14)
374 #define RG_SYSPLL_POSDIV_S              5
375 #define RG_SYSPLL_POSDIV_M              0x60
376
377 #define CORE_PLL_GROUP4                 0x403
378 #define MT7531_BYPASS_MODE              BIT(4)
379 #define MT7531_POWER_ON_OFF             BIT(5)
380 #define RG_SYSPLL_DDSFBK_EN             BIT(12)
381 #define RG_SYSPLL_BIAS_EN               BIT(11)
382 #define RG_SYSPLL_BIAS_LPF_EN           BIT(10)
383
384 #define CORE_PLL_GROUP5                 0x404
385 #define RG_LCDDS_PCW_NCPO1_S            0
386 #define RG_LCDDS_PCW_NCPO1_M            0xffff
387
388 #define CORE_PLL_GROUP6                 0x405
389 #define RG_LCDDS_PCW_NCPO0_S            0
390 #define RG_LCDDS_PCW_NCPO0_M            0xffff
391
392 #define CORE_PLL_GROUP7                 0x406
393 #define RG_LCDDS_PWDB                   BIT(15)
394 #define RG_LCDDS_ISO_EN                 BIT(13)
395 #define RG_LCCDS_C_S                    4
396 #define RG_LCCDS_C_M                    0x70
397 #define RG_LCDDS_PCW_NCPO_CHG           BIT(3)
398
399 #define CORE_PLL_GROUP10                0x409
400 #define RG_LCDDS_SSC_DELTA_S            0
401 #define RG_LCDDS_SSC_DELTA_M            0xfff
402
403 #define CORE_PLL_GROUP11                0x40a
404 #define RG_LCDDS_SSC_DELTA1_S           0
405 #define RG_LCDDS_SSC_DELTA1_M           0xfff
406
407 #define CORE_GSWPLL_GRP1                0x40d
408 #define RG_GSWPLL_POSDIV_200M_S         12
409 #define RG_GSWPLL_POSDIV_200M_M         0x3000
410 #define RG_GSWPLL_EN_PRE                BIT(11)
411 #define RG_GSWPLL_FBKDIV_200M_S         0
412 #define RG_GSWPLL_FBKDIV_200M_M         0xff
413
414 #define CORE_GSWPLL_GRP2                0x40e
415 #define RG_GSWPLL_POSDIV_500M_S         8
416 #define RG_GSWPLL_POSDIV_500M_M         0x300
417 #define RG_GSWPLL_FBKDIV_500M_S         0
418 #define RG_GSWPLL_FBKDIV_500M_M         0xff
419
420 #define CORE_TRGMII_GSW_CLK_CG          0x410
421 #define REG_GSWCK_EN                    BIT(0)
422 #define REG_TRGMIICK_EN                 BIT(1)
423
424 /* Extend PHY Control Register 3 */
425 #define PHY_EXT_REG_14                  0x14
426
427 /* Fields of PHY_EXT_REG_14 */
428 #define PHY_EN_DOWN_SHFIT               BIT(4)
429
430 /* Extend PHY Control Register 4 */
431 #define PHY_EXT_REG_17                  0x17
432
433 /* Fields of PHY_EXT_REG_17 */
434 #define PHY_LINKDOWN_POWER_SAVING_EN    BIT(4)
435
436 /* PHY RXADC Control Register 7 */
437 #define PHY_DEV1E_REG_0C6               0x0c6
438
439 /* Fields of PHY_DEV1E_REG_0C6 */
440 #define PHY_POWER_SAVING_S              8
441 #define PHY_POWER_SAVING_M              0x300
442 #define PHY_POWER_SAVING_TX             0x0
443
444 /* PDMA descriptors */
445 struct mtk_rx_dma {
446         unsigned int rxd1;
447         unsigned int rxd2;
448         unsigned int rxd3;
449         unsigned int rxd4;
450 } __packed __aligned(4);
451
452 struct mtk_rx_dma_v2 {
453         unsigned int rxd1;
454         unsigned int rxd2;
455         unsigned int rxd3;
456         unsigned int rxd4;
457         unsigned int rxd5;
458         unsigned int rxd6;
459         unsigned int rxd7;
460         unsigned int rxd8;
461 } __packed __aligned(4);
462
463 struct mtk_tx_dma {
464         unsigned int txd1;
465         unsigned int txd2;
466         unsigned int txd3;
467         unsigned int txd4;
468 } __packed __aligned(4);
469
470 struct mtk_tx_dma_v2 {
471         unsigned int txd1;
472         unsigned int txd2;
473         unsigned int txd3;
474         unsigned int txd4;
475         unsigned int txd5;
476         unsigned int txd6;
477         unsigned int txd7;
478         unsigned int txd8;
479 } __packed __aligned(4);
480
481 /* PDMA TXD fields */
482 #define PDMA_TXD2_DDONE                 BIT(31)
483 #define PDMA_TXD2_LS0                   BIT(30)
484 #define PDMA_V1_TXD2_SDL0_M             GENMASK(29, 16)
485 #define PDMA_V1_TXD2_SDL0_SET(_v)       FIELD_PREP(PDMA_V1_TXD2_SDL0_M, (_v))
486 #define PDMA_V2_TXD2_SDL0_M             GENMASK(23, 8)
487 #define PDMA_V2_TXD2_SDL0_SET(_v)       FIELD_PREP(PDMA_V2_TXD2_SDL0_M, (_v))
488
489 #define PDMA_V1_TXD4_FPORT_M            GENMASK(27, 25)
490 #define PDMA_V1_TXD4_FPORT_SET(_v)      FIELD_PREP(PDMA_V1_TXD4_FPORT_M, (_v))
491 #define PDMA_V2_TXD4_FPORT_M            GENMASK(27, 24)
492 #define PDMA_V2_TXD4_FPORT_SET(_v)      FIELD_PREP(PDMA_V2_TXD4_FPORT_M, (_v))
493
494 #define PDMA_V2_TXD5_FPORT_M            GENMASK(19, 16)
495 #define PDMA_V2_TXD5_FPORT_SET(_v)      FIELD_PREP(PDMA_V2_TXD5_FPORT_M, (_v))
496
497 /* PDMA RXD fields */
498 #define PDMA_RXD2_DDONE                 BIT(31)
499 #define PDMA_RXD2_LS0                   BIT(30)
500 #define PDMA_V1_RXD2_PLEN0_M            GENMASK(29, 16)
501 #define PDMA_V1_RXD2_PLEN0_GET(_v)      FIELD_GET(PDMA_V1_RXD2_PLEN0_M, (_v))
502 #define PDMA_V1_RXD2_PLEN0_SET(_v)      FIELD_PREP(PDMA_V1_RXD2_PLEN0_M, (_v))
503 #define PDMA_V2_RXD2_PLEN0_M            GENMASK(23, 8)
504 #define PDMA_V2_RXD2_PLEN0_GET(_v)      FIELD_GET(PDMA_V2_RXD2_PLEN0_M, (_v))
505 #define PDMA_V2_RXD2_PLEN0_SET(_v)      FIELD_PREP(PDMA_V2_RXD2_PLEN0_M, (_v))
506
507 #endif /* _MTK_ETH_H_ */