SDIO + WiFi Driver for Murata Type 1MW(Cypress CYW43455) for imx8mm custom in Linux 5.10.72

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

SDIO + WiFi Driver for Murata Type 1MW(Cypress CYW43455) for imx8mm custom in Linux 5.10.72

824 Views
lmtan91
Contributor II

Hi everyone,

My company is using https://www.myzr-tech.com/system-on-module/nxp-som-module/i-mx-8m-mini-som-module.html and upgrading the Yocto nxp to 5.10.72 (hardknott) to support Linux kernel 5.10.72.

And we based on https://github.com/murata-wireless/meta-murata-wireless/tree/imx-hardknott-drogon to bringup the wlan driver. The schematic as below:

lmtan91_0-1689321263899.png

I get the following error after bootup.

root@imx8mm-ddr4-evk:~# dmesg | grep brcm
[ 6.200157] brcmfmac: brcmf_fw_alloc_request: using cypress/cyfmac43455-sdio for chip BCM4345/6
[ 6.223869] usbcore: registered new interface driver brcmfmac
[ 6.229866] brcmfmac: brcmf_fw_request_firmware: no board-specific nvram available (ret=-2), device will use cypress/cyfmac43455-sdio.txt
[ 7.279092] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[ 8.294774] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

Device tree

usdhc1_pwrseq: usdhc1_pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc1_gpio>;
reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
};

pinctrl_usdhc1_gpio: usdhc1grpgpio {
fsl,pins = <
MX8MM_IOMUXC_SD1_RESET_B_GPIO2_IO10 0x41
>;
};

pinctrl_usdhc1: usdhc1grp {
fsl,pins = <
MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x190
MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d0
MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d0
MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d0
MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d0
MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d0
>;
};

pinctrl_usdhc1_100mhz: usdhc1grp100mhz {
fsl,pins = <
MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x194
MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d4
MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d4
MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d4
MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d4
MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d4
>;
};

pinctrl_usdhc1_200mhz: usdhc1grp200mhz {
fsl,pins = <
MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x196
MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d6
MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d6
MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d6
MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d6
MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d6
>;
};



&usdhc1 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_wlan>;
pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_wlan>;
pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_wlan>;
bus-width = <4>;
keep-power-in-suspend;
non-removable;
wakeup-source;
mmc-pwrseq = <&usdhc1_pwrseq>;
fsl,sdio-interrupt-enabled;
status = "okay";

brcmf: bcrmf@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
interrupt-parent = <&gpio2>;
interrupts = <9 IRQ_TYPE_LEVEL_LOW>; /* WL_HOST_WAKE */
interrupt-names = "host-wake";
};
};

I checked my /lib/firmware/cypress/ folder as well,

lmtan91_1-1689321750413.png

And /lib/firmware/brcm folder as well,

lmtan91_2-1689321783884.png

Could someone please help me to understand if anything is missing? Your help is much appreciated.

My BSP: repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-hardknott -m imx-5.10.72-2.2.3.xml

Regards,

Tan

Labels (1)
0 Kudos
Reply
0 Replies