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

Platform Specific WLAN (WiFi) and BT/BLE Firmware Definitions

Platform Specific WLAN (WiFi) and BT/BLE Firmware Definitions

SeyhanA_31
Employee
Employee
100 likes received 50 likes received 25 likes received

Platform Specific WLAN (WiFi) and BT/BLE Firmware Definitions

It is possible to have a platform specific firmware files released by Broadcom to support specific partner modules or added features.

In order to accommodate specific firmware files for WLAN and BT/BLE, the common firmware files could be replaced in ./resources/firmware/<WLAN_CHIP>/ for WLAN and ./libraries/drivers/bluetooth/firmware/<BT_CHIP><BT_CHIP_REVISION>/ for BT/BLE. Replacing these firmware files will effect all other platforms because they share the same firmware files.

For WLAN:

Instead of replacing the WLAN firmware file in common ./resources/firmware/<WLAN_CHIP>/ directory, the platform specific WLAN firmware could be placed in the platform directory. Such as, ./platforms/<platform>/firmware/ directory could be created and the platform specific WLAN firmware could be placed in there.

In order for makefiles to pick up the correct firmware, below lines need to be added in the platform makefile, ./platforms/<platform>/<platform>.mk:

$(NAME)_RESOURCES += ../platforms/$(PLATFORM)/firmware/PlatformSpecificFW.bin

NO_WIFI_FIRMWARE := YES

For BT/BLE:

Append the BT_CHIP_REVISION located in the ./platforms/<platform>/<platform>.mk makefile with your specific platform name.

Eg:

BT_CHIP_REVISION      := B0_PlatformSpecificHCD

Create a directory in the ./libraries/drivers/bluetooth/firmware and name it as <BT_CHIP><BT_CHIP_REVISION> defined in the platform makefile.

Place the platform specific BT/BLE firmware file in this directory.

For example:

If the BCM943341WCD1 platform has a specific firmware, the following modifications could be made in the platform makefile.

BT_CHIP           := 43341

BT_CHIP_REVISION  := B0_PlatformSpecificHCD

The ./libraries/drivers/bluetooth/firmware/43341B0_PlatformSpecificHCD specific directory is created based on above changes. The platform specific BT/BLE firmware file bt_firmware_image.c file is placed in this new directory.

If needed, a platform specific firmware for 40MHz operations could be placed in the ./libraries/drivers/bluetooth/firmware/43341B0_PlatformSpecificHCD/40MHz directory as well.

Contributors