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