* [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays
@ 2026-09-22 14:33 Ernest Van Hoecke
2026-09-22 14:33 ` [PATCH 1/4] arm64: dts: freescale: imx95-verdin: Add NAU8822 Bridge Tied Load Ernest Van Hoecke
` (4 more replies)
0 siblings, 5 replies; 10+ messages in thread
From: Ernest Van Hoecke @ 2026-09-22 14:33 UTC (permalink / raw)
To: Frank Li, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: imx, linux-arm-kernel, devicetree, linux-kernel, Ernest Van Hoecke
This series adds device tree overlays for the Toradex Verdin, Aquila,
and SMARC iMX95 SoMs.
The series adds support for:
- NAU8822 Bridge Tied Load configuration on the Verdin Development Board
- UART_4 reservation for Cortex-M7 firmware on Verdin and Aquila
- SER0 reservation for Cortex-M7 firmware on SMARC
The UART overlays mark the port as reserved so Linux does not claim it.
Firmware remains responsible for configuring the UART and its pads.
The Makefile entries build standalone DTBOs and ready-to-use composed
DTBs for the corresponding Development Boards.
Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
---
Ernest Van Hoecke (4):
arm64: dts: freescale: imx95-verdin: Add NAU8822 Bridge Tied Load
arm64: dts: freescale: imx95-verdin: Add Cortex-M7 UART_4 overlay
arm64: dts: freescale: imx95-aquila: Add Cortex-M7 UART_4 overlay
arm64: dts: freescale: imx95-toradex-smarc: Add Cortex-M7 SER0 overlay
arch/arm64/boot/dts/freescale/Makefile | 15 +++++++++++++++
arch/arm64/boot/dts/freescale/imx95-aquila-uart4-mcu.dtso | 14 ++++++++++++++
.../boot/dts/freescale/imx95-toradex-smarc-ser0-mcu.dtso | 14 ++++++++++++++
.../boot/dts/freescale/imx95-verdin-dev-nau8822-btl.dtso | 14 ++++++++++++++
arch/arm64/boot/dts/freescale/imx95-verdin-uart4-mcu.dtso | 14 ++++++++++++++
5 files changed, 71 insertions(+)
---
base-commit: 478f68c644732750f8386e4de7c909c5ffb26ab2
change-id: 20260922-v1-imx95-overlays-89b3a9185b93
Best regards,
--
Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/4] arm64: dts: freescale: imx95-verdin: Add NAU8822 Bridge Tied Load
2026-09-22 14:33 [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays Ernest Van Hoecke
@ 2026-09-22 14:33 ` Ernest Van Hoecke
2026-09-22 14:33 ` [PATCH 2/4] arm64: dts: freescale: imx95-verdin: Add Cortex-M7 UART_4 overlay Ernest Van Hoecke
` (3 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Ernest Van Hoecke @ 2026-09-22 14:33 UTC (permalink / raw)
To: Frank Li, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: imx, linux-arm-kernel, devicetree, linux-kernel, Ernest Van Hoecke
From: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
The NAU8822 on the Verdin Development Board can combine its two
loudspeaker outputs into a Bridge Tied Load output. Add an overlay to
select this mode when using the board with Verdin iMX95.
The overlay is also combined with the Verdin iMX95 Development Board
device tree to provide a ready-to-use DTB for the WiFi SoM variant.
The codec and its routing are already described by the carrier device
tree.
Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
---
arch/arm64/boot/dts/freescale/Makefile | 4 ++++
.../boot/dts/freescale/imx95-verdin-dev-nau8822-btl.dtso | 14 ++++++++++++++
2 files changed, 18 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 7944e3b32513..a7ae74a706a8 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -959,6 +959,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx95-toradex-smarc-dev.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-tqma9596la-mba95xxca.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-tqma9596sa-mb-smarc-2.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-var-dart-sonata.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-dev-nau8822-btl.dtbo
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-nonwifi-dahlia.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-nonwifi-dev.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-nonwifi-ivy.dtb
@@ -966,12 +967,15 @@ dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-nonwifi-mallow.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-nonwifi-yavia.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-nonwifi-zinnia.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-dahlia.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-dev-nau8822-btl.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-dev.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-ivy.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-mallow.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-yavia.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-zinnia.dtb
+imx95-verdin-wifi-dev-nau8822-btl-dtbs := imx95-verdin-wifi-dev.dtb imx95-verdin-dev-nau8822-btl.dtbo
+
imx95-15x15-evk-pcie-dtbs += imx95-15x15-evk.dtb imx-m2-pcie.dtbo
dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-evk-pcie.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx95-verdin-dev-nau8822-btl.dtso b/arch/arm64/boot/dts/freescale/imx95-verdin-dev-nau8822-btl.dtso
new file mode 100644
index 000000000000..e94c60381c4e
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx95-verdin-dev-nau8822-btl.dtso
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Enable Bridge Tied Load (BTL) speaker mode on the Verdin Development Board,
+ * combining the two loudspeaker outputs for higher output power.
+ */
+
+/dts-v1/;
+/plugin/;
+
+&nau8822_1a {
+ nuvoton,spk-btl;
+};
--
2.43.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/4] arm64: dts: freescale: imx95-verdin: Add Cortex-M7 UART_4 overlay
2026-09-22 14:33 [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays Ernest Van Hoecke
2026-09-22 14:33 ` [PATCH 1/4] arm64: dts: freescale: imx95-verdin: Add NAU8822 Bridge Tied Load Ernest Van Hoecke
@ 2026-09-22 14:33 ` Ernest Van Hoecke
2026-09-22 14:33 ` [PATCH 3/4] arm64: dts: freescale: imx95-aquila: " Ernest Van Hoecke
` (2 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Ernest Van Hoecke @ 2026-09-22 14:33 UTC (permalink / raw)
To: Frank Li, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: imx, linux-arm-kernel, devicetree, linux-kernel, Ernest Van Hoecke
From: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
Verdin UART_4 can be assigned to Cortex-M7 firmware. Add an overlay
that reserves LPUART2 so Linux does not claim the port. Firmware must
configure the UART and its pads for the intended MCU application.
The overlay is also combined with the Verdin iMX95 Development Board
device tree to provide a ready-to-use DTB for the WiFi SoM variant.
Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
---
arch/arm64/boot/dts/freescale/Makefile | 3 +++
arch/arm64/boot/dts/freescale/imx95-verdin-uart4-mcu.dtso | 14 ++++++++++++++
2 files changed, 17 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index a7ae74a706a8..c283c582d974 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -966,8 +966,10 @@ dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-nonwifi-ivy.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-nonwifi-mallow.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-nonwifi-yavia.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-nonwifi-zinnia.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-uart4-mcu.dtbo
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-dahlia.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-dev-nau8822-btl.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-dev-uart4-mcu.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-dev.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-ivy.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-mallow.dtb
@@ -975,6 +977,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-yavia.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-zinnia.dtb
imx95-verdin-wifi-dev-nau8822-btl-dtbs := imx95-verdin-wifi-dev.dtb imx95-verdin-dev-nau8822-btl.dtbo
+imx95-verdin-wifi-dev-uart4-mcu-dtbs := imx95-verdin-wifi-dev.dtb imx95-verdin-uart4-mcu.dtbo
imx95-15x15-evk-pcie-dtbs += imx95-15x15-evk.dtb imx-m2-pcie.dtbo
dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-evk-pcie.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx95-verdin-uart4-mcu.dtso b/arch/arm64/boot/dts/freescale/imx95-verdin-uart4-mcu.dtso
new file mode 100644
index 000000000000..efe3849f262d
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx95-verdin-uart4-mcu.dtso
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Verdin iMX95 UART_4 for Cortex-M7
+ */
+
+/dts-v1/;
+/plugin/;
+
+/* Verdin UART_4 */
+&lpuart2 {
+ status = "reserved";
+};
--
2.43.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/4] arm64: dts: freescale: imx95-aquila: Add Cortex-M7 UART_4 overlay
2026-09-22 14:33 [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays Ernest Van Hoecke
2026-09-22 14:33 ` [PATCH 1/4] arm64: dts: freescale: imx95-verdin: Add NAU8822 Bridge Tied Load Ernest Van Hoecke
2026-09-22 14:33 ` [PATCH 2/4] arm64: dts: freescale: imx95-verdin: Add Cortex-M7 UART_4 overlay Ernest Van Hoecke
@ 2026-09-22 14:33 ` Ernest Van Hoecke
2026-09-22 14:33 ` [PATCH 4/4] arm64: dts: freescale: imx95-toradex-smarc: Add Cortex-M7 SER0 overlay Ernest Van Hoecke
2026-09-22 16:07 ` [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays Frank Li
4 siblings, 0 replies; 10+ messages in thread
From: Ernest Van Hoecke @ 2026-09-22 14:33 UTC (permalink / raw)
To: Frank Li, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: imx, linux-arm-kernel, devicetree, linux-kernel, Ernest Van Hoecke
From: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
Aquila UART_4 can be assigned to Cortex-M7 firmware. Add an overlay
that reserves LPUART2 so Linux does not claim the port. Firmware must
configure the UART and its pads for the intended MCU application.
The overlay is also combined with the Aquila iMX95 Development Board
device tree to provide a ready-to-use DTB.
Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
---
arch/arm64/boot/dts/freescale/Makefile | 4 ++++
arch/arm64/boot/dts/freescale/imx95-aquila-uart4-mcu.dtso | 14 ++++++++++++++
2 files changed, 18 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index c283c582d974..b17fd5b067de 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -954,7 +954,9 @@ dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk-sof.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-frdm-pro.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-aquila-clover.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx95-aquila-dev-uart4-mcu.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-aquila-dev.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx95-aquila-uart4-mcu.dtbo
dtb-$(CONFIG_ARCH_MXC) += imx95-toradex-smarc-dev.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-tqma9596la-mba95xxca.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-tqma9596sa-mb-smarc-2.dtb
@@ -976,6 +978,8 @@ dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-mallow.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-yavia.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-zinnia.dtb
+imx95-aquila-dev-uart4-mcu-dtbs := imx95-aquila-dev.dtb imx95-aquila-uart4-mcu.dtbo
+
imx95-verdin-wifi-dev-nau8822-btl-dtbs := imx95-verdin-wifi-dev.dtb imx95-verdin-dev-nau8822-btl.dtbo
imx95-verdin-wifi-dev-uart4-mcu-dtbs := imx95-verdin-wifi-dev.dtb imx95-verdin-uart4-mcu.dtbo
diff --git a/arch/arm64/boot/dts/freescale/imx95-aquila-uart4-mcu.dtso b/arch/arm64/boot/dts/freescale/imx95-aquila-uart4-mcu.dtso
new file mode 100644
index 000000000000..140025af4d53
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx95-aquila-uart4-mcu.dtso
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Aquila iMX95 UART_4 for Cortex-M7
+ */
+
+/dts-v1/;
+/plugin/;
+
+/* Aquila UART_4 */
+&lpuart2 {
+ status = "reserved";
+};
--
2.43.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/4] arm64: dts: freescale: imx95-toradex-smarc: Add Cortex-M7 SER0 overlay
2026-09-22 14:33 [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays Ernest Van Hoecke
` (2 preceding siblings ...)
2026-09-22 14:33 ` [PATCH 3/4] arm64: dts: freescale: imx95-aquila: " Ernest Van Hoecke
@ 2026-09-22 14:33 ` Ernest Van Hoecke
2026-09-22 16:07 ` [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays Frank Li
4 siblings, 0 replies; 10+ messages in thread
From: Ernest Van Hoecke @ 2026-09-22 14:33 UTC (permalink / raw)
To: Frank Li, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: imx, linux-arm-kernel, devicetree, linux-kernel, Ernest Van Hoecke
From: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
SMARC SER0 can be assigned to Cortex-M7 firmware. Add an overlay that
reserves LPUART2 so Linux does not claim the port. On the Development
Board this removes the Linux RS485 port on SER0, while the console on
SER1 (LPUART1) remains available. Firmware must configure the UART and
its pads for the intended MCU application.
The overlay is also combined with the Toradex SMARC iMX95 Development
Board device tree to provide a ready-to-use DTB.
Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
---
arch/arm64/boot/dts/freescale/Makefile | 4 ++++
.../boot/dts/freescale/imx95-toradex-smarc-ser0-mcu.dtso | 14 ++++++++++++++
2 files changed, 18 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index b17fd5b067de..489da1fb0012 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -957,7 +957,9 @@ dtb-$(CONFIG_ARCH_MXC) += imx95-aquila-clover.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-aquila-dev-uart4-mcu.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-aquila-dev.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-aquila-uart4-mcu.dtbo
+dtb-$(CONFIG_ARCH_MXC) += imx95-toradex-smarc-dev-ser0-mcu.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-toradex-smarc-dev.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx95-toradex-smarc-ser0-mcu.dtbo
dtb-$(CONFIG_ARCH_MXC) += imx95-tqma9596la-mba95xxca.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-tqma9596sa-mb-smarc-2.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-var-dart-sonata.dtb
@@ -980,6 +982,8 @@ dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-zinnia.dtb
imx95-aquila-dev-uart4-mcu-dtbs := imx95-aquila-dev.dtb imx95-aquila-uart4-mcu.dtbo
+imx95-toradex-smarc-dev-ser0-mcu-dtbs := imx95-toradex-smarc-dev.dtb imx95-toradex-smarc-ser0-mcu.dtbo
+
imx95-verdin-wifi-dev-nau8822-btl-dtbs := imx95-verdin-wifi-dev.dtb imx95-verdin-dev-nau8822-btl.dtbo
imx95-verdin-wifi-dev-uart4-mcu-dtbs := imx95-verdin-wifi-dev.dtb imx95-verdin-uart4-mcu.dtbo
diff --git a/arch/arm64/boot/dts/freescale/imx95-toradex-smarc-ser0-mcu.dtso b/arch/arm64/boot/dts/freescale/imx95-toradex-smarc-ser0-mcu.dtso
new file mode 100644
index 000000000000..cbc58f1af41d
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx95-toradex-smarc-ser0-mcu.dtso
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Toradex SMARC iMX95 SER0 for Cortex-M7
+ */
+
+/dts-v1/;
+/plugin/;
+
+/* SMARC SER0 */
+&lpuart2 {
+ status = "reserved";
+};
--
2.43.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays
2026-09-22 14:33 [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays Ernest Van Hoecke
` (3 preceding siblings ...)
2026-09-22 14:33 ` [PATCH 4/4] arm64: dts: freescale: imx95-toradex-smarc: Add Cortex-M7 SER0 overlay Ernest Van Hoecke
@ 2026-09-22 16:07 ` Frank Li
2026-09-22 16:58 ` Francesco Dolcini
4 siblings, 1 reply; 10+ messages in thread
From: Frank Li @ 2026-09-22 16:07 UTC (permalink / raw)
To: Ernest Van Hoecke
Cc: Frank Li, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, imx,
linux-arm-kernel, devicetree, linux-kernel, Ernest Van Hoecke
On Tue, Sep 22, 2026 at 04:33:45PM +0200, Ernest Van Hoecke wrote:
> This series adds device tree overlays for the Toradex Verdin, Aquila,
> and SMARC iMX95 SoMs.
>
> The series adds support for:
> - NAU8822 Bridge Tied Load configuration on the Verdin Development Board
> - UART_4 reservation for Cortex-M7 firmware on Verdin and Aquila
> - SER0 reservation for Cortex-M7 firmware on SMARC
>
> The UART overlays mark the port as reserved so Linux does not claim it.
> Firmware remains responsible for configuring the UART and its pads.
>
> The Makefile entries build standalone DTBOs and ready-to-use composed
> DTBs for the corresponding Development Boards.
>
> Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
> ---
> Ernest Van Hoecke (4):
> arm64: dts: freescale: imx95-verdin: Add NAU8822 Bridge Tied Load
> arm64: dts: freescale: imx95-verdin: Add Cortex-M7 UART_4 overlay
> arm64: dts: freescale: imx95-aquila: Add Cortex-M7 UART_4 overlay
both reserved lpuart2, can you share one dtso?
Frank
> arm64: dts: freescale: imx95-toradex-smarc: Add Cortex-M7 SER0 overlay
>
> arch/arm64/boot/dts/freescale/Makefile | 15 +++++++++++++++
> arch/arm64/boot/dts/freescale/imx95-aquila-uart4-mcu.dtso | 14 ++++++++++++++
> .../boot/dts/freescale/imx95-toradex-smarc-ser0-mcu.dtso | 14 ++++++++++++++
> .../boot/dts/freescale/imx95-verdin-dev-nau8822-btl.dtso | 14 ++++++++++++++
> arch/arm64/boot/dts/freescale/imx95-verdin-uart4-mcu.dtso | 14 ++++++++++++++
> 5 files changed, 71 insertions(+)
> ---
> base-commit: 478f68c644732750f8386e4de7c909c5ffb26ab2
> change-id: 20260922-v1-imx95-overlays-89b3a9185b93
>
> Best regards,
> --
> Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays
2026-09-22 16:07 ` [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays Frank Li
@ 2026-09-22 16:58 ` Francesco Dolcini
2026-09-22 18:31 ` Frank Li
0 siblings, 1 reply; 10+ messages in thread
From: Francesco Dolcini @ 2026-09-22 16:58 UTC (permalink / raw)
To: Frank Li
Cc: Ernest Van Hoecke, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, imx, linux-arm-kernel,
devicetree, linux-kernel, Ernest Van Hoecke
On Tue, Sep 22, 2026 at 11:07:44AM -0500, Frank Li wrote:
> On Tue, Sep 22, 2026 at 04:33:45PM +0200, Ernest Van Hoecke wrote:
> > This series adds device tree overlays for the Toradex Verdin, Aquila,
> > and SMARC iMX95 SoMs.
> >
> > The series adds support for:
> > - NAU8822 Bridge Tied Load configuration on the Verdin Development Board
> > - UART_4 reservation for Cortex-M7 firmware on Verdin and Aquila
> > - SER0 reservation for Cortex-M7 firmware on SMARC
> >
> > The UART overlays mark the port as reserved so Linux does not claim it.
> > Firmware remains responsible for configuring the UART and its pads.
> >
> > The Makefile entries build standalone DTBOs and ready-to-use composed
> > DTBs for the corresponding Development Boards.
> >
> > Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
> > ---
> > Ernest Van Hoecke (4):
> > arm64: dts: freescale: imx95-verdin: Add NAU8822 Bridge Tied Load
> > arm64: dts: freescale: imx95-verdin: Add Cortex-M7 UART_4 overlay
> > arm64: dts: freescale: imx95-aquila: Add Cortex-M7 UART_4 overlay
>
> both reserved lpuart2, can you share one dtso?
The comment in the DT file must be different because it's important to
reference the actual board it applies to.
So to fulfill this request we would need to add a common dtsi, include
it from two different dtso files.
This to save 2 lines of duplicated code, `&lpuart2 { status = "reserved"; };`.
To me this is just worst than the current proposal.
Francesco
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays
2026-09-22 16:58 ` Francesco Dolcini
@ 2026-09-22 18:31 ` Frank Li
2026-09-23 8:41 ` Francesco Dolcini
0 siblings, 1 reply; 10+ messages in thread
From: Frank Li @ 2026-09-22 18:31 UTC (permalink / raw)
To: Francesco Dolcini
Cc: Ernest Van Hoecke, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, imx, linux-arm-kernel,
devicetree, linux-kernel, Ernest Van Hoecke
On Tue, Sep 22, 2026 at 06:58:46PM +0200, Francesco Dolcini wrote:
> On Tue, Sep 22, 2026 at 11:07:44AM -0500, Frank Li wrote:
> > On Tue, Sep 22, 2026 at 04:33:45PM +0200, Ernest Van Hoecke wrote:
> > > This series adds device tree overlays for the Toradex Verdin, Aquila,
> > > and SMARC iMX95 SoMs.
> > >
> > > The series adds support for:
> > > - NAU8822 Bridge Tied Load configuration on the Verdin Development Board
> > > - UART_4 reservation for Cortex-M7 firmware on Verdin and Aquila
> > > - SER0 reservation for Cortex-M7 firmware on SMARC
> > >
> > > The UART overlays mark the port as reserved so Linux does not claim it.
> > > Firmware remains responsible for configuring the UART and its pads.
> > >
> > > The Makefile entries build standalone DTBOs and ready-to-use composed
> > > DTBs for the corresponding Development Boards.
> > >
> > > Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
> > > ---
> > > Ernest Van Hoecke (4):
> > > arm64: dts: freescale: imx95-verdin: Add NAU8822 Bridge Tied Load
> > > arm64: dts: freescale: imx95-verdin: Add Cortex-M7 UART_4 overlay
> > > arm64: dts: freescale: imx95-aquila: Add Cortex-M7 UART_4 overlay
> >
> > both reserved lpuart2, can you share one dtso?
>
> The comment in the DT file must be different because it's important to
> reference the actual board it applies to.
>
> So to fulfill this request we would need to add a common dtsi, include
> it from two different dtso files.
No, direct use one dtso. see
https://elixir.bootlin.com/linux/v7.3-rc3/source/arch/arm64/boot/dts/freescale/imx-pcie0-ep.dtso
And makefile to check how apply the same dtso for difference boards
Frank
>
> This to save 2 lines of duplicated code, `&lpuart2 { status = "reserved"; };`.
>
> To me this is just worst than the current proposal.
>
> Francesco
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays
2026-09-22 18:31 ` Frank Li
@ 2026-09-23 8:41 ` Francesco Dolcini
2026-09-23 15:06 ` Frank Li
0 siblings, 1 reply; 10+ messages in thread
From: Francesco Dolcini @ 2026-09-23 8:41 UTC (permalink / raw)
To: Frank Li
Cc: Francesco Dolcini, Ernest Van Hoecke, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, imx, linux-arm-kernel,
devicetree, linux-kernel, Ernest Van Hoecke
Hello Frank,
On Tue, Sep 22, 2026 at 01:31:51PM -0500, Frank Li wrote:
> On Tue, Sep 22, 2026 at 06:58:46PM +0200, Francesco Dolcini wrote:
> > On Tue, Sep 22, 2026 at 11:07:44AM -0500, Frank Li wrote:
> > > On Tue, Sep 22, 2026 at 04:33:45PM +0200, Ernest Van Hoecke wrote:
> > > > This series adds device tree overlays for the Toradex Verdin, Aquila,
> > > > and SMARC iMX95 SoMs.
> > > >
> > > > The series adds support for:
> > > > - NAU8822 Bridge Tied Load configuration on the Verdin Development Board
> > > > - UART_4 reservation for Cortex-M7 firmware on Verdin and Aquila
> > > > - SER0 reservation for Cortex-M7 firmware on SMARC
> > > >
> > > > The UART overlays mark the port as reserved so Linux does not claim it.
> > > > Firmware remains responsible for configuring the UART and its pads.
> > > >
> > > > The Makefile entries build standalone DTBOs and ready-to-use composed
> > > > DTBs for the corresponding Development Boards.
> > > >
> > > > Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
> > > > ---
> > > > Ernest Van Hoecke (4):
> > > > arm64: dts: freescale: imx95-verdin: Add NAU8822 Bridge Tied Load
> > > > arm64: dts: freescale: imx95-verdin: Add Cortex-M7 UART_4 overlay
> > > > arm64: dts: freescale: imx95-aquila: Add Cortex-M7 UART_4 overlay
> > >
> > > both reserved lpuart2, can you share one dtso?
> >
> > The comment in the DT file must be different because it's important to
> > reference the actual board it applies to.
> >
> > So to fulfill this request we would need to add a common dtsi, include
> > it from two different dtso files.
>
> No, direct use one dtso. see
>
> https://elixir.bootlin.com/linux/v7.3-rc3/source/arch/arm64/boot/dts/freescale/imx-pcie0-ep.dtso
>
> And makefile to check how apply the same dtso for difference boards
imx-pcie0-ep.dtso works as a single shared file because its content is
generic, there is no board name anywhere in it, and nobody needs to
apply that specific dtbo by hand to know what it is for.
These overlays are different: they are meant to be picked up and applied
directly by the end user, in addition to also being combined in-tree
into a ready DTB. Put yourself in that user's shoes: they have a Verdin
board, they want to free up UART_4 for their Cortex-M7 firmware, and
they go looking in arch/arm64/boot/dts/freescale/ for the overlay that
does that for their board. What they need at that point is a file name
that says "this is for Verdin" and "this is the UART_4 one", and once
they open it, a comment that confirms both: which board and which
specific UART. That is the whole point of shipping the overlay
separately from a combined DTB: it is meant to be readable and
applicable on its own by someone who is not a DT expert.
There is also a second, even more constrained user: the one who never
looks at the kernel sources at all, and only gets the compiled .dtbo as
deployed on their distribution, e.g. under /boot/overlays/ on the
target, or the more generic paths used by distributions like Debian
(/boot/firmware/overlays/) or Armbian (user_overlays= in
armbianEnv.txt), picking it by name from an overlay list or a U-Boot
env variable. Comments do not survive dtc compilation, so for that user
the file name is the only information available, there is no comment to
fall back on.
A single dtso shared between Verdin and Aquila fails that on both
counts: the name has to become something generic like
imx95-verdin-aquila-uart4-mcu.dtso (immediately confusing: which board
is it really for? can I use it on either?), and the comment inside can
no longer say which board it targets either. That is worse for the
person using it, for the sake of avoiding 2 lines of duplication:
&lpuart2 {
status = "reserved";
};
It also does not reduce the Makefile churn: we need the same number of
Makefile lines/combos either way, one dtso reused for two boards or two
dedicated ones. And this file will not change once merged, so there is
no maintenance overhead from keeping it per board.
We agree that avoiding duplication is generally the right call. When
there is real, growing duplication across dtso files, the right fix is
a shared dtsi included by the dtso files, not merging them into one. In
this case the duplication is 2 lines that will not change, so it does
not meet that bar either way.
We would like to keep the two dedicated dtso files.
Francesco
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays
2026-09-23 8:41 ` Francesco Dolcini
@ 2026-09-23 15:06 ` Frank Li
0 siblings, 0 replies; 10+ messages in thread
From: Frank Li @ 2026-09-23 15:06 UTC (permalink / raw)
To: Francesco Dolcini
Cc: Ernest Van Hoecke, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, imx, linux-arm-kernel,
devicetree, linux-kernel, Ernest Van Hoecke
On Wed, Sep 23, 2026 at 10:41:11AM +0200, Francesco Dolcini wrote:
> Hello Frank,
>
> On Tue, Sep 22, 2026 at 01:31:51PM -0500, Frank Li wrote:
> > On Tue, Sep 22, 2026 at 06:58:46PM +0200, Francesco Dolcini wrote:
> > > On Tue, Sep 22, 2026 at 11:07:44AM -0500, Frank Li wrote:
> > > > On Tue, Sep 22, 2026 at 04:33:45PM +0200, Ernest Van Hoecke wrote:
> > > > > This series adds device tree overlays for the Toradex Verdin, Aquila,
> > > > > and SMARC iMX95 SoMs.
> > > > >
> > > > > The series adds support for:
> > > > > - NAU8822 Bridge Tied Load configuration on the Verdin Development Board
> > > > > - UART_4 reservation for Cortex-M7 firmware on Verdin and Aquila
> > > > > - SER0 reservation for Cortex-M7 firmware on SMARC
> > > > >
> > > > > The UART overlays mark the port as reserved so Linux does not claim it.
> > > > > Firmware remains responsible for configuring the UART and its pads.
> > > > >
> > > > > The Makefile entries build standalone DTBOs and ready-to-use composed
> > > > > DTBs for the corresponding Development Boards.
> > > > >
> > > > > Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
> > > > > ---
> > > > > Ernest Van Hoecke (4):
> > > > > arm64: dts: freescale: imx95-verdin: Add NAU8822 Bridge Tied Load
> > > > > arm64: dts: freescale: imx95-verdin: Add Cortex-M7 UART_4 overlay
> > > > > arm64: dts: freescale: imx95-aquila: Add Cortex-M7 UART_4 overlay
> > > >
> > > > both reserved lpuart2, can you share one dtso?
> > >
> > > The comment in the DT file must be different because it's important to
> > > reference the actual board it applies to.
> > >
> > > So to fulfill this request we would need to add a common dtsi, include
> > > it from two different dtso files.
> >
> > No, direct use one dtso. see
> >
> > https://elixir.bootlin.com/linux/v7.3-rc3/source/arch/arm64/boot/dts/freescale/imx-pcie0-ep.dtso
> >
> > And makefile to check how apply the same dtso for difference boards
>
> imx-pcie0-ep.dtso works as a single shared file because its content is
> generic, there is no board name anywhere in it, and nobody needs to
> apply that specific dtbo by hand to know what it is for.
>
> These overlays are different: they are meant to be picked up and applied
> directly by the end user, in addition to also being combined in-tree
> into a ready DTB. Put yourself in that user's shoes: they have a Verdin
> board, they want to free up UART_4 for their Cortex-M7 firmware, and
> they go looking in arch/arm64/boot/dts/freescale/ for the overlay that
> does that for their board. What they need at that point is a file name
> that says "this is for Verdin" and "this is the UART_4 one", and once
> they open it, a comment that confirms both: which board and which
> specific UART. That is the whole point of shipping the overlay
> separately from a combined DTB: it is meant to be readable and
> applicable on its own by someone who is not a DT expert.
If someone is not DT expert, most likely direct use your prebuild dtbs,
not apply dtso theyself.
>
> There is also a second, even more constrained user: the one who never
> looks at the kernel sources at all, and only gets the compiled .dtbo as
> deployed on their distribution, e.g. under /boot/overlays/ on the
> target, or the more generic paths used by distributions like Debian
> (/boot/firmware/overlays/) or Armbian (user_overlays= in
> armbianEnv.txt), picking it by name from an overlay list or a U-Boot
> env variable. Comments do not survive dtc compilation, so for that user
> the file name is the only information available, there is no comment to
> fall back on.
>
> A single dtso shared between Verdin and Aquila fails that on both
> counts: the name has to become something generic like
> imx95-verdin-aquila-uart4-mcu.dtso (immediately confusing: which board
> is it really for? can I use it on either?), and the comment inside can
> no longer say which board it targets either. That is worse for the
> person using it, for the sake of avoiding 2 lines of duplication:
>
> &lpuart2 {
> status = "reserved";
> };
>
> It also does not reduce the Makefile churn: we need the same number of
> Makefile lines/combos either way, one dtso reused for two boards or two
> dedicated ones. And this file will not change once merged, so there is
> no maintenance overhead from keeping it per board.
>
> We agree that avoiding duplication is generally the right call. When
> there is real, growing duplication across dtso files, the right fix is
> a shared dtsi included by the dtso files, not merging them into one. In
> this case the duplication is 2 lines that will not change, so it does
> not meet that bar either way.
It is not exactly true. include dtsi only one method. Basic there are two
kind type overy all files
- one is for addtional boards.
- change configuration.
You provide difference configuration, basically it is developping boards.
The real productions is fixed.
Your uboot scripts or other manually should hide complex. like PC grub
menu, just choose 1,2,3...
If someone like advance, he need know more knowledge.
Makefile show how to apply dtso to correct dtb. filename rule can't
resolve problems without know detail.
The put lpuart2 as reserved also used by other boards, not only verdin
and aquila.
Frank
>
> We would like to keep the two dedicated dtso files.
>
> Francesco
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-09-23 15:07 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-22 14:33 [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays Ernest Van Hoecke
2026-09-22 14:33 ` [PATCH 1/4] arm64: dts: freescale: imx95-verdin: Add NAU8822 Bridge Tied Load Ernest Van Hoecke
2026-09-22 14:33 ` [PATCH 2/4] arm64: dts: freescale: imx95-verdin: Add Cortex-M7 UART_4 overlay Ernest Van Hoecke
2026-09-22 14:33 ` [PATCH 3/4] arm64: dts: freescale: imx95-aquila: " Ernest Van Hoecke
2026-09-22 14:33 ` [PATCH 4/4] arm64: dts: freescale: imx95-toradex-smarc: Add Cortex-M7 SER0 overlay Ernest Van Hoecke
2026-09-22 16:07 ` [PATCH 0/4] arm64: dts: freescale: Add Toradex iMX95 overlays Frank Li
2026-09-22 16:58 ` Francesco Dolcini
2026-09-22 18:31 ` Frank Li
2026-09-23 8:41 ` Francesco Dolcini
2026-09-23 15:06 ` Frank Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®