On Sat, 2013-12-14 at 18:12 +0100, Marek Vasut wrote: > On Saturday, December 14, 2013 at 04:39:00 PM, Sergei Ianovich wrote: > > I strongly believe the current way is easier. > > I disagree :) > > IF you set 'ethaddr' variable in U-Boot THEN > U-Boot will patch this 'ethaddr' value into your DT. The /aliases/ethernet0 > node will be augmented with a new property 'local-mac-address', which will > contain the MAC address from 'ethaddr' . The kernel will use this as the MAC > address for that particular ethernet interface afterwards. > > NOTE: It is very important to have the alias set, it has to point to your > ethernet device. A good example in Linux's arch/arm/boot/dts/imx28.dtsi, > which > even has two ethernet interfaces. Notice each of them has an alias. > NOTE: If you have two interfaces, then 'eth1addr' is patches into > /aliases/ethernet1 etc.
Thanks for explaining. It works. This is COOL! > The only problem here is the non-DT kernel. Do you need to support that? Is > there no other way to pass MAC address of an ethernet interface to Linux but > programming it into the ethernet interface itself ? Hardware vendor uses U-Boot environment values to init MAC-addresses. I think it is even worse than what I was doing in the patch. I don't think we need to support non-DT kernel. So we drop the patch. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot