xref: /linux/Documentation/devicetree/bindings/net/pse-pd/microchip,pd692x0.yaml (revision 0fe53c0ab018b3399b8d4be95f32fd017c9719e1)
19c1de033SKory Maincent (Dent Project)# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
29c1de033SKory Maincent (Dent Project)%YAML 1.2
39c1de033SKory Maincent (Dent Project)---
49c1de033SKory Maincent (Dent Project)$id: http://devicetree.org/schemas/net/pse-pd/microchip,pd692x0.yaml#
59c1de033SKory Maincent (Dent Project)$schema: http://devicetree.org/meta-schemas/core.yaml#
69c1de033SKory Maincent (Dent Project)
79c1de033SKory Maincent (Dent Project)title: Microchip PD692x0 Power Sourcing Equipment controller
89c1de033SKory Maincent (Dent Project)
99c1de033SKory Maincent (Dent Project)maintainers:
109c1de033SKory Maincent (Dent Project)  - Kory Maincent <kory.maincent@bootlin.com>
119c1de033SKory Maincent (Dent Project)
129c1de033SKory Maincent (Dent Project)allOf:
139c1de033SKory Maincent (Dent Project)  - $ref: pse-controller.yaml#
149c1de033SKory Maincent (Dent Project)
159c1de033SKory Maincent (Dent Project)properties:
169c1de033SKory Maincent (Dent Project)  compatible:
179c1de033SKory Maincent (Dent Project)    enum:
189c1de033SKory Maincent (Dent Project)      - microchip,pd69200
199c1de033SKory Maincent (Dent Project)      - microchip,pd69210
209c1de033SKory Maincent (Dent Project)      - microchip,pd69220
219c1de033SKory Maincent (Dent Project)
229c1de033SKory Maincent (Dent Project)  reg:
239c1de033SKory Maincent (Dent Project)    maxItems: 1
249c1de033SKory Maincent (Dent Project)
259c1de033SKory Maincent (Dent Project)  managers:
269c1de033SKory Maincent (Dent Project)    type: object
27*0fe53c0aSRob Herring (Arm)    additionalProperties: false
289c1de033SKory Maincent (Dent Project)    description:
299c1de033SKory Maincent (Dent Project)      List of the PD69208T4/PD69204T4/PD69208M PSE managers. Each manager
309c1de033SKory Maincent (Dent Project)      have 4 or 8 physical ports according to the chip version. No need to
319c1de033SKory Maincent (Dent Project)      specify the SPI chip select as it is automatically detected by the
329c1de033SKory Maincent (Dent Project)      PD692x0 PSE controller. The PSE managers have to be described from
339c1de033SKory Maincent (Dent Project)      the lowest chip select to the greatest one, which is the detection
349c1de033SKory Maincent (Dent Project)      behavior of the PD692x0 PSE controller. The PD692x0 support up to
359c1de033SKory Maincent (Dent Project)      12 PSE managers which can expose up to 96 physical ports. All
369c1de033SKory Maincent (Dent Project)      physical ports available on a manager have to be described in the
379c1de033SKory Maincent (Dent Project)      incremental order even if they are not used.
389c1de033SKory Maincent (Dent Project)
399c1de033SKory Maincent (Dent Project)    properties:
409c1de033SKory Maincent (Dent Project)      "#address-cells":
419c1de033SKory Maincent (Dent Project)        const: 1
429c1de033SKory Maincent (Dent Project)
439c1de033SKory Maincent (Dent Project)      "#size-cells":
449c1de033SKory Maincent (Dent Project)        const: 0
459c1de033SKory Maincent (Dent Project)
469c1de033SKory Maincent (Dent Project)    required:
479c1de033SKory Maincent (Dent Project)      - "#address-cells"
489c1de033SKory Maincent (Dent Project)      - "#size-cells"
499c1de033SKory Maincent (Dent Project)
509c1de033SKory Maincent (Dent Project)    patternProperties:
51*0fe53c0aSRob Herring (Arm)      "^manager@[0-9a-b]$":
529c1de033SKory Maincent (Dent Project)        type: object
53*0fe53c0aSRob Herring (Arm)        additionalProperties: false
549c1de033SKory Maincent (Dent Project)        description:
559c1de033SKory Maincent (Dent Project)          PD69208T4/PD69204T4/PD69208M PSE manager exposing 4 or 8 physical
569c1de033SKory Maincent (Dent Project)          ports.
579c1de033SKory Maincent (Dent Project)
589c1de033SKory Maincent (Dent Project)        properties:
599c1de033SKory Maincent (Dent Project)          reg:
609c1de033SKory Maincent (Dent Project)            description:
619c1de033SKory Maincent (Dent Project)              Incremental index of the PSE manager starting from 0, ranging
629c1de033SKory Maincent (Dent Project)              from lowest to highest chip select, up to 11.
639c1de033SKory Maincent (Dent Project)            maxItems: 1
649c1de033SKory Maincent (Dent Project)
659c1de033SKory Maincent (Dent Project)          "#address-cells":
669c1de033SKory Maincent (Dent Project)            const: 1
679c1de033SKory Maincent (Dent Project)
689c1de033SKory Maincent (Dent Project)          "#size-cells":
699c1de033SKory Maincent (Dent Project)            const: 0
709c1de033SKory Maincent (Dent Project)
719c1de033SKory Maincent (Dent Project)        patternProperties:
729c1de033SKory Maincent (Dent Project)          '^port@[0-7]$':
739c1de033SKory Maincent (Dent Project)            type: object
74*0fe53c0aSRob Herring (Arm)            additionalProperties: false
75*0fe53c0aSRob Herring (Arm)
76*0fe53c0aSRob Herring (Arm)            properties:
77*0fe53c0aSRob Herring (Arm)              reg:
78*0fe53c0aSRob Herring (Arm)                maxItems: 1
79*0fe53c0aSRob Herring (Arm)
809c1de033SKory Maincent (Dent Project)            required:
819c1de033SKory Maincent (Dent Project)              - reg
829c1de033SKory Maincent (Dent Project)
839c1de033SKory Maincent (Dent Project)        required:
849c1de033SKory Maincent (Dent Project)          - reg
859c1de033SKory Maincent (Dent Project)          - "#address-cells"
869c1de033SKory Maincent (Dent Project)          - "#size-cells"
879c1de033SKory Maincent (Dent Project)
889c1de033SKory Maincent (Dent Project)required:
899c1de033SKory Maincent (Dent Project)  - compatible
909c1de033SKory Maincent (Dent Project)  - reg
919c1de033SKory Maincent (Dent Project)  - pse-pis
929c1de033SKory Maincent (Dent Project)
939c1de033SKory Maincent (Dent Project)unevaluatedProperties: false
949c1de033SKory Maincent (Dent Project)
959c1de033SKory Maincent (Dent Project)examples:
969c1de033SKory Maincent (Dent Project)  - |
979c1de033SKory Maincent (Dent Project)    i2c {
989c1de033SKory Maincent (Dent Project)      #address-cells = <1>;
999c1de033SKory Maincent (Dent Project)      #size-cells = <0>;
1009c1de033SKory Maincent (Dent Project)
1019c1de033SKory Maincent (Dent Project)      ethernet-pse@3c {
1029c1de033SKory Maincent (Dent Project)        compatible = "microchip,pd69200";
1039c1de033SKory Maincent (Dent Project)        reg = <0x3c>;
1049c1de033SKory Maincent (Dent Project)
1059c1de033SKory Maincent (Dent Project)        managers {
1069c1de033SKory Maincent (Dent Project)          #address-cells = <1>;
1079c1de033SKory Maincent (Dent Project)          #size-cells = <0>;
1089c1de033SKory Maincent (Dent Project)
1099c1de033SKory Maincent (Dent Project)          manager@0 {
1109c1de033SKory Maincent (Dent Project)            reg = <0>;
1119c1de033SKory Maincent (Dent Project)            #address-cells = <1>;
1129c1de033SKory Maincent (Dent Project)            #size-cells = <0>;
1139c1de033SKory Maincent (Dent Project)
1149c1de033SKory Maincent (Dent Project)            phys0: port@0 {
1159c1de033SKory Maincent (Dent Project)              reg = <0>;
1169c1de033SKory Maincent (Dent Project)            };
1179c1de033SKory Maincent (Dent Project)
1189c1de033SKory Maincent (Dent Project)            phys1: port@1 {
1199c1de033SKory Maincent (Dent Project)              reg = <1>;
1209c1de033SKory Maincent (Dent Project)            };
1219c1de033SKory Maincent (Dent Project)
1229c1de033SKory Maincent (Dent Project)            phys2: port@2 {
1239c1de033SKory Maincent (Dent Project)              reg = <2>;
1249c1de033SKory Maincent (Dent Project)            };
1259c1de033SKory Maincent (Dent Project)
1269c1de033SKory Maincent (Dent Project)            phys3: port@3 {
1279c1de033SKory Maincent (Dent Project)              reg = <3>;
1289c1de033SKory Maincent (Dent Project)            };
1299c1de033SKory Maincent (Dent Project)          };
1309c1de033SKory Maincent (Dent Project)
1319c1de033SKory Maincent (Dent Project)          manager@1 {
1329c1de033SKory Maincent (Dent Project)            reg = <1>;
1339c1de033SKory Maincent (Dent Project)            #address-cells = <1>;
1349c1de033SKory Maincent (Dent Project)            #size-cells = <0>;
1359c1de033SKory Maincent (Dent Project)
1369c1de033SKory Maincent (Dent Project)            phys4: port@0 {
1379c1de033SKory Maincent (Dent Project)              reg = <0>;
1389c1de033SKory Maincent (Dent Project)            };
1399c1de033SKory Maincent (Dent Project)
1409c1de033SKory Maincent (Dent Project)            phys5: port@1 {
1419c1de033SKory Maincent (Dent Project)              reg = <1>;
1429c1de033SKory Maincent (Dent Project)            };
1439c1de033SKory Maincent (Dent Project)
1449c1de033SKory Maincent (Dent Project)            phys6: port@2 {
1459c1de033SKory Maincent (Dent Project)              reg = <2>;
1469c1de033SKory Maincent (Dent Project)            };
1479c1de033SKory Maincent (Dent Project)
1489c1de033SKory Maincent (Dent Project)            phys7: port@3 {
1499c1de033SKory Maincent (Dent Project)              reg = <3>;
1509c1de033SKory Maincent (Dent Project)            };
1519c1de033SKory Maincent (Dent Project)          };
1529c1de033SKory Maincent (Dent Project)        };
1539c1de033SKory Maincent (Dent Project)
1549c1de033SKory Maincent (Dent Project)        pse-pis {
1559c1de033SKory Maincent (Dent Project)          #address-cells = <1>;
1569c1de033SKory Maincent (Dent Project)          #size-cells = <0>;
1579c1de033SKory Maincent (Dent Project)
1589c1de033SKory Maincent (Dent Project)          pse_pi0: pse-pi@0 {
1599c1de033SKory Maincent (Dent Project)            reg = <0>;
1609c1de033SKory Maincent (Dent Project)            #pse-cells = <0>;
1619c1de033SKory Maincent (Dent Project)            pairset-names = "alternative-a", "alternative-b";
1629c1de033SKory Maincent (Dent Project)            pairsets = <&phys0>, <&phys1>;
1639c1de033SKory Maincent (Dent Project)            polarity-supported = "MDI", "S";
1649c1de033SKory Maincent (Dent Project)            vpwr-supply = <&vpwr1>;
1659c1de033SKory Maincent (Dent Project)          };
1669c1de033SKory Maincent (Dent Project)          pse_pi1: pse-pi@1 {
1679c1de033SKory Maincent (Dent Project)            reg = <1>;
1689c1de033SKory Maincent (Dent Project)            #pse-cells = <0>;
1699c1de033SKory Maincent (Dent Project)            pairset-names = "alternative-a";
1709c1de033SKory Maincent (Dent Project)            pairsets = <&phys2>;
1719c1de033SKory Maincent (Dent Project)            polarity-supported = "MDI";
1729c1de033SKory Maincent (Dent Project)            vpwr-supply = <&vpwr2>;
1739c1de033SKory Maincent (Dent Project)          };
1749c1de033SKory Maincent (Dent Project)        };
1759c1de033SKory Maincent (Dent Project)      };
1769c1de033SKory Maincent (Dent Project)    };
177