ARM: tegra: Implement cboot_get_ethaddr()
authorThierry Reding <treding@nvidia.com>
Mon, 15 Apr 2019 09:32:30 +0000 (11:32 +0200)
committerTom Warren <twarren@nvidia.com>
Wed, 5 Jun 2019 16:16:34 +0000 (09:16 -0700)
commit34e12e03c7f4cbd96e584a590d6e091c48ab8e3d
treeffd1a951738f281abb76aa044d94816c328a9dd8
parentce353babdbc478c40f884555b754c533ab8f8af5
ARM: tegra: Implement cboot_get_ethaddr()

This function will attempt to look up an Ethernet address in the DTB
that was passed in from cboot. It does so by first trying to locate the
default Ethernet device for the board (identified by the "ethernet"
alias) and if found, reads the "local-mac-address" property. If the
"ethernet" alias does not exist, or if it points to a device tree node
that doesn't exist, or if the device tree node that it points to does
not have a "local-mac-address" property or if the value is invalid, it
will fall back to the legacy mechanism of looking for the MAC address
stored in the "nvidia,ethernet-mac" or "nvidia,ether-mac" properties of
the "/chosen" node.

The MAC address is then written to the default Ethernet device for the
board (again identified by the "ethernet" alias) in U-Boot's control
DTB. This allows the device driver for that device to read the MAC
address from the standard location in device tree.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
arch/arm/include/asm/arch-tegra/cboot.h
arch/arm/mach-tegra/cboot.c