[edk2-devel] [edk2-platforms: PATCH 1/1] Platform/RPi3: Accept "ethernet" or "ethernet0" aliases in device tree

Leif Lindholm leif.lindholm at linaro.org
Tue Jul 23 11:17:27 UTC 2019


On Tue, Jul 23, 2019 at 12:00:04PM +0100, Michael Brown wrote:
> > Why is this patch useful?
> > I understand the problem, but we include the .dtb from our own
> > edk2-non-osi tree. And it seems that device tree already provides an
> > alias to support both:
> > https://github.com/tianocore/edk2-non-osi/blob/master/Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b.dts
> > 
> > Would it be more useful to warn loudly if "ethernet" isn't present?
> > (And just *replace* ethernet[0] with ethernet below.)
> 
> The device tree can also be provided by the VC4 firmware, e.g. with a
> config.txt containing e.g.
> 
>   device_tree_address=0x10000
>   device_tree_end=0x20000
>   device_tree=bcm2710-rpi-3-b-plus.dtb

Ah, right.

> It is also possible to omit the explicit "device_tree=..." and have just
> 
>   device_tree_address=0x10000
>   device_tree_end=0x20000
> 
> This configuration will cause the VC4 firmware to automatically load the
> appropriate device tree file.  I have tested that this allows me to boot
> from a 3B or 3B+ using a single SD card image that contains all of the .dtb
> files from
> 
>   https://github.com/raspberrypi/firmware/tree/master/boot
> 
> These "official" raspberrypi-firmware .dtb files are built from the stock
> Linux kernel .dts files, and contain only "ethernet0".

*facepalm*

> To address your specific questions:
> 
> > Why is this patch useful?
> 
> It allows us to boot using the "official" .dtb files without any unexpected
> behaviour.
> 
> This in turn allows us to boot with the VC4 firmware automatically selecting
> the appropriate .dtb file for the hardware.  This is extremely useful when
> trying to provide a single SD card image that will work on a wide range of
> hardware.

Yeah, understood. I just have a poor understanding of the esoteric boot
architecture of the Pis.

> > Would it be more useful to warn loudly if "ethernet" isn't present?
> > (And just *replace* ethernet[0] with ethernet below.)
> 
> This would also solve the problem.  I would find it mildly surprising
> behaviour if I were debugging around it, since the "official" .dtb files
> have moved in the other direction (going from "ethernet" to "ethernet0"),
> but I would not expect it to break anything.
> 
> Another option would be to have UpdateMacAddress() ensure that both
> "ethernet" and "ethernet0" aliases exist.

Yeah, that would probably be my preferred option.

> I am happy to work up a new version of the patch: just let me know which
> option you prefer.

As mentioned.
And thank you for the explanation.

Best Regards,

Leif

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#44244): https://edk2.groups.io/g/devel/message/44244
Mute This Topic: https://groups.io/mt/32529756/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list