* [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®