[U-Boot] [PATCH] arm: dts: Pine64: add Ethernet alias

Jagan Teki jagan at openedev.com
Wed Oct 26 20:34:56 CEST 2016


On Wed, Oct 26, 2016 at 1:14 PM, Hans de Goede <hdegoede at redhat.com> wrote:
> Hi,
>
>
> On 26-10-16 09:00, Jagan Teki wrote:
>>
>> On Tue, Oct 25, 2016 at 3:59 AM, André Przywara <andre.przywara at arm.com>
>> wrote:
>>>
>>> On 21/10/16 11:28, Hans de Goede wrote:
>>>>
>>>> Hi,
>>>>
>>>> On 21-10-16 12:06, Andre Przywara wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> On 21/10/16 10:31, Jagan Teki wrote:
>>>>>>
>>>>>> On Fri, Oct 21, 2016 at 5:41 AM, Andre Przywara
>>>>>> <andre.przywara at arm.com> wrote:
>>>>>>>
>>>>>>> The sun8i-emac driver works fine with the A64 Ethernet IP, but we are
>>>>>>> missing an alias entry to trigger the driver instantiation by U-Boot.
>>>>>>> Add the line to point U-Boot to the Ethernet DT node.
>>>>>>> This enables TFTP boot on the Pine64.
>>>>>>>
>>>>>>> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
>>>>>>> ---
>>>>>>>  arch/arm/dts/sun50i-a64-pine64-common.dtsi | 1 +
>>>>>>>  1 file changed, 1 insertion(+)
>>>>>>>
>>>>>>> diff --git a/arch/arm/dts/sun50i-a64-pine64-common.dtsi
>>>>>>> b/arch/arm/dts/sun50i-a64-pine64-common.dtsi
>>>>>>> index d5a7249..c0fde44 100644
>>>>>>> --- a/arch/arm/dts/sun50i-a64-pine64-common.dtsi
>>>>>>> +++ b/arch/arm/dts/sun50i-a64-pine64-common.dtsi
>>>>>>> @@ -46,6 +46,7 @@
>>>>>>>
>>>>>>>         aliases {
>>>>>>>                 serial0 = &uart0;
>>>>>>> +               ethernet0 = &emac;
>>>>>>
>>>>>>
>>>>>> I think alias doesn’t require for probing emac, it will straight away
>>>>>> probed like
>>>>>>
>>>>>>> dm tree
>>>>>>
>>>>>> ....
>>>>>> eth         [ + ]     ethernet at 01c30000
>>>>>>
>>>>>> Did you find any issue while detecting eth?
>>>>>
>>>>>
>>>>> Yes, it just didn't work ;-) I don't have a board here, but can post
>>>>> the
>>>>> error message later tonight.
>>>
>>>
>>> ....
>>> Net:   phy interface7
>>>
>>> Error: ethernet at 01c30000 address not set.
>>> No ethernet found.
>>> ....
>>>
>>>>> In fact I was wondering about that already, maybe it's worth
>>>>> investigating this further.
>>>
>>>
>>> So the reason is that CONFIG_NET_RANDOM_ETHADDR isn't defined, so
>>> without the DT alias triggering the SID MAC generation there will be
>>> _no_ MAC address at all, which makes the driver give up.
>>> AFAIK on the A64 the MAC generation from the SID serial number works
>>> just fine, so we should in any case add the alias.
>>
>>
>> I wondered how the alias related to MAC generation,
>
>
> See the setup_environment() function in board/sunxi/board.c, we use
> the alias-es to determine for which interface we need to generate
> a random MAC and set ethaddr / eth1addr in the environment.

Ohh,OK.
But not a good way of setting MAC on the board files. I think if we
add .read_rom_hwaddr on the driver by placing SIM code on arch.

thanks!
-- 
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.


More information about the U-Boot mailing list