aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-12-31Merge tag 'efi-next' of https://source.denx.de/u-boot/custodians/u-boot-efi ↵WIP/31Dec2021-nextTom Rini21-65/+741
into next Pull request of efi-next Documentation: * Add Sunxi board description UEFI: * Improvements to U-Boot running on top of UEFI
2021-12-31x86: efi: Don't set up global_data again with EFISimon Glass1-3/+2
Since EFI does not relocate and uses the same global_data pointer throughout the board-init process, drop this unnecessary setup, to avoid a hang. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31x86: efi: Show the system-table revisionSimon Glass1-1/+8
Show the revision of this table as it can be important. Also update the 'efi table' entry to show the actual address of the EFI table rather than our table that points to it. This saves a step and the intermediate table has nothing else in it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31efi: Allow easy selection of serial-only operationSimon Glass1-0/+25
Add info about how to select vidconsole or serial. Also set up a demo boot command. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-12-31efi: Show when allocated pages are usedSimon Glass1-1/+2
Add a message here so that both paths of memory allocation are reported. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31efi: Mention that efi_info_get() is only used in the stubSimon Glass1-0/+4
This provides access to EFI tables after U-Boot has exited boot services. It is not needed in the app since boot services remain alive and we can just call them whenever needed. Add a comment to explain this. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31efi: Check for failure when initing the appSimon Glass1-2/+5
The stub checks for failure with efi_init(). Add this for the app as well. It is unlikely that anything can be done, but we may as well stop. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31efi: Share struct efi_priv between the app and stub codeSimon Glass4-22/+56
At present each of these has its own static variable and helper functions. Move them into a shared file. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31efi: Add a few comments to the stubSimon Glass1-0/+29
Comment some functions that need more information. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31efi: Fix ll_boot_init() operation with the appSimon Glass1-2/+5
This should return false when the EFI app is running, since UEFI has done the required low-level init. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31efi: Add comments to struct efi_privSimon Glass1-0/+23
This structure is uncommented. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-12-31efi: Drop device_path from struct efi_privSimon Glass1-1/+0
This is not used anywhere drop it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31x86: efi: Add room for the binman definition in the dtbSimon Glass1-1/+1
At present only 4KB of spare space is left in the DTB when building the EFI app. Increase this to 32KB so there is plenty of space to insert the binman definition. This cannot be expanded later (as with OF_SEPARATE) because the ELF image has already been built. Signed-off-by: Simon Glass <sjg@chromium.org> Reviwed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31x86: Don't process the kernel command line unless enabledSimon Glass1-5/+8
If the 'bootm' command is not enabled then this code is not available and this causes a link error. Fix it. Note that for the EFI app, there is no indication of missing code. It just hangs! Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31x86: Allow booting a kernel from the EFI appSimon Glass2-5/+8
At present this is disabled, but it should work so long as the kernel does not need EFI services. Enable it and add a note about remaining work. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-12-31efi: serial: Support arrow keysSimon Glass1-2/+9
At present only the backspace key is supported in U-Boot, when running as an EFI app. Add support for arrows, home and end as well, to make the CLI more friendly. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31efi: Locate all block devices in the appSimon Glass4-5/+218
When starting the app, locate all block devices and make them available to U-Boot. This allows listing partitions and accessing files in filesystems. EFI also has the concept of 'disks', meaning boot media. For now, this is not obviously useful in U-Boot, but add code to at least locate these. This can be expanded later as needed. We cannot use printf() in the early stub or app since it is not compiled in Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31efi: Make unicode printf available to the appSimon Glass2-6/+5
This is needed to show unicode strings. Enable this code in the app. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31sunxi: add board documentationAndre Przywara3-0/+329
Add some long overdue instructions for building and installing U-Boot on Allwinner SoC based boards. This describes the building process, including TF-A and crust, plus installation to SD card, eMMC and SPI flash, both from Linux and U-Boot itself. Also describe FEL booting. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-31efi_loader: Don't limit the StMM buffer size explicitlyIlias Apalodimas2-11/+6
Currently we allow and explicitly check a single shared page with StandAloneMM. This is dictated by OP-TEE which runs the application. However there's no way for us dynamically discover the number of pages we are allowed to use. Since writing big EFI signature list variable requires more than a page, OP-TEE has bumped the number of shared pages to four. Let's remove our explicit check and allow the request to reach OP-TEE even if it's bigger than what it supports. There's no need to sanitize the number of pages internally. OP-TEE will fail if we try to write more than it's allowed. The error will just trigger later on, during the StMM access. While at it add an error message to help users figure out what failed. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Tested-by: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org> Signed-off-by: Ilias Apalodimas <apalos@gmail.com>
2021-12-31efi: fix typo in description of struct efi_entry_hdrHeinrich Schuchardt1-1/+1
Add missing colon. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-28Merge tag 'video-next-20211228' of ↵WIP/28Dec2021-nextTom Rini106-538/+678
https://source.denx.de/u-boot/custodians/u-boot-video into next - various fixes to the sandbox display support - support for showing a logo without splash screen config - support for BMP drawing to depths other than 16bpp - tests for the different types of supported BMP images - support showing a logo when running coreboot via qemu
2021-12-27Merge branch '2021-12-27-CONFIG-migrations' into nextWIP/27Dec2021-nextTom Rini858-3997/+1639
- Merge a large number of CONFIG migration patches. Most of these are taking existing migrations and re-running them. A few of these needed additional minor conversions done first, so that more complex dependencies could be expressed. In the end we now have CI jobs to ensure that no migrated symbols are used in board config header files.
2021-12-27configs: Resync with savedefconfigTom Rini28-53/+27
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Convert CONFIG_JFFS2_DEV et al to KconfigTom Rini19-57/+44
This converts the following to Kconfig: CONFIG_JFFS2_DEV CONFIG_JFFS2_LZO CONFIG_JFFS2_NAND CONFIG_JFFS2_PART_OFFSET CONFIG_JFFS2_PART_SIZE Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Convert CONFIG_KIRKWOOD_GPIO to KconfigTom Rini28-10/+24
This converts the following to Kconfig: CONFIG_KIRKWOOD_GPIO Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Convert CONFIG_SYS_KWD_CONFIG to KconfigTom Rini50-74/+47
This converts the following to Kconfig: CONFIG_SYS_KWD_CONFIG Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Convert CONFIG_88F5182 et al to KconfigTom Rini36-159/+118
This converts the following to Kconfig: CONFIG_88F5182 CONFIG_BOARD_IS_OPENRD_BASE CONFIG_BOARD_IS_OPENRD_CLIENT CONFIG_BOARD_IS_OPENRD_ULTIMATE CONFIG_D2NET_V2 CONFIG_FEROCEON CONFIG_FEROCEON_88FR131 CONFIG_INETSPACE_V2 CONFIG_KW88F6192 CONFIG_KW88F6281 CONFIG_KW88F6702 CONFIG_NET2BIG_V2 CONFIG_NETSPACE_LITE_V2 CONFIG_NETSPACE_MAX_V2 CONFIG_NETSPACE_MINI_V2 CONFIG_NETSPACE_V2 CONFIG_SHEEVA_88SV131 At this point mv-plug-common.h is now only an include of mv-common.h so remove that indirection. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Kconfig: Remove some symbols from the whitelistTom Rini1-897/+0
There are a number of symbols that are never defined, only referenced in code imported from the Linux kernel or similar. Drop them from the list. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Convert CONFIG_CPU_FREQ_HZ to KconfigTom Rini4-8/+7
This converts the following to Kconfig: CONFIG_CPU_FREQ_HZ Cc: Michal Simek <monstr@monstr.eu> Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Convert CONFIG_CPU_SH7751 to KconfigTom Rini3-3/+5
This converts the following to Kconfig: CONFIG_CPU_SH7751 Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Convert CONFIG_CPU_PXA27X to KconfigTom Rini3-3/+5
This converts the following to Kconfig: CONFIG_CPU_PXA27X Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27serial: arm_dcc: Use CONFIG_ARM64 not CONFIG_CPU_ARMV8Tom Rini8-12/+1
The only place we use CONFIG_CPU_ARMV8 was in the arm_dcc serial driver. Switch this to CONFIG_ARM64 today, and if in the future we need finer granularity tuning here, a new CONFIG_SERIAL option needs to be introduced. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27CI: Test for unmigrated CONFIG symbols in board config.h filesTom Rini2-0/+48
Now that all symbols that exist in Kconfig no longer also have boards setting them in the board config.h file, add a CI test to catch new instances of this, and fail. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Convert CONFIG_SYS_I2C_EEPROM_ADDR_LEN to KconfigTom Rini1-3/+0
This converts the following to Kconfig: CONFIG_SYS_I2C_EEPROM_ADDR_LEN Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27ppc: mpc83xx: Remove unused CONFIG symbolsTom Rini2-7/+0
Neither of these symbols are referenced anywhere else, so remove them. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Convert CONFIG_83XX_PCICLK to KconfigTom Rini12-16/+14
This converts the following to Kconfig: CONFIG_83XX_PCICLK Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Finish conversion of CONFIG_SYS_CLK_FREQ to KconfigTom Rini208-230/+230
In order to finish moving this symbol to Kconfig for all platforms, we need to do a few more things. First, for all platforms that define this to a function, introduce CONFIG_DYNAMIC_SYS_CLK_FREQ, similar to CONFIG_DYNAMIC_DDR_CLK_FREQ and populate clock_legacy.h. This entails also switching all users from CONFIG_SYS_CLK_FREQ to get_board_sys_clk() and updating a few preprocessor tests. With that done, all platforms that define a value here can be converted to Kconfig, and a fall-back of zero is sufficiently safe to use (and what is used today in cases where code may or may not have this available). Make sure that code which calls this function includes <clock_legacy.h> to get the prototype. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27CONFIG_SYS_CLK_FREQ: Consistently be static or get_board_sys_clk()Tom Rini35-87/+59
This CONFIG option is used in one of two ways. The first way is that it is defined to a static value, of an unsigned long size. The second way is that it is defined to something, typically a function, to determine this value at run time. However, in a few cases that function returns a static value. Change that to using the static value directly. In the case of using something at run time, convert everything to using a function of the same name and prototype. This will allow for further cleanups. Finally, we have a few cases where the function is just not used, so drop it. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27nxp: ics307_clk: Guard get_board_ddr_clk function correctlyTom Rini1-0/+2
When we have CONFIG_DYNAMIC_DDR_CLK_FREQ set is the only time we should have this function, so guard it so that we can include <clock_legacy.h> in this file later on. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27ls1088a: Guard get_board_ddr_clk function correctlyTom Rini1-0/+2
When we have CONFIG_DYNAMIC_DDR_CLK_FREQ set is the only time we should have this function, so guard it so that we can include <clock_legacy.h> in this file later on. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27arm: s5pc1xx: Move CONFIG_SYS_CLK_FREQ_C1x0 out of CONFIG namespaceTom Rini2-11/+4
The values CONFIG_SYS_CLK_FREQ_C100 and CONFIG_SYS_CLK_FREQ_C110 are only used in one place and not changed by the board config file. Move these out of the CONFIG namespace and in to the CFG namespace. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Convert CONFIG_ARCH_MAP_SYSMEM to KconfigTom Rini4-7/+4
This converts the following to Kconfig: CONFIG_ARCH_MAP_SYSMEM Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Convert CONFIG_SYS_NAND_U_BOOT_OFFS to KconfigTom Rini20-9/+28
This converts the following to Kconfig: CONFIG_SYS_NAND_U_BOOT_OFFS Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Convert CONFIG_TPL_TEXT_BASE to KconfigTom Rini17-23/+13
This converts the following to Kconfig: CONFIG_TPL_TEXT_BASE Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Convert CONFIG_ZYNQMP_PSU_INIT_ENABLED to KconfigTom Rini8-4/+7
This converts the following to Kconfig: CONFIG_ZYNQMP_PSU_INIT_ENABLED Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Finish conversion CONFIG_SYS_NAND_SELF_INIT to KconfigTom Rini12-32/+31
In order to finish this conversion we need to add a symbols for SPL_SYS_NAND_SELF_INIT and TPL_SYS_NAND_SELF_INIT as there are cases there where we need to, or need to not, use that framework as things stand. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Convert CONFIG_TEGRA_NAND to KconfigTom Rini14-13/+14
This converts the following to Kconfig: CONFIG_TEGRA_NAND Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27Finish converting CONFIG_SYS_FSL_CLK to KconfigTom Rini19-40/+9
This converts the following to Kconfig: CONFIG_SYS_FSL_CLK We move the exiting option to common/Kconfig near the other options to control the contents of board_init_f() and note that this is a legacy option. We further restrict this to where the call is going to be non-empty, for the SoCs that had only been using this for some MMC-related clocks. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27warp7, pic32mzdask: Remove SYS_FDT_ADDR/SYS_ENV_ADDR from CONFIG namespaceTom Rini3-12/+3
In the case of CONFIG_SYS_FDT_ADDR this was being used to modify the default value of fdt_addr / fdt_addr_r, which is not something to expose in this manner and is not otherwise done. The case of SYS_ENV_ADDR is similar but only done on the pic32mzdask platform, for scriptaddr. Signed-off-by: Tom Rini <trini@konsulko.com>