From c8946a5bafdc836bbadab60d23aa334bc1e48c56 Mon Sep 17 00:00:00 2001 From: Michael Heimpold Date: Mon, 16 Mar 2020 22:47:44 +0100 Subject: [PATCH] mxs: fix user led for OLinuXino boards More testing after kernel upgrade to 5.4 uncovered a regression: the user led is not present anymore due to a pin mux "collision" in device tree. A patch sent to upstream kernel was accepted now. Integrate this pending fix as platform specific patch so that user led is available again. Signed-off-by: Michael Heimpold --- ...ARM-dts-imx23-introduce-mmc0_sck_cfg.patch | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 target/linux/mxs/patches-5.4/100-ARM-dts-imx23-introduce-mmc0_sck_cfg.patch diff --git a/target/linux/mxs/patches-5.4/100-ARM-dts-imx23-introduce-mmc0_sck_cfg.patch b/target/linux/mxs/patches-5.4/100-ARM-dts-imx23-introduce-mmc0_sck_cfg.patch new file mode 100644 index 00000000000..029fe6a8afd --- /dev/null +++ b/target/linux/mxs/patches-5.4/100-ARM-dts-imx23-introduce-mmc0_sck_cfg.patch @@ -0,0 +1,61 @@ +From e4fdac5def509ffb723b49d6a91f9043009119f9 Mon Sep 17 00:00:00 2001 +From: Michael Heimpold +Date: Sun, 8 Mar 2020 23:21:44 +0100 +Subject: [PATCH] ARM: dts: imx23: introduce mmc0_sck_cfg + +The Olimex Olinuxino board has a user led connected to SSP1_DETECT. +But since this pin is listed in mmc0_pins_fixup, it is already claimed +by MMC driver and this results in this error during boot: + +[ 1.390000] imx23-pinctrl 80018000.pinctrl: pin SSP1_DETECT already + requested by 80010000.spi; cannot claim for leds +[ 1.400000] imx23-pinctrl 80018000.pinctrl: pin-65 (leds) status -22 +[ 1.410000] imx23-pinctrl 80018000.pinctrl: could not request pin 65 + (SSP1_DETECT) from group led_gpio2_1.0 on device 80018000.pinctrl +[ 1.420000] leds-gpio leds: Error applying setting, reverse things back +[ 1.430000] leds-gpio: probe of leds failed with error -22 + +This fix it, introduce mmc0_sck_cfg and switch the Olinuxino board to it. + +Signed-off-by: Michael Heimpold +Signed-off-by: Shawn Guo +--- + arch/arm/boot/dts/imx23-olinuxino.dts | 2 +- + arch/arm/boot/dts/imx23.dtsi | 8 ++++++++ + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/imx23-olinuxino.dts b/arch/arm/boot/dts/imx23-olinuxino.dts +index 4c9aafe00b5d..0729e72f2283 100644 +--- a/arch/arm/boot/dts/imx23-olinuxino.dts ++++ b/arch/arm/boot/dts/imx23-olinuxino.dts +@@ -23,7 +23,7 @@ + ssp0: spi@80010000 { + compatible = "fsl,imx23-mmc"; + pinctrl-names = "default"; +- pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_pins_fixup>; ++ pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>; + bus-width = <4>; + broken-cd; + status = "okay"; +diff --git a/arch/arm/boot/dts/imx23.dtsi b/arch/arm/boot/dts/imx23.dtsi +index eb0aeda1682c..c5edff381213 100644 +--- a/arch/arm/boot/dts/imx23.dtsi ++++ b/arch/arm/boot/dts/imx23.dtsi +@@ -267,6 +267,14 @@ + fsl,pull-up = ; + }; + ++ mmc0_sck_cfg: mmc0-sck-cfg@0 { ++ reg = <0>; ++ fsl,pinmux-ids = < ++ MX23_PAD_SSP1_SCK__SSP1_SCK ++ >; ++ fsl,pull-up = ; ++ }; ++ + mmc1_4bit_pins_a: mmc1-4bit@0 { + reg = <0>; + fsl,pinmux-ids = < +-- +2.17.1 + -- 2.30.2