Hello @Andy_Hsieh ,
I checked your schematic of M.2 card. you are using AW-XM458 LGA module, and VIO_SD is 3.3V. then I also found CPU uSDHC IO level is 3.3V.
1. Your design is non-standard M.2 card
According to M.2 Spec, SDIO signals should be 1.8V IO.
But for your design, the card can also work. because both sides lO level are matched (both 3.3V)
2. Just comfirming some points with you
(1) PIN 23 on M.2
it should be pulled up high in your dts. or populate R8.
weidong_sun_0-1681806268252.png
(2) GPIO[16] & GPIO[15]
weidong_sun_1-1681806756735.png
GPIO16 & GPIO15 are used to select work clock, if GPIO16 =1 & GPIO15=1, 40MHz clock will be used.
About these pins' status, you should confirm them with AW Engineer, To confirm if floating them is OK.
(3) About your logs
According to your logs, I didn't see logs related to loading firmware. Could you confirm if the firmware ,sdiouart9098_combo_v1.bin has been placed to /lib/firmware/nxp directory.
After checking or correcting above items, use the following commands, please!
# insmod mlan.ko
# insmod moal.ko 'cfg80211_wext=0xf max_vir_bss=1 drv_mode=7 ps_mode=2 auto_ds=2 fw_name=nxp/sduart9098_combo_v1.bin cal_data_cfg=none host_mlme=1'
[Note]
SD9098 driver, it 's firmware name is 'sduart9098_combo_v1.bin', BUT yours is sdiouart9098_combo_v1.bin , did you rename it?
Try it , please!
Regards,
weidong