wifi: brcmfmac: firmware: Allow platform to override macaddr
authorHector Martin <marcan@marcan.st>
Fri, 16 Sep 2022 16:03:01 +0000 (17:03 +0100)
committerKalle Valo <kvalo@kernel.org>
Mon, 19 Sep 2022 09:59:34 +0000 (12:59 +0300)
commit687f767d6fab448e4e80011cf5230cd021135bfb
treee3f3784aca0ad2014ed09bf0abfc386fc861b3d0
parent6bad3eeab6d3d051465d776da35ae37e1f72af34
wifi: 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>
Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/E1oZDnx-0077ae-VK@rmk-PC.armlinux.org.uk
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c