xref: /linux/Documentation/devicetree/bindings/net/pse-pd/ti,tps23881.yaml (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
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/ti,tps23881.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TI TPS23881 Power Sourcing Equipment controller
8
9maintainers:
10  - Kory Maincent <kory.maincent@bootlin.com>
11
12allOf:
13  - $ref: pse-controller.yaml#
14
15properties:
16  compatible:
17    enum:
18      - ti,tps23881
19
20  reg:
21    maxItems: 1
22
23  '#pse-cells':
24    const: 1
25
26  reset-gpios:
27    maxItems: 1
28
29  channels:
30    description: each set of 8 ports can be assigned to one physical
31      channels or two for PoE4. This parameter describes the configuration
32      of the ports conversion matrix that establishes relationship between
33      the logical ports and the physical channels.
34    type: object
35    additionalProperties: false
36
37    properties:
38      "#address-cells":
39        const: 1
40
41      "#size-cells":
42        const: 0
43
44    patternProperties:
45      '^channel@[0-7]$':
46        type: object
47        additionalProperties: false
48
49        properties:
50          reg:
51            maxItems: 1
52
53        required:
54          - reg
55
56    required:
57      - "#address-cells"
58      - "#size-cells"
59
60unevaluatedProperties: false
61
62required:
63  - compatible
64  - reg
65
66examples:
67  - |
68    i2c {
69      #address-cells = <1>;
70      #size-cells = <0>;
71
72      ethernet-pse@20 {
73        compatible = "ti,tps23881";
74        reg = <0x20>;
75
76        channels {
77          #address-cells = <1>;
78          #size-cells = <0>;
79
80          phys0: channel@0 {
81            reg = <0>;
82          };
83
84          phys1: channel@1 {
85            reg = <1>;
86          };
87
88          phys2: channel@2 {
89            reg = <2>;
90          };
91        };
92
93        pse-pis {
94          #address-cells = <1>;
95          #size-cells = <0>;
96
97          pse_pi0: pse-pi@0 {
98            reg = <0>;
99            #pse-cells = <0>;
100            pairset-names = "alternative-a", "alternative-b";
101            pairsets = <&phys0>, <&phys1>;
102            polarity-supported = "MDI", "S";
103            vpwr-supply = <&vpwr1>;
104          };
105
106          pse_pi1: pse-pi@1 {
107            reg = <1>;
108            #pse-cells = <0>;
109            pairset-names = "alternative-a";
110            pairsets = <&phys2>;
111            polarity-supported = "MDI";
112            vpwr-supply = <&vpwr2>;
113          };
114        };
115      };
116    };
117