brcm,bcmgenet.yaml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/net/brcm,bcmgenet.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Broadcom BCM7xxx Ethernet Controller (GENET)
  7. maintainers:
  8. - Doug Berger <opendmb@gmail.com>
  9. - Florian Fainelli <f.fainelli@gmail.com>
  10. properties:
  11. compatible:
  12. enum:
  13. - brcm,genet-v1
  14. - brcm,genet-v2
  15. - brcm,genet-v3
  16. - brcm,genet-v4
  17. - brcm,genet-v5
  18. - brcm,bcm2711-genet-v5
  19. - brcm,bcm7712-genet-v5
  20. reg:
  21. maxItems: 1
  22. interrupts:
  23. minItems: 2
  24. items:
  25. - description: general purpose interrupt line
  26. - description: RX and TX rings interrupt line
  27. - description: Wake-on-LAN interrupt line
  28. clocks:
  29. minItems: 1
  30. items:
  31. - description: main clock
  32. - description: EEE clock
  33. - description: Wake-on-LAN clock
  34. clock-names:
  35. minItems: 1
  36. items:
  37. - const: enet
  38. - const: enet-eee
  39. - const: enet-wol
  40. "#address-cells":
  41. const: 1
  42. "#size-cells":
  43. const: 1
  44. patternProperties:
  45. "^mdio@[0-9a-f]+$":
  46. type: object
  47. $ref: brcm,unimac-mdio.yaml
  48. description:
  49. GENET internal UniMAC MDIO bus
  50. required:
  51. - reg
  52. - interrupts
  53. - phy-mode
  54. - "#address-cells"
  55. - "#size-cells"
  56. allOf:
  57. - $ref: ethernet-controller.yaml
  58. unevaluatedProperties: false
  59. examples:
  60. - |
  61. ethernet@f0b60000 {
  62. phy-mode = "internal";
  63. phy-handle = <&phy1>;
  64. mac-address = [ 00 10 18 36 23 1a ];
  65. compatible = "brcm,genet-v4";
  66. reg = <0xf0b60000 0xfc4c>;
  67. interrupts = <0x0 0x14 0x0>, <0x0 0x15 0x0>;
  68. #address-cells = <1>;
  69. #size-cells = <1>;
  70. mdio0: mdio@e14 {
  71. compatible = "brcm,genet-mdio-v4";
  72. #address-cells = <1>;
  73. #size-cells = <0>;
  74. reg = <0xe14 0x8>;
  75. phy1: ethernet-phy@1 {
  76. max-speed = <1000>;
  77. reg = <1>;
  78. compatible = "ethernet-phy-ieee802.3-c22";
  79. };
  80. };
  81. };
  82. - |
  83. ethernet@f0b80000 {
  84. phy-mode = "moca";
  85. fixed-link = <1 0 1000 0 0>;
  86. mac-address = [ 00 10 18 36 24 1a ];
  87. compatible = "brcm,genet-v4";
  88. #address-cells = <1>;
  89. #size-cells = <1>;
  90. reg = <0xf0b80000 0xfc4c>;
  91. interrupts = <0x0 0x16 0x0>, <0x0 0x17 0x0>;
  92. mdio1: mdio@e14 {
  93. compatible = "brcm,genet-mdio-v4";
  94. #address-cells = <1>;
  95. #size-cells = <0>;
  96. reg = <0xe14 0x8>;
  97. };
  98. };
  99. - |
  100. ethernet@f0ba0000 {
  101. phy-mode = "rgmii";
  102. phy-handle = <&phy0>;
  103. mac-address = [ 00 10 18 36 26 1a ];
  104. compatible = "brcm,genet-v4";
  105. #address-cells = <1>;
  106. #size-cells = <1>;
  107. reg = <0xf0ba0000 0xfc4c>;
  108. interrupts = <0x0 0x18 0x0>, <0x0 0x19 0x0>;
  109. mdio2: mdio@e14 {
  110. compatible = "brcm,genet-mdio-v4";
  111. #address-cells = <1>;
  112. #size-cells = <0>;
  113. reg = <0xe14 0x8>;
  114. phy0: ethernet-phy@0 {
  115. max-speed = <1000>;
  116. reg = <0>;
  117. compatible = "ethernet-phy-ieee802.3-c22";
  118. };
  119. };
  120. };