mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-26 20:09:02 +09:00
![Thierry Reding](/assets/img/avatar_default.png)
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>
46 lines
957 B
C
46 lines
957 B
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* Copyright (c) 2019 NVIDIA Corporation. All rights reserved.
|
|
*/
|
|
|
|
#ifndef _TEGRA_CBOOT_H_
|
|
#define _TEGRA_CBOOT_H_
|
|
|
|
#ifdef CONFIG_ARM64
|
|
extern unsigned long cboot_boot_x0;
|
|
|
|
void cboot_save_boot_params(unsigned long x0, unsigned long x1,
|
|
unsigned long x2, unsigned long x3);
|
|
int cboot_dram_init(void);
|
|
int cboot_dram_init_banksize(void);
|
|
ulong cboot_get_usable_ram_top(ulong total_size);
|
|
int cboot_get_ethaddr(const void *fdt, uint8_t mac[ETH_ALEN]);
|
|
#else
|
|
static inline void cboot_save_boot_params(unsigned long x0, unsigned long x1,
|
|
unsigned long x2, unsigned long x3)
|
|
{
|
|
}
|
|
|
|
static inline int cboot_dram_init(void)
|
|
{
|
|
return -ENOSYS;
|
|
}
|
|
|
|
static inline int cboot_dram_init_banksize(void)
|
|
{
|
|
return -ENOSYS;
|
|
}
|
|
|
|
static inline ulong cboot_get_usable_ram_top(ulong total_size)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int cboot_get_ethaddr(const void *fdt, uint8_t mac[ETH_ALEN])
|
|
{
|
|
return -ENOSYS;
|
|
}
|
|
#endif
|
|
|
|
#endif
|