Documentation / devicetree / bindings / net / pse-pd / skyworks,si3474.yaml


Based on kernel version 6.18. Page generated on 2025-12-02 09:03 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 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/pse-pd/skyworks,si3474.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Skyworks Si3474 Power Sourcing Equipment controller

maintainers:
  - Piotr Kubik <piotr.kubik@adtran.com>

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

properties:
  compatible:
    enum:
      - skyworks,si3474

  reg:
    maxItems: 2

  reg-names:
    items:
      - const: main
      - const: secondary

  channels:
    description: The Si3474 is a single-chip PoE PSE controller managing
      8 physical power delivery channels. Internally, it's structured
      into two logical "Quads".
      Quad 0 Manages physical channels ('ports' in datasheet) 0, 1, 2, 3
      Quad 1 Manages physical channels ('ports' in datasheet) 4, 5, 6, 7.

    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"

required:
  - compatible
  - reg
  - pse-pis

unevaluatedProperties: false

examples:
  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;
 
      ethernet-pse@26 {
        compatible = "skyworks,si3474";
        reg-names = "main", "secondary";
        reg = <0x26>, <0x27>;
 
        channels {
          #address-cells = <1>;
          #size-cells = <0>;
          phys0_0: channel@0 {
            reg = <0>;
          };
          phys0_1: channel@1 {
            reg = <1>;
          };
          phys0_2: channel@2 {
            reg = <2>;
          };
          phys0_3: channel@3 {
            reg = <3>;
          };
          phys0_4: channel@4 {
            reg = <4>;
          };
          phys0_5: channel@5 {
            reg = <5>;
          };
          phys0_6: channel@6 {
            reg = <6>;
          };
          phys0_7: channel@7 {
            reg = <7>;
          };
        };
        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_0>, <&phys0_1>;
            polarity-supported = "MDI-X", "S";
            vpwr-supply = <&reg_pse>;
          };
          pse_pi1: pse-pi@1 {
            reg = <1>;
            #pse-cells = <0>;
            pairset-names = "alternative-a", "alternative-b";
            pairsets = <&phys0_2>, <&phys0_3>;
            polarity-supported = "MDI-X", "S";
            vpwr-supply = <&reg_pse>;
          };
          pse_pi2: pse-pi@2 {
            reg = <2>;
            #pse-cells = <0>;
            pairset-names = "alternative-a", "alternative-b";
            pairsets = <&phys0_4>, <&phys0_5>;
            polarity-supported = "MDI-X", "S";
            vpwr-supply = <&reg_pse>;
          };
          pse_pi3: pse-pi@3 {
            reg = <3>;
            #pse-cells = <0>;
            pairset-names = "alternative-a", "alternative-b";
            pairsets = <&phys0_6>, <&phys0_7>;
            polarity-supported = "MDI-X", "S";
            vpwr-supply = <&reg_pse>;
          };
        };
      };
    };