[PATCH] rpi: Switch to OF_HAS_PRIOR_STAGE by default

Simon Glass sjg at chromium.org
Tue Dec 28 09:52:11 CET 2021

Hi Tom,

On Fri, 24 Dec 2021 at 09:57, Tom Rini <trini at konsulko.com> wrote:
> On all Raspberry Pi platforms, we're loaded by a prior stage firmware
> that has assembled and passed on a device tree binary for us to use.
> Switch to using this tree by default.
> Cc: Matthias Brugger <mbrugger at suse.com>
> Cc: Simon Glass <sjg at chromium.org>
> Cc: François Ozog <francois.ozog at linaro.org>
> Signed-off-by: Tom Rini <trini at konsulko.com>
> ---
> To be clear, this is on top of current -next where I've applied v8 of
> Simon's series that introduces OF_HAS_PRIOR_STAGE.
> I've only been able to test this on my Raspberry Pi 3 boards but this
> should work everywhere.  What may, or may not, be a problem is that
> arch/arm/dts/bcm283x-u-boot.dtsi is never used now.  On the other hand,
> I believe this should stop the problems we have where changes made to
> the device tree via config.txt or similar aren't reflected when booting
> U-Boot or Linux since we will be using that tree for certain now.

I'm not sure, but it seems we lose the smbios stuff, at least.
Matthias should be able to weigh in there.

> ---
>  arch/arm/Kconfig               | 1 +
>  arch/arm/mach-bcm283x/Kconfig  | 3 ---
>  configs/rpi_0_w_defconfig      | 1 -
>  configs/rpi_2_defconfig        | 1 -
>  configs/rpi_3_32b_defconfig    | 1 -
>  configs/rpi_3_b_plus_defconfig | 1 -
>  configs/rpi_3_defconfig        | 1 -
>  configs/rpi_defconfig          | 1 -
>  8 files changed, 1 insertion(+), 9 deletions(-)

For me, this works OK on rpi0:
Tested-by: Simon Glass <sjg at chromium.org>

Strangely it does not boot an OS with or without this patch.

U-Boot 2022.01-rc4-00143-g383c3bd4e3b (Dec 28 2021 - 01:50:54 -0700)

DRAM:  448 MiB
RPI Zero W (0x9000c1)
Core:  73 devices, 10 uclasses, devicetree: board
MMC:   mmc at 7e202000: 0, mmcnr at 7e300000: 1
Loading Environment from FAT... Unable to read "uboot.env" from
mmc0:1... In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
Bus usb at 7e980000: USB DWC2
scanning bus usb at 7e980000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Scanning disk mmc at 7e202000.blk...
Card did not respond to voltage select! : -110
Scanning disk mmcnr at 7e300000.blk...
Disk mmcnr at 7e300000.blk not ready
Found 3 disks
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
Card did not respond to voltage select! : -110
MMC Device 2 not found
no mmc device at slot 2

Device 0: unknown device
No ethernet found.
missing environment variable: pxeuuid
Retrieving file: pxelinux.cfg/00000000
No ethernet found.
Retrieving file: pxelinux.cfg/0000000
No ethernet found.
Retrieving file: pxelinux.cfg/000000
No ethernet found.
Retrieving file: pxelinux.cfg/00000
No ethernet found.
Retrieving file: pxelinux.cfg/0000
No ethernet found.
Retrieving file: pxelinux.cfg/000
No ethernet found.
Retrieving file: pxelinux.cfg/00
No ethernet found.
Retrieving file: pxelinux.cfg/0
No ethernet found.
Retrieving file: pxelinux.cfg/default-arm-bcm283x-rpi
No ethernet found.
Retrieving file: pxelinux.cfg/default-arm-bcm283x
No ethernet found.
Retrieving file: pxelinux.cfg/default-arm
No ethernet found.
Retrieving file: pxelinux.cfg/default
No ethernet found.
Config file not found
No ethernet found.
No ethernet found.
U-Boot> part list mmc 0

Partition Map for MMC device 0  --   Partition Type: DOS

Part Start Sector Num Sectors UUID Type
  1 8192      524288    705b0d16-01 0c
  2 532480    30583808  705b0d16-02 83

My rpi2 is broken but I can probably fix it when I return next week.


More information about the U-Boot mailing list