xref: /freebsd-src/sys/contrib/device-tree/Bindings/net/pse-pd/pse-controller.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
17ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
27ef62cebSEmmanuel Vadot%YAML 1.2
37ef62cebSEmmanuel Vadot---
47ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/net/pse-pd/pse-controller.yaml#
57ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
67ef62cebSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Power Sourcing Equipment (PSE).
87ef62cebSEmmanuel Vadot
97ef62cebSEmmanuel Vadotdescription: Binding for the Power Sourcing Equipment (PSE) as defined in the
107ef62cebSEmmanuel Vadot  IEEE 802.3 specification. It is designed for hardware which is delivering
117ef62cebSEmmanuel Vadot  power over twisted pair/ethernet cable. The ethernet-pse nodes should be
127ef62cebSEmmanuel Vadot  used to describe PSE controller and referenced by the ethernet-phy node.
137ef62cebSEmmanuel Vadot
147ef62cebSEmmanuel Vadotmaintainers:
157ef62cebSEmmanuel Vadot  - Oleksij Rempel <o.rempel@pengutronix.de>
16*7d0873ebSEmmanuel Vadot  - Kory Maincent <kory.maincent@bootlin.com>
177ef62cebSEmmanuel Vadot
187ef62cebSEmmanuel Vadotproperties:
197ef62cebSEmmanuel Vadot  $nodename:
20f126890aSEmmanuel Vadot    pattern: "^ethernet-pse(@.*|-([0-9]|[1-9][0-9]+))?$"
217ef62cebSEmmanuel Vadot
227ef62cebSEmmanuel Vadot  "#pse-cells":
237ef62cebSEmmanuel Vadot    description:
247ef62cebSEmmanuel Vadot      Used to uniquely identify a PSE instance within an IC. Will be
257ef62cebSEmmanuel Vadot      0 on PSE nodes with only a single output and at least 1 on nodes
26*7d0873ebSEmmanuel Vadot      controlling several outputs which are not described in the pse-pis
27*7d0873ebSEmmanuel Vadot      subnode. This property is deprecated, please use pse-pis instead.
287ef62cebSEmmanuel Vadot    enum: [0, 1]
297ef62cebSEmmanuel Vadot
30*7d0873ebSEmmanuel Vadot  pse-pis:
31*7d0873ebSEmmanuel Vadot    type: object
32*7d0873ebSEmmanuel Vadot    description:
33*7d0873ebSEmmanuel Vadot      Overview of the PSE PIs provided by the controller.
34*7d0873ebSEmmanuel Vadot
35*7d0873ebSEmmanuel Vadot    properties:
36*7d0873ebSEmmanuel Vadot      "#address-cells":
37*7d0873ebSEmmanuel Vadot        const: 1
38*7d0873ebSEmmanuel Vadot
39*7d0873ebSEmmanuel Vadot      "#size-cells":
40*7d0873ebSEmmanuel Vadot        const: 0
41*7d0873ebSEmmanuel Vadot
427ef62cebSEmmanuel Vadot    required:
43*7d0873ebSEmmanuel Vadot      - "#address-cells"
44*7d0873ebSEmmanuel Vadot      - "#size-cells"
45*7d0873ebSEmmanuel Vadot
46*7d0873ebSEmmanuel Vadot    patternProperties:
47*7d0873ebSEmmanuel Vadot      "^pse-pi@[0-9a-f]+$":
48*7d0873ebSEmmanuel Vadot        type: object
49*7d0873ebSEmmanuel Vadot        description:
50*7d0873ebSEmmanuel Vadot          PSE PI for power delivery via pairsets, compliant with IEEE
51*7d0873ebSEmmanuel Vadot          802.3-2022, Section 145.2.4. Each pairset comprises a positive and
52*7d0873ebSEmmanuel Vadot          a negative VPSE pair, adhering to the pinout configurations
53*7d0873ebSEmmanuel Vadot          detailed in the standard.
54*7d0873ebSEmmanuel Vadot          See Documentation/networking/pse-pd/pse-pi.rst for details.
55*7d0873ebSEmmanuel Vadot
56*7d0873ebSEmmanuel Vadot        properties:
57*7d0873ebSEmmanuel Vadot          reg:
58*7d0873ebSEmmanuel Vadot            description:
59*7d0873ebSEmmanuel Vadot              Address describing the PSE PI index.
60*7d0873ebSEmmanuel Vadot            maxItems: 1
61*7d0873ebSEmmanuel Vadot
62*7d0873ebSEmmanuel Vadot          "#pse-cells":
63*7d0873ebSEmmanuel Vadot            const: 0
64*7d0873ebSEmmanuel Vadot
65*7d0873ebSEmmanuel Vadot          pairset-names:
66*7d0873ebSEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/string-array
67*7d0873ebSEmmanuel Vadot            description:
68*7d0873ebSEmmanuel Vadot              Names of the pairsets as per IEEE 802.3-2022, Section 145.2.4.
69*7d0873ebSEmmanuel Vadot              Each name should correspond to a phandle in the 'pairset'
70*7d0873ebSEmmanuel Vadot              property pointing to the power supply for that pairset.
71*7d0873ebSEmmanuel Vadot            minItems: 1
72*7d0873ebSEmmanuel Vadot            maxItems: 2
73*7d0873ebSEmmanuel Vadot            items:
74*7d0873ebSEmmanuel Vadot              enum:
75*7d0873ebSEmmanuel Vadot                - alternative-a
76*7d0873ebSEmmanuel Vadot                - alternative-b
77*7d0873ebSEmmanuel Vadot
78*7d0873ebSEmmanuel Vadot          pairsets:
79*7d0873ebSEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/phandle-array
80*7d0873ebSEmmanuel Vadot            description:
81*7d0873ebSEmmanuel Vadot              List of phandles, each pointing to the power supply for the
82*7d0873ebSEmmanuel Vadot              corresponding pairset named in 'pairset-names'. This property
83*7d0873ebSEmmanuel Vadot              aligns with IEEE 802.3-2022, Section 33.2.3 and 145.2.4.
84*7d0873ebSEmmanuel Vadot              PSE Pinout Alternatives (as per IEEE 802.3-2022 Table 145\u20133)
85*7d0873ebSEmmanuel Vadot              |-----------|---------------|---------------|---------------|---------------|
86*7d0873ebSEmmanuel Vadot              | Conductor | Alternative A | Alternative A | Alternative B | Alternative B |
87*7d0873ebSEmmanuel Vadot              |           |    (MDI-X)    |     (MDI)     |      (X)      |      (S)      |
88*7d0873ebSEmmanuel Vadot              |-----------|---------------|---------------|---------------|---------------|
89*7d0873ebSEmmanuel Vadot              | 1         | Negative VPSE | Positive VPSE | -             | -             |
90*7d0873ebSEmmanuel Vadot              | 2         | Negative VPSE | Positive VPSE | -             | -             |
91*7d0873ebSEmmanuel Vadot              | 3         | Positive VPSE | Negative VPSE | -             | -             |
92*7d0873ebSEmmanuel Vadot              | 4         | -             | -             | Negative VPSE | Positive VPSE |
93*7d0873ebSEmmanuel Vadot              | 5         | -             | -             | Negative VPSE | Positive VPSE |
94*7d0873ebSEmmanuel Vadot              | 6         | Positive VPSE | Negative VPSE | -             | -             |
95*7d0873ebSEmmanuel Vadot              | 7         | -             | -             | Positive VPSE | Negative VPSE |
96*7d0873ebSEmmanuel Vadot              | 8         | -             | -             | Positive VPSE | Negative VPSE |
97*7d0873ebSEmmanuel Vadot            minItems: 1
98*7d0873ebSEmmanuel Vadot            maxItems: 2
99*7d0873ebSEmmanuel Vadot
100*7d0873ebSEmmanuel Vadot          polarity-supported:
101*7d0873ebSEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/string-array
102*7d0873ebSEmmanuel Vadot            description:
103*7d0873ebSEmmanuel Vadot              Polarity configuration supported by the PSE PI pairsets.
104*7d0873ebSEmmanuel Vadot            minItems: 1
105*7d0873ebSEmmanuel Vadot            maxItems: 4
106*7d0873ebSEmmanuel Vadot            items:
107*7d0873ebSEmmanuel Vadot              enum:
108*7d0873ebSEmmanuel Vadot                - MDI-X
109*7d0873ebSEmmanuel Vadot                - MDI
110*7d0873ebSEmmanuel Vadot                - X
111*7d0873ebSEmmanuel Vadot                - S
112*7d0873ebSEmmanuel Vadot
113*7d0873ebSEmmanuel Vadot          vpwr-supply:
114*7d0873ebSEmmanuel Vadot            description: Regulator power supply for the PSE PI.
115*7d0873ebSEmmanuel Vadot
116*7d0873ebSEmmanuel Vadot        required:
117*7d0873ebSEmmanuel Vadot          - reg
1187ef62cebSEmmanuel Vadot          - "#pse-cells"
1197ef62cebSEmmanuel Vadot
120*7d0873ebSEmmanuel VadotoneOf:
121*7d0873ebSEmmanuel Vadot  - required:
122*7d0873ebSEmmanuel Vadot      - "#pse-cells"
123*7d0873ebSEmmanuel Vadot  - required:
124*7d0873ebSEmmanuel Vadot      - pse-pis
125*7d0873ebSEmmanuel Vadot
1267ef62cebSEmmanuel VadotadditionalProperties: true
1277ef62cebSEmmanuel Vadot
1287ef62cebSEmmanuel Vadot...
129