[PATCH v1] ARM: dts: stm32: prtt1c: Add PoDL PSE regulator nodes
Alexandre TORGUE
alexandre.torgue at foss.st.com
Tue Mar 28 02:58:34 PDT 2023
Hi Oleksij
On 3/23/23 13:32, Oleksij Rempel wrote:
> 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 at pengutronix.de>
> ---
Please, fix the introduction of those new yaml validation errors:
arch/arm/boot/dts/stm32mp151a-prtt1c.dtb: ethernet-pse-1: $nodename:0:
'ethernet-pse-1' does not match '^ethernet-pse(@.*)?$'
From schema:
/Documentation/devicetree/bindings/net/pse-pd/podl-pse-regulator.yaml
arch/arm/boot/dts/stm32mp151a-prtt1c.dtb: ethernet-pse-2: $nodename:0:
'ethernet-pse-2' does not match '^ethernet-pse(@.*)?$'
From schema:
/local/home/frq08678/STLINUX/kernel/my-kernel/stm32/Documentation/devicetree/bindings/net/pse-pd/podl-pse-regulator.yaml
Thanks
Alex
> arch/arm/boot/dts/stm32mp151a-prtt1c.dts | 32 ++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/arch/arm/boot/dts/stm32mp151a-prtt1c.dts b/arch/arm/boot/dts/stm32mp151a-prtt1c.dts
> index 58bb05a8c685..ca0d3329cfd7 100644
> --- a/arch/arm/boot/dts/stm32mp151a-prtt1c.dts
> +++ b/arch/arm/boot/dts/stm32mp151a-prtt1c.dts
> @@ -23,6 +23,18 @@ clock_sja1105: clock-sja1105 {
> clock-frequency = <25000000>;
> };
>
> + pse_t1l1: ethernet-pse-1 {
> + compatible = "podl-pse-regulator";
> + pse-supply = <®_t1l1>;
> + #pse-cells = <0>;
> + };
> +
> + pse_t1l2: ethernet-pse-2 {
> + compatible = "podl-pse-regulator";
> + pse-supply = <®_t1l2>;
> + #pse-cells = <0>;
> + };
> +
> mdio0: mdio {
> compatible = "virtual,mdio-gpio";
> #address-cells = <1>;
> @@ -32,6 +44,24 @@ mdio0: mdio {
>
> };
>
> + reg_t1l1: regulator-pse-t1l1 {
> + compatible = "regulator-fixed";
> + regulator-name = "pse-t1l1";
> + regulator-min-microvolt = <12000000>;
> + regulator-max-microvolt = <12000000>;
> + gpio = <&gpiog 13 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> + reg_t1l2: regulator-pse-t1l2 {
> + compatible = "regulator-fixed";
> + regulator-name = "pse-t1l2";
> + regulator-min-microvolt = <12000000>;
> + regulator-max-microvolt = <12000000>;
> + gpio = <&gpiog 14 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> wifi_pwrseq: wifi-pwrseq {
> compatible = "mmc-pwrseq-simple";
> reset-gpios = <&gpiod 8 GPIO_ACTIVE_LOW>;
> @@ -92,6 +122,7 @@ t1l1_phy: ethernet-phy at 7 {
> reset-gpios = <&gpiog 12 GPIO_ACTIVE_LOW>;
> reset-assert-us = <10>;
> reset-deassert-us = <35>;
> + pses = <&pse_t1l1>;
> };
>
> /* TI DP83TD510E */
> @@ -102,6 +133,7 @@ t1l2_phy: ethernet-phy at 10 {
> reset-gpios = <&gpiog 11 GPIO_ACTIVE_LOW>;
> reset-assert-us = <10>;
> reset-deassert-us = <35>;
> + pses = <&pse_t1l2>;
> };
>
> /* Micrel KSZ9031 */
More information about the linux-arm-kernel
mailing list