[PATCH v2 1/3] net: eth-uclass: Introduce NET_PREFER_ROM_MAC_ADDR

Marek Vasut marek.vasut at mailbox.org
Tue Apr 23 15:44:45 CEST 2024


On 4/23/24 3:35 PM, Detlev Casanova wrote:
> On Monday, April 22, 2024 3:47:21 P.M. EDT Marek Vasut wrote:
>> On 4/22/24 3:56 PM, Detlev Casanova wrote:
>>> On some boards, a MAC address is set based on the CPU ID or other
>>> information. This is usually done in the misc_init_r() function.
>>>
>>> This becomes a problem for net devices that are probed after the call to
>>> misc_init_r(), for example, when the ethernet is on a PCI port, which
>>> needs to be enumerated.
>>>
>>> In this case, misc_init_r() will set the ethaddr variable, then, when
>>> the ethernet device is probed, if it has a ROM address, u-boot will warn
>>> about a MAC address mismatch and use the misc_init_r() address instead
>>> of the one in ROM.
>>>
>>> The operating system later will most likely use the ROM MAC address,
>>> which can be confusing.
>>>
>>> To avoid that, this commit introduces NET_PREFER_ROM_MAC_ADDR that can
>>> be set for boards that have such an interface.
>>>
>>> Signed-off-by: Detlev Casanova <detlev.casanova at collabora.com>
>>
>> Won't the system pick ROM MAC if $ethaddr is not set ?
> 
> Yes, and in the case of rockchip, misc_init_r() will set an $ethaddr based on
> the cpuid, which makes the eth driver use that instead of the ROM one.

Shouldn't the rockchip misc_init_r be fixed then ?


More information about the U-Boot mailing list