* [PATCH] ARM: dts: nxp/imx6: Fix imx6qdl pico dwarf and nymph includes
@ 2026-11-09 16:18 Rob Herring (Arm)
2026-11-09 16:29 ` sashiko-bot
0 siblings, 1 reply; 3+ messages in thread
From: Rob Herring (Arm) @ 2026-11-09 16:18 UTC (permalink / raw)
To: Krzysztof Kozlowski, Conor Dooley, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Shawn Guo
Cc: sashiko-bot, stable, devicetree, imx, linux-arm-kernel,
linux-kernel
The imx6q/dl pico dwarf and nymph boards appear to have a copy-n-paste
error including the imx6qdl-pico-pi.dtsi by mistake. The
imx6qdl-pico-dwarf.dtsi and imx6qdl-pico-nymph.dtsi were otherwise unused.
Fixing the typos introduces some DT schema warnings, so fix them. The
supplies for MPL3115 are a guess based on other dwarf variants.
Reported-by: sashiko-bot@kernel.org
Link: https://lore.kernel.org/all/sashiko-outbox-199279@kernel.org
Fixes: 98670a0bb0ef ("ARM: dts: imx6qdl: Add imx6qdl-pico support")
Cc: stable@vger.kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
arch/arm/boot/dts/nxp/imx/imx6dl-pico-dwarf.dts | 2 +-
arch/arm/boot/dts/nxp/imx/imx6dl-pico-nymph.dts | 2 +-
arch/arm/boot/dts/nxp/imx/imx6q-pico-dwarf.dts | 2 +-
arch/arm/boot/dts/nxp/imx/imx6q-pico-nymph.dts | 2 +-
arch/arm/boot/dts/nxp/imx/imx6qdl-pico-dwarf.dtsi | 3 +++
arch/arm/boot/dts/nxp/imx/imx6qdl-pico-nymph.dtsi | 1 +
6 files changed, 8 insertions(+), 4 deletions(-)
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 d85b15a8c127..dd8ce2df876c 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 32ccfc5d41ce..4ce0d0d0756c 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";
diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-pico-dwarf.dts b/arch/arm/boot/dts/nxp/imx/imx6q-pico-dwarf.dts
index 479a63ed42af..5e1f8b79593d 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6q-pico-dwarf.dts
+++ b/arch/arm/boot/dts/nxp/imx/imx6q-pico-dwarf.dts
@@ -9,7 +9,7 @@
/dts-v1/;
#include "imx6q.dtsi"
-#include "imx6qdl-pico-pi.dtsi"
+#include "imx6qdl-pico-dwarf.dtsi"
/ {
model = "TechNexion PICO-IMX6 Quad Board and Dwarf baseboard";
diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-pico-nymph.dts b/arch/arm/boot/dts/nxp/imx/imx6q-pico-nymph.dts
index e8ad4c12b263..d688b5bb6c6a 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6q-pico-nymph.dts
+++ b/arch/arm/boot/dts/nxp/imx/imx6q-pico-nymph.dts
@@ -9,7 +9,7 @@
/dts-v1/;
#include "imx6q.dtsi"
-#include "imx6qdl-pico-pi.dtsi"
+#include "imx6qdl-pico-nymph.dtsi"
/ {
model = "TechNexion PICO-IMX6 Quad Board and Nymph baseboard";
diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-pico-dwarf.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-pico-dwarf.dtsi
index 3a968782e854..feaadacfe7ff 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6qdl-pico-dwarf.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-pico-dwarf.dtsi
@@ -22,6 +22,8 @@ &i2c1 {
mpl3115@60 {
compatible = "fsl,mpl3115";
reg = <0x60>;
+ vdd-supply = <®_3p3v>;
+ vddio-supply = <®_3p3v>;
};
};
@@ -31,6 +33,7 @@ io-expander@25 {
reg = <0x25>;
gpio-controller;
#gpio-cells = <2>;
+ interrupt-controller;
#interrupt-cells = <2>;
};
diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-pico-nymph.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-pico-nymph.dtsi
index 3d56a4216448..a13f4d49c05d 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6qdl-pico-nymph.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-pico-nymph.dtsi
@@ -30,6 +30,7 @@ io-expander@25 {
reg = <0x25>;
gpio-controller;
#gpio-cells = <2>;
+ interrupt-controller;
#interrupt-cells = <2>;
};
};
--
2.53.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] ARM: dts: nxp/imx6: Fix imx6qdl pico dwarf and nymph includes
2026-11-09 16:18 [PATCH] ARM: dts: nxp/imx6: Fix imx6qdl pico dwarf and nymph includes Rob Herring (Arm)
@ 2026-11-09 16:29 ` sashiko-bot
2026-11-09 16:56 ` Rob Herring
0 siblings, 1 reply; 3+ messages in thread
From: sashiko-bot @ 2026-11-09 16:29 UTC (permalink / raw)
To: Rob Herring (Arm); +Cc: devicetree, imx, conor+dt, Frank.Li
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) <robh@kernel.org>
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
> 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
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] ARM: dts: nxp/imx6: Fix imx6qdl pico dwarf and nymph includes
2026-11-09 16:29 ` sashiko-bot
@ 2026-11-09 16:56 ` Rob Herring
0 siblings, 0 replies; 3+ messages in thread
From: Rob Herring @ 2026-11-09 16:56 UTC (permalink / raw)
To: sashiko-reviews; +Cc: devicetree, imx, conor+dt, Frank.Li
On Mon, Nov 9, 2026 at 10:29 AM <sashiko-bot@kernel.org> wrote:
>
> 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) <robh@kernel.org>
>
> 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
>
> > 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>;).
I give up...
Rob
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-11-09 16:57 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-09 16:18 [PATCH] ARM: dts: nxp/imx6: Fix imx6qdl pico dwarf and nymph includes Rob Herring (Arm)
2026-11-09 16:29 ` sashiko-bot
2026-11-09 16:56 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox