u-boot/drivers/core
Tom Rini 8cfac237b9 Merge branch '2022-04-25-initial-implementation-of-stdboot'
To quote the author:
The bootflow feature provide a built-in way for U-Boot to automatically
boot an Operating System without custom scripting and other customisation.
This is called 'standard boot' since it provides a standard way for
U-Boot to boot a distro, without scripting.

It introduces the following concepts:

   - bootdev - a device which can hold a distro
   - bootmeth - a method to scan a bootdev to find bootflows (owned by
                U-Boot)
   - bootflow - a description of how to boot (owned by the distro)

This series provides an implementation of these, enabled to scan for
bootflows from MMC, USB and Ethernet. It supports the existing distro
boot as well as the EFI loader flow (bootefi/bootmgr). It works
similiarly to the existing script-based approach, but is native to
U-Boot.

With this we can boot on a Raspberry Pi 3 with just one command:

   bootflow scan -lb

which means to scan, listing (-l) each bootflow and trying to boot each
one (-b). The final patch shows this.

With a standard way to identify boot devices, booting become easier. It
also should be possible to support U-Boot scripts, for backwards
compatibility only.

...

The design is described in these two documents:

https://drive.google.com/file/d/1ggW0KJpUOR__vBkj3l61L2dav4ZkNC12/view?usp=sharing

https://drive.google.com/file/d/1kTrflO9vvGlKp-ZH_jlgb9TY3WYG6FF9/view?usp=sharing
2022-04-25 16:02:27 -04:00
..
acpi.c acpi: Tidy up the item list 2022-01-25 11:44:36 -07:00
device-remove.c event: Add events for device probe/remove 2022-03-10 08:28:36 -05:00
device.c dm: core: Deal with a wrinkle with linker lists 2022-04-18 17:53:56 -04:00
devres.c dm: core: Access device flags through functions 2021-01-05 12:24:41 -07:00
dump.c dm: core: Check uclass_get() return value when dumping 2021-07-15 18:42:05 -04:00
fdtaddr.c dm: core: Add a new API devfdt_get_addr_index_ptr() 2021-10-20 10:59:09 +08:00
Kconfig event: Add events for device probe/remove 2022-03-10 08:28:36 -05:00
lists.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
Makefile dm: core: Allow devres to be disabled in SPL 2022-04-18 17:53:56 -04:00
of_access.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
of_addr.c drivers/core/of_addr.c: Fix spelling of "shouldn't". 2022-01-13 07:57:50 -05:00
of_extra.c net: introduce a helper to determine whether to use in-band autoneg 2021-11-23 09:57:55 +02:00
ofnode.c treewide: Rename PHY_INTERFACE_MODE_NONE to PHY_INTERFACE_MODE_NA 2022-04-10 08:44:13 +03:00
read.c net: introduce helpers to get PHY interface mode from a device/ofnode 2022-04-10 08:44:12 +03:00
read_extra.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
regmap.c reset: Avoid a warning in devm_regmap_init() 2021-07-15 18:42:05 -04:00
root.c dm: core: Deal with a wrinkle with linker lists 2022-04-18 17:53:56 -04:00
simple-bus.c treewide: Use OF_REAL instead of !OF_PLATDATA 2021-09-25 09:46:15 -06:00
simple-pm-bus.c simple-pm-bus: Use -ENOSYS for checking missing system call 2021-04-06 16:33:19 +12:00
syscon-uclass.c treewide: Use OF_REAL instead of !OF_PLATDATA 2021-09-25 09:46:15 -06:00
tag.c dm: tag: change ENOSPC to ENOMEM 2022-04-23 22:05:34 +02:00
uclass.c dm: core: Allow finding a uclass device by partial name 2022-04-25 10:00:03 -04:00
util.c treewide: Use OF_REAL instead of !OF_PLATDATA 2021-09-25 09:46:15 -06:00