microchip,pd692x0.yaml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/net/pse-pd/microchip,pd692x0.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Microchip PD692x0 Power Sourcing Equipment controller
  7. maintainers:
  8. - Kory Maincent <kory.maincent@bootlin.com>
  9. allOf:
  10. - $ref: pse-controller.yaml#
  11. properties:
  12. compatible:
  13. enum:
  14. - microchip,pd69200
  15. - microchip,pd69210
  16. - microchip,pd69220
  17. reg:
  18. maxItems: 1
  19. vdd-supply:
  20. description: Regulator that provides 3.3V VDD power supply.
  21. vdda-supply:
  22. description: Regulator that provides 3.3V VDDA power supply.
  23. managers:
  24. type: object
  25. additionalProperties: false
  26. description:
  27. List of the PD69208T4/PD69204T4/PD69208M PSE managers. Each manager
  28. have 4 or 8 physical ports according to the chip version. No need to
  29. specify the SPI chip select as it is automatically detected by the
  30. PD692x0 PSE controller. The PSE managers have to be described from
  31. the lowest chip select to the greatest one, which is the detection
  32. behavior of the PD692x0 PSE controller. The PD692x0 support up to
  33. 12 PSE managers which can expose up to 96 physical ports. All
  34. physical ports available on a manager have to be described in the
  35. incremental order even if they are not used.
  36. properties:
  37. "#address-cells":
  38. const: 1
  39. "#size-cells":
  40. const: 0
  41. required:
  42. - "#address-cells"
  43. - "#size-cells"
  44. patternProperties:
  45. "^manager@[0-9a-b]$":
  46. type: object
  47. additionalProperties: false
  48. description:
  49. PD69208T4/PD69204T4/PD69208M PSE manager exposing 4 or 8 physical
  50. ports.
  51. properties:
  52. reg:
  53. description:
  54. Incremental index of the PSE manager starting from 0, ranging
  55. from lowest to highest chip select, up to 11.
  56. maxItems: 1
  57. "#address-cells":
  58. const: 1
  59. "#size-cells":
  60. const: 0
  61. vmain-supply:
  62. description: Regulator that provides 44-57V VMAIN power supply.
  63. vaux5-supply:
  64. description: Regulator that provides 5V VAUX5 power supply.
  65. vaux3p3-supply:
  66. description: Regulator that provides 3.3V VAUX3P3 power supply.
  67. patternProperties:
  68. '^port@[0-7]$':
  69. type: object
  70. additionalProperties: false
  71. properties:
  72. reg:
  73. maxItems: 1
  74. required:
  75. - reg
  76. required:
  77. - reg
  78. - "#address-cells"
  79. - "#size-cells"
  80. required:
  81. - compatible
  82. - reg
  83. - pse-pis
  84. unevaluatedProperties: false
  85. examples:
  86. - |
  87. i2c {
  88. #address-cells = <1>;
  89. #size-cells = <0>;
  90. ethernet-pse@3c {
  91. compatible = "microchip,pd69200";
  92. reg = <0x3c>;
  93. managers {
  94. #address-cells = <1>;
  95. #size-cells = <0>;
  96. manager0: manager@0 {
  97. reg = <0>;
  98. #address-cells = <1>;
  99. #size-cells = <0>;
  100. vmain-supply = <&pse1_supply>;
  101. phys0: port@0 {
  102. reg = <0>;
  103. };
  104. phys1: port@1 {
  105. reg = <1>;
  106. };
  107. phys2: port@2 {
  108. reg = <2>;
  109. };
  110. phys3: port@3 {
  111. reg = <3>;
  112. };
  113. };
  114. manager@1 {
  115. reg = <1>;
  116. #address-cells = <1>;
  117. #size-cells = <0>;
  118. phys4: port@0 {
  119. reg = <0>;
  120. };
  121. phys5: port@1 {
  122. reg = <1>;
  123. };
  124. phys6: port@2 {
  125. reg = <2>;
  126. };
  127. phys7: port@3 {
  128. reg = <3>;
  129. };
  130. };
  131. };
  132. pse-pis {
  133. #address-cells = <1>;
  134. #size-cells = <0>;
  135. pse_pi0: pse-pi@0 {
  136. reg = <0>;
  137. #pse-cells = <0>;
  138. pairset-names = "alternative-a", "alternative-b";
  139. pairsets = <&phys0>, <&phys1>;
  140. polarity-supported = "MDI", "S";
  141. vpwr-supply = <&manager0>;
  142. };
  143. pse_pi1: pse-pi@1 {
  144. reg = <1>;
  145. #pse-cells = <0>;
  146. pairset-names = "alternative-a";
  147. pairsets = <&phys2>;
  148. polarity-supported = "MDI";
  149. vpwr-supply = <&manager0>;
  150. };
  151. };
  152. };
  153. };