Dear Team,
Regarding WF200 evl Integration on i.MX6UL SOC below are the list of test cases performed.
WF200 Integration Test Procedure :-
1) Kernel Version Information :-
BSP-Yocto-Ampliphy-i.MX6UL-PD22.1.0 2022-08-11
==========================================================
- Linux Mainline Kernel v5.15.35 (LTS kernel)
* Tag: v5.15.35-phy3
- barebox v2022.02.0
* Tag: v2022.02.0-phy1
- Yocto 4.0.1 (kirkstone)
- Qt 5.15.3 from meta-qt5 (kirkstone)
2. Device tree Modifications :-
Please find the attachment for details device tree information
3. Hardware Connection Information :-
RB-iMX6UL to WF200 CONNECTION INFO
S.No RB-iMX6UL PIN No Description WF200 EVK PIN No Description
1 R98 SDIO1-DAT-2 37 SDIO-DAT-2
2 R99 SDIO1-DAT-3 13 SDIO-DAT-3
3 R100 SDIO1-CMD 16 SDIO-CMD
4 R103 SDIO1-CLK 15 SDIO-CLK
5 R105 SDIO1-DAT-0 18 SDIO-DAT-0
6 R107 SDIO1-DAT-1 22 SDIO-DAT-1
7 R109 SDIO1-CD ---- ---
8 MBUS (M1) PIN 4 WF200-WAKE-UP 32 WF200-WAKE-UP
9 MBus(M1) PIN 3 WF200-RESET 33 WF200-RESET
10 Expansion (P10) PIN 2 5V 2 5V
11 Expansion(P10) PIN 1 3.3V 1 3.3V
12 Expansion(P10) PIN 36 GND 39 GND
13 MBUS(M1) PIN 8 GND 25 GND
14 MBUS(M1) PIN 9 GND 20 GND
4) MMC0 Debug error Log :-
Log :-
*******
root@phyboard-segin-imx6ul-2:~# dmesg | grep -nri "mmc*"
20:[ 0.000000] Kernel command line: consoleblank=0 console=ttymxc0,115200n8 cpuidle.off=1 root=ubi0:root ubi.mtd=root rootfstype=ubifs rootwait ro fsck.repair=yes
39:[ 0.004513] Console: colour dummy device 80x30
73:[ 0.400516] vdd3p0: supplied by regulator-dummy
74:[ 0.408959] cpu: supplied by regulator-dummy
75:[ 0.415948] vddsoc: supplied by regulator-dummy
129:[ 5.160008] Key type asymmetric registered
130:[ 5.160417] Asymmetric key parser 'x509' registered
135:[ 5.283818] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 30, base_baud = 5000000) is a IMX
137:[ 6.100729] 21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 68, base_baud = 5000000) is a IMX
138:[ 6.118483] 21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 69, base_baud = 5000000) is a IMX
139:[ 6.135511] 21f4000.serial: ttymxc4 at MMIO 0x21f4000 (irq = 70, base_baud = 5000000) is a IMX
140:[ 6.153208] 21fc000.serial: ttymxc5 at MMIO 0x21fc000 (irq = 71, base_baud = 5000000) is a IMX
143:[ 6.434341] at24 0-0052: supply vcc not found, using dummy regulator
195:[ 7.451342] sdhci-esdhc-imx 2190000.mmc: allocated mmc-pwrseq
196:[ 7.460114] imx6ul-pinctrl 20e0000.pinctrl: pin MX6UL_PAD_NAND_WE_B already requested by 1806000.nand-controller; cannot claim for 2194000.mmc
197:[ 7.473298] imx6ul-pinctrl 20e0000.pinctrl: pin-95 (2194000.mmc) status -22
199:[ 7.493128] sdhci-esdhc-imx 2194000.mmc: Error applying setting, reverse things back
205:[ 7.681106] mmc0: SDHCI controller on 2190000.mmc [2190000.mmc] using ADMA
206:[ 7.737246] mmc0: error -84 whilst initialising SDIO card
207:[ 7.816530] sdhci-esdhc-imx 2190000.mmc: card claims to support voltages below defined range
208:[ 7.825944] sdhci-esdhc-imx 2190000.mmc: exceeding card's volts
209:[ 7.847417] mmc0: error -84 whilst initialising MMC card
215:[ 7.966380] mmc0: error -84 whilst initialising SDIO card
216:[ 8.060897] sdhci-esdhc-imx 2190000.mmc: card claims to support voltages below defined range
217:[ 8.069718] sdhci-esdhc-imx 2190000.mmc: exceeding card's volts
232:[ 8.217826] mmc0: error -84 whilst initialising MMC card
235:[ 8.303534] mmc0: error -84 whilst initialising SDIO card
236:[ 8.398933] sdhci-esdhc-imx 2190000.mmc: card claims to support voltages below defined range
237:[ 8.407734] sdhci-esdhc-imx 2190000.mmc: no support for card's volts
238:[ 8.414315] mmc0: error -22 whilst initialising MMC card
239:[ 8.533988] mmc0: error -84 whilst initialising SDIO card
240:[ 8.656107] sdhci-esdhc-imx 2190000.mmc: card claims to support voltages below defined range
241:[ 8.664864] sdhci-esdhc-imx 2190000.mmc: exceeding card's volts
266:[ 9.057319] mmc0: error -84 whilst initialising MMC card
311:[ 10.827191] systemd[1]: systemd 250.5+ running in system mode (-PAM -AUDIT -SELINUX -APPARMOR -IMA -SMACK -SECCOMP -GCRYPT -GNUTLS -OPENSSL -ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KM)
343:[ 14.505704] systemd[1]: Huge Pages File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/mm/hugepages).
358:[ 15.690027] systemd[1]: Starting Generate network units from Kernel command line...
372:[ 17.044701] systemd[1]: Finished Generate network units from Kernel command line.
399:[ 20.235535] systemd[1]: Commit a transient machine-id on disk was skipped because of a failed condition check (ConditionPathIsMountPoint=/etc/machine-id).
Driver Error log :-
******************
Starting Wait for udev To �…plete Device Initialization...
[ 36.304904] Generic PHY 20b4000.ethernet-1:00: attached PHY driver (mii_bus:phy_addr=20b4000.ethernet-1:00, irq=POLL)
[ 37.453417] wfx: module is from the staging directory, the quality is unknown, you have been warned.
[ 37.944808] Loading wfx module...
[ 37.948224] wfx module
[ *** ] A start job is running for Wait for�…ce Initialization (24s / 3min 22s)
[ 37.952220] when sdio_register_driver call
[ 38.018373] Micrel KSZ8081 or KSZ8091 2188000.ethernet-2:01: attached PHY driver (mii_bus:phy_addr=2188000.ethernet-2:01, irq=76)
[ 38.103568] when bus_sdio.c sdio_probe call
[ 38.115733] wfx_init start
[*** ] A start job is running for Wait for�…ce Initialization (25s / 3min 22s)
[ 38.123884] when main.c main wfx_probe start
[ 39.555262] gpio_dvfs: disabling
[ 39.673301] print sdio_disable_functon start
root@phyboard-segin-imx6ul-2:~# dmesg | grep -nri "sdio*"
207:[ 7.839601] mmc0: new high speed SDIO card at address 0002
382:[ 37.962788] when sdio_register_driver call
383:[ 38.013932] when bus_sdio.c sdio_probe call
385:[ 38.099160] when bus_sdio.c init function call
388:[ 39.670238] print sdio_disable_functon start
389:[ 39.670739] wfx-sdio: probe of mmc0:0002:1 failed with error -84
****************************************************************************************************************
These logs will appear when trying 12 MHz frequency
phyboard-segin-imx6ul-2 login: root
root@phyboard-segin-imx6ul-2:~# dmesg | grep "mmc*"
[ 0.000000] Kernel command line: consoleblank=0 console=ttymxc0,115200n8 cpuidle.off=1 root=ubi0:root ubi.mtd=root rootfstype=ubifs rootwait ro fsck.repair=yes
[ 0.004364] Console: colour dummy device 80x30
[ 0.396697] vdd3p0: supplied by regulator-dummy
[ 0.405238] cpu: supplied by regulator-dummy
[ 0.412604] vddsoc: supplied by regulator-dummy
[ 5.153238] Key type asymmetric registered
[ 5.153648] Asymmetric key parser 'x509' registered
[ 6.430501] at24 0-0052: supply vcc not found, using dummy regulator
[ 7.457638] sdhci-esdhc-imx 2190000.mmc: allocated mmc-pwrseq
[ 7.466337] imx6ul-pinctrl 20e0000.pinctrl: pin MX6UL_PAD_NAND_WE_B already requested by 1806000.nand-controller; cannot claim for 2194000.mmc
[ 7.479525] imx6ul-pinctrl 20e0000.pinctrl: pin-95 (2194000.mmc) status -22
[ 7.499450] sdhci-esdhc-imx 2194000.mmc: Error applying setting, reverse things back
[ 7.687137] mmc0: SDHCI controller on 2190000.mmc [2190000.mmc] using ADMA
[ 7.762681] mmc0: new high speed SDIO card at address 0001
[ 14.354100] systemd[1]: Huge Pages File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/mm/hugepages).
[ 15.533203] systemd[1]: Starting Generate network units from Kernel command line...
[ 16.932129] systemd[1]: Finished Generate network units from Kernel command line.
[ 38.480653] wfx-sdio mmc0:0001:1: write32: bus communication error: -110
[ 38.745980] wfx-sdio: probe of mmc0:0001:1 failed with error -110
root@phyboard-segin-imx6ul-2:~# dmesg | grep "wfx*"
[ 37.701513] wfx: module is from the staging directory, the quality is unknown, you have been warned.
[ 38.225356] Loading wfx module...
[ 38.229246] wfx module
[ 38.362327] wfx_init start
[ 38.370545] when main.c main wfx_probe start
[ 38.480653] wfx-sdio mmc0:0001:1: write32: bus communication error: -110
[ 38.745980] wfx-sdio: probe of mmc0:0001:1 failed with error -110
[ 38.784541] this show init wfx_core_init
root@phyboard-segin-imx6ul-2:~# dmesg | grep "sdio*"
[ 38.296830] when sdio_register_driver call
[ 38.310104] when bus_sdio.c sdio_probe call
[ 38.367175] when bus_sdio.c init function call
[ 38.480653] wfx-sdio mmc0:0001:1: write32: bus communication error: -110
[ 38.745439] print sdio_disable_functon start
[ 38.745980] wfx-sdio: probe of mmc0:0001:1 failed with error -110
root@phyboard-segin-imx6ul-2:~# cat /sys/kernel/debug/mmc0/ios
clock: 12000000 Hz
vdd: 21 (3.3 ~ 3.4 V)
bus mode: 2 (push-pull)
chip select: 0 (don't care)
power mode: 2 (on)
bus width: 2 (4 bits)
timing spec: 2 (sd high-speed)
signal voltage: 0 (3.30 V)
driver type: 0 (driver type B)
********************************************************************************************
second logs
phyboard-segin-imx6ul-2 login: root
root@phyboard-segin-imx6ul-2:~# dmesg | grep "mmc*"
[ 0.000000] Kernel command line: consoleblank=0 console=ttymxc0,115200n8 cpuidle.off=1 root=ubi0:root ubi.mtd=root rootfstype=ubifs rootwait ro fsck.repair=yes
[ 0.004340] Console: colour dummy device 80x30
[ 0.396745] vdd3p0: supplied by regulator-dummy
[ 0.405313] cpu: supplied by regulator-dummy
[ 0.412669] vddsoc: supplied by regulator-dummy
[ 5.150005] Key type asymmetric registered
[ 5.150414] Asymmetric key parser 'x509' registered
[ 6.427609] at24 0-0052: supply vcc not found, using dummy regulator
[ 7.454677] sdhci-esdhc-imx 2190000.mmc: allocated mmc-pwrseq
[ 7.463366] imx6ul-pinctrl 20e0000.pinctrl: pin MX6UL_PAD_NAND_WE_B already requested by 1806000.nand-controller; cannot claim for 2194000.mmc
[ 7.476545] imx6ul-pinctrl 20e0000.pinctrl: pin-95 (2194000.mmc) status -22
[ 7.496576] sdhci-esdhc-imx 2194000.mmc: Error applying setting, reverse things back
[ 7.687008] mmc0: SDHCI controller on 2190000.mmc [2190000.mmc] using ADMA
[ 7.765715] mmc0: new high speed SDIO card at address 0001
[ 14.337330] systemd[1]: Huge Pages File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/mm/hugepages).
[ 15.544081] systemd[1]: Starting Generate network units from Kernel command line...
[ 16.872536] systemd[1]: Finished Generate network units from Kernel command line.
[ 49.149770] mmc0: Timeout waiting for hardware interrupt.
[ 49.156050] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 49.162571] mmc0: sdhci: Sys addr: 0x84bf8440 | Version: 0x00000002
[ 49.169086] mmc0: sdhci: Blk size: 0x00000004 | Blk cnt: 0x00000001
[ 49.175594] mmc0: sdhci: Argument: 0x14000004 | Trn mode: 0x00000013
[ 49.182104] mmc0: sdhci: Present: 0x01f8820e | Host ctl: 0x00000013
[ 49.188607] mmc0: sdhci: Power: 0x00000002 | Blk gap: 0x00000080
[ 49.195110] mmc0: sdhci: Wake-up: 0x00000008 | Clock: 0x0000018f
[ 49.201614] mmc0: sdhci: Timeout: 0x0000000f | Int stat: 0x00000000
[ 49.208118] mmc0: sdhci: Int enab: 0x107f100b | Sig enab: 0x107f100b
[ 49.214625] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000302
[ 49.221128] mmc0: sdhci: Caps: 0x07eb0000 | Caps_1: 0x0000b400
[ 49.227631] mmc0: sdhci: Cmd: 0x0000353a | Max curr: 0x00ffffff
[ 49.234134] mmc0: sdhci: Resp[0]: 0x00004000 | Resp[1]: 0x00000000
[ 49.240638] mmc0: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000
[ 49.247142] mmc0: sdhci: Host ctl2: 0x00000000
[ 49.251645] mmc0: sdhci: ADMA Err: 0x00000003 | ADMA Ptr: 0x9a041204
[ 49.258147] mmc0: sdhci-esdhc-imx: ========= ESDHC IMX DEBUG STATUS DUMP =========
[ 49.265771] mmc0: sdhci-esdhc-imx: cmd debug status: 0x3100
[ 49.271495] mmc0: sdhci-esdhc-imx: data debug status: 0x32a0
[ 49.277301] mmc0: sdhci-esdhc-imx: trans debug status: 0x33a2
[ 49.283193] mmc0: sdhci-esdhc-imx: dma debug status: 0x3420
[ 49.288913] mmc0: sdhci-esdhc-imx: adma debug status: 0x35b4
[ 49.294718] mmc0: sdhci-esdhc-imx: fifo debug status: 0x3680
[ 49.300523] mmc0: sdhci-esdhc-imx: async fifo debug status: 0x3750
[ 49.306850] mmc0: sdhci: ============================================
[ 49.332278] wfx-sdio mmc0:0001:1: read32: bus communication error: -110
[ 49.347874] wfx-sdio mmc0:0001:1: write32: bus communication error: -84
[ 110.596329] wfx-sdio mmc0:0001:1: can't load wfm_wf200_FF.sec, falling back to wfm_wf200.sec
[ 110.608083] wfx-sdio mmc0:0001:1: Direct firmware load for wfm_wf200.sec failed with error -2
[ 110.617359] wfx-sdio mmc0:0001:1: Falling back to sysfs fallback for: wfm_wf200.sec
[ 157.594418] wfx-sdio mmc0:0001:1: can't load wfm_wf200.sec
[ 157.651682] wfx-sdio mmc0:0001:1: write32: bus communication error: -84
[ 157.711855] wfx-sdio mmc0:0001:1: write32: bus communication error: -84
[ 157.718620] wfx-sdio mmc0:0001:1: secure boot: Error 0xffffffff
[ 157.816544] wfx-sdio: probe of mmc0:0001:1 failed with error -2
root@phyboard-segin-imx6ul-2:~# dmesg | grep "wfx*"
[ 37.598795] wfx: module is from the staging directory, the quality is unknown, you have been warned.
[ 38.100006] Loading wfx module...
[ 38.103421] wfx module
[ 38.268294] wfx_init start
[ 38.344271] when main.c main wfx_probe start
[ 49.332278] wfx-sdio mmc0:0001:1: read32: bus communication error: -110
[ 49.347874] wfx-sdio mmc0:0001:1: write32: bus communication error: -84
[ 110.596329] wfx-sdio mmc0:0001:1: can't load wfm_wf200_FF.sec, falling back to wfm_wf200.sec
[ 110.608083] wfx-sdio mmc0:0001:1: Direct firmware load for wfm_wf200.sec failed with error -2
[ 110.617359] wfx-sdio mmc0:0001:1: Falling back to sysfs fallback for: wfm_wf200.sec
[ 157.594418] wfx-sdio mmc0:0001:1: can't load wfm_wf200.sec
[ 157.651682] wfx-sdio mmc0:0001:1: write32: bus communication error: -84
[ 157.711855] wfx-sdio mmc0:0001:1: write32: bus communication error: -84
[ 157.718620] wfx-sdio mmc0:0001:1: secure boot: Error 0xffffffff
[ 157.816544] wfx-sdio: probe of mmc0:0001:1 failed with error -2
root@phyboard-segin-imx6ul-2:~# dmesg | grep "sdio*"
[ 38.106806] when sdio_register_driver call
[ 38.199796] when bus_sdio.c sdio_probe call
[ 38.341470] when bus_sdio.c init function call
[ 49.332278] wfx-sdio mmc0:0001:1: read32: bus communication error: -110
[ 49.347874] wfx-sdio mmc0:0001:1: write32: bus communication error: -84
[ 110.596329] wfx-sdio mmc0:0001:1: can't load wfm_wf200_FF.sec, falling back to wfm_wf200.sec
[ 110.608083] wfx-sdio mmc0:0001:1: Direct firmware load for wfm_wf200.sec failed with error -2
[ 110.617359] wfx-sdio mmc0:0001:1: Falling back to sysfs fallback for: wfm_wf200.sec
[ 157.594418] wfx-sdio mmc0:0001:1: can't load wfm_wf200.sec
[ 157.651682] wfx-sdio mmc0:0001:1: write32: bus communication error: -84
[ 157.711855] wfx-sdio mmc0:0001:1: write32: bus communication error: -84
[ 157.718620] wfx-sdio mmc0:0001:1: secure boot: Error 0xffffffff
[ 157.816056] print sdio_disable_functon start
[ 157.816544] wfx-sdio: probe of mmc0:0001:1 failed with error -2
root@phyboard-segin-imx6ul-2:~# cat /sys/kernel/debug/mmc0/ios
clock: 12000000 Hz
vdd: 21 (3.3 ~ 3.4 V)
bus mode: 2 (push-pull)
chip select: 0 (don't care)
power mode: 2 (on)
bus width: 2 (4 bits)
timing spec: 2 (sd high-speed)
signal voltage: 0 (3.30 V)
driver type: 0 (driver type B)
Third log
***************************************************************************************************************
phyboard-segin-imx6ul-2 login: root
root@phyboard-segin-imx6ul-2:~# dmesg | grep "mmc*"
[ 0.000000] Kernel command line: consoleblank=0 console=ttymxc0,115200n8 cpuidle.off=1 root=ubi0:root ubi.mtd=root rootfstype=ubifs rootwait ro fsck.repair=yes
[ 0.004364] Console: colour dummy device 80x30
[ 0.396497] vdd3p0: supplied by regulator-dummy
[ 0.405024] cpu: supplied by regulator-dummy
[ 0.412328] vddsoc: supplied by regulator-dummy
[ 5.148331] Key type asymmetric registered
[ 5.148744] Asymmetric key parser 'x509' registered
[ 6.425392] at24 0-0052: supply vcc not found, using dummy regulator
[ 7.451390] imx6ul-pinctrl 20e0000.pinctrl: pin MX6UL_PAD_NAND_WE_B already requested by 1806000.nand-controller; cannot claim for 2194000.mmc
[ 7.464927] imx6ul-pinctrl 20e0000.pinctrl: pin-95 (2194000.mmc) status -22
[ 7.484973] sdhci-esdhc-imx 2194000.mmc: Error applying setting, reverse things back
[ 7.501426] sdhci-esdhc-imx 2190000.mmc: allocated mmc-pwrseq
[ 7.685800] mmc0: SDHCI controller on 2190000.mmc [2190000.mmc] using ADMA
[ 7.763043] mmc0: new high speed SDIO card at address 0004
[ 14.411815] systemd[1]: Huge Pages File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/mm/hugepages).
[ 15.649894] systemd[1]: Starting Generate network units from Kernel command line...
[ 17.070461] systemd[1]: Finished Generate network units from Kernel command line.
[ 48.509682] mmc0: Timeout waiting for hardware interrupt.
[ 48.515956] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 48.522480] mmc0: sdhci: Sys addr: 0x84f80ec0 | Version: 0x00000002
[ 48.528993] mmc0: sdhci: Blk size: 0x00000004 | Blk cnt: 0x00000001
[ 48.535498] mmc0: sdhci: Argument: 0x14000004 | Trn mode: 0x00000013
[ 48.542004] mmc0: sdhci: Present: 0x01f8820e | Host ctl: 0x00000013
[ 48.548509] mmc0: sdhci: Power: 0x00000002 | Blk gap: 0x00000080
[ 48.555012] mmc0: sdhci: Wake-up: 0x00000008 | Clock: 0x0000018f
[ 48.561515] mmc0: sdhci: Timeout: 0x0000000f | Int stat: 0x00000000
[ 48.568017] mmc0: sdhci: Int enab: 0x107f100b | Sig enab: 0x107f100b
[ 48.574526] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000302
[ 48.581032] mmc0: sdhci: Caps: 0x07eb0000 | Caps_1: 0x0000b400
[ 48.587538] mmc0: sdhci: Cmd: 0x0000353a | Max curr: 0x00ffffff
[ 48.594044] mmc0: sdhci: Resp[0]: 0x00004000 | Resp[1]: 0x00000000
[ 48.600549] mmc0: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000
[ 48.607054] mmc0: sdhci: Host ctl2: 0x00000000
[ 48.611559] mmc0: sdhci: ADMA Err: 0x00000003 | ADMA Ptr: 0x9a041204
[ 48.618062] mmc0: sdhci-esdhc-imx: ========= ESDHC IMX DEBUG STATUS DUMP =========
[ 48.625686] mmc0: sdhci-esdhc-imx: cmd debug status: 0x3100
[ 48.631408] mmc0: sdhci-esdhc-imx: data debug status: 0x32a0
[ 48.637215] mmc0: sdhci-esdhc-imx: trans debug status: 0x33a2
[ 48.643107] mmc0: sdhci-esdhc-imx: dma debug status: 0x3420
[ 48.648825] mmc0: sdhci-esdhc-imx: adma debug status: 0x35b4
[ 48.654629] mmc0: sdhci-esdhc-imx: fifo debug status: 0x3680
[ 48.660435] mmc0: sdhci-esdhc-imx: async fifo debug status: 0x3750
[ 48.666764] mmc0: sdhci: ============================================
[ 48.685981] wfx-sdio mmc0:0004:1: read32: bus communication error: -110
[ 48.701551] wfx-sdio mmc0:0004:1: write32: bus communication error: -84
[ 48.719857] wfx-sdio mmc0:0004:1: write32: bus communication error: -84
[ 48.726749] wfx-sdio mmc0:0004:1: secure boot: Error 0xffffffff
[ 48.754680] wfx-sdio: probe of mmc0:0004:1 failed with error -5
root@phyboard-segin-imx6ul-2:~# dmesg | grep "wfx*"
[ 37.714169] wfx: module is from the staging directory, the quality is unknown, you have been warned.
[ 38.247550] Loading wfx module...
[ 38.251540] wfx module
[ 38.415454] wfx_init start
[ 38.419371] when main.c main wfx_probe start
[ 48.685981] wfx-sdio mmc0:0004:1: read32: bus communication error: -110
[ 48.701551] wfx-sdio mmc0:0004:1: write32: bus communication error: -84
[ 48.719857] wfx-sdio mmc0:0004:1: write32: bus communication error: -84
[ 48.726749] wfx-sdio mmc0:0004:1: secure boot: Error 0xffffffff
[ 48.754680] wfx-sdio: probe of mmc0:0004:1 failed with error -5
[ 48.783797] this show init wfx_core_init
root@phyboard-segin-imx6ul-2:~# dmesg | grep "sdio*"
[ 38.316008] when sdio_register_driver call
[ 38.329667] when bus_sdio.c sdio_probe call
[ 38.416071] when bus_sdio.c init function call
[ 48.685981] wfx-sdio mmc0:0004:1: read32: bus communication error: -110
[ 48.701551] wfx-sdio mmc0:0004:1: write32: bus communication error: -84
[ 48.719857] wfx-sdio mmc0:0004:1: write32: bus communication error: -84
[ 48.726749] wfx-sdio mmc0:0004:1: secure boot: Error 0xffffffff
[ 48.753055] print sdio_disable_functon start
[ 48.754680] wfx-sdio: probe of mmc0:0004:1 failed with error -5
root@phyboard-segin-imx6ul-2:~#
Please go through the error logs and suggest any solution
**********************************************************************************************************************
I also tried integrating the ATWILC3000 on the i.MX6UL SoC, and it is working.
Log
******************************************************************************************************
ruggedboard-imx6ul login: root
root@ruggedboard-imx6ul:~# dmesg | grep "mmc*"
[ 0.000000] Normal zone: 1024 pages used for memmap
[ 0.000000] Kernel command line: consoleblank=0 console=ttymxc0,115200n8 root=ubi0:root ubi.mtd=root rootfstype=ubifs rootwait rw fsck.repair=yes
[ 0.003021] Console: colour dummy device 80x30
[ 0.071973] vdd3p0: supplied by regulator-dummy
[ 0.073186] cpu: supplied by regulator-dummy
[ 0.074367] vddsoc: supplied by regulator-dummy
[ 0.224905] mxsfb 21c8000.lcdif: 21c8000.lcdif supply lcd not found, using dummy regulator
[ 1.839443] fec 20b4000.ethernet: 20b4000.ethernet supply phy not found, using dummy regulator
[ 1.897512] fec 2188000.ethernet: 2188000.ethernet supply phy not found, using dummy regulator
[ 2.054225] usbserial: USB Serial support registered for Qualcomm USB modem
[ 2.077833] imx_usb 2184000.usb: 2184000.usb supply vbus not found, using dummy regulator
[ 2.149106] imx_usb 2184200.usb: 2184200.usb supply vbus not found, using dummy regulator
[ 3.973156] mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA
[ 4.131706] mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
[ 4.191994] mmc1: new high speed SDIO card at address 0001
root@ruggedboard-imx6ul:~# modprobe wilc-sdio
[ 108.670417] wilc_sdio: module is from the staging directory, the quality is unknown, you have been warned.
[ 108.856313] Registering wifi device
[ 108.859852] Max scan ids= 10,Max scan IE len= 1000,Signal Type= 1,Interface Modes= 844
[ 108.875269] Initializing Locks ...
[ 108.902105] wifi_pm : 0
[ 108.904600] wilc_sdio mmc1:0001:1: failed to get Reset GPIO, try default
[ 108.911416] wifi_pm : 1
[ 108.969114] wilc_sdio mmc1:0001:1: failed to get Reset GPIO, try default
[ 109.005969] wilc_sdio mmc1:0001:1: Driver Initializing success
root@ruggedboard-imx6ul:~# [ 109.097337] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_mac_open]MAC OPEN[d4760000] wlan0
[ 109.106491] WILC POWER UP
[ 109.109194] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_init_host_int]Host[d4760000][d47614a0]
[ 109.135729] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_mac_open]*** re-init ***
[ 109.143028] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_wlan_init]Initializing WILC_Wlan
[ 109.150937] wilc_sdio mmc1:0001:1: SDIO speed: 50000000
[ 109.170213] wilc_sdio mmc1:0001:1: chipid 003000d0
[ 109.176372] wilc_sdio mmc1:0001:1 wlan0: INFO [init_chip]Bootrom sts = d
[ 109.188252] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_wlan_initialize]WILC Initialization done
[ 109.196892] wilc_sdio mmc1:0001:1 wlan0: INFO [wlan_initialize_threads]Initializing Threads ...
[ 109.205682] wilc_sdio mmc1:0001:1 wlan0: INFO [wlan_initialize_threads]Creating kthread for transmission
[ 109.222530] wilc_sdio mmc1:0001:1 wlan0: INFO [wlan_initialize_threads]Creating kthread for Debugging
[ 109.232383] wilc_sdio mmc1:0001:1: failed to get IRQ GPIO, load default
[ 109.239236] wilc_sdio mmc1:0001:1 wlan0: INFO [init_irq]IRQ request succeeded IRQ-NUM= 156
[ 109.254853] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_wlan_get_firmware]Detect chip WILC3000
[ 109.263293] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_wlan_get_firmware]loading firmware mchp/wilc3000_wifi_firmware.bin
[ 109.274076] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_wlan_get_firmware]WLAN firmware: mchp/wilc3000_wifi_firmware.bin
[ 109.316118] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_firmware_download]Downloading Firmware ...
[ 109.324938] wilc_wlan_firmware_downloadDownloading firmware size = 140360
[ 109.347303] wilc_wlan_firmware_download Offset = 120832
[ 109.355263] wilc_wlan_firmware_download Offset = 140360
[ 109.360539] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_firmware_download]Download Succeeded
[ 109.373917] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_start_firmware]Starting Firmware ...
[ 109.383757] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_start_firmware]Waiting for FW to get ready ...
[ 109.481195] cfg_indicate_rx: Info message received
[ 109.486325] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_start_firmware]Firmware successfully started
[ 109.507393] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_wlan_initialize]WILC Firmware Ver = WILC_WIFI_FW_REL_15_5 Build: 12551
[ 109.518573] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_init_fw_config]Start configuring Firmware
[ 109.660974] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_mac_open]Mac address: f8:f0:05:47:44:d4
[ 109.669611] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 1.
[ 109.679372] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 109.702051] wilc_sdio mmc1:0001:1 wlan0: INFO [set_power_mgmt]dev [wlan0]
[ 109.708928] wilc_sdio mmc1:0001:1 wlan0: INFO [set_power_mgmt] Power save Enabled= 1 , TimeOut = -1
[ 109.738703] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 2.
[ 109.748483] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 109.757579] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 109.780211] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 3.
[ 109.789977] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 109.799021] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 109.808039] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:ff:47:44:d4
[ 109.844953] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 4.
[ 109.854661] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 109.863705] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 109.872714] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:ff:47:44:d4
[ 109.881719] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[3]: 01:80:c2:00:00:00
[ 109.902760] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 5.
[ 109.912502] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 109.921482] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 109.930514] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:ff:47:44:d4
[ 109.939527] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[3]: 01:80:c2:00:00:00
[ 109.948535] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[4]: 01:80:c2:00:00:03
[ 109.973584] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 6.
[ 109.983366] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 109.992408] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 110.001423] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:ff:47:44:d4
[ 110.010440] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[3]: 01:80:c2:00:00:00
[ 110.019452] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[4]: 01:80:c2:00:00:03
[ 110.028454] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[5]: 01:80:c2:00:00:0e
[ 111.717208] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 7.
[ 111.726948] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 111.735979] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 111.744988] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:ff:47:44:d4
[ 111.753994] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[3]: 01:80:c2:00:00:00
[ 111.763000] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[4]: 01:80:c2:00:00:03
[ 111.772005] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[5]: 01:80:c2:00:00:0e
[ 111.780979] wilc_sdio mmc1:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[6]: 33:33:00:01:00:03
root@ruggedboard-imx6ul:~#
root@ruggedboard-imx6ul:~#
root@ruggedboard-imx6ul:~#
root@ruggedboard-imx6ul:~#
root@ruggedboard-imx6ul:~#
root@ruggedboard-imx6ul:~#
root@ruggedboard-imx6ul:~# cat /sys/
block/ bus/ class/ dev/ devices/ firmware/ fs/ kernel/ module/ power/ wilc/
root@ruggedboard-imx6ul:~# cat /sys/kernel/debug/
asoc/ ci_hdrc.0/ dri/ hid/ mmc0/ pinctrl/ ras/ suspend_stats wakeup_sources
bdi/ ci_hdrc.1/ extfrag/ ieee80211/ mmc1/ pm_genpd/ regmap/ ubi/ wilc/
block/ clk/ fault_around_bytes iio/ mtd/ pm_qos/ regulator/ ubifs/
bluetooth/ dma_buf/ gpio memblock/ opp/ pwm sleep_time usb/
root@ruggedboard-imx6ul:~# cat /sys/kernel/debug/mmc1/ios
clock: 50000000 Hz
actual clock: 49500000 Hz
vdd: 21 (3.3 ~ 3.4 V)
bus mode: 2 (push-pull)
chip select: 0 (don't care)
power mode: 2 (on)
bus width: 2 (4 bits)
timing spec: 2 (sd high-speed)
signal voltage: 0 (3.30 V)
driver type: 0 (driver type B)
Debug comparison between ATWILC3000 and WF200 module
ATWILC3000 debug log
clock: 50000000 Hz
actual clock: 49500000 Hz
vdd: 21 (3.3 ~ 3.4 V)
bus mode: 2 (push-pull)
chip select: 0 (don't care)
power mode: 2 (on)
bus width: 2 (4 bits)
timing spec: 2 (sd high-speed)
signal voltage: 0 (3.30 V)
driver type: 0 (driver type B)
WF200 debug log
clock: 12000000 Hz
vdd: 21 (3.3 ~ 3.4 V)
bus mode: 2 (push-pull)
chip select: 0 (don't care)
power mode: 2 (on)
bus width: 2 (4 bits)
timing spec: 2 (sd high-speed)
signal voltage: 0 (3.30 V)
driver type: 0 (driver type B)
I also want to know how to set the actual clock frequency and what modifications are needed in the hardware and software parts.
Hello,
I guess you can reduce the clock in the dtb.
Regards
Yes, when I set the frequency to 12MHz, it initializes the SDIO card.
mmc0: new high speed SDIO card at address 0001
If I set the frequency to 50MHz, the SDIO card does not initialize.
mmc0: error -84 whilst initialising SDIO card
And I want to know how to set the actual clock frequency.