e6b018d89c4351e926eac261b8dfbb5034518325
[oweals/u-boot.git] / board / rockchip / tinker_rk3288 / tinker-rk3288.c
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * (C) Copyright 2016 Rockchip Electronics Co., Ltd
4  */
5
6 #include <common.h>
7 #include <dm.h>
8 #include <environment.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 rk3288_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 }