
Hi Tom,
On Fri, 24 Dec 2021 at 09:57, Tom Rini trini@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@suse.com Cc: Simon Glass sjg@chromium.org Cc: François Ozog francois.ozog@linaro.org Signed-off-by: Tom Rini trini@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@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@7e202000: 0, mmcnr@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@7e980000: USB DWC2 scanning bus usb@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@7e202000.blk... Card did not respond to voltage select! : -110 Scanning disk mmcnr@7e300000.blk... Disk mmcnr@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 U-Boot>
My rpi2 is broken but I can probably fix it when I return next week.
Regards, Simon