[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 = <&reg_t1l1>;
> +		#pse-cells = <0>;
> +	};
> +
> +	pse_t1l2: ethernet-pse-2 {
> +		compatible = "podl-pse-regulator";
> +		pse-supply = <&reg_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