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