u-boot/boot
Tom Rini 5fe39e5df4 Merge patch series "vbe: Series part F"
Simon Glass <sjg@chromium.org> says:

This includes various patches towards implementing the VBE abrec
bootmeth in U-Boot. It mostly focuses on introducing a relocating
SPL-loader so that VBE can run in the limited amount of SRAM available
on many devices.

Another minor new feature is support in VBE for specifying the image
phase when loading from a FIT. This allows a single FIT to include
images for several boot phases, thus simplifying image-creation.

One lingering niggle in this series is that it has a different code path
for sandbox, since it does not support the relocating jump. It should be
possible to resolve this with additional work, but I have not attempted
this so far.

For v2, I have split the first patch into 5 pieces, to make it easier to
see the code-size impact, plus added a few tweaks to reduce code size.

Again, only MMC is supported so far.

Looking ahead, series G will have some more plumbing and H some rk3399
pieces. That should be enough to complete these feature.

Here is a run in my lab, with the VBE ABrec bootmeth. You can see that
VPL runs before memory is set up. SPL sets up memory and can be upgraded
in the field reliably.

$ ub-int vbe
Building U-Boot in sourcedir for rk3399-generic
Bootstrapping U-Boot from dir /tmp/b/rk3399-generic
Writing U-Boot using method rockchip

U-Boot TPL 2025.01-rc3-00345-gdfbdbf1eb56c-dirty (Jan 08 2025 - 10:47:58)
Trying to boot from vbe_abrec
load: Firefly-RK3399 Board
   Using 'config-3' configuration
   Trying 'image-vpl' firmware subimage
   Using 'config-3' configuration
   Trying 'fdt-3' fdt subimage

U-Boot VPL 2025.01-rc3-00345-gdfbdbf1eb56c-dirty (Jan 08 2025 - 10:47:58)
Trying to boot from vbe_abrec
load: Firefly-RK3399 Board
Starting with empty state
VBE: Firmware pick A at 800000
   Using 'config-3' configuration
   Trying 'spl' firmware subimage
   Using 'config-3' configuration
   Trying 'fdt-3' fdt subimage
Channel 0: DDR3, 800MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: DDR3, 800MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256B stride

U-Boot SPL 2025.01-rc3-00345-gdfbdbf1eb56c-dirty (Jan 08 2025 - 10:47:58 -0700)
Trying to boot from vbe_abrec
load: Firefly-RK3399 Board
VBE: Firmware pick A at 900000
load_simple_fit: Skip load 'atf-5': image size is 0!
Relocating bloblist ff8eff00 to 100000: done
ns16550_serial serial@ff1a0000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19

U-Boot 2025.01-rc3-00345-gdfbdbf1eb56c-dirty (Jan 08 2025 - 10:47:58 -0700)

SoC: Rockchip rk3399
Reset cause: POR
Model: Firefly-RK3399 Board
DRAM:  4 GiB (effective 3.9 GiB)
Core:  314 devices, 33 uclasses, devicetree: separate
MMC:   mmc@fe310000: 3, mmc@fe320000: 1, mmc@fe330000: 0
Loading Environment from SPIFlash... Invalid bus 0 (err=-19)
*** Warning - spi_flash_probe_bus_cs() failed, using default environment

In:    serial,usbkbd
Out:   serial,vidconsole
Err:   serial,vidconsole
Model: Firefly-RK3399 Board
Net:   PMIC:  RK808
eth0: ethernet@fe300000

starting USB...
Bus usb@fe380000: USB EHCI 1.00
Bus usb@fe3a0000: USB OHCI 1.0
Bus usb@fe3c0000: USB EHCI 1.00
Bus usb@fe3e0000: USB OHCI 1.0
Bus usb@fe900000: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@fe380000 for devices... 1 USB Device(s) found
scanning bus usb@fe3a0000 for devices... 1 USB Device(s) found
scanning bus usb@fe3c0000 for devices... 2 USB Device(s) found
scanning bus usb@fe3e0000 for devices... 1 USB Device(s) found
scanning bus usb@fe900000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0

