Skip to contentSkip to conversation

Device tree and config updates for the Librem 5 devkit

PATCH Superseded Guido Günther 6 participants 11 messages Aug 9, 2023 – Aug 10, 2023

Subsystems (4)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

cover Device tree and config updates for the Librem 5 devkit

The device tree updates ensure the A53 don't get powered off and fix a DT warning. This isn't testable with the arm64 default config unless we enable the rsi wifi modules too so do this as well.

While at that include two binding file updates.

This is against next-20230809 that include David's option,gtm601 conversion.

Guido Günther (5):
dt-bindings: sound: gtm601: Add description
dt-bindings: mmc: Fix reference to pwr-seq-simple
arm64: dts: imx8mq-librem5-devkit: Mark buck2 as always on
arm64: dts: imx8mq-librem5-devkit: Drop power-supply
arm64: defconfig: Enable Redpine 91X wlan driver

 .../devicetree/bindings/mmc/mmc-controller.yaml    |  2 +-
 .../devicetree/bindings/sound/option,gtm601.yaml   |  6 ++++--
 .../boot/dts/freescale/imx8mq-librem5-devkit.dts   | 14 +++++---------
 arch/arm64/configs/defconfig                       |  1 +
 4 files changed, 11 insertions(+), 12 deletions(-)
Signature · 1 line
2.40.1
#1 lore raw

PATCH 1/5 dt-bindings: sound: gtm601: Add description

This allows to us to document the channel and sampling rate requirements.

---
 Documentation/devicetree/bindings/sound/option,gtm601.yaml | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/sound/option,gtm601.yaml +4 -2
index 69c2ccc79dc5..ff813d97fc59 100644
@@ -16,10 +16,12 @@ description: >
 properties:
   compatible:
     oneOf:
-      - items:  # 48 kHz stereo
+      - description: Broadmobi BM818 (48Khz stereo)
+        items:
           - const: broadmobi,bm818
           - const: option,gtm601
-      - const: option,gtm601  # 8 kHz mono
+      - description: GTM601 (8kHz mono)
+        const: option,gtm601
 
   '#sound-dai-cells':
     const: 0
Signature · 1 line
2.40.1
Reviewed-by on v1 1/5
#2 lore raw

Re: [PATCH v1 1/5] dt-bindings: sound: gtm601: Add description

Quoted 4 lines · Guido Günther

This allows to us to document the channel and sampling rate requirements.

Thank you!

Quoted 3 lines
---
  Documentation/devicetree/bindings/sound/option,gtm601.yaml | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)
Signature · 2 lines
David Heidelberg
Certified Linux Magician
Acked-by on v1 1/5
#3 lore raw

Re: [PATCH v1 1/5] dt-bindings: sound: gtm601: Add description

In reply to Guido Günther
Quoted 14 lines · Guido Günther

This allows to us to document the channel and sampling rate requirements.

---
 Documentation/devicetree/bindings/sound/option,gtm601.yaml | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/sound/option,gtm601.yaml +0 -0
index 69c2ccc79dc5..ff813d97fc59 100644
@@ -16,10 +16,12 @@ description: >
 properties:

Documentation/devicetree/bindings/sound/option,gtm601.yaml description: > · line 24

Quoted 10 lines
Documentation/devicetree/bindings/sound/option,gtm601.yaml +4 -2
   compatible:
     oneOf:
-      - items:  # 48 kHz stereo
+      - description: Broadmobi BM818 (48Khz stereo)
+        items:
           - const: broadmobi,bm818
           - const: option,gtm601
-      - const: option,gtm601  # 8 kHz mono
+      - description: GTM601 (8kHz mono)
+        const: option,gtm601

Makes little odds IMO which way it is done.

#4 lore raw

PATCH 2/5 dt-bindings: mmc: Fix reference to pwr-seq-simple

In reply to Guido Günther

It's a YAML file nowadays.

---
 Documentation/devicetree/bindings/mmc/mmc-controller.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Documentation/devicetree/bindings/mmc/mmc-controller.yaml +1 -1
index 86c73fd825fd..58ae298cd2fc 100644
@@ -269,7 +269,7 @@ properties:
   post-power-on-delay-ms:
     description:
       It was invented for MMC pwrseq-simple which could be referred to
-      mmc-pwrseq-simple.txt. But now it\'s reused as a tunable delay
+      mmc-pwrseq-simple.yaml. But now it\'s reused as a tunable delay
       waiting for I/O signalling and card power supply to be stable,
       regardless of whether pwrseq-simple is used. Default to 10ms if
       no available.
Signature · 1 line
2.40.1
#5 lore raw

Re: [PATCH v1 2/5] dt-bindings: mmc: Fix reference to pwr-seq-simple

Quoted 4 lines · Guido Günther

It's a YAML file nowadays.

Applied for next, thanks!

Kind regards
Uffe

