Possible reasons CYW43364 doesn't boot.

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

cross mob
JuSi_3572346
Level 1
Level 1
First like received

I am trying to use parts of code from WICED SDK in my own project to use Murata's LBWA1KL1FX (CYW43364) module with STM32H743 MCU. My goal is to have an access point which could comunicate with PC or mobile apps via TCP and UDP packets. I have similar project working with Broadcom LBWA17DZX6 (SPI bus) and STM32H743, so I need to update it to work with CYW43364 (SDIO bus). I am using FreeRTOS.

All the read register functions as well as wwd_bus_write_wifi_firmware_image( ) function returns with response WWD_SUCCESS, so I assume this means my electrical connection of SDIO is working well.

But I am now stuck in initialisation of the chip, waiting for High speed clock (PLL as I understand) to start up: Code reads SDIO_CHIP_CLOCK_CSR (0x1000E) register from wifi chip and and waits for SBSDIO_HT_AVAIL (0x80) bit to become set, but it gets 0x40 until it times out. This is in a place where this comment is writen:
"If your system times out here, it means that the WLAN firmware is not booting.
         * Check that your WLAN chip matches the 'wifi_image.c' being built - in GNU toolchain, $(CHIP) makefile variable must be correct."

I doublechecked my sources and I think I got the fw files right:

Firmware image is a byte array (size 383110 bytes) made from:
WICED-Studio-6.2\43xxx_Wi-Fi\resources\firmware\43364\43364A1.bin

Chip constants file is copied from:

WICED-Studio-6.2\43xxx_Wi-Fi\WICED\WWD\internal\chips\4343x\chip_constants.h

Nvram image (size 625 bytes) is from:
WICED-Studio-6.2\43xxx_Wi-Fi\platforms\BCM943364WCD1\wifi_nvram_image.h

So my question is: what other things (aside from wrong fw image) might have gone wrong to get me in this place. For example:

1. Are there any other files I need to update when going from Broadcom LBWA17DZX6 (CYW43362 - SPI bus) to Murata's LBWA1KL1FX (CYW43364 - SDIO bus)?

2. Is there a diffece in firmware image or nvram image when using muRata vs Broadcom module with CYW43364?
3. Nvram image is stored as an array (static const char wifi_nvram_image[]). Is there any numbers that needs to be modified in that array before writing it to the chip?

4. What are minimal needed connections to get the module on Murata's evaluation board (LBWA1KL1FX-TEMP) up and running?
5. Is the sleep clock (LPO) mandatory to get the chip running? (I can't see how can it be accessed on Murata's i.MX Interconnect boards that I am using now)

0 Likes
1 Solution
JuSi_3572346
Level 1
Level 1
First like received

This thread helped me to find the right answer: Re: STM32F769NI + Murata SN8000 - Problem with high throughput clock.

Problem was with inner workings of DMA and cachable RAM in STM32H7. Currupted data was sent to WiFi chip when writing firmware, hence no boot.

View solution in original post

2 Replies
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

Adding inoue_tomohiro_1742091​ from Murata

The original LBWA17DZX6 is a Type ZX (LBWA17DZX6-705), a Murata Module (click here)

The Type 1FX ( LBWA1KL1FX-875) you are moving to is also a Murata module (click here).

Murata released both radio only products with Linux support under their i.MX6/7 ecosystem within NXP.

This ecosystem is described here: Murata Wi-Fi/Bluetooth for Linux and Android

It sounds like Murata may have supported you through the port of the LBWA17DZX6 to WICED (creation of platform files/BSP),

Have you approached Murata about doing the same for the LBWA1KL1FX?

0 Likes
JuSi_3572346
Level 1
Level 1
First like received

This thread helped me to find the right answer: Re: STM32F769NI + Murata SN8000 - Problem with high throughput clock.

Problem was with inner workings of DMA and cachable RAM in STM32H7. Currupted data was sent to WiFi chip when writing firmware, hence no boot.