Link: https://lore.kernel.org/r/20250116012723.2820301-1-sjg@chromium.org
2025-01-22 11:21:58 -06:00
..
android_ab.c common: android_ab: fix slot suffix for abc block 2024-10-24 09:45:55 +02:00
boot_fit.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
bootdev-uclass.c Merge patch series "bootstd: Support recording images" 2025-01-15 19:27:14 -06:00
bootflow.c bootstd: Add a simple command to list images 2025-01-15 08:48:42 -06:00
bootflow_internal.h bootstd: Support creating a boot menu 2023-01-16 18:26:50 -05:00
bootflow_menu.c boot: bootflow_menu: fix crash for EFI BOOTMGR global bootmeth 2024-06-20 11:41:43 -06:00
bootm.c lmb: Remove lmb_reserve_flags() 2024-12-30 13:21:55 -06:00
bootm_os.c lmb: make LMB memory map persistent and global 2024-09-03 14:08:50 -06:00
bootmeth-uclass.c Update bootmeth_alloc_other() to record images 2025-01-15 08:48:42 -06:00
bootmeth_android.c Merge patch series "bootstd: Support recording images" 2025-01-15 19:27:14 -06:00
bootmeth_android.h bootstd: Add a bootmeth for Android 2024-07-18 13:51:30 -06:00
bootmeth_cros.c bootstd: Update cros bootmeth to record images 2025-01-15 08:48:42 -06:00
bootmeth_cros.h bootstd: cros: Bring in some ChromiumOS structures 2023-08-10 18:34:54 -06:00
bootmeth_efi.c bootmeth_efi: Check the filename-allocation in the network path 2025-01-15 08:48:42 -06:00
bootmeth_efi_mgr.c bootmeth: Update the read_file() method to include a type 2025-01-15 08:48:42 -06:00
bootmeth_extlinux.c Merge patch series "bootstd: Support recording images" 2025-01-15 19:27:14 -06:00
bootmeth_pxe.c boot: Update pxe bootmeth to record images 2025-01-15 08:48:42 -06:00
bootmeth_qfw.c bootmeth: Update the read_file() method to include a type 2025-01-15 08:48:42 -06:00
bootmeth_sandbox.c bootmeth: Update the read_file() method to include a type 2025-01-15 08:48:42 -06:00
bootmeth_script.c Update bootmeth_alloc_other() to record images 2025-01-15 08:48:42 -06:00
bootretry.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
bootstd-uclass.c bootstd: Move the bootflow list into an alist 2025-01-15 08:48:42 -06:00
cedit.c boot: cedit: include u-boot/schedule.h 2024-10-23 06:52:38 +02:00
common_fit.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
expo.c expo: Use standard numbering for save and discard 2024-10-18 14:10:22 -06:00
expo_build.c expo: Drop scene_title_set() 2024-10-18 14:10:22 -06:00
expo_build_cb.c x86: coreboot: Allow building an expo for editing CMOS config 2024-11-03 21:27:12 -06:00
fdt_region.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
fdt_simplefb.c boot: fdt_simplefb: Remove conditional compilation checks for VIDEO Kconfig 2024-10-22 19:54:08 +02:00
fdt_support.c common: fdt: hand over original fdt bootargs into board chosen handler 2025-01-14 15:41:56 -06:00
image-android-dt.c global: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD 2024-10-11 11:44:48 -06:00
image-android.c Prepare v2025.01-rc5 2024-12-25 22:31:04 -06:00
image-board.c lmb: Remove lmb_alloc_base_flags() 2024-12-30 13:21:55 -06:00
image-cipher.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
image-fdt.c lmb: Remove lmb_alloc_base_flags() 2024-12-30 13:21:55 -06:00
image-fit-sig.c image-fit-sig: Remove padding check 2024-10-21 17:52:52 -06:00
image-fit.c boot: Respect the load_op in fit_image_load() 2024-12-27 15:16:10 -06:00
image-host.c Create a new boot/ directory 2021-11-11 19:01:56 -05:00
image-pre-load.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
image-sig.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
image.c cmd: bootm: add ELF file support 2024-07-05 13:57:02 -06:00
Kconfig boot: Imply CRC8 with VBE 2024-12-27 15:16:10 -06:00
Makefile vbe: Create a common function to get the block device 2025-01-22 09:47:49 -06:00
prog_boot.c bootstd: Introduce programmatic boot 2023-12-13 11:51:24 -05:00
pxe_utils.c boot: Update extlinux pxe_getfile_func() to include type 2025-01-15 08:48:42 -06:00
scene.c expo: Drop scene_title_set() 2024-10-18 14:10:22 -06:00
scene_internal.h expo: Allow menu items to have values 2024-10-18 14:10:22 -06:00
scene_menu.c expo: Support menu-item values in cedit 2024-10-18 14:10:22 -06:00
scene_textline.c expo: Place menu items to the right of all labels 2024-10-18 14:10:22 -06:00
upl_common.c upl: Add support for reading a upl handoff 2024-08-09 16:03:19 -06:00
upl_common.h upl: Add support for reading a upl handoff 2024-08-09 16:03:19 -06:00
upl_read.c upl: fix parsing of DT property 2024-11-14 18:14:06 -06:00
upl_write.c upl: Add support for writing a upl handoff 2024-08-09 16:03:20 -06:00
vbe.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
vbe_common.c vbe: Update simple-fw to support using the SPL loader 2025-01-22 09:47:50 -06:00
vbe_common.h vbe: Support loading SPL images 2025-01-22 09:47:50 -06:00
vbe_request.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
vbe_simple.c Merge patch series "vbe: Series part F" 2025-01-22 11:21:58 -06:00
vbe_simple.h vbe: Start a common header file 2025-01-22 09:47:49 -06:00
vbe_simple_fw.c vbe: Update simple-fw to support using the SPL loader 2025-01-22 09:47:50 -06:00
vbe_simple_os.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00