[v1,4/5] arm64: dts: imx8mq-librem5-devkit: Drop power-supply

Message ID be0267a53cdf31c7a32f9ab43813dccf08b32477.1691606520.git.agx@sigxcpu.org
State New
Headers
Series Device tree and config updates for the Librem 5 devkit |

Commit Message

Guido Günther Aug. 9, 2023, 6:50 p.m. UTC
  Use a power sequence instead. As this handles the wifi disable line
rename the pincontrol accordingly. This also makes it similar to the
Librem 5.

Resolves following warning:

arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dtb: mmc@30b50000: Unevaluated properties are not allowed ('power-supply' was unexpected)
        from schema $id: http://devicetree.org/schemas/mmc/fsl-imx-esdhc.yaml#

Reported-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Guido Günther <agx@sigxcpu.org>
---
 .../boot/dts/freescale/imx8mq-librem5-devkit.dts    | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)
  

Comments

Sherry Sun Aug. 10, 2023, 6:17 a.m. UTC | #1
> -----Original Message-----
> From: Guido Günther <agx@sigxcpu.org>
> Sent: 2023年8月10日 2:50
> To: Ulf Hansson <ulf.hansson@linaro.org>; Rob Herring
> <robh+dt@kernel.org>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@linaro.org>; Conor Dooley <conor+dt@kernel.org>;
> Liam Girdwood <lgirdwood@gmail.com>; Mark Brown
> <broonie@kernel.org>; Shawn Guo <shawnguo@kernel.org>; Sascha Hauer
> <s.hauer@pengutronix.de>; Pengutronix Kernel Team
> <kernel@pengutronix.de>; Fabio Estevam <festevam@gmail.com>; dl-linux-
> imx <linux-imx@nxp.com>; Catalin Marinas <catalin.marinas@arm.com>;
> Will Deacon <will@kernel.org>; Guido Günther <agx@sigxcpu.org>; Peng Fan
> <peng.fan@nxp.com>; Bjorn Andersson <quic_bjorande@quicinc.com>;
> Arnd Bergmann <arnd@arndb.de>; Geert Uytterhoeven
> <geert+renesas@glider.be>; Konrad Dybcio <konrad.dybcio@linaro.org>;
> Nícolas F. R. A. Prado <nfraprado@collabora.com>; Rafał Miłecki
> <rafal@milecki.pl>; kernel@puri.sm; linux-mmc@vger.kernel.org;
> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; alsa-devel@alsa-
> project.org; linux-arm-kernel@lists.infradead.org; David Heidelberg
> <david@ixit.cz>
> Subject: [PATCH v1 4/5] arm64: dts: imx8mq-librem5-devkit: Drop power-
> supply
> 
> Use a power sequence instead. As this handles the wifi disable line rename
> the pincontrol accordingly. This also makes it similar to the Librem 5.
> 
> Resolves following warning:
> 
> arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dtb:
> mmc@30b50000: Unevaluated properties are not allowed ('power-supply'
> was unexpected)
>         from schema $id:
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevicet
> ree.org%2Fschemas%2Fmmc%2Ffsl-imx-
> esdhc.yaml%23&data=05%7C01%7Csherry.sun%40nxp.com%7Cfefefef5326f
> 4205167c08db990988d7%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0
> %7C638272038447289369%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLj
> AwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%
> 7C%7C&sdata=EpcdsbWNkU0%2FuYBx9tHlw9qoSo87XneMNxOHw5Z4%2FFA
> %3D&reserved=0
> 
> Reported-by: David Heidelberg <david@ixit.cz>
> Signed-off-by: Guido Günther <agx@sigxcpu.org>
> ---
>  .../boot/dts/freescale/imx8mq-librem5-devkit.dts    | 13 ++++---------
>  1 file changed, 4 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
> b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
> index be9ef5c271df..244075e2a599 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
> @@ -231,16 +231,11 @@ vibrator {
>  		vcc-supply = <&reg_3v3_p>;
>  	};
> 
> -	wifi_pwr_en: regulator-wifi-en {
> -		compatible = "regulator-fixed";
> +	wifi_pwrseq: pwrseq {
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_wifi_pwr_en>;
> -		regulator-name = "WIFI_EN";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -		gpio = <&gpio3 5 GPIO_ACTIVE_HIGH>;
> -		enable-active-high;
> -		regulator-always-on;
> +		compatible = "mmc-pwrseq-simple";
> +		reset-gpios = <&gpio3 5 GPIO_ACTIVE_LOW>;
>  	};
>  };
> 
> @@ -1032,7 +1027,7 @@ &usdhc2 {
>  	pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
>  	bus-width = <4>;
>  	vmmc-supply = <&reg_usdhc2_vmmc>;
> -	power-supply = <&wifi_pwr_en>;
> +	mmc-pwrseq = <&wifi_pwrseq>;

Hi Guido,

Normally we should use vmmc-supply to control the M.2 pin56(W_DISABLE1#), which controls the WLAN radio power.
And use the reset-gpios of mmc-pwrseq to control the M.2 pin23(SDIO_RESET#), it can independently reset the Wi-Fi radio.

Best Regards
Sherry
  

Patch

diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
index be9ef5c271df..244075e2a599 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
@@ -231,16 +231,11 @@  vibrator {
 		vcc-supply = <&reg_3v3_p>;
 	};
 
-	wifi_pwr_en: regulator-wifi-en {
-		compatible = "regulator-fixed";
+	wifi_pwrseq: pwrseq {
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_wifi_pwr_en>;
-		regulator-name = "WIFI_EN";
-		regulator-min-microvolt = <3300000>;
-		regulator-max-microvolt = <3300000>;
-		gpio = <&gpio3 5 GPIO_ACTIVE_HIGH>;
-		enable-active-high;
-		regulator-always-on;
+		compatible = "mmc-pwrseq-simple";
+		reset-gpios = <&gpio3 5 GPIO_ACTIVE_LOW>;
 	};
 };
 
@@ -1032,7 +1027,7 @@  &usdhc2 {
 	pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
 	bus-width = <4>;
 	vmmc-supply = <&reg_usdhc2_vmmc>;
-	power-supply = <&wifi_pwr_en>;
+	mmc-pwrseq = <&wifi_pwrseq>;
 	broken-cd;
 	disable-wp;
 	cap-sdio-irq;