From c451713abf10db335cabe41099e8b28481a723b7 Mon Sep 17 00:00:00 2001 From: Lukasz Majewski Date: Fri, 11 May 2018 16:51:14 +0200 Subject: display5: net: Add function to read ethaddr from iMX6 fuses Signed-off-by: Lukasz Majewski --- board/liebherr/display5/display5.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'board/liebherr') diff --git a/board/liebherr/display5/display5.c b/board/liebherr/display5/display5.c index 4bade476a5..a3deba216c 100644 --- a/board/liebherr/display5/display5.c +++ b/board/liebherr/display5/display5.c @@ -254,6 +254,25 @@ static void setup_iomux_enet(void) gpio_direction_input(IMX_GPIO_NR(1, 28)); /*INT#_GBE*/ } +static int setup_mac_from_fuse(void) +{ + unsigned char enetaddr[6]; + int ret; + + ret = eth_env_get_enetaddr("ethaddr", enetaddr); + if (ret) /* ethaddr is already set */ + return 0; + + imx_get_mac_from_fuse(0, enetaddr); + + if (is_valid_ethaddr(enetaddr)) { + eth_env_set_enetaddr("ethaddr", enetaddr); + return 0; + } + + return 0; +} + int board_eth_init(bd_t *bd) { struct phy_device *phydev; @@ -268,6 +287,8 @@ int board_eth_init(bd_t *bd) if (ret) return ret; + setup_mac_from_fuse(); + bus = fec_get_miibus(IMX_FEC_BASE, -1); if (!bus) return -ENODEV; -- cgit v1.2.3