mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-21 02:33:07 +00:00
386f921cee
This is a starting point for unifying duplicate code in the DH board files. The functions for setting up MAC addresses are very similar for the i.MX6, i.MX8 and stm32mp1 based boards. All pre-existing implementations follow the same logic: (1) Check if ethaddr is already set in the environment (2) If not, try to get it from a board specific location (e.g. fuse) (3) If not, try to get it from eeprom After this commit, (1) and (3) are implemented as common functions, ready to be used by board specific files. Furthermore there is an implementation of (2) for imx based boards. Signed-off-by: Philip Oberfichtner <pro@denx.de> Reviewed-by: Marek Vasut <marex@denx.de>
24 lines
577 B
C
24 lines
577 B
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Copyright 2022 Marek Vasut <marex@denx.de>
|
|
* Copyright 2022 DENX Software Engineering GmbH, Philip Oberfichtner <pro@denx.de>
|
|
*/
|
|
|
|
#include <asm/arch/imx-regs.h>
|
|
#include <asm/arch/sys_proto.h>
|
|
#include <common.h>
|
|
#include <net.h>
|
|
#include "dh_imx.h"
|
|
|
|
int dh_imx_get_mac_from_fuse(unsigned char *enetaddr)
|
|
{
|
|
/*
|
|
* If IIM fuses contain valid MAC address, use it.
|
|
* The IIM MAC address fuses are NOT programmed by default.
|
|
*/
|
|
imx_get_mac_from_fuse(0, enetaddr);
|
|
if (!is_valid_ethaddr(enetaddr))
|
|
return -EINVAL;
|
|
|
|
return 0;
|
|
}
|