750-v6.5-16-net-ethernet-mtk_eth_soc-fix-register-definitions-fo.patch 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. From 489aea123d74a846ce746bfdb3efe1e7ad512e0d Mon Sep 17 00:00:00 2001
  2. From: Daniel Golle <[email protected]>
  3. Date: Tue, 22 Aug 2023 17:31:24 +0100
  4. Subject: [PATCH 110/250] net: ethernet: mtk_eth_soc: fix register definitions
  5. for MT7988
  6. More register macros need to be adjusted for the 3rd GMAC on MT7988.
  7. Account for added bit in SYSCFG0_SGMII_MASK.
  8. Fixes: 445eb6448ed3 ("net: ethernet: mtk_eth_soc: add basic support for MT7988 SoC")
  9. Signed-off-by: Daniel Golle <[email protected]>
  10. Reviewed-by: Simon Horman <[email protected]>
  11. Link: https://lore.kernel.org/r/1c8da012e2ca80939906d85f314138c552139f0f.1692721443.git.daniel@makrotopia.org
  12. Signed-off-by: Jakub Kicinski <[email protected]>
  13. ---
  14. drivers/net/ethernet/mediatek/mtk_eth_soc.h | 8 +++++---
  15. 1 file changed, 5 insertions(+), 3 deletions(-)
  16. --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
  17. +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
  18. @@ -133,10 +133,12 @@
  19. #define MTK_GDMA_XGDM_SEL BIT(31)
  20. /* Unicast Filter MAC Address Register - Low */
  21. -#define MTK_GDMA_MAC_ADRL(x) (0x508 + (x * 0x1000))
  22. +#define MTK_GDMA_MAC_ADRL(x) ({ typeof(x) _x = (x); (_x == MTK_GMAC3_ID) ? \
  23. + 0x548 : 0x508 + (_x * 0x1000); })
  24. /* Unicast Filter MAC Address Register - High */
  25. -#define MTK_GDMA_MAC_ADRH(x) (0x50C + (x * 0x1000))
  26. +#define MTK_GDMA_MAC_ADRH(x) ({ typeof(x) _x = (x); (_x == MTK_GMAC3_ID) ? \
  27. + 0x54C : 0x50C + (_x * 0x1000); })
  28. /* FE global misc reg*/
  29. #define MTK_FE_GLO_MISC 0x124
  30. @@ -503,7 +505,7 @@
  31. #define ETHSYS_SYSCFG0 0x14
  32. #define SYSCFG0_GE_MASK 0x3
  33. #define SYSCFG0_GE_MODE(x, y) (x << (12 + (y * 2)))
  34. -#define SYSCFG0_SGMII_MASK GENMASK(9, 8)
  35. +#define SYSCFG0_SGMII_MASK GENMASK(9, 7)
  36. #define SYSCFG0_SGMII_GMAC1 ((2 << 8) & SYSCFG0_SGMII_MASK)
  37. #define SYSCFG0_SGMII_GMAC2 ((3 << 8) & SYSCFG0_SGMII_MASK)
  38. #define SYSCFG0_SGMII_GMAC1_V2 BIT(9)