[PATCH] arm64: dts: imx943-evk-sdwifi: add a new dtso to support SDIW612 WiFi

Sherry Sun sherry.sun at nxp.com
Mon Jun 1 19:40:25 PDT 2026


> On Tue, May 19, 2026 at 01:39:42PM +0800, Sherry Sun (OSS) wrote:
> > From: Sherry Sun <sherry.sun at nxp.com>
> >
> > Add a new imx943-evk-sdwifi.dtso to support SDIW612 WiFi chip on
> > imx943-evk board, the default imx943-evk.dtb is used to support PCIE
> > AW693 WiFi.
> >
> > Use separate dts for SDIW612 and PCIe AW693 WiFi to avoid the shared
> > regulator between SDIO and PCIe buses, the random probe order between
> > the two buses may break the PCIe initialization sequence which cause
> > AW693 has probability of failing to detect.
> 
> Mani said M.2 Key E patch already applied. Dose use M.2 Key E fix this
> problem?
> 

Hi Frank,
With the new M.2 Key E framwork, PCIe wifi and SDIO wifi don't share the
regulator, but it cause the following issues, so we still need a separate dtso
for SDIO wifi even we use the M.2 Key framework.

1.  The PCIe M.2 connector use a dedicated w_disable1-gpios, which is
      conflict with reg_usdhc3_vmmc that needed for SDIO wifi to controls the
      w_disable1 pin.

    m2_connector: m2-connector {
        compatible = "pcie-m2-e-connector";
        vpcie3v3-supply = <&reg_m2_pwr>;
        vpcie3v3aux-supply = <&reg_m2_pwr>;
        w_disable1-gpios = <&pcal6416_i2c3_u46 5 GPIO_ACTIVE_LOW>;

        ports {
        ...
    reg_usdhc3_vmmc: regulator-usdhc3 {
        compatible = "regulator-fixed";
        regulator-name = "WLAN_EN";
        regulator-min-microvolt = <3300000>;
        regulator-max-microvolt = <3300000>;
        vin-supply = <&reg_m2_pwr>;
        gpio = <&pcal6416_i2c3_u46 5 GPIO_ACTIVE_HIGH>;

2. New PCIe M.2 keye dts require a new lpuart6_ep remote node to replace
    the old Bluetooth serdev node. 
&lpuart6 {
...
    port {
        lpuart6_ep: endpoint {
            remote-endpoint = <&m2_e_uart_ep>;
        };
    };
};

But the old Bluetooth serdev node is needed for SDIO wifi.
&lpuart6 {
...
    bluetooth {
        compatible = "nxp,88w8987-bt";
    };
};

Best Regards
Sherry

> 
> >
> > Signed-off-by: Sherry Sun <sherry.sun at nxp.com>
> > ---
> >  arch/arm64/boot/dts/freescale/Makefile            |  3 +++
> >  .../boot/dts/freescale/imx943-evk-sdwifi.dtso     | 15 +++++++++++++++
> >  arch/arm64/boot/dts/freescale/imx943-evk.dts      |  2 +-
> >  3 files changed, 19 insertions(+), 1 deletion(-)  create mode 100644
> > arch/arm64/boot/dts/freescale/imx943-evk-sdwifi.dtso
> >
> > diff --git a/arch/arm64/boot/dts/freescale/Makefile
> > b/arch/arm64/boot/dts/freescale/Makefile
> > index 0a4dabac5de4..657e0915ca69 100644
> > --- a/arch/arm64/boot/dts/freescale/Makefile
> > +++ b/arch/arm64/boot/dts/freescale/Makefile
> > @@ -516,6 +516,9 @@ imx943-evk-pcie0-ep-dtbs += imx943-evk.dtb
> > imx-pcie0-ep.dtbo  imx943-evk-pcie1-ep-dtbs += imx943-evk.dtb
> > imx-pcie1-ep.dtbo
> >  dtb-$(CONFIG_ARCH_MXC) += imx943-evk-pcie0-ep.dtb
> > imx943-evk-pcie1-ep.dtb
> >
> > +imx943-evk-sdwifi-dtbs := imx943-evk.dtb imx943-evk-sdwifi.dtbo
> > +dtb-$(CONFIG_ARCH_MXC) += imx943-evk-sdwifi.dtb
> > +
> >  dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-ab2.dtb
> >  dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-evk.dtb
> >  dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-frdm.dtb diff --git
> > a/arch/arm64/boot/dts/freescale/imx943-evk-sdwifi.dtso
> > b/arch/arm64/boot/dts/freescale/imx943-evk-sdwifi.dtso
> > new file mode 100644
> > index 000000000000..59cc1c27b9b9
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/imx943-evk-sdwifi.dtso
> > @@ -0,0 +1,15 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright 2026 NXP
> > + */
> > +
> > +/dts-v1/;
> > +/plugin/;
> > +
> > +&pcie0 {
> > +	status = "disabled";
> > +};
> > +
> > +&usdhc3 {
> > +	status = "okay";
> > +};
> > diff --git a/arch/arm64/boot/dts/freescale/imx943-evk.dts
> > b/arch/arm64/boot/dts/freescale/imx943-evk.dts
> > index fe4fc512d95d..1346a6a56883 100644
> > --- a/arch/arm64/boot/dts/freescale/imx943-evk.dts
> > +++ b/arch/arm64/boot/dts/freescale/imx943-evk.dts
> > @@ -1153,7 +1153,7 @@ &usdhc3 {
> >  	keep-power-in-suspend;
> >  	non-removable;
> >  	wakeup-source;
> > -	status = "okay";
> > +	status = "disabled";
> >  };
> >
> >  &wdog3 {
> >
> > base-commit: 5f9e9f83aee0fa8f2124c6f192505de2cdf7c5dc
> > --
> > 2.37.1
> >




More information about the linux-arm-kernel mailing list