brcmfmac: firmware: Allow platform to override macaddr
authorHector Martin <marcan@marcan.st>
Thu, 23 Dec 2021 13:32:08 +0000 (22:32 +0900)
committerJens Axboe <axboe@kernel.dk>
Tue, 1 Mar 2022 17:44:57 +0000 (10:44 -0700)
commit44c4f98bbd675c89b4e3e3743ce9a2af1989a3ce
tree463c335a408c1016fae17ed21a0bb334a8f36603
parent5b47a889685a13b7fa8883713688089e5b3e5c75
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