Skip to content

Commit 4193b93

Browse files
oleremAlexandre Torgue
authored andcommitted
ARM: dts: stm32: prtt1c: Add PoDL PSE regulator nodes
This commit introduces Power over Data Line (PoDL) Power Source Equipment (PSE) regulator nodes to the PRTT1C devicetree. The addition of these nodes enables support for PoDL in PRTT1C devices, allowing power delivery and data transmission over a single twisted pair. The new PoDL PSE regulator nodes provide voltage capability information of the current board design, which can be used as a hint for system administrators when configuring and managing power settings. This update enhances the versatility and simplifies the power management of PRTT1C devices while ensuring compatibility with connected Powered Devices (PDs). After applying this patch, the power delivery can be controlled from user space with a patched [1] ethtool version using the following commands: ethtool --set-pse t1l2 podl-pse-admin-control enable to enable power delivery, and ethtool --show-pse t1l2 to display the PoDL PSE settings. By integrating PoDL PSE support into the PRTT1C devicetree, users can benefit from streamlined power and data connections in their deployments, improving overall system efficiency and reducing cabling complexity. [1] https://lore.kernel.org/all/20230317093024.1051999-1-o.rempel@pengutronix.de/ Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
1 parent f021544 commit 4193b93

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

arch/arm/boot/dts/st/stm32mp151a-prtt1c.dts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,18 @@
2323
clock-frequency = <25000000>;
2424
};
2525

26+
pse_t1l1: ethernet-pse-1 {
27+
compatible = "podl-pse-regulator";
28+
pse-supply = <&reg_t1l1>;
29+
#pse-cells = <0>;
30+
};
31+
32+
pse_t1l2: ethernet-pse-2 {
33+
compatible = "podl-pse-regulator";
34+
pse-supply = <&reg_t1l2>;
35+
#pse-cells = <0>;
36+
};
37+
2638
mdio0: mdio {
2739
compatible = "virtual,mdio-gpio";
2840
#address-cells = <1>;
@@ -32,6 +44,24 @@
3244

3345
};
3446

47+
reg_t1l1: regulator-pse-t1l1 {
48+
compatible = "regulator-fixed";
49+
regulator-name = "pse-t1l1";
50+
regulator-min-microvolt = <12000000>;
51+
regulator-max-microvolt = <12000000>;
52+
gpio = <&gpiog 13 GPIO_ACTIVE_HIGH>;
53+
enable-active-high;
54+
};
55+
56+
reg_t1l2: regulator-pse-t1l2 {
57+
compatible = "regulator-fixed";
58+
regulator-name = "pse-t1l2";
59+
regulator-min-microvolt = <12000000>;
60+
regulator-max-microvolt = <12000000>;
61+
gpio = <&gpiog 14 GPIO_ACTIVE_HIGH>;
62+
enable-active-high;
63+
};
64+
3565
wifi_pwrseq: wifi-pwrseq {
3666
compatible = "mmc-pwrseq-simple";
3767
reset-gpios = <&gpiod 8 GPIO_ACTIVE_LOW>;
@@ -92,6 +122,7 @@
92122
reset-gpios = <&gpiog 12 GPIO_ACTIVE_LOW>;
93123
reset-assert-us = <10>;
94124
reset-deassert-us = <35>;
125+
pses = <&pse_t1l1>;
95126
};
96127

97128
/* TI DP83TD510E */
@@ -102,6 +133,7 @@
102133
reset-gpios = <&gpiog 11 GPIO_ACTIVE_LOW>;
103134
reset-assert-us = <10>;
104135
reset-deassert-us = <35>;
136+
pses = <&pse_t1l2>;
105137
};
106138

107139
/* Micrel KSZ9031 */

0 commit comments

Comments
 (0)