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>
Tue, 18 Jan 2022 11:22:13 +0000 (20:22 +0900)
commit1753101ce16367deadb5ec5ab5dc7ab4894649bf
tree73356021b7b607e9b850bbc5c2f47421efa17870
parent6deedbc41aba2af3f3e08c69a9e6eedca7ef3c5f
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