| # 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 = <®_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 = <®_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 = <®_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 = <®_pse>; |
| }; |
| }; |
| }; |
| }; |