How to use the Chip on board Wi-Fi / Bluetooth AW-CM358 of i.MX8M Quad EVK Board?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to use the Chip on board Wi-Fi / Bluetooth AW-CM358 of i.MX8M Quad EVK Board?

520 Views
Derek0902
Contributor II

Hi,

I found the Wi-Fi device tree default setting for PCIe interface  in "imx8mq-evk.dts".

If I want to use SDIO interface for Wi-Fi, I need to modify device tree in "imx8mq-evk.dts", right ?

&gpio5 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_wifi_reset>;

	wl-reg-on-hog {
		gpio-hog;
		gpios = <29 GPIO_ACTIVE_HIGH>;
		output-high;
	};
};

&pcie1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pcie1>;
	reset-gpio = <&gpio5 12 GPIO_ACTIVE_LOW>;
	clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>,
		 <&clk IMX8MQ_CLK_PCIE2_AUX>,
		 <&clk IMX8MQ_CLK_PCIE2_PHY>,
		 <&pcie0_refclk>;
	clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
	vpcie-supply = <&reg_pcie1>;
	vph-supply = <&vgen5_reg>;
	status = "okay";

	wifi_wake_host {
		compatible = "nxp,wifi-wake-host";
		interrupt-parent = <&gpio5>;
		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
		interrupt-names = "host-wake";
	};
};

        pinctrl_wifi_reset: wifiresetgrp {
		fsl,pins = <
			MX8MQ_IOMUXC_UART4_TXD_GPIO5_IO29		0x16
		>;
	};

Can I follow this SDIO device tree in "imx8mq-evk-usdhc2-m2.dts" to modify "imx8mq-evk.dts"?

// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Copyright 2020 NXP
 */

#include "imx8mq-evk.dts"

/ {
	modem_reset: modem-reset {
		reset-gpios = <&gpio3 5 GPIO_ACTIVE_HIGH>;
	};

	usdhc2_pwrseq: usdhc2_pwrseq {
		compatible = "mmc-pwrseq-simple";
		reset-gpios = <&gpio5 10 GPIO_ACTIVE_LOW>;
	};
};

&pinctrl_usdhc2 {
	fsl,pins = <
		MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x83
		MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xc3
		MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xc3
		MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xc3
		MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xc3
		MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xc3
		MX8MQ_IOMUXC_GPIO1_IO04_GPIO1_IO4               0x49
		MX8MQ_IOMUXC_ECSPI2_SCLK_GPIO5_IO10             0x46
		MX8MQ_IOMUXC_SD2_WP_GPIO2_IO20			0x41
	>;
};

&pinctrl_usdhc2_100mhz {
	fsl,pins = <
		MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x85
		MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xc5
		MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xc5
		MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xc5
		MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xc5
		MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xc5
		MX8MQ_IOMUXC_GPIO1_IO04_GPIO1_IO4               0x49
		MX8MQ_IOMUXC_ECSPI2_SCLK_GPIO5_IO10             0x46
		MX8MQ_IOMUXC_SD2_WP_GPIO2_IO20			0x41
	>;
};

&pinctrl_usdhc2_200mhz {
	fsl,pins = <
		MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x87
		MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xc7
		MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xc7
		MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xc7
		MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xc7
		MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xc7
		MX8MQ_IOMUXC_GPIO1_IO04_GPIO1_IO4               0x49
		MX8MQ_IOMUXC_ECSPI2_SCLK_GPIO5_IO10             0x46
		MX8MQ_IOMUXC_SD2_WP_GPIO2_IO20			0x41
	>;
};

&reg_pcie1{
	status = "disabled";
};

&pcie0{
	status = "disabled";
};

&pcie1{
	status = "disabled";
	/delete-node/ wifi_wake_host;
};

&usdhc2 {
	pinctrl-assert-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
	/delete-property/ cd-gpios;
	keep-power-in-suspend;
	non-removable;
	wakeup-source;
	fsl,sdio-async-interrupt-enabled;
	mmc-pwrseq = <&usdhc2_pwrseq>;

	wifi_wake_host {
		compatible = "nxp,wifi-wake-host";
		interrupt-parent = <&gpio2>;
		interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
		interrupt-names = "host-wake";
	};
};

&gpio5 {
	/delete-node/ wl-reg-on-hog; /* disable the on-board wifi */
};

 

Regards,

Derek Lin

 

Tags (1)
0 Kudos
Reply
2 Replies

505 Views
JorgeCas
NXP TechSupport
NXP TechSupport

Hello, I hope you are doing well.

You only need to load it on U-boot with the next commands.

u-boot=> setenv fdtfile imx8mq-evk-usdhc2-m2.dtb
u-boot=> saveenv
u-boot=> boot

Also, I suggest you check the next documents:

UM11490

UM11483

Best regards.

0 Kudos
Reply

430 Views
Derek0902
Contributor II

Hi @JorgeCas ,

When I load the driver use this command :

$ modprobe moal mod_para=nxp/wifi_mod_para.conf

 

Then there are no mesg about parameter setting and sdiouart8987 combo firmware loading, only appeared this mesg:

Screenshot from 2023-12-27 15-57-59.png

Do you know what happened this?

 

Thanks & Regards,

Derek Lin

0 Kudos
Reply