Documentation / devicetree / bindings / net / pse-pd / ti,tps23881.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/pse-pd/ti,tps23881.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TI TPS23881 Power Sourcing Equipment controller

maintainers:
  - Kory Maincent <kory.maincent@bootlin.com>

allOf:
  - $ref: pse-controller.yaml#

properties:
  compatible:
    enum:
      - ti,tps23881

  reg:
    maxItems: 1
 
  '#pse-cells':
    const: 1

  channels:
    description: each set of 8 ports can be assigned to one physical
      channels or two for PoE4. This parameter describes the configuration
      of the ports conversion matrix that establishes relationship between
      the logical ports and the physical channels.
    type: object
    additionalProperties: false

    properties:
      "#address-cells":
        const: 1
 
      "#size-cells":
        const: 0

    patternProperties:
      '^channel@[0-7]$':
        type: object
        additionalProperties: false

        properties:
          reg:
            maxItems: 1

        required:
          - reg

    required:
      - "#address-cells"
      - "#size-cells"

unevaluatedProperties: false

required:
  - compatible
  - reg

examples:
  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;
 
      ethernet-pse@20 {
        compatible = "ti,tps23881";
        reg = <0x20>;
 
        channels {
          #address-cells = <1>;
          #size-cells = <0>;
 
          phys0: channel@0 {
            reg = <0>;
          };
 
          phys1: channel@1 {
            reg = <1>;
          };
 
          phys2: channel@2 {
            reg = <2>;
          };
        };
 
        pse-pis {
          #address-cells = <1>;
          #size-cells = <0>;
 
          pse_pi0: pse-pi@0 {
            reg = <0>;
            #pse-cells = <0>;
            pairset-names = "alternative-a", "alternative-b";
            pairsets = <&phys0>, <&phys1>;
            polarity-supported = "MDI", "S";
            vpwr-supply = <&vpwr1>;
          };
 
          pse_pi1: pse-pi@1 {
            reg = <1>;
            #pse-cells = <0>;
            pairset-names = "alternative-a";
            pairsets = <&phys2>;
            polarity-supported = "MDI";
            vpwr-supply = <&vpwr2>;
          };
        };
      };
    };