IW416 integration issues over SDIO with i.MX8MP processor

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

IW416 integration issues over SDIO with i.MX8MP processor

ソリューションへジャンプ
1,164件の閲覧回数
Kousik
Contributor I

We are trying to integrate IW416 (Murata's 1XK) with i.MX 8MP processor and facing challenges in integration. We have modified our device tree to reflect the hardware configuration but couldn't detect the SDIO slave connected to mmc0 (USDHC1). Request your help to address the following questions.

1. In our design we are not using IW416 WI-FI to Host wake-up feature. Is this wake up line mandatory?  To reflect our hardware configuration, we have removed the following lines from our device tree. 

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

2. Is the SDIO interface in i.MX 8MP a hot-plug interface?  I presume SDIO interface is not hot-plug and would require a device tree node to represent the SDIO Wi-Fi slave with compatible tag to identify the right driver.  In the NXP IW416 driver source files i could not find the compatible tag but only the vendor and device ID. What is the compatible tag that we should include in the device tree slave node?  

 

0 件の賞賛
返信
1 解決策
1,135件の閲覧回数
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Kousik 

1. In our design we are not using IW416 WI-FI to Host wake-up feature. Is this wake up line mandatory? 

No, it is not mandatory. If you don't need this feature, I think you can remove/disable it in your device tree. As you shown in previous post, I think no problem.

But to double confirm, I will do a test locally, and share you my results(remove this in my device tree) later.

 

2.Is the SDIO interface in i.MX 8MP a hot-plug interface? 

Yes, our i.MX8MP supports hot-plug interface.

Please see below our test result:

Christine_Li_0-1702535768564.png

I have below queries, please help to answer:

1.Are you using our i.MX8MP chip and design your own board? or using our i.MX8MP-EVK?

2.If you are using your own design board with i.MX8MP chip, can you please send your hardware design schematic in pdf to my private email: christine.li@nxp.com? 

Remind: Don't share it on the public community to protect your design.

3.What is your Linux kernel version?

 

Best regards,

Christine.

元の投稿で解決策を見る

タグ(1)
0 件の賞賛
返信
7 返答(返信)
1,136件の閲覧回数
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Kousik 

1. In our design we are not using IW416 WI-FI to Host wake-up feature. Is this wake up line mandatory? 

No, it is not mandatory. If you don't need this feature, I think you can remove/disable it in your device tree. As you shown in previous post, I think no problem.

But to double confirm, I will do a test locally, and share you my results(remove this in my device tree) later.

 

2.Is the SDIO interface in i.MX 8MP a hot-plug interface? 

Yes, our i.MX8MP supports hot-plug interface.

Please see below our test result:

Christine_Li_0-1702535768564.png

I have below queries, please help to answer:

1.Are you using our i.MX8MP chip and design your own board? or using our i.MX8MP-EVK?

2.If you are using your own design board with i.MX8MP chip, can you please send your hardware design schematic in pdf to my private email: christine.li@nxp.com? 

Remind: Don't share it on the public community to protect your design.

3.What is your Linux kernel version?

 

Best regards,

Christine.

タグ(1)
0 件の賞賛
返信
1,127件の閲覧回数
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Kousik 

About question1: In our design we are not using IW416 WI-FI to Host wake-up feature. Is this wake up line mandatory? 

I did a test in my local side  and confirmed that this feature is not mandatory.

I also checked with our colleague, our answer is same.

My test is: comment this in our device tree(imx8mp-evk-usdhc1-m2.dts) like below:

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

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

Then compile Linux BSP Kernel to Image and imx8mp-evk-usdhc1-m2.dtb, after that, flashed it into I.MX8MP EVK board. 

Insert M.2 interface IW612 Module to I.MX8MP EVK board M.2 interface, and boot it up.

It can boot up successfully and IW612 Wi-Fi driver can be loaded successfully and check Wi-Fi interface is boot up correctly like below:

===================

oot@imx8mpevk:~# insmod mlan.ko

root@imx8mpevk:~# insmod moal.ko mod_para=nxp/wifi_mod_para.conf
[ 231.427796] wlan: Loading MWLAN driver
[ 231.432544] wlan: Register to Bus Driver...
[ 231.437388] vendor=0x0471 device=0x0205 class=0 function=1
[ 231.442971] Attach moal handle ops, card interface type: 0x109
[ 231.448819] rps set to 0 from module param
[ 231.454548] SDIW612: init module param from usr cfg
[ 231.459495] card_type: SDIW612, config block: 0
[ 231.464042] cfg80211_wext=0xf
[ 231.467022] max_vir_bss=1
[ 231.469655] cal_data_cfg=none
[ 231.472623] ps_mode = 1
[ 231.475077] auto_ds = 1
[ 231.477538] host_mlme=enable
[ 231.480422] fw_name=nxp/sduart_nw61x_v1.bin.se
[ 231.484892] SDIO: max_segs=128 max_seg_size=65535
[ 231.489610] rx_work=1 cpu_num=4
[ 231.492769] Attach mlan adapter operations.card_type is 0x109.
[ 231.498985] wlan: Enable TX SG mode
[ 231.502500] wlan: Enable RX SG mode
[ 231.509038] Request firmware: nxp/sduart_nw61x_v1.bin.se
[ 231.793771] Wlan: FW download over, firmwarelen=918016 downloaded 841816
[ 233.197579] WLAN FW is active
[ 233.200562] on_time is 232959367413
[ 233.223830] VDLL image: len=76200
[ 233.227495] fw_cap_info=0x487cff03, dev_cap_mask=0xffffffff
[ 233.233109] uuid: 170d362e9a0e5b939e6b9764d263e676
[ 233.237921] max_p2p_conn = 8, max_sta_conn = 16
[ 233.261117] Register NXP 802.11 Adapter mlan0
[ 233.265760] wlan: uap%d set max_mtu 2000
[ 233.271405] Register NXP 802.11 Adapter uap0
[ 233.281421] Register NXP 802.11 Adapter wfd0
[ 233.285783] wlan: version = SDIW612---18.99.2.p19.15-MM6X18398.p9-(FP92)
[ 233.295015] wlan: Register to Bus Driver Done
[ 233.299670] wlan: Driver loaded successfully
root@imx8mpevk:~#
root@imx8mpevk:~# ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.50.241 netmask 255.255.255.0 broadcast 192.168.50.255
inet6 fe80::204:9fff:fe08:3a00 prefixlen 64 scopeid 0x20<link>
ether 00:04:9f:08:3a:00 txqueuelen 1000 (Ethernet)
RX packets 2050 bytes 2545472 (2.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 389 bytes 46036 (44.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 00:04:9f:08:3a:01 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 223

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 96 bytes 8180 (7.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 96 bytes 8180 (7.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

mlan0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether d0:17:69:ee:71:4e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

uap0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether d2:17:69:ee:72:4e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wfd0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether d2:17:69:ee:71:4e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

=====================

Best regards,

Christine.

0 件の賞賛
返信
1,120件の閲覧回数
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Kousik 

I also did another experiment with IW416-uSD module: Azurewave AM510-uSD.

It also can work only directly insert this module to SD card interface on my i.MX8MP-EVK(with my compiled  dtb:imx8mp-evk-usdhc1-m2.dtb).

So, please send your hardware Schematics to my private email, if still have problem on your side so that we can check further.

Best regards,

Christine.

タグ(1)
0 件の賞賛
返信
1,112件の閲覧回数
Kousik
Contributor I

Hi, @Christine_Li   Appreciate your extensive support. There was an incorrect pad setting for the PMIC_EN line in the device tree. After rectification of the same the SDIO card is detected, but now getting probe error as follows, 

dmesg | grep mmc0
[    2.838368] mmc0: SDHCI controller on 30b40000.mmc [30b40000.mmc] using ADMA.
[    2.873203] mmc0: new high speed SDIO card at address 0001
[  113.517899] wlan_sdio: probe of mmc0:0001:1 failed with error -1

What is the error code -1 implies? 

To answer your questions,

1.Are you using our i.MX8MP chip and design your own board? or using our i.MX8MP-EVK?

We are using SOM based design (Pytec's phyCORE-i.MX 8M Plus SOM)

2.If you are using your own design board with i.MX8MP chip, can you please send your hardware design schematic in pdf to my private email: christine.li@nxp.com? 

Will share the schematic once after completing internal procedures. 

3.What is your Linux kernel version?

Linux kernel version used - 5.10.72.
 
Again, appreciate your support and immediate response. 

 

0 件の賞賛
返信
1,100件の閲覧回数
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Kousik 

From your given shared info, I think your SDIO Wi-Fi card has ben detected successfully.

About this error -1, it might be:

1.Wi-Fi driver is not compiled with your correct cross compile tool chain.

2.Firmware is not load correctly, please make sure correct firmware is located in: /lib/firmware/nxp/

And also, it must have a lot of other logs between [    2.873203]  and [  113.517899].

[    2.873203] mmc0: new high speed SDIO card at address 0001
[  113.517899] wlan_sdio: probe of mmc0:0001:1 failed with error -1

1.Can you please help to provide full dmesg logs as an attachment for further checking?

2. May I know your Wi-Fi driver and FW version? Did you download it from our website? or from our github? 

3.What is your modprobe or insmod parameters when you load Wi-Fi driver?

 

Best regards,

Christine.

0 件の賞賛
返信
1,077件の閲覧回数
Kousik
Contributor I

Hi @Christine_Li , Thanks for your support and suggestions. The issue got resolved and the Wi-Fi interface is up. From the dmesg logs I could see it is complaining about missing cal_data_cfg and I tried to explicitly mention the same as follows to resolve this issue. 

insmod moal.ko fw_serial=1 cal_data_cfg=none fw_name=nxp/sdiouartiw416_combo_v0.bin

Appreciate you support and immediate response. 

0 件の賞賛
返信
1,071件の閲覧回数
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Kousik 

Thanks for your feedback and kindly shared your experience to us.

It is very valuable for future reference.

Then I will close this ticket for now and please feel free to create new case to us if you have any other queries in the future.

Have a nice weekend~

 

Best regards,

Christine.

0 件の賞賛
返信