I am trying to interface SDIO Wifi module(marvell 8897) for Tegra K1 custom board which is similar to Jetson TK1. But i am facing some issues. When i insert the driver it says driver loaded successfully and gives CRC errors and doesn’t get detected. Attaching the logs for reference. I changed the clock frequency to 100Mhz but still i get the same error. I am trying to interface on SDMMC1. Any suggestions is really helpful. SDIO_WLAN_debug_logs.txt (1.21 KB)
The only CRC errors I’ve had are when I try to run from a particular brand of SD card. Boot would be normal until reaching some particular driver and then give CRC error despite lots of other drivers loading without error and despite the SD card working fine for other purposes. The log you included looks like the failure was during boot…and looks exactly like my other SD card brand failure. I suspect your eMMC or other similar storage might be at fault, not the driver. Are you using exactly the memory brands/models recommended? Do you have any way to test with other memory, e.g., a real old-tech SATA drive or a known-working brand of SD card (I can confirm working Samsung and SanDisk SD cards)?
In my case it is embedded SDIO wifi module. So i cannot interface with the other and check. Should we change any clock settings because i think these CRC errors are mainly because of clock synchronization issues.
I wouldn’t know exactly what to change, but it is my belief that when known good memory is failing with CRC errors that gentler timing/speed should be enough to get rid of those errors. It very much seems that your CRC errors are from timing and not from software issues…clock settings have a good chance of fixing it.
From the register dump of the failing cmd, there is a CMD crc error for the first cmd issued to the device. The driver is trying to reset the SDIO module and as part of this is reading the CCCR_ABORT register contents using CMD52. Only pinmux settings, identification clock(400KHz) and voltage rail enable are done prior to this.
Is SDIO WiFi module connected with TK1’s SDMMC1 or SDMMC2 I/F on your custom board?
(Jetson use SDMMC4 for eMMC & SDMMC3 for SD Card that SDMMC1 & SDMMC2 are not enabled by default in pinmux setting)
If a different Wifi/SDIO module can work other than Marvell 8897 module, This particular Wifi module could be more sensitive to the initial clock and voltage. What is the clock frequency at the time of failure?
I am able to detect SDIO WiFi (Marvell 8897) card . It loads the firmware but the firmware is not initializing . Debugging further i see that it is not able to read fw registers on the SDIO card . Has anyone interfaced SDIO Wireless card on Jetson successfully ?