maxlinear,mxl862xx.yaml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/net/dsa/maxlinear,mxl862xx.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: MaxLinear MxL862xx Ethernet Switch Family
  7. maintainers:
  8. - Daniel Golle <daniel@makrotopia.org>
  9. description:
  10. The MaxLinear MxL862xx switch family are multi-port Ethernet switches with
  11. integrated 2.5GE PHYs. The MxL86252 has five PHY ports and the MxL86282
  12. has eight PHY ports. Both models come with two 10 Gigabit/s SerDes
  13. interfaces to be used to connect external PHYs or SFP cages, or as CPU
  14. port.
  15. allOf:
  16. - $ref: dsa.yaml#/$defs/ethernet-ports
  17. properties:
  18. compatible:
  19. enum:
  20. - maxlinear,mxl86252
  21. - maxlinear,mxl86282
  22. reg:
  23. maxItems: 1
  24. description: MDIO address of the switch
  25. mdio:
  26. $ref: /schemas/net/mdio.yaml#
  27. unevaluatedProperties: false
  28. required:
  29. - compatible
  30. - mdio
  31. - reg
  32. unevaluatedProperties: false
  33. examples:
  34. - |
  35. mdio {
  36. #address-cells = <1>;
  37. #size-cells = <0>;
  38. switch@0 {
  39. compatible = "maxlinear,mxl86282";
  40. reg = <0>;
  41. ethernet-ports {
  42. #address-cells = <1>;
  43. #size-cells = <0>;
  44. /* Microcontroller port */
  45. port@0 {
  46. reg = <0>;
  47. status = "disabled";
  48. };
  49. port@1 {
  50. reg = <1>;
  51. phy-handle = <&phy0>;
  52. phy-mode = "internal";
  53. };
  54. port@2 {
  55. reg = <2>;
  56. phy-handle = <&phy1>;
  57. phy-mode = "internal";
  58. };
  59. port@3 {
  60. reg = <3>;
  61. phy-handle = <&phy2>;
  62. phy-mode = "internal";
  63. };
  64. port@4 {
  65. reg = <4>;
  66. phy-handle = <&phy3>;
  67. phy-mode = "internal";
  68. };
  69. port@5 {
  70. reg = <5>;
  71. phy-handle = <&phy4>;
  72. phy-mode = "internal";
  73. };
  74. port@6 {
  75. reg = <6>;
  76. phy-handle = <&phy5>;
  77. phy-mode = "internal";
  78. };
  79. port@7 {
  80. reg = <7>;
  81. phy-handle = <&phy6>;
  82. phy-mode = "internal";
  83. };
  84. port@8 {
  85. reg = <8>;
  86. phy-handle = <&phy7>;
  87. phy-mode = "internal";
  88. };
  89. port@9 {
  90. reg = <9>;
  91. label = "cpu";
  92. ethernet = <&gmac0>;
  93. phy-mode = "usxgmii";
  94. fixed-link {
  95. speed = <10000>;
  96. full-duplex;
  97. };
  98. };
  99. };
  100. mdio {
  101. #address-cells = <1>;
  102. #size-cells = <0>;
  103. phy0: ethernet-phy@0 {
  104. reg = <0>;
  105. };
  106. phy1: ethernet-phy@1 {
  107. reg = <1>;
  108. };
  109. phy2: ethernet-phy@2 {
  110. reg = <2>;
  111. };
  112. phy3: ethernet-phy@3 {
  113. reg = <3>;
  114. };
  115. phy4: ethernet-phy@4 {
  116. reg = <4>;
  117. };
  118. phy5: ethernet-phy@5 {
  119. reg = <5>;
  120. };
  121. phy6: ethernet-phy@6 {
  122. reg = <6>;
  123. };
  124. phy7: ethernet-phy@7 {
  125. reg = <7>;
  126. };
  127. };
  128. };
  129. };