diff --git a/firmware/43439A0-7.95.49.00.combined b/firmware/43439A0-7.95.49.00.combined new file mode 100644 index 0000000..f812dd7 Binary files /dev/null and b/firmware/43439A0-7.95.49.00.combined differ diff --git a/firmware/4343WA1-7.45.98.50.combined b/firmware/4343WA1-7.45.98.50.combined new file mode 100644 index 0000000..d2de581 Binary files /dev/null and b/firmware/4343WA1-7.45.98.50.combined differ diff --git a/firmware/README.md b/firmware/README.md new file mode 100644 index 0000000..109f038 --- /dev/null +++ b/firmware/README.md @@ -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. diff --git a/firmware/wifi_nvram_image.h b/firmware/wifi_nvram_image.h new file mode 100644 index 0000000..5f33418 --- /dev/null +++ b/firmware/wifi_nvram_image.h @@ -0,0 +1,76 @@ +/* + * $ Copyright Broadcom Corporation $ + */ + +#ifndef INCLUDED_NVRAM_IMAGE_H_ +#define INCLUDED_NVRAM_IMAGE_H_ + +#include +#include + +#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_ */