wifi: brcmfmac: common: Add support for external calibration blobs
authorHector Martin <marcan@marcan.st>
Tue, 14 Feb 2023 09:24:23 +0000 (18:24 +0900)
committerKalle Valo <kvalo@kernel.org>
Mon, 27 Feb 2023 14:59:36 +0000 (16:59 +0200)
commit5b3ee9987f5856080509e62968f812961173d336
treea70df365def2d56df38738311e19dec53f43ab59
parent75102b7543ed87cf7d599a382e7340e572da6987
wifi: 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>
Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230214092423.15175-10-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