16f279764SEddie Cai /* 26f279764SEddie Cai * (C) Copyright 2016 Rockchip Electronics Co., Ltd 36f279764SEddie Cai * 46f279764SEddie Cai * SPDX-License-Identifier: GPL-2.0+ 56f279764SEddie Cai */ 66f279764SEddie Cai 76f279764SEddie Cai #include <common.h> 8ecc3bd73SJonas Karlman #include <dm.h> 9ecc3bd73SJonas Karlman #include <i2c_eeprom.h> 10ecc3bd73SJonas Karlman #include <netdev.h> 11ecc3bd73SJonas Karlman get_ethaddr_from_eeprom(u8 * addr)12ecc3bd73SJonas Karlmanstatic int get_ethaddr_from_eeprom(u8 *addr) 13ecc3bd73SJonas Karlman { 14ecc3bd73SJonas Karlman int ret; 15ecc3bd73SJonas Karlman struct udevice *dev; 16ecc3bd73SJonas Karlman 17ecc3bd73SJonas Karlman ret = uclass_first_device_err(UCLASS_I2C_EEPROM, &dev); 18ecc3bd73SJonas Karlman if (ret) 19ecc3bd73SJonas Karlman return ret; 20ecc3bd73SJonas Karlman 21ecc3bd73SJonas Karlman return i2c_eeprom_read(dev, 0, addr, 6); 22ecc3bd73SJonas Karlman } 23ecc3bd73SJonas Karlman rk3288_board_late_init(void)24*fc983935SKever Yangint rk3288_board_late_init(void) 25ecc3bd73SJonas Karlman { 26ecc3bd73SJonas Karlman u8 ethaddr[6]; 27ecc3bd73SJonas Karlman 28ecc3bd73SJonas Karlman if (get_ethaddr_from_eeprom(ethaddr)) 29ecc3bd73SJonas Karlman return 0; 30ecc3bd73SJonas Karlman 31ecc3bd73SJonas Karlman if (is_valid_ethaddr(ethaddr)) 32fd1e959eSSimon Glass eth_env_set_enetaddr("ethaddr", ethaddr); 33ecc3bd73SJonas Karlman 34ecc3bd73SJonas Karlman return 0; 35ecc3bd73SJonas Karlman } 36