Hi Jonas
2017-04-19 2:04 GMT+08:00 Jonas Karlman <jo...@kwiboo.se>: > Hi Simon, > > On 2017-04-18 06:01, Simon Glass wrote: >> Hi Jonas, >> >> On 17 April 2017 at 15:13, Jonas Karlman <jo...@kwiboo.se >> <mailto:jo...@kwiboo.se>> wrote: >> > Set ethernet mac address in late init for Tinker Board, >> > prevents getting a random mac address each boot. >> > >> > Read mac address from eeprom, first 6 bytes from 0x50 on i2c2. >> > Same as /etc/init.d/rockchip.sh on Tinker OS. >> > >> > Signed-off-by: Jonas Karlman <jo...@kwiboo.se <mailto:jo...@kwiboo.se>> >> > --- >> > >> > board/rockchip/tinker_rk3288/tinker-rk3288.c | 26 >> ++++++++++++++++++++++++++ >> > 1 file changed, 26 insertions(+) >> > >> > diff --git a/board/rockchip/tinker_rk3288/tinker-rk3288.c >> b/board/rockchip/tinker_rk3288/tinker-rk3288.c >> > index 79541a3939..48165b2545 100644 >> > --- a/board/rockchip/tinker_rk3288/tinker-rk3288.c >> > +++ b/board/rockchip/tinker_rk3288/tinker-rk3288.c >> > @@ -5,3 +5,29 @@ >> > */ >> > >> > #include <common.h> >> > +#include <i2c.h> >> > +#include <netdev.h> >> > + >> > +int rk_board_late_init(void) >> > +{ >> > + struct udevice *dev; >> > + int ret; >> > + u8 mac[6]; >> > + >> > + ret = i2c_get_chip_for_busnum(2, 0x50, 1, &dev); >> > + if (ret) { >> > + debug("failed to get eeprom\n"); >> > + return 0; >> > + } >> >> I'm sure this works, but really we should have this chip mentioned in >> the device tree under &i2c2. Then we should be able to use the >> i2c_eeprom driver. I cannot see this board supported in Linux to figure >> out how it does it there. It will be in main line when 4.12 release https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git/commit/?h=v4.12-armsoc/dts32&id=223599514133293bb9afe7b82937140c3b275877 > > Thanks, I will rework this patch to use the device tree and the > i2c_eeprom driver. > > The device tree for Asus Tinker Board is not yet in mainline linux. > This is the eeprom part taken from asus's tinker os device tree: > > m24c08@50 { > compatible = "at,24c08"; > reg = <0x50>; > }; > >> >> I think tinker is the CHIP board, right? Are there instructions >> somewhere on how to load U-Boot onto it? >> >> > + >> > + ret = dm_i2c_read(dev, 0x0, mac, 6); >> > + if (ret) { >> > + debug("failed to read mac\n"); >> > + return 0; >> > + } >> > + >> > + if (is_valid_ethaddr(mac)) >> > + eth_setenv_enetaddr("ethaddr", mac); >> > + >> > + return 0; >> > +} >> > -- >> > 2.11.0 >> > >> >> Regards, >> Simon > > Regards, > Jonas > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > https://lists.denx.de/listinfo/u-boot _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot