Read chip version using SDIO on CYW43364

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
EhNa_4520161
Level 1
Level 1

Hi ,

Could you please let me know if there is a way to read chip version on CYW43364 using only SDIO communication or SPI ( direct communication to the chip ) and not through WICED?

I just want to make sure the Soc is mounted at SMT process and read version is enough 

0 Likes
1 Solution

Without driver, there is no easy method to read device ID directly after booting up the WLAN device. A sequence of initialization commands are sent over SDIO to the WLAN device before the device ID can be read. However, you can consider checking the initial SDIO enumeration of the WLAN device. Assuming that the SDIO function is initialized first, the WWD driver calls host_platform_sdio_enumerate() in wwd_SDIO.c which sends a sequence of SDIO commands in a loop. The command sequence is CMD0->CMD5->CMD3 in loop and then CMD7 is sent. If the WLAN device responds to CMD3 and CMD7, it should indicate that the chip is mounted and powered up correctly (WL_REG_ON=1) otherwise it would not respond to SDIO commands.

View solution in original post

3 Replies
GauravS_31
Moderator
Moderator
Moderator
10 questions asked 250 solutions authored 250 sign-ins

Generally, the command wl ver is used to read the WLAN firmware version. If WLAN bootup is successful, you should be able to execute this command. Are you using WICED or Linux on the host processor?

EhNa_4520161
Level 1
Level 1

Hi GauravS_31

I am not using WICED or Linux . I would like to do it by direct communication through SDIO pins and read a whoami or Device ID or something that just tell me the chip is mounted on our board.

0 Likes

Without driver, there is no easy method to read device ID directly after booting up the WLAN device. A sequence of initialization commands are sent over SDIO to the WLAN device before the device ID can be read. However, you can consider checking the initial SDIO enumeration of the WLAN device. Assuming that the SDIO function is initialized first, the WWD driver calls host_platform_sdio_enumerate() in wwd_SDIO.c which sends a sequence of SDIO commands in a loop. The command sequence is CMD0->CMD5->CMD3 in loop and then CMD7 is sent. If the WLAN device responds to CMD3 and CMD7, it should indicate that the chip is mounted and powered up correctly (WL_REG_ON=1) otherwise it would not respond to SDIO commands.