revision history
----------------
v2: (thank you Shawn)
* don't set the wifi-3v3 regulator to always-on
* add a patch to improve the volume buttons debounce interval
v1:
* https://lore.kernel.org/phone-devel/[email protected]/
Angus Ainslie (3):
arm64: dts: imx8mq-librem5: delay the startup of the SDIO
arm64: dts: imx8mq-librem5: add power sequencing for M.2 cards
arm64: dts: imx8mq-librem5: Limit the max sdio frequency
Guido Günther (1):
arm64: dts: imx8mq-librem5: wire up the wifi regulator
Martin Kepplinger (1):
arm64: dts: imx8mq-librem5: add reset gpio to mantix panel description
Sebastian Krzyszkowiak (2):
arm64: dts: imx8mq-librem5: Fix led_r and led_g pinctrl assignments
arm64: dts: imx8mq-librem5: set debounce interval of volume buttons to
50ms
.../boot/dts/freescale/imx8mq-librem5.dtsi | 44 ++++++++++++++++++-
1 file changed, 42 insertions(+), 2 deletions(-)
--
2.30.2
Add the missing description for the reset gpio to the panels DT
description.
Signed-off-by: Martin Kepplinger <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi b/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
index 3f7524400a63..0609b591ec5a 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
@@ -1010,6 +1010,7 @@ lcd_panel: panel@0 {
vddi-supply = <®_lcd_1v8>;
backlight = <&backlight_dsi>;
reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
+ mantix,tp-rstn-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
port {
panel_in: endpoint {
--
2.30.2
From: Sebastian Krzyszkowiak <[email protected]>
Fix wrong pinctrl assignments.
Signed-off-by: Sebastian Krzyszkowiak <[email protected]>
Suggested-by: Eric Kuzmenko <[email protected]>
Signed-off-by: Martin Kepplinger <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi b/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
index 0609b591ec5a..95bbaa108805 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
@@ -1056,13 +1056,13 @@ &pwm2 {
&pwm3 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_led_g>;
+ pinctrl-0 = <&pinctrl_led_r>;
status = "okay";
};
&pwm4 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_led_r>;
+ pinctrl-0 = <&pinctrl_led_g>;
status = "okay";
};
--
2.30.2
From: Sebastian Krzyszkowiak <[email protected]>
The default of 5ms is too low.
Signed-off-by: Sebastian Krzyszkowiak <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi b/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
index d86486fd659d..60d47c71499b 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
@@ -40,12 +40,14 @@ vol-down {
label = "VOL_DOWN";
gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEDOWN>;
+ debounce-interval = <50>;
};
vol-up {
label = "VOL_UP";
gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
+ debounce-interval = <50>;
};
};
--
2.30.2
From: Angus Ainslie <[email protected]>
The redpine wifi card takes some time to wake up. Wait for it.
Signed-off-by: Angus Ainslie <[email protected]>
Signed-off-by: Martin Kepplinger <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi b/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
index 9a309b1d0a90..7a09312f31c4 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
@@ -1212,6 +1212,7 @@ &usdhc2 {
pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
bus-width = <4>;
vmmc-supply = <®_wifi_3v3>;
+ post-power-on-delay-ms = <1000>;
cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
disable-wp;
cap-sdio-irq;
--
2.30.2
From: Angus Ainslie <[email protected]>
Some wifi cards need reset asserted until after the power supplies
have been enabled.
So wire up the W_DISABLE signal for the SDIO port (WIFI_REG_ON net) and
the BT_REG_ON net to use it for power sequencing.
Signed-off-by: Angus Ainslie <[email protected]>
Signed-off-by: Martin Kepplinger <[email protected]>
---
.../boot/dts/freescale/imx8mq-librem5.dtsi | 23 +++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi b/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
index 7a09312f31c4..396eb4434229 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
@@ -198,6 +198,14 @@ simple-audio-card,codec {
};
};
+ usdhc2_pwrseq: pwrseq {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_bt>, <&pinctrl_wifi_disable>;
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&gpio3 25 GPIO_ACTIVE_HIGH>,
+ <&gpio4 29 GPIO_ACTIVE_HIGH>;
+ };
+
bm818_codec: sound-wwan-codec {
compatible = "broadmobi,bm818", "option,gtm601";
#sound-dai-cells = <0>;
@@ -312,6 +320,13 @@ MX8MQ_IOMUXC_NAND_DQS_GPIO3_IO14 0x83
>;
};
+ pinctrl_bt: btgrp {
+ fsl,pins = <
+ /* BT_REG_ON */
+ MX8MQ_IOMUXC_SAI5_MCLK_GPIO3_IO25 0x83
+ >;
+ };
+
pinctrl_charger_in: chargeringrp {
fsl,pins = <
/* CHRG_INT */
@@ -643,6 +658,13 @@ MX8MQ_IOMUXC_SD2_RESET_B_USDHC2_RESET_B 0xc1
>;
};
+ pinctrl_wifi_disable: wifidisablegrp {
+ fsl,pins = <
+ /* WIFI_REG_ON */
+ MX8MQ_IOMUXC_SAI3_RXC_GPIO4_IO29 0x83
+ >;
+ };
+
pinctrl_wifi_pwr: wifipwrgrp {
fsl,pins = <
/* WIFI3V3_EN */
@@ -1212,6 +1234,7 @@ &usdhc2 {
pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
bus-width = <4>;
vmmc-supply = <®_wifi_3v3>;
+ mmc-pwrseq = <&usdhc2_pwrseq>;
post-power-on-delay-ms = <1000>;
cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
disable-wp;
--
2.30.2
On Tue, Oct 05, 2021 at 03:49:02PM +0200, Martin Kepplinger wrote:
> From: Sebastian Krzyszkowiak <[email protected]>
>
> The default of 5ms is too low.
>
> Signed-off-by: Sebastian Krzyszkowiak <[email protected]>
Your SoB is missing here. I fixed it up and applied the series, thanks!
Shawn
> ---
> arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi b/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
> index d86486fd659d..60d47c71499b 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
> @@ -40,12 +40,14 @@ vol-down {
> label = "VOL_DOWN";
> gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
> linux,code = <KEY_VOLUMEDOWN>;
> + debounce-interval = <50>;
> };
>
> vol-up {
> label = "VOL_UP";
> gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
> linux,code = <KEY_VOLUMEUP>;
> + debounce-interval = <50>;
> };
> };
>
> --
> 2.30.2
>
Am Freitag, dem 15.10.2021 um 09:46 +0800 schrieb Shawn Guo:
> On Tue, Oct 05, 2021 at 03:49:02PM +0200, Martin Kepplinger wrote:
> > From: Sebastian Krzyszkowiak <[email protected]>
> >
> > The default of 5ms is too low.
> >
> > Signed-off-by: Sebastian Krzyszkowiak
> > <[email protected]>
>
> Your SoB is missing here. I fixed it up and applied the series,
> thanks!
>
> Shawn
thank you very much, of course I sign-off on this.
martin