Quoted 20 lines
---
 Documentation/devicetree/bindings/mmc/mmc-controller.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Documentation/devicetree/bindings/mmc/mmc-controller.yaml +1 -2
index 86c73fd825fd..58ae298cd2fc 100644
@@ -269,7 +269,7 @@ properties:
   post-power-on-delay-ms:
     description:
       It was invented for MMC pwrseq-simple which could be referred to
-      mmc-pwrseq-simple.txt. But now it\'s reused as a tunable delay
+      mmc-pwrseq-simple.yaml. But now it\'s reused as a tunable delay
       waiting for I/O signalling and card power supply to be stable,
       regardless of whether pwrseq-simple is used. Default to 10ms if
       no available.
--

2.40.1

#6 lore raw

PATCH 3/5 arm64: dts: imx8mq-librem5-devkit: Mark buck2 as always on

In reply to Guido Günther

Otherwise the A53 cores are shut down which doesn't end well.

---
 arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts | 1 +
 1 file changed, 1 insertion(+)
arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts +1 -0
index b3549eae6278..be9ef5c271df 100644
@@ -324,6 +324,7 @@ buck2_reg: BUCK2 {
 				regulator-ramp-delay = <1250>;
 				rohm,dvs-run-voltage = <1000000>;
 				rohm,dvs-idle-voltage = <900000>;
+				regulator-always-on;
 			};
 
 			buck3_reg: BUCK3 {
Signature · 1 line
2.40.1
#7 lore raw

PATCH 4/5 arm64: dts: imx8mq-librem5-devkit: Drop power-supply

In reply to Guido Günther

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#

---
 .../boot/dts/freescale/imx8mq-librem5-devkit.dts    | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)
arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts +4 -9
index be9ef5c271df..244075e2a599 100644
@@ -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;
Signature · 1 line
2.40.1
#8 lore raw

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

Quoted 75 lines

-----Original Message-----
From: Guido Günther <[email protected]>
Sent: 2023年8月10日 2:50
To: Ulf Hansson <[email protected]>; Rob Herring <[email protected]>; Krzysztof Kozlowski <[email protected]>; Conor Dooley <[email protected]>; Liam Girdwood <[email protected]>; Mark Brown <[email protected]>; Shawn Guo <[email protected]>; Sascha Hauer <[email protected]>; Pengutronix Kernel Team <[email protected]>; Fabio Estevam <[email protected]>; dl-linux- imx <[email protected]>; Catalin Marinas <[email protected]>; Will Deacon <[email protected]>; Guido Günther <[email protected]>; Peng Fan <[email protected]>; Bjorn Andersson <[email protected]>; Arnd Bergmann <[email protected]>; Geert Uytterhoeven <[email protected]>; Konrad Dybcio <[email protected]>; Nícolas F. R. A. Prado <[email protected]>; Rafał Miłecki <[email protected]>; [email protected]; [email protected]; [email protected]; [email protected]; alsa-devel@alsa- project.org; [email protected]; David Heidelberg <[email protected]>
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

---
 .../boot/dts/freescale/imx8mq-librem5-devkit.dts    | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)
arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts +3 -8
index be9ef5c271df..244075e2a599 100644
@@ -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>;
 	};
 };
 

arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts &usdhc2 { · line 1030

Quoted 5 lines
arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts +1 -1
@@ -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

#9 lore raw

PATCH 5/5 arm64: defconfig: Enable Redpine 91X wlan driver

In reply to Guido Günther

The Librem 5 devkit has it connected via SDIO.

---
 arch/arm64/configs/defconfig | 1 +
 1 file changed, 1 insertion(+)
arch/arm64/configs/defconfig +1 -0
index bf13d5c46578..21ab69a3cf4b 100644
@@ -414,6 +414,7 @@ CONFIG_MWIFIEX=m
 CONFIG_MWIFIEX_SDIO=m
 CONFIG_MWIFIEX_PCIE=m
 CONFIG_MT7921E=m
+CONFIG_RSI_91X=m
 CONFIG_WL18XX=m
 CONFIG_WLCORE_SDIO=m
 CONFIG_WWAN=m
Signature · 1 line
2.40.1
maintainer
#10 lore raw

Re: (subset) [PATCH v1 0/5] Device tree and config updates for the Librem 5 devkit

In reply to Guido Günther
Quoted 10 lines · Guido Günther

The device tree updates ensure the A53 don't get powered off and fix a DT warning. This isn't testable with the arm64 default config unless we enable the rsi wifi modules too so do this as well.

While at that include two binding file updates.

This is against next-20230809 that include David's option,gtm601 conversion.

[...]

Applied to

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/5] dt-bindings: sound: gtm601: Add description

      commit: 6870f41033d839fa72195fd2dd37f902b37ea62b

All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying to this mail.

Thanks,
Mark