Message ID | 20230323123242.3763673-1-o.rempel@pengutronix.de |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp2889616wrt; Thu, 23 Mar 2023 05:48:47 -0700 (PDT) X-Google-Smtp-Source: AK7set/wPZjVj98OQAjcshUwWoJw1wpkLmYo2TV7stU8SHvv//hI+lzHBzBDcYf9oCQljMI2DDte X-Received: by 2002:a17:90a:1a02:b0:234:106a:34ab with SMTP id 2-20020a17090a1a0200b00234106a34abmr8395356pjk.6.1679575726963; Thu, 23 Mar 2023 05:48:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679575726; cv=none; d=google.com; s=arc-20160816; b=SXbYka5nn159oPLvbQVERrC1HDo4R2hCLGfqE+sUHJDYSHrzGF1zJ2/Cq5Zqaj9AIR AVxs563+RNPb25wrkPIRdBNbteLPVkaL95RGClcvNPd24Bp9fn3ieAlYrNeTIm5aQEQ9 huKTQL9k8t9dXznborYZBlKztjibQxnFEejIhu99ZkZMQ/Y/jFpEA+LvwoDi16dffruu xH9keG5NuxP3xVEl50pHleqSHzZw9T81+oYDyv8yQnRAYHJFVz3eGytYyEhfYZo2KA4j uOvmAIXU3kCTEhe82Dw12JkwDKuRZ9/K0VapbFQaw8EAm5PnK2dn4CKNcSI3uUIXEoZg j95w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=o5sQryOGcb137sF2SdgywkMFgZN1npmdQ8zokRYrwPQ=; b=CYL2eKQNdhP4I63BQkQQguiu4BLCkuDwxcsfjWhjEUzJV8wxfzQTfJU6ZGsuLD12+d 6NoHHBboHKJlOTh+Xl6AEfvnIJ3UM2UBGHiv5BDnVRaUxulHeyrtBNFnEEkMa6ciEmqe HX+bRw3NwKO/ltMl91Otv2DvqVYECsd+n+Fs5rTCC2TC4B5QJoEZHOkYZ1q0RkR/AwPZ S+p09MFk9UJ+zFjRJL5oqXkl2OtJvoOZ5zh3ru7/ATdJkSilJOHBAqi5BiELM5wyXG6N 2IEHLTPSwtDb9hWn73jlUfduz7O/JNpCE8Dh3RnmUD/4Qvt07g+pxkQydUYFwM5WSzBT w9Cw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qe11-20020a17090b4f8b00b00234bcb4bce5si1931172pjb.51.2023.03.23.05.48.34; Thu, 23 Mar 2023 05:48:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230435AbjCWMdE (ORCPT <rfc822;ezelljr.billy@gmail.com> + 99 others); Thu, 23 Mar 2023 08:33:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59592 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229913AbjCWMdC (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Thu, 23 Mar 2023 08:33:02 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 23D7912848 for <linux-kernel@vger.kernel.org>; Thu, 23 Mar 2023 05:32:59 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <ore@pengutronix.de>) id 1pfK7b-00081j-6X; Thu, 23 Mar 2023 13:32:47 +0100 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from <ore@pengutronix.de>) id 1pfK7Y-00699f-Aw; Thu, 23 Mar 2023 13:32:44 +0100 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from <ore@pengutronix.de>) id 1pfK7X-00Fn7U-Kh; Thu, 23 Mar 2023 13:32:43 +0100 From: Oleksij Rempel <o.rempel@pengutronix.de> To: Maxime Coquelin <mcoquelin.stm32@gmail.com>, Alexandre Torgue <alexandre.torgue@foss.st.com>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzk+dt@kernel.org>, =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= <jerome.pouiller@silabs.com> Cc: Oleksij Rempel <o.rempel@pengutronix.de>, kernel@pengutronix.de, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH v1] ARM: dts: stm32: prtt1c: Add PoDL PSE regulator nodes Date: Thu, 23 Mar 2023 13:32:42 +0100 Message-Id: <20230323123242.3763673-1-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761162797602318470?= X-GMAIL-MSGID: =?utf-8?q?1761162797602318470?= |
Series |
[v1] ARM: dts: stm32: prtt1c: Add PoDL PSE regulator nodes
|
|
Commit Message
Oleksij Rempel
March 23, 2023, 12:32 p.m. UTC
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>
---
arch/arm/boot/dts/stm32mp151a-prtt1c.dts | 32 ++++++++++++++++++++++++
1 file changed, 32 insertions(+)
Comments
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@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@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@10 { > reset-gpios = <&gpiog 11 GPIO_ACTIVE_LOW>; > reset-assert-us = <10>; > reset-deassert-us = <35>; > + pses = <&pse_t1l2>; > }; > > /* Micrel KSZ9031 */
On Tue, Mar 28, 2023 at 11:58:34AM +0200, Alexandre TORGUE wrote: > 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@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 Using ethernet-pse@1 will require to use "reg" or "ranges" properties. Which makes no sense in this use case. I need to fix the schema instead by allowing this patter with following regex: "^ethernet-pse(@.*|-[0-9a-f])*$" Should I send schema fix together with this patch? Regards, Oleksij
Hi Oleksij On 3/28/23 13:02, Oleksij Rempel wrote: > On Tue, Mar 28, 2023 at 11:58:34AM +0200, Alexandre TORGUE wrote: >> 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@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 > > Using ethernet-pse@1 will require to use "reg" or "ranges" properties. > Which makes no sense in this use case. I need to fix the schema instead by > allowing this patter with following regex: "^ethernet-pse(@.*|-[0-9a-f])*$" > > Should I send schema fix together with this patch? Yes you can. As soon as Rob or Krzysztof review it I'll apply both on stm32-next. Thanks Alex > Regards, > Oleksij
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@pengutronix.de> > --- Applied on stm32-next. cheers Alex
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@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@10 { reset-gpios = <&gpiog 11 GPIO_ACTIVE_LOW>; reset-assert-us = <10>; reset-deassert-us = <35>; + pses = <&pse_t1l2>; }; /* Micrel KSZ9031 */