brcmfmac: firmware: Allow platform to override macaddr
authorHector Martin <marcan@marcan.st>
Thu, 23 Dec 2021 13:32:08 +0000 (22:32 +0900)
committerHector Martin <marcan@marcan.st>
Tue, 18 Jan 2022 11:22:08 +0000 (20:22 +0900)
commite08cb4958a347590aa62185fcfc0668c9ab8e42e
tree807dc148b5f851093880b78f3b05495e46c8dfb2
parenta6476f913001675ca538e1b947f48a4f9e03f710
brcmfmac: firmware: Allow platform to override macaddr

On Device Tree platforms, it is customary to be able to set the MAC
address via the Device Tree, as it is often stored in system firmware.
This is particularly relevant for Apple ARM64 platforms, where this
information comes from system configuration and passed through by the
bootloader into the DT.

Implement support for this by fetching the platform MAC address and
adding or replacing the macaddr= property in nvram. This becomes the
dongle's default MAC address.

On platforms with an SROM MAC address, this overrides it. On platforms
without one, such as Apple ARM64 devices, this is required for the
firmware to boot (it will fail if it does not have a valid MAC at all).

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