Re: [PATCH] ARM: dts: nxp/imx6: Fix imx6qdl pico dwarf and nymph includes

From
sashiko-bot@kernel.org
Date
2026-11-09 16:29:45
Also in
imx
Reply to
Rob Herring (Arm), 2026-11-09
Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Medium] ARM: dts: imx6: pinmux hog and GPIO conflicts on pico-dwarf
  and pico-nymph
--

commit 92feeab6397394da98e778808f51f6d2369101e3
Author: Rob Herring (Arm) [off-list ref]

ARM: dts: nxp/imx6: Fix imx6qdl pico dwarf and nymph includes

This commit updates the imx6dl and imx6q pico-dwarf and pico-nymph board
device trees to include their respective baseboard .dtsi files instead of
imx6qdl-pico-pi.dtsi, and adds missing properties to satisfy DT schema
checks.

Link: https://lore.kernel.org/all/sashiko-outbox-199279@kernel.org (local)
quoted hunk ↗ jump to hunk
diff --git a/arch/arm/boot/dts/nxp/imx/imx6dl-pico-dwarf.dts b/arch/arm/boot/dts/nxp/imx/imx6dl-pico-dwarf.dts
index d85b15a8c1272..dd8ce2df876c0 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6dl-pico-dwarf.dts
+++ b/arch/arm/boot/dts/nxp/imx/imx6dl-pico-dwarf.dts
@@ -9,7 +9,7 @@
 /dts-v1/;
 
 #include "imx6dl.dtsi"
-#include "imx6qdl-pico-pi.dtsi"
+#include "imx6qdl-pico-dwarf.dtsi"
 
 / {
 	model = "TechNexion PICO-IMX6 DualLite/Solo Board and Dwarf baseboard";
diff --git a/arch/arm/boot/dts/nxp/imx/imx6dl-pico-nymph.dts b/arch/arm/boot/dts/nxp/imx/imx6dl-pico-nymph.dts
index 32ccfc5d41cee..4ce0d0d0756c4 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6dl-pico-nymph.dts
+++ b/arch/arm/boot/dts/nxp/imx/imx6dl-pico-nymph.dts
@@ -9,7 +9,7 @@
 /dts-v1/;
 
 #include "imx6dl.dtsi"
-#include "imx6qdl-pico-pi.dtsi"
+#include "imx6qdl-pico-nymph.dtsi"
 
 / {
 	model = "TechNexion PICO-IMX6 DualLite/Solo Board and Nymph baseboard";
[Severity: Medium]
Does including imx6qdl-pico-dwarf.dtsi and imx6qdl-pico-nymph.dtsi cause
pinctrl and GPIO conflicts with imx6qdl-pico.dtsi for /leds, &pcie, and
touchscreen@38?

In arch/arm/boot/dts/nxp/imx/imx6qdl-pico.dtsi, &iomuxc hogs both
MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21 and MX6QDL_PAD_CSI0_DAT13__GPIO5_IO31
via pinctrl-0 = <&pinctrl_hog>:

arch/arm/boot/dts/nxp/imx/imx6qdl-pico.dtsi:&iomuxc {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_hog>;

	pinctrl_hog: hoggrp {
		fsl,pins = <
			...
			MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21	0x4001b0b5 /* PICO_P26 */
			...
			MX6QDL_PAD_CSI0_DAT13__GPIO5_IO31	0x4001b0b5 /* PICO_P44 */
		>;
	};
};

However, both imx6qdl-pico-dwarf.dtsi and imx6qdl-pico-nymph.dtsi define a
/leds node with pinctrl-0 = <&pinctrl_gpio_leds> claiming
MX6QDL_PAD_CSI0_DAT13__GPIO5_IO31, and imx6qdl-pico-nymph.dtsi enables
&pcie whose pinctrl-0 = <&pinctrl_pcie_reset> claims
MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21. Because imx_pmx_ops does not set
.function_is_gpio, pin_request() rejects a second device claiming a pin
already owned by iomuxc, causing pinctrl_bind_pins() to fail with -EINVAL
when probing /leds on Dwarf and Nymph and &pcie on Nymph.

In addition, /leds in both baseboard files requests <&gpio5 31
GPIO_ACTIVE_HIGH> as an output, while touchscreen@38 in
imx6qdl-pico.dtsi uses that same GPIO5_IO31 line as its interrupt input
(interrupt-parent = <&gpio5>; interrupts = <31 IRQ_TYPE_EDGE_FALLING>;).

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261109161812.3629546-1-robh@kernel.org?part=1
Thread (3 messages) 3 messages, 2 authors, last reply 10h ago
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help