Linux-6.18.2/Documentation/devicetree/bindings/net/pse-pd/skyworks,si3474.yaml
2025-12-23 20:06:59 +08:00

145 lines
3.4 KiB
YAML

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