macros.dtsi 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
  2. /dts-v1/;
  3. #define STRINGIZE(s) #s
  4. #define LAN_LABEL(p, s) STRINGIZE(p ## s)
  5. #define SWITCH_PORT_LABEL(n) LAN_LABEL(lan, n)
  6. #define INTERNAL_PHY(n) \
  7. phy##n: ethernet-phy@##n { \
  8. reg = <##n>; \
  9. compatible = "ethernet-phy-ieee802.3-c22"; \
  10. phy-is-integrated; \
  11. };
  12. #define INTERNAL_PHY_SDS(n, s) \
  13. phy##n: ethernet-phy@##n { \
  14. reg = <##n>; \
  15. compatible = "ethernet-phy-ieee802.3-c22"; \
  16. phy-is-integrated; \
  17. sds = <##s>; \
  18. };
  19. #define EXTERNAL_PHY(n) \
  20. phy##n: ethernet-phy@##n { \
  21. reg = <##n>; \
  22. compatible = "ethernet-phy-ieee802.3-c22"; \
  23. };
  24. #define EXTERNAL_SFP_PHY(n) \
  25. phy##n: ethernet-phy@##n { \
  26. compatible = "ethernet-phy-ieee802.3-c22"; \
  27. sfp; \
  28. media = "fibre"; \
  29. reg = <##n>; \
  30. };
  31. #define EXTERNAL_SFP_PHY_FULL(n, s) \
  32. phy##n: ethernet-phy@##n { \
  33. compatible = "ethernet-phy-ieee802.3-c22"; \
  34. sfp = <&sfp##s>; \
  35. reg = <##n>; \
  36. };
  37. #define SWITCH_PORT(n, s, m) \
  38. port##n: port@##n { \
  39. reg = <##n>; \
  40. label = SWITCH_PORT_LABEL(s) ; \
  41. phy-handle = <&phy##n>; \
  42. phy-mode = #m ; \
  43. };
  44. #define SWITCH_SFP_PORT(n, s, m) \
  45. port##n: port@##n { \
  46. reg = <##n>; \
  47. label = SWITCH_PORT_LABEL(s) ; \
  48. phy-handle = <&phy##n>; \
  49. phy-mode = #m ; \
  50. fixed-link { \
  51. speed = <1000>; \
  52. full-duplex; \
  53. }; \
  54. };
  55. // LED Set mode definitions
  56. #define RTL93XX_LED_SET_NONE (0)
  57. #define RTL93XX_LED_SET_10G (1 << 0)
  58. #define RTL93XX_LED_SET_5G (1 << 1)
  59. #define RTL93XX_LED_SET_2P5G (1 << 3)
  60. #define RTL93XX_LED_SET_1G (1 << 5)
  61. #define RTL93XX_LED_SET_100M (1 << 7)
  62. #define RTL93XX_LED_SET_10M (1 << 8)
  63. #define RTL93XX_LED_SET_LINK (1 << 9)
  64. #define RTL93XX_LED_SET_LINK_BLINK (1 << 10)
  65. #define RTL93XX_LED_SET_ACT (1 << 11)
  66. #define RTL93XX_LED_SET_RX (1 << 12)
  67. #define RTL93XX_LED_SET_TX (1 << 13)
  68. #define RTL93XX_LED_SET_COLLISION (1 << 14)
  69. #define RTL93XX_LED_SET_DUPLEX (1 << 15)