firmware: Add WiFi firmware and CLM combined blobs, and nvram data.

Signed-off-by: Damien George <dpgeorge@georgerobotics.com.au>
This commit is contained in:
Damien George 2022-06-30 13:10:25 +10:00
parent 0d293c63e0
commit 92397a4b59
4 changed files with 97 additions and 0 deletions

Binary file not shown.

Binary file not shown.

21
firmware/README.md Normal file
View File

@ -0,0 +1,21 @@
CYW43xx WiFi SoC firmware
=========================
This directory contains firmware patch blobs that need to be downloaded on to the
CYW43xx SoC in order for it to function correctly.
The firmware is padded to 512 bytes and then the CLM appended to that, to create the
combined binary file.
For example:
$ cp 43439A0.bin 43439A0_padded.bin
$ dd if=/dev/zero of=43439A0_padded.bin bs=1 count=1 seek=$(( ($(stat -c %s 43439A0.bin) / 512) * 512 + 512 - 1))
$ cat 43439A0_padded.bin 43439A0.clm_blob > 43439A0-7.95.49.00.combined
Note that the number of dots in the filename is significant, due to the way symbols
are renamed by the linker when it is included in a compiled application.
When updating this firmware, check and update the values of `CYW43_FW_LEN` and
`CYW43_CLM_LEN`. These should be the original, unpadded size of the two binaries
in bytes. The array size should be the size of the combined file.

View File

@ -0,0 +1,76 @@
/*
* $ Copyright Broadcom Corporation $
*/
#ifndef INCLUDED_NVRAM_IMAGE_H_
#define INCLUDED_NVRAM_IMAGE_H_
#include <string.h>
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* Character array of NVRAM image
* Generated from cyw943439wlpth_rev1_0.txt
*/
static const uint8_t wifi_nvram_4343[] __attribute__((aligned(4))) =
"NVRAMRev=$Rev$" "\x00"
"manfid=0x2d0" "\x00"
"prodid=0x0727" "\x00"
"vendid=0x14e4" "\x00"
"devid=0x43e2" "\x00"
"boardtype=0x0887" "\x00"
"boardrev=0x1100" "\x00"
"boardnum=22" "\x00"
"macaddr=00:A0:50:b5:59:5e" "\x00"
"sromrev=11" "\x00"
"boardflags=0x00404001" "\x00"
"boardflags3=0x04000000" "\x00"
"xtalfreq=37400" "\x00"
"nocrc=1" "\x00"
"ag0=255" "\x00"
"aa2g=1" "\x00"
"ccode=ALL" "\x00"
"pa0itssit=0x20" "\x00"
"extpagain2g=0" "\x00"
"pa2ga0=-168,6649,-778" "\x00"
"AvVmid_c0=0x0,0xc8" "\x00"
"cckpwroffset0=5" "\x00"
"maxp2ga0=84" "\x00"
"txpwrbckof=6" "\x00"
"cckbw202gpo=0" "\x00"
"legofdmbw202gpo=0x66111111" "\x00"
"mcsbw202gpo=0x77711111" "\x00"
"propbw202gpo=0xdd" "\x00"
"ofdmdigfilttype=18" "\x00"
"ofdmdigfilttypebe=18" "\x00"
"papdmode=1" "\x00"
"papdvalidtest=1" "\x00"
"pacalidx2g=45" "\x00"
"papdepsoffset=-30" "\x00"
"papdendidx=58" "\x00"
"ltecxmux=0" "\x00"
"ltecxpadnum=0x0102" "\x00"
"ltecxfnsel=0x44" "\x00"
"ltecxgcigpio=0x01" "\x00"
"il0macaddr=00:90:4c:c5:12:38" "\x00"
"wl0id=0x431b" "\x00"
"deadman_to=0xffffffff" "\x00"
"muxenab=0x100" "\x00"
"spurconfig=0x3" "\x00"
"glitch_based_crsmin=1" "\x00"
"btc_mode=1" "\x00"
"\x00\x00";
#ifdef __cplusplus
} /*extern "C" */
#endif
#else /* ifndef INCLUDED_NVRAM_IMAGE_H_ */
#error Wi-Fi NVRAM image included twice
#endif /* ifndef INCLUDED_NVRAM_IMAGE_H_ */