1 /*
2  * (C) Copyright 2016 Rockchip Electronics Co., Ltd
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6 
7 #include <common.h>
8 #include <dm.h>
9 #include <i2c_eeprom.h>
10 #include <netdev.h>
11 
12 static int get_ethaddr_from_eeprom(u8 *addr)
13 {
14 	int ret;
15 	struct udevice *dev;
16 
17 	ret = uclass_first_device_err(UCLASS_I2C_EEPROM, &dev);
18 	if (ret)
19 		return ret;
20 
21 	return i2c_eeprom_read(dev, 0, addr, 6);
22 }
23 
24 int rk_board_late_init(void)
25 {
26 	u8 ethaddr[6];
27 
28 	if (get_ethaddr_from_eeprom(ethaddr))
29 		return 0;
30 
31 	if (is_valid_ethaddr(ethaddr))
32 		eth_env_set_enetaddr("ethaddr", ethaddr);
33 
34 	return 0;
35 }
36