[RFC PATCH net-next v2 1/2] dt-bindings: net: pse-pd: Add bindings for LTC4266 PSE Controller
From: Kyle Swenson <hidden>
Date: 2026-08-20 14:25:46
Also in:
lkml, netdev
Subsystem:
networking drivers, open firmware and flattened device tree bindings, pse network driver, the rest · Maintainers:
Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Oleksij Rempel, Kory Maincent, Linus Torvalds
Add the LTC4266 Power Sourcing Equipment controller device tree bindings documentation. Signed-off-by: Kyle Swenson <redacted> --- .../bindings/net/pse-pd/lltc,ltc4266.yaml | 180 ++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/pse-pd/lltc,ltc4266.yaml
diff --git a/Documentation/devicetree/bindings/net/pse-pd/lltc,ltc4266.yaml b/Documentation/devicetree/bindings/net/pse-pd/lltc,ltc4266.yaml
new file mode 100644
index 000000000000..b3da8fea0b07
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/pse-pd/lltc,ltc4266.yaml@@ -0,0 +1,180 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/pse-pd/lltc,ltc4266.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Linear Technology LTC4266 Power Sourcing Equipment controller + +maintainers: + - Kyle Swenson <kyle.swenson@est.tech> + +allOf: + - $ref: pse-controller.yaml# + +properties: + compatible: + enum: + - lltc,ltc4266 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + reset-gpios: + maxItems: 1 + + channels: + type: object + additionalProperties: false + description: + Defines the 4 physical delivery channels on the controller that can be + referenced by PSE PIs through their "pairsets" property. The actual port + matrix mapping is created when PSE PIs reference these channels in their + pairsets. + + properties: + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + patternProperties: + '^channel@[0-3]$': + type: object + additionalProperties: false + + properties: + reg: + maxItems: 1 + + sense-resistor-micro-ohms: + description: Sense resistor connected to the channel's MOSFET, used + for current measurement for overcurrent detection. + enum: [250000, 500000] + + required: + - reg + - sense-resistor-micro-ohms + + required: + - '#address-cells' + - '#size-cells' + + pse-pis: + type: object + additionalProperties: false + + properties: + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + patternProperties: + '^pse-pi@[0-3]$': + type: object + properties: + pairsets: + description: The LTC4266 delivers power to a PI over a single + pairset, driven by one of the controller's four channels. There + is no 4-pair mode spreading a PI over two channels, so exactly + one channel phandle is expected. + maxItems: 1 + pairset-names: + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - channels + - pse-pis + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + ethernet-pse@2f { + compatible = "lltc,ltc4266"; + reg = <0x2f>; + interrupts = <8 IRQ_TYPE_LEVEL_LOW>; + interrupt-parent = <&gpio>; + + channels { + #address-cells = <1>; + #size-cells = <0>; + + phys0: channel@0 { + reg = <0>; + sense-resistor-micro-ohms = <500000>; + }; + + phys1: channel@1 { + reg = <1>; + sense-resistor-micro-ohms = <500000>; + }; + + phys2: channel@2 { + reg = <2>; + sense-resistor-micro-ohms = <500000>; + }; + + phys3: channel@3 { + reg = <3>; + sense-resistor-micro-ohms = <500000>; + }; + }; + + pse-pis { + #address-cells = <1>; + #size-cells = <0>; + + pse_pi0: pse-pi@0 { + reg = <0>; + #pse-cells = <0>; + pairset-names = "alternative-a"; + pairsets = <&phys0>; + polarity-supported = "MDI"; + vpwr-supply = <&vreg_pse>; + }; + + pse_pi1: pse-pi@1 { + reg = <1>; + #pse-cells = <0>; + pairset-names = "alternative-a"; + pairsets = <&phys1>; + polarity-supported = "MDI"; + vpwr-supply = <&vreg_pse>; + }; + + pse_pi2: pse-pi@2 { + reg = <2>; + #pse-cells = <0>; + pairset-names = "alternative-a"; + pairsets = <&phys2>; + polarity-supported = "MDI"; + vpwr-supply = <&vreg_pse>; + }; + + pse_pi3: pse-pi@3 { + reg = <3>; + #pse-cells = <0>; + pairset-names = "alternative-a"; + pairsets = <&phys3>; + polarity-supported = "MDI"; + vpwr-supply = <&vreg_pse>; + }; + }; + }; + };
--
2.55.0