[U-Boot] [PATCH] rockchip: tinker: set ethaddr in late init

Eddie Cai eddie.cai.linux at gmail.com
Wed Apr 19 01:23:02 UTC 2017


2017-04-19 2:18 GMT+08:00 Simon Glass <sjg at chromium.org>:
> Hi Eddie,
>
> On 18 April 2017 at 08:53, Eddie Cai <eddie.cai.linux at gmail.com> wrote:
>>
>>
>> 2017-04-18 12:01 GMT+08:00 Simon Glass <sjg at chromium.org>:
>>>
>>> Hi Jonas,
>>>
>>> On 17 April 2017 at 15:13, Jonas Karlman <jonas at 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 <jonas at 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.
>>>
>>> I think tinker is the CHIP board, right? Are there instructions somewhere
>>> on how to load U-Boot onto it?
>>
>> tinker board is made by Asus. it use sd card as its boot media. to build
>> U-Boot for tinker board
>> CROSS_COMPILE=arm-linux-gnueabihf- make tinker-rk3288_defconfig all -j4
>> tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out
>> cat u-boot-dtb.bin >> out
>> to flash u-boot, mount sd card to your host PC. use below command. (please
>> make sure /dev/sdb is the mount point of your sd card)
>> sudo dd if=out of=/dev/sdb seek=64 conv=notrunc
>
> Thanks for the info, will live it a try. What do you think about doing
> a patch for README.rockchip with this info?
It is the same way booting from SD card. not specify for tinker board.
README.rockchip
already including it.
>
> [...]
>
> Regards,
> Simon


More information about the U-Boot mailing list