Running u-boot 2021.04 on Raspberry Pi 4

Sean Anderson seanga2 at gmail.com
Fri Apr 9 05:59:05 CEST 2021


On 4/8/21 8:18 PM, Roman Shaposhnik wrote:
> Hi!
> 
> first time poster, long time lurker here. Over at Project EVE
> https://github.com/lf-edge/eve I've been trying to migrate
> from our current u-boot v2020.07 + patches:
> 
> https://github.com/lf-edge/eve/tree/master/pkg/u-boot/patches/patches-v2020.07
> to the latest u-boot 2021.04.
> 
> Great news is that most of the patches we dependent
> on seem to have been pulled upstream. However, this
> single *chunk* of one patchset wasn't:
> 
> https://github.com/lf-edge/eve/blob/master/pkg/u-boot/patches/patches-v2020.07/0001-usb-xhci-Load-Raspberry-Pi-4-VL805-s-firmware.patch#L293
> 
> I'm wondering what was the reason for leaving it behind,

+CC Nicolas

>  - Get rid of PCI core patch as not needed with correct DT PCI topology 

also from the cover letter

> This also depends on a DT/bindings patch available on the linux-mailing lists:
> https://www.mail-archive.com/linux-kernel@.../msg2205783.html

The merged version of this series is

https://patchwork.kernel.org/project/linux-usb/list/?series=310015&state=%2A&archive=both

> Here is the relevant bit for reference/discussion:
> 
>         &pcie0 {
>                pci at 1,0 {
>                        #address-cells = <3>;
>                        #size-cells = <2>;
>                        ranges;
> 
>                        reg = <0 0 0 0 0>;
> 
>                        usb at 1,0 {
>                                reg = <0x10000 0 0 0 0>;
>                                resets = <&reset RASPBERRYPI_FIRMWARE_RESET_ID_USB>;
>                        };
>                };
>         };

> since without it I don't seem to have functioning USB
> devices on my  Raspberry Pi 4. In fact, adding it back:
> 
> https://github.com/rvs/eve/tree/u-boot/pkg/u-boot/patches/patches-v2021.04
> (just that one chunk -- 'cuz the reset got upstreamed)
> seems to solve the issue for me.
> 
> Another question I have is that the new u-boot seems to have
> some kind of a regression that I can't quite debug. The SMBIOS
> tables that it constructs during EFI boot sequence seem to be
> broken (see the dmidecode output below). Again, this seems
> to be a regression compared to  v2020.07. Any ideas on what
> could be wrong or how can I start debugging it would be

You can always bisect it ;)

--Sean

> greatly appreciated (in fact I actually added printf's to
> write_smbios_table() to see if there's any micalculation going
> on -- but no -- it seems that all method->write() methods
> there work as expected and their cumulative output
> adds up to  209 bytes -- but only 128 are present)
> 
> Thanks,
> Roman.
> 
> # dmidecode
> Getting SMBIOS data from sysfs.
> SMBIOS 3.0 present.
> 7 structures occupying 209 bytes.
> Table at 0x3CB28020.
> Wrong DMI structures length: bytes announced, only 128 bytes available.
> Handle 0x0000, DMI type 0, 24 bytes
> BIOS Information
>          Vendor: U-Boot
>          Version: 2021.04
>          Release Date: 04/08/2021
>          ROM Size: 64 kB
>          Characteristics:
>                  PCI is supported
>                  BIOS is upgradeable
>                  Selectable boot is supported
>                  I2O boot is supported
>                  Targeted content distribution is supported
>          BIOS Revision: 21.4
> Handle 0x0001, DMI type 1, 27 bytes
> System Information
>          Manufacturer: Not Specified
>          Product Name: Not Specified
>          Version: Not Specified
>          Serial Number: 100000000ffddf0b
>          UUID: 30303031-3030-3030-3066-666464663062
>          Wake-up Type: Reserved
>          SKU Number: Not Specified
>          Family: Not Specified
> Handle 0x0002, DMI type 2, 14 bytes
> Base Board Information
>          Manufacturer: Not Specified
>          Product Name: Not Specified
>          Version: Not Specified
>          Serial Number: Not Specified
>          Asset Tag: Not Specified
>          Features:
>                  Board is a hosting board
>          Location In Chassis: Not Specified
>          Chassis Handle: 0x0000
>          Type: Motherboard
> Invalid entry length (0). DMI table is broken! Stop.
> 



More information about the U-Boot mailing list