brcmfmac: common: Add support for external calibration blobs
authorHector Martin <marcan@marcan.st>
Sat, 25 Dec 2021 15:53:37 +0000 (00:53 +0900)
committerHector Martin <marcan@marcan.st>
Sat, 19 Feb 2022 08:17:04 +0000 (17:17 +0900)
commit2f9cb8abede4f8bc7fe2e8338304398343a1f49b
treeaf5ed2fb958c0659c6b391cd3c31418f34b32637
parentf4a5f66c6657cee8bec5fb9874f7a20f094ac7ee
brcmfmac: common: Add support for external calibration blobs

The calibration blob for a chip is normally stored in SROM and loaded
internally by the firmware. However, Apple ARM64 platforms instead store
it as part of platform configuration data, and provide it via the Apple
Device Tree. We forward this into the Linux DT in the bootloader.

Add support for taking this blob from the DT and loading it into the
dongle. The loading mechanism is the same as used for the CLM and TxCap
blobs.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.h
drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c