Commit f562202f authored by Kory Maincent (Dent Project)'s avatar Kory Maincent (Dent Project) Committed by Jakub Kicinski
Browse files

dt-bindings: net: pse-pd: Add bindings for TPS23881 PSE controller



Add the TPS23881 I2C Power Sourcing Equipment controller device tree
bindings documentation.

Signed-off-by: default avatarKory Maincent <kory.maincent@bootlin.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20240417-feature_poe-v9-13-242293fd1900@bootlin.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 9a993845
Loading
Loading
Loading
Loading
+95 −0
Original line number Diff line number Diff line
# 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

    patternProperties:
      '^channel@[0-7]$':
        type: object
        required:
          - reg

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>;
          };
        };
      };
    };