Hi,
On 30-11-16 11:50, Olliver Schinagl wrote:
Hey maime,
Sorry for constantly getting your e-mail address wrong! Sorry!
On 30-11-16 10:12, maxime.rip...@free-electrons.com wrote:
On Wed, Nov 30, 2016 at 09:00:51AM +0000, Marcel Ziswiler wrote:
Hi Olliver
On Fri, 2016-11-25 at 16:30 +0100, Olliver Schinagl wrote:
This patch adds a method for the board to set the MAC address if the
environment is not yet set. The environment based MAC addresses are
not
touched, but if the fdt has an alias set, it is parsed and put into
the
environment.
E.g. The environment contains ethaddr and eth1addr, and the fdt
contains
an ethernet1 nothing happens. If the fdt contains ethernet2 however,
it
is parsed and inserted into the environment as eth2addr.
My humble understanding of device tree fixup is that it works the other
way around (e.g. it is the device tree that usually gets fixed up). So
the least I would advice for this patch is to change its naming but
most possibly such code also does not belong into the common
fdt_support implementation.
First, yes I noticed this as well, the nameing is the wrong way around. It took
me a few reading times as well. I guess I did not full understand Hans's
suggestion comment. So there's some work needed here.
I don't really have the context of this patch, but in the DT at least,
you can specify the mac address using the local-mac-address
property. I guess we should honor that too. But I don't really know
how that's related to an alias. If the device is probed and the
property is there, use it, otherwise don't.
This came from the sdio_realtek module on some sunxi boards, where the device
tree has configured it obviously for linux, but u-boot has no notion of it. But
u-boot IS responsible to generate (the same) MAC address for the device. So
yes, u-boot inserts a mac address into the device-tree for a found alias.
E.g. ethernet2 is an alias without a MAC address configured for it. Thus u-boot
is used to generate the MAC address for this node and inserts it into the dtb.
What I haven't double checked (just blindly assumed, which is the mother) if
this code also inserts the mac into the environment, but the kernel only gets
this information via the dtb anyway, right? Either via the dtb, or via the MAC
register bytes where it is stored in some drivers.
About the setting of the MAC in the environment for devices u-boot
knows nothing about, but which have an alias in the dt, this is
not necessary, it was done in the old code as a way to make the
u-boot fdt code pick up the MAC and inject it into the dtb
passed to the kernel. If this can now happen without setting
it in the env that step can be skipped.
Regards,
Hans
p.s.
I've NOT been following these (and related threads). If anyone
has any questions for me, please send me a direct mail which
does not have "PATCH" in the subject, otherwise I will likely
not seeing as I'm mostly ignoring these threads (sorry -ENOTIME).
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot