[PATCH v3 06/11] arm64: dts: freescale: imx8mm-var-som: Update WiFi/BT with variants

Stefano Radaelli posted 11 patches 1 month ago
There is a newer version of this series
[PATCH v3 06/11] arm64: dts: freescale: imx8mm-var-som: Update WiFi/BT with variants
Posted by Stefano Radaelli 1 month ago
From: Stefano Radaelli <stefano.r@variscite.com>

From: Stefano Radaelli <stefano.r@variscite.com>

The VAR-SOM-MX8MM currently integrates the NXP IW61x wireless module,
providing WiFi over SDIO and Bluetooth over UART.

Move the wireless module configuration out of the base
imx8mm-var-som.dtsi and provide dedicated variant includes.
The IW61x configuration is moved to imx8mm-var-som-wifi-bt-iw61x.dtsi
and used by the Symphony evaluation board device tree.

A separate imx8mm-var-som-wifi-brcm-legacy.dtsi include is added to keep
the configuration for the legacy Broadcom SDIO WiFi module used on
earlier SOM revisions.
The Broadcom-based SOM revision is no longer in production, but the
configuration is kept separately to preserve compatibility with existing
boards.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
---
v2->v3:
 - 

v1->v2:
 - Added Wifi/BT dtsi variants for both iw61x and brcm legacy modules

 .../dts/freescale/imx8mm-var-som-symphony.dts |  1 +
 .../imx8mm-var-som-wifi-brcm-legacy.dtsi      | 12 +++++
 .../imx8mm-var-som-wifi-bt-iw61x.dtsi         | 45 +++++++++++++++++++
 .../boot/dts/freescale/imx8mm-var-som.dtsi    |  6 ---
 4 files changed, 58 insertions(+), 6 deletions(-)
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-var-som-wifi-brcm-legacy.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-var-som-wifi-bt-iw61x.dtsi

diff --git a/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts
index 712892edba8f..51ac8ee34c3b 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts
@@ -7,6 +7,7 @@
 
 #include <dt-bindings/leds/common.h>
 #include "imx8mm-var-som.dtsi"
+#include "imx8mm-var-som-wifi-bt-iw61x.dtsi"
 
 / {
 	model = "Variscite VAR-SOM-MX8MM Symphony evaluation board";
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-var-som-wifi-brcm-legacy.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-var-som-wifi-brcm-legacy.dtsi
new file mode 100644
index 000000000000..f44a846ea6f9
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mm-var-som-wifi-brcm-legacy.dtsi
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2026 Variscite Ltd.
+ */
+
+/* WIFI */
+&usdhc1 {
+	brcmf: wifi@1 {
+		reg = <1>;
+		compatible = "brcm,bcm4329-fmac";
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-var-som-wifi-bt-iw61x.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-var-som-wifi-bt-iw61x.dtsi
new file mode 100644
index 000000000000..15990d141d2a
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mm-var-som-wifi-bt-iw61x.dtsi
@@ -0,0 +1,45 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2026 Variscite Ltd.
+ */
+
+/ {
+	iw61x_pwrseq: wifi-pwrseq {
+		compatible = "mmc-pwrseq-simple";
+		post-power-on-delay-ms = <100>;
+		power-off-delay-us = <10000>;
+		reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>, /* WIFI_RESET */
+			      <&gpio2 20 GPIO_ACTIVE_LOW>; /* WIFI_PWR_EN */
+	};
+};
+
+&uart2 {
+	pinctrl-0 = <&pinctrl_uart2>, <&pinctrl_bt>;
+
+	bluetooth_iw61x: bluetooth {
+		compatible = "nxp,88w8987-bt";
+	};
+};
+
+/* WIFI */
+&usdhc1 {
+	pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_wifi>;
+	pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_wifi>;
+	pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_wifi>;
+	mmc-pwrseq = <&iw61x_pwrseq>;
+};
+
+&iomuxc {
+	pinctrl_bt: bluetoothgrp {
+		fsl,pins = <
+			MX8MM_IOMUXC_SD1_DATA4_GPIO2_IO6	0xc1
+		>;
+	};
+
+	pinctrl_wifi: wifigrp {
+		fsl,pins = <
+			MX8MM_IOMUXC_SD2_WP_GPIO2_IO20		0x140
+			MX8MM_IOMUXC_SD1_RESET_B_GPIO2_IO10	0xc1
+		>;
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi
index 21a4d87c0e26..c37badc4cf27 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi
@@ -390,7 +390,6 @@ &usbotg2 {
 	status = "okay";
 };
 
-/* WIFI */
 &usdhc1 {
 	#address-cells = <1>;
 	#size-cells = <0>;
@@ -402,11 +401,6 @@ &usdhc1 {
 	non-removable;
 	keep-power-in-suspend;
 	status = "okay";
-
-	brcmf: wifi@1 {
-		reg = <1>;
-		compatible = "brcm,bcm4329-fmac";
-	};
 };
 
 /* SD */
-- 
2.47.3
Re: [PATCH v3 06/11] arm64: dts: freescale: imx8mm-var-som: Update WiFi/BT with variants
Posted by Fabio Estevam 3 weeks, 5 days ago
On Sat, Mar 7, 2026 at 12:55 PM Stefano Radaelli
<stefano.radaelli21@gmail.com> wrote:
>
> From: Stefano Radaelli <stefano.r@variscite.com>
>
> From: Stefano Radaelli <stefano.r@variscite.com>

One From line is enough.

>
> The VAR-SOM-MX8MM currently integrates the NXP IW61x wireless module,
> providing WiFi over SDIO and Bluetooth over UART.
>
> Move the wireless module configuration out of the base
> imx8mm-var-som.dtsi and provide dedicated variant includes.
> The IW61x configuration is moved to imx8mm-var-som-wifi-bt-iw61x.dtsi
> and used by the Symphony evaluation board device tree.
>
> A separate imx8mm-var-som-wifi-brcm-legacy.dtsi include is added to keep
> the configuration for the legacy Broadcom SDIO WiFi module used on
> earlier SOM revisions.
> The Broadcom-based SOM revision is no longer in production, but the
> configuration is kept separately to preserve compatibility with existing
> boards.

 imx8mm-var-som-wifi-brcm-legacy.dtsi is not included anywhere, right?
Re: [PATCH v3 06/11] arm64: dts: freescale: imx8mm-var-som: Update WiFi/BT with variants
Posted by Stefano Radaelli 3 weeks, 5 days ago
Hi Fabio,

On Fri, Mar 13, 2026 at 01:41:02PM -0300, Fabio Estevam wrote:
> 
> One From line is enough.
> 

Yes, that was a mistake on my side. Something in my workflow ended up
adding the "From:" line twice. I will fix it in the next revision.

> 
>  imx8mm-var-som-wifi-brcm-legacy.dtsi is not included anywhere, right?

Correct. It is not included anywhere at the moment.
The Symphony evaluation board uses the IW61x configuration.
The imx8mm-var-som-wifi-brcm-legacy.dtsi file is kept as a separate include
so that carrier boards using the legacy Broadcom-based SOM revision can
include it if needed.

Best Regards,
Stefano
Re: [PATCH v3 06/11] arm64: dts: freescale: imx8mm-var-som: Update WiFi/BT with variants
Posted by Fabio Estevam 3 weeks, 5 days ago
On Fri, Mar 13, 2026 at 1:46 PM Stefano Radaelli
<stefano.radaelli21@gmail.com> wrote:

> Correct. It is not included anywhere at the moment.
> The Symphony evaluation board uses the IW61x configuration.
> The imx8mm-var-som-wifi-brcm-legacy.dtsi file is kept as a separate include
> so that carrier boards using the legacy Broadcom-based SOM revision can
> include it if needed.

Then imx8mm-var-som-wifi-brcm-legacy.dtsi is dead code. Nothing includes it.

I don't think we want a dead dts in the tree.

IW612 has not been upstreamed, right?

People using the Broadcom Wi-Fi on the old board may still want to
continue using it.

Please don't break it.
Re: [PATCH v3 06/11] arm64: dts: freescale: imx8mm-var-som: Update WiFi/BT with variants
Posted by Stefano Radaelli 3 weeks, 5 days ago
Hi Fabio,

On Fri, Mar 13, 2026 at 01:52:31PM -0300, Fabio Estevam wrote:
> On Fri, Mar 13, 2026 at 1:46 PM Stefano Radaelli
> <stefano.radaelli21@gmail.com> wrote:
> 
> > Correct. It is not included anywhere at the moment.
> > The Symphony evaluation board uses the IW61x configuration.
> > The imx8mm-var-som-wifi-brcm-legacy.dtsi file is kept as a separate include
> > so that carrier boards using the legacy Broadcom-based SOM revision can
> > include it if needed.
> 
> Then imx8mm-var-som-wifi-brcm-legacy.dtsi is dead code. Nothing includes it.
> 
> I don't think we want a dead dts in the tree.
> 
> IW612 has not been upstreamed, right?
> 
> People using the Broadcom Wi-Fi on the old board may still want to
> continue using it.
> 
> Please don't break it.


Thanks for the feedback!

I might have misunderstood the best approach here. The reason I split the
WiFi/BT configuration into separate dtsi files was to follow the direction
discussed in the previous revision, where we decided to keep support for the
legacy Broadcom-based SOM while moving the configuration out of the
device tree, giving the support for both modules revisions.

However, I see your point that if it is not referenced anywhere it becomes
dead code:
Would it make sense to add a legacy Symphony DTS that includes the Broadcom
configuration, in addition to the current Symphony DTS that uses the IW61x?
This way the existing boards would keep working while the default board
description reflects the currently produced hardware.

Or if you have any other suggestion, I'd be happy to follow it!

Best regards,
Stefano
Re: [PATCH v3 06/11] arm64: dts: freescale: imx8mm-var-som: Update WiFi/BT with variants
Posted by Fabio Estevam 3 weeks, 5 days ago
On Fri, Mar 13, 2026 at 2:05 PM Stefano Radaelli
<stefano.radaelli21@gmail.com> wrote:

> Thanks for the feedback!
>
> I might have misunderstood the best approach here. The reason I split the
> WiFi/BT configuration into separate dtsi files was to follow the direction
> discussed in the previous revision, where we decided to keep support for the
> legacy Broadcom-based SOM while moving the configuration out of the
> device tree, giving the support for both modules revisions.
>
> However, I see your point that if it is not referenced anywhere it becomes
> dead code:
> Would it make sense to add a legacy Symphony DTS that includes the Broadcom
> configuration, in addition to the current Symphony DTS that uses the IW61x?
> This way the existing boards would keep working while the default board
> description reflects the currently produced hardware.

Yes, the idea is not to break the old boards with the Broadcom Wifi.
Re: [PATCH v3 06/11] arm64: dts: freescale: imx8mm-var-som: Update WiFi/BT with variants
Posted by Frank Li 3 weeks, 5 days ago
On Fri, Mar 13, 2026 at 06:05:09PM +0100, Stefano Radaelli wrote:
> Hi Fabio,
>
> On Fri, Mar 13, 2026 at 01:52:31PM -0300, Fabio Estevam wrote:
> > On Fri, Mar 13, 2026 at 1:46 PM Stefano Radaelli
> > <stefano.radaelli21@gmail.com> wrote:
> >
> > > Correct. It is not included anywhere at the moment.
> > > The Symphony evaluation board uses the IW61x configuration.
> > > The imx8mm-var-som-wifi-brcm-legacy.dtsi file is kept as a separate include
> > > so that carrier boards using the legacy Broadcom-based SOM revision can
> > > include it if needed.
> >
> > Then imx8mm-var-som-wifi-brcm-legacy.dtsi is dead code. Nothing includes it.
> >
> > I don't think we want a dead dts in the tree.
> >
> > IW612 has not been upstreamed, right?
> >
> > People using the Broadcom Wi-Fi on the old board may still want to
> > continue using it.
> >
> > Please don't break it.
>
>
> Thanks for the feedback!
>
> I might have misunderstood the best approach here. The reason I split the
> WiFi/BT configuration into separate dtsi files was to follow the direction
> discussed in the previous revision, where we decided to keep support for the
> legacy Broadcom-based SOM while moving the configuration out of the
> device tree, giving the support for both modules revisions.
>
> However, I see your point that if it is not referenced anywhere it becomes
> dead code:
> Would it make sense to add a legacy Symphony DTS that includes the Broadcom
> configuration, in addition to the current Symphony DTS that uses the IW61x?

Yes.

Frank

> This way the existing boards would keep working while the default board
> description reflects the currently produced hardware.
>
> Or if you have any other suggestion, I'd be happy to follow it!
>
> Best regards,
> Stefano
Re: [PATCH v3 06/11] arm64: dts: freescale: imx8mm-var-som: Update WiFi/BT with variants
Posted by Frank Li 3 weeks, 5 days ago
On Sat, Mar 07, 2026 at 04:54:42PM +0100, Stefano Radaelli wrote:
> From: Stefano Radaelli <stefano.r@variscite.com>
>
> From: Stefano Radaelli <stefano.r@variscite.com>
>
> The VAR-SOM-MX8MM currently integrates the NXP IW61x wireless module,
> providing WiFi over SDIO and Bluetooth over UART.
>
> Move the wireless module configuration out of the base
> imx8mm-var-som.dtsi and provide dedicated variant includes.
> The IW61x configuration is moved to imx8mm-var-som-wifi-bt-iw61x.dtsi
> and used by the Symphony evaluation board device tree.
>
> A separate imx8mm-var-som-wifi-brcm-legacy.dtsi include is added to keep
> the configuration for the legacy Broadcom SDIO WiFi module used on
> earlier SOM revisions.

Need empty line here.

> The Broadcom-based SOM revision is no longer in production, but the
> configuration is kept separately to preserve compatibility with existing
> boards.
>
> Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
> ---
> v2->v3:
>  -
>
> v1->v2:
>  - Added Wifi/BT dtsi variants for both iw61x and brcm legacy modules
>
>  .../dts/freescale/imx8mm-var-som-symphony.dts |  1 +
>  .../imx8mm-var-som-wifi-brcm-legacy.dtsi      | 12 +++++
>  .../imx8mm-var-som-wifi-bt-iw61x.dtsi         | 45 +++++++++++++++++++
>  .../boot/dts/freescale/imx8mm-var-som.dtsi    |  6 ---
>  4 files changed, 58 insertions(+), 6 deletions(-)
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-var-som-wifi-brcm-legacy.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-var-som-wifi-bt-iw61x.dtsi
>
...
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-var-som-wifi-bt-iw61x.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-var-som-wifi-bt-iw61x.dtsi
> new file mode 100644
> index 000000000000..15990d141d2a

All new file run https://github.com/lznuaa/dt-format to keep nice order.

Frank
>