Peter Hoyes [Thu, 11 Nov 2021 09:26:03 +0000 (09:26 +0000)]
vexpress64: Enable VIRTIO_NET network driver
The SMSC driver is using the old driver model.
Init the virtio system in vexpress64.c so that the network device is
discovered.
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Peter Hoyes [Thu, 11 Nov 2021 09:26:02 +0000 (09:26 +0000)]
vexpress64: Enable OF_CONTROL and OF_BOARD for VExpress64
Capture x0 in lowlevel_init.S as potential fdt address. Modify
board_fdt_blob_setup to use fdt address from either vexpress_aemv8.h
or lowlevel_init.S.
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Peter Hoyes [Thu, 11 Nov 2021 09:26:01 +0000 (09:26 +0000)]
vexpress64: Clean up BASE_FVP boot configuration
Move env var address values to #defines so they can be reused elsewhere.
Rename env var names to those recommended in the README and modify
addresses to allow more space for the kernel.
Fix issue where fdt is called with invalid arguments when booting
without a ramdisk.
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Peter Hoyes [Thu, 11 Nov 2021 09:26:00 +0000 (09:26 +0000)]
vexpress64: Refactor header file to make it easier to add new FVPs
Rename from vexpress_aemv8a.h -> vepxress_aemv8.h as new FVPs may not be
v8-A. No change in behavior.
This is towards future work to enable support for the FVP_BaseR.
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Peter Hoyes [Thu, 11 Nov 2021 09:25:59 +0000 (09:25 +0000)]
doc: Add documentation for the Arm VExpress64 board configs
Create a new documentation section for Arm Ltd boards with a sub-page
for the VExpress64 boards (FVP-A and Juno).
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Linus Walleij [Sat, 20 Nov 2021 22:55:42 +0000 (23:55 +0100)]
board: stemmy: Increase boot image to 64 MB
When using a recent kernel with a bunch of compiled-in
stuff the kernel image easily becomes bigger than 8 MB
yielding this error:
Loading Kernel Image
Image too large: increase CONFIG_SYS_BOOTM_LEN
Must RESET board to recover
Fix this by bumping to SZ_64MB.
Cc: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Stephan Gerhold <stephan@gerhold.net>
Tom Rini [Fri, 31 Dec 2021 12:28:36 +0000 (07:28 -0500)]
Merge tag 'efi-next' of https://source.denx.de/u-boot/custodians/u-boot-efi into next
Pull request of efi-next
Documentation:
* Add Sunxi board description
UEFI:
* Improvements to U-Boot running on top of UEFI
Simon Glass [Wed, 29 Dec 2021 18:57:54 +0000 (11:57 -0700)]
x86: efi: Don't set up global_data again with EFI
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>
Simon Glass [Wed, 29 Dec 2021 18:57:53 +0000 (11:57 -0700)]
x86: efi: Show the system-table revision
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>
Simon Glass [Wed, 29 Dec 2021 18:57:50 +0000 (11:57 -0700)]
efi: Allow easy selection of serial-only operation
Add info about how to select vidconsole or serial.
Also set up a demo boot command.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 29 Dec 2021 18:57:49 +0000 (11:57 -0700)]
efi: Show when allocated pages are used
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>
Simon Glass [Wed, 29 Dec 2021 18:57:48 +0000 (11:57 -0700)]
efi: Mention that efi_info_get() is only used in the stub
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>
Simon Glass [Wed, 29 Dec 2021 18:57:47 +0000 (11:57 -0700)]
efi: Check for failure when initing the app
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>
Simon Glass [Wed, 29 Dec 2021 18:57:45 +0000 (11:57 -0700)]
efi: Share struct efi_priv between the app and stub code
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>
Simon Glass [Wed, 29 Dec 2021 18:57:44 +0000 (11:57 -0700)]
efi: Add a few comments to the stub
Comment some functions that need more information.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Simon Glass [Wed, 29 Dec 2021 18:57:43 +0000 (11:57 -0700)]
efi: Fix ll_boot_init() operation with the app
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>
Simon Glass [Wed, 29 Dec 2021 18:57:42 +0000 (11:57 -0700)]
efi: Add comments to struct efi_priv
This structure is uncommented. Fix it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 29 Dec 2021 18:57:41 +0000 (11:57 -0700)]
efi: Drop device_path from struct efi_priv
This is not used anywhere drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Simon Glass [Wed, 29 Dec 2021 18:57:40 +0000 (11:57 -0700)]
x86: efi: Add room for the binman definition in the dtb
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>
Simon Glass [Wed, 29 Dec 2021 18:57:39 +0000 (11:57 -0700)]
x86: Don't process the kernel command line unless enabled
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>
Simon Glass [Wed, 29 Dec 2021 18:57:38 +0000 (11:57 -0700)]
x86: Allow booting a kernel from the EFI app
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>
Simon Glass [Wed, 29 Dec 2021 18:57:37 +0000 (11:57 -0700)]
efi: serial: Support arrow keys
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>
Simon Glass [Wed, 29 Dec 2021 18:57:36 +0000 (11:57 -0700)]
efi: Locate all block devices in the app
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>
Simon Glass [Wed, 29 Dec 2021 18:57:35 +0000 (11:57 -0700)]
efi: Make unicode printf available to the app
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>
Andre Przywara [Mon, 27 Dec 2021 15:07:36 +0000 (15:07 +0000)]
sunxi: add board documentation
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>
Ilias Apalodimas [Fri, 24 Dec 2021 08:08:41 +0000 (10:08 +0200)]
efi_loader: Don't limit the StMM buffer size explicitly
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>
Heinrich Schuchardt [Tue, 21 Dec 2021 08:09:48 +0000 (09:09 +0100)]
efi: fix typo in description of struct efi_entry_hdr
Add missing colon.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Tom Rini [Tue, 28 Dec 2021 16:28:31 +0000 (11:28 -0500)]
Merge tag 'video-next-
20211228' of 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
Tom Rini [Mon, 27 Dec 2021 22:20:21 +0000 (17:20 -0500)]
Merge branch '2021-12-27-CONFIG-migrations' into next
- 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.
Tom Rini [Mon, 27 Dec 2021 13:53:48 +0000 (13:53 +0000)]
configs: Resync with savedefconfig
Rsync all defconfig files using moveconfig.py
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 17 Dec 2021 23:08:47 +0000 (18:08 -0500)]
Convert CONFIG_JFFS2_DEV et al to Kconfig
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>
Tom Rini [Fri, 17 Dec 2021 23:08:46 +0000 (18:08 -0500)]
Convert CONFIG_KIRKWOOD_GPIO to Kconfig
This converts the following to Kconfig:
CONFIG_KIRKWOOD_GPIO
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 17 Dec 2021 23:08:45 +0000 (18:08 -0500)]
Convert CONFIG_SYS_KWD_CONFIG to Kconfig
This converts the following to Kconfig:
CONFIG_SYS_KWD_CONFIG
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 17 Dec 2021 23:08:44 +0000 (18:08 -0500)]
Convert CONFIG_88F5182 et al to Kconfig
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>
Tom Rini [Fri, 17 Dec 2021 23:08:43 +0000 (18:08 -0500)]
Kconfig: Remove some symbols from the whitelist
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>
Tom Rini [Fri, 17 Dec 2021 23:08:42 +0000 (18:08 -0500)]
Convert CONFIG_CPU_FREQ_HZ to Kconfig
This converts the following to Kconfig:
CONFIG_CPU_FREQ_HZ
Cc: Michal Simek <monstr@monstr.eu>
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 17 Dec 2021 23:08:41 +0000 (18:08 -0500)]
Convert CONFIG_CPU_SH7751 to Kconfig
This converts the following to Kconfig:
CONFIG_CPU_SH7751
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 17 Dec 2021 23:08:40 +0000 (18:08 -0500)]
Convert CONFIG_CPU_PXA27X to Kconfig
This converts the following to Kconfig:
CONFIG_CPU_PXA27X
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 17 Dec 2021 23:08:39 +0000 (18:08 -0500)]
serial: arm_dcc: Use CONFIG_ARM64 not CONFIG_CPU_ARMV8
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>
Tom Rini [Tue, 14 Dec 2021 18:36:41 +0000 (13:36 -0500)]
CI: Test for unmigrated CONFIG symbols in board config.h files
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>
Tom Rini [Fri, 17 Dec 2021 23:08:38 +0000 (18:08 -0500)]
Convert CONFIG_SYS_I2C_EEPROM_ADDR_LEN to Kconfig
This converts the following to Kconfig:
CONFIG_SYS_I2C_EEPROM_ADDR_LEN
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 17 Dec 2021 23:08:37 +0000 (18:08 -0500)]
ppc: mpc83xx: Remove unused CONFIG symbols
Neither of these symbols are referenced anywhere else, so remove them.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 17 Dec 2021 23:08:36 +0000 (18:08 -0500)]
Convert CONFIG_83XX_PCICLK to Kconfig
This converts the following to Kconfig:
CONFIG_83XX_PCICLK
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Tue, 14 Dec 2021 18:36:40 +0000 (13:36 -0500)]
Finish conversion of CONFIG_SYS_CLK_FREQ to Kconfig
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>
Tom Rini [Tue, 14 Dec 2021 18:36:39 +0000 (13:36 -0500)]
CONFIG_SYS_CLK_FREQ: Consistently be static or get_board_sys_clk()
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>
Tom Rini [Tue, 14 Dec 2021 18:36:38 +0000 (13:36 -0500)]
nxp: ics307_clk: Guard get_board_ddr_clk function correctly
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>
Tom Rini [Tue, 14 Dec 2021 18:36:37 +0000 (13:36 -0500)]
ls1088a: Guard get_board_ddr_clk function correctly
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>
Tom Rini [Tue, 14 Dec 2021 18:36:36 +0000 (13:36 -0500)]
arm: s5pc1xx: Move CONFIG_SYS_CLK_FREQ_C1x0 out of CONFIG namespace
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>
Tom Rini [Tue, 14 Dec 2021 18:36:35 +0000 (13:36 -0500)]
Convert CONFIG_ARCH_MAP_SYSMEM to Kconfig
This converts the following to Kconfig:
CONFIG_ARCH_MAP_SYSMEM
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Tue, 14 Dec 2021 18:36:34 +0000 (13:36 -0500)]
Convert CONFIG_SYS_NAND_U_BOOT_OFFS to Kconfig
This converts the following to Kconfig:
CONFIG_SYS_NAND_U_BOOT_OFFS
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Tue, 14 Dec 2021 18:36:33 +0000 (13:36 -0500)]
Convert CONFIG_TPL_TEXT_BASE to Kconfig
This converts the following to Kconfig:
CONFIG_TPL_TEXT_BASE
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Mon, 13 Dec 2021 03:58:31 +0000 (22:58 -0500)]
Convert CONFIG_ZYNQMP_PSU_INIT_ENABLED to Kconfig
This converts the following to Kconfig:
CONFIG_ZYNQMP_PSU_INIT_ENABLED
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Mon, 13 Dec 2021 03:12:36 +0000 (22:12 -0500)]
Finish conversion CONFIG_SYS_NAND_SELF_INIT to Kconfig
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>
Tom Rini [Mon, 13 Dec 2021 03:12:35 +0000 (22:12 -0500)]
Convert CONFIG_TEGRA_NAND to Kconfig
This converts the following to Kconfig:
CONFIG_TEGRA_NAND
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Mon, 13 Dec 2021 03:12:34 +0000 (22:12 -0500)]
Finish converting CONFIG_SYS_FSL_CLK to Kconfig
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>
Tom Rini [Mon, 13 Dec 2021 03:12:33 +0000 (22:12 -0500)]
warp7, pic32mzdask: Remove SYS_FDT_ADDR/SYS_ENV_ADDR from CONFIG namespace
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>
Tom Rini [Mon, 13 Dec 2021 03:12:32 +0000 (22:12 -0500)]
Convert CONFIG_SYS_PCI_64BIT to Kconfig
This converts the following to Kconfig:
CONFIG_SYS_PCI_64BIT
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Mon, 13 Dec 2021 03:12:31 +0000 (22:12 -0500)]
Finish CONFIG_VID et al conversion to Kconfig
This converts the following to Kconfig:
CONFIG_VID
CONFIG_VOL_MONITOR_INA220
CONFIG_VOL_MONITOR_IR36021_READ
CONFIG_VOL_MONITOR_IR36021_SET
CONFIG_VOL_MONITOR_LTC3882_READ
CONFIG_VOL_MONITOR_LTC3882_SET
To finish this migration, we first need to introduce CONFIG_SPL_VID as
some platforms only use this code in full U-Boot while others use it in
SPL as well. To make the Kconfig logic clearer, guard all of the
sub-options with a if VID || SPL_VID check. Finally, add Kconfig
options for the remaining related options that did not previously have
one.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Mon, 13 Dec 2021 03:12:30 +0000 (22:12 -0500)]
Convert CONFIG_SYS_IMMR to Kconfig
This converts the following to Kconfig:
CONFIG_SYS_IMMR
We do this by consolidating the SYS_IMMR options we have and providing
defaults.
We also, in the few places where M68K was also sharing code with these
platforms, define it within the file to CONFIG_SYS_MBAR to match usage.
This should be cleaned up longer term.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Mon, 13 Dec 2021 03:12:29 +0000 (22:12 -0500)]
Convert CONFIG_SYS_MEMTEST_START et al to Kconfig
This converts the following to Kconfig:
CONFIG_SYS_MEMTEST_START
CONFIG_SYS_MEMTEST_END
This is removing unused defines and correcting the default value to be
0x0 as we are a hex symbol.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Mon, 13 Dec 2021 03:12:28 +0000 (22:12 -0500)]
Convert CONFIG_WATCHDOG_TIMEOUT_MSECS to Kconfig
This converts the following to Kconfig:
CONFIG_WATCHDOG_TIMEOUT_MSECS
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Mon, 13 Dec 2021 03:12:27 +0000 (22:12 -0500)]
Finish converting CONFIG_WATCHDOG, HW_WATCHDOG and WDT to Kconfig
Because of how these symbols work, and the remaining board config.h file
uses, we need to do these at the same time. In some cases we just get
to move rather directly to the defconfigs. A few cases require manual
intervention.
For the case of the eb_cpu5282 we need to select HW_WATCHDOG for the
target, given how it's implemented.
For the cases of m53menlo, dh_imx6, display5, and display5_factory we
disable SPL watchdog support as the particular combination of options
they want would require either more symbols or enabling SPL_DM.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Mon, 13 Dec 2021 03:12:26 +0000 (22:12 -0500)]
pci: Remove unused FSL_PCI_INIT code
The symbol CONFIG_FSL_PCI_INIT is no longer enabled anywhere, removed
now unused code.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Sat, 11 Dec 2021 19:55:54 +0000 (14:55 -0500)]
Convert CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT to Kconfig
This converts the following to Kconfig:
CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT
In order to do this conversion, expose this option to the user and
use "save" not "safe" in the text.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Sat, 11 Dec 2021 19:55:53 +0000 (14:55 -0500)]
Convert CONFIG_SUPPORT_EMMC_RPMB to Kconfig
This converts the following to Kconfig:
CONFIG_SUPPORT_EMMC_RPMB
This fixes a few platforms where the option was not taking effect as
intended.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Sat, 11 Dec 2021 19:55:52 +0000 (14:55 -0500)]
Remove CONFIG_SYS_MMC_IMG_LOAD_PART from CONFIG namespace
This option is used as part of configuring the default environment for a
number of platforms. However, it is always set to 1 and the only time
it is part of Kconfig, it is used in a hard-coded manner. Hard-code the
value in the environment instead.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Sat, 11 Dec 2021 19:55:51 +0000 (14:55 -0500)]
Convert CONFIG_CONS_INDEX et al to Kconfig
This converts the following to Kconfig:
CONFIG_CONS_INDEX
CONFIG_DEBUG_UART_CLOCK
CONFIG_FSL_TZPC_BP147
CONFIG_GENERIC_ATMEL_MCI
CONFIG_IDENT_STRING
CONFIG_LIBATA
CONFIG_LNX_KRNL_IMG_TEXT_OFFSET_BASE
CONFIG_LPC32XX_GPIO
CONFIG_MP
CONFIG_MPC8XXX_GPIO
CONFIG_MTD_PARTITIONS
CONFIG_MVGBE
CONFIG_MXC_GPIO
CONFIG_NR_DRAM_BANKS
CONFIG_OF_BOARD_SETUP
CONFIG_OF_STDOUT_VIA_ALIAS
CONFIG_OF_SYSTEM_SETUP
CONFIG_PREBOOT
CONFIG_ROCKCHIP_SERIAL
CONFIG_RTC_ENABLE_32KHZ_OUTPUT
CONFIG_RTC_MV
CONFIG_SCSI_AHCI
CONFIG_SF_DEFAULT_BUS
CONFIG_SF_DEFAULT_CS
CONFIG_SF_DEFAULT_SPEED
CONFIG_SOFT_SPI
CONFIG_SPI_FLASH_EON
CONFIG_SPI_FLASH_MACRONIX
CONFIG_SPI_FLASH_MTD
CONFIG_SPI_FLASH_SPANSION
CONFIG_SPI_FLASH_SST
CONFIG_SPI_FLASH_STMICRO
CONFIG_SUPPORT_RAW_INITRD
CONFIG_SYS_ARCH_TIMER
CONFIG_SYS_BOARD
CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE
CONFIG_SYS_DCACHE_OFF
CONFIG_SYS_FDT_SAVE_ADDRESS
CONFIG_SYS_FLASH_CFI
CONFIG_SYS_FSL_ERRATUM_ESDHC135
CONFIG_SYS_HAS_SERDES
CONFIG_SYS_L2CACHE_OFF
CONFIG_SYS_LITTLE_ENDIAN
CONFIG_SYS_LOAD_ADDR
CONFIG_SYS_MMCSD_FS_BOOT_PARTITION
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
CONFIG_SYS_NS16550
CONFIG_SYS_PLLFIN
CONFIG_SYS_SPI_U_BOOT_OFFS
CONFIG_TIMER_SYS_TICK_CH
CONFIG_USB_EHCI_FSL
CONFIG_U_QE
CONFIG_VERSION_VARIABLE
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Sat, 11 Dec 2021 19:55:50 +0000 (14:55 -0500)]
Convert CONFIG_SD_BOOT et al to Kconfig
This converts the following to Kconfig:
CONFIG_SD_BOOT
CONFIG_SD_BOOT_QSPI
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Sat, 11 Dec 2021 19:55:49 +0000 (14:55 -0500)]
Convert CONFIG_FSL_IFC to Kconfig
This converts the following to Kconfig:
CONFIG_FSL_IFC
This is done via select statements to match previous logic.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Sat, 11 Dec 2021 19:55:48 +0000 (14:55 -0500)]
Convert CONFIG_ENV_SPI_BUS et al to Kconfig
This converts the following to Kconfig:
CONFIG_ENV_SPI_BUS
CONFIG_ENV_SPI_CS
CONFIG_ENV_SPI_MAX_HZ
CONFIG_ENV_SPI_MODE
As part of this, we use Kconfig to provide the defaults now that were
done in include/spi_flash.h. We also in some cases change from using
CONFIG_ENV_SPI_FOO to CONFIG_SF_DEFAULT_FOO as those were the values in
use anyhow as ENV was not enabled.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Sat, 11 Dec 2021 19:55:47 +0000 (14:55 -0500)]
Clarify CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW in Kconfig
This is a "hex" prompt but the default value was given as an int.
Switch the default to hex (0x0) and remove the defconfigs that were
using the default, but as hex before.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Sat, 11 Dec 2021 19:55:46 +0000 (14:55 -0500)]
arm: Drop unused tam3517-common.h
With the relevant platforms removed, drop this file.
Signed-off-by: Tom Rini <trini@konsulko.com>
Simon Glass [Fri, 19 Nov 2021 20:24:07 +0000 (13:24 -0700)]
x86: coreboot: Add a sample script to build a qemu image
It is useful to boot coreboot (with U-Boot as a payload) from qemu. Add
a sample script to show how to do this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:24:06 +0000 (13:24 -0700)]
x86: coreboot: Support getting a logo from virtio
Enable this feature so that a splash screen can be provided.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:24:05 +0000 (13:24 -0700)]
video: Support virtio devices with the splash screen
This is useful for showing a logo when booting from qemu.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:24:04 +0000 (13:24 -0700)]
video: Show the U-Boot logo by default
Enable this for boards with a display, unless they are using the SPLASH
feature.
This shows a U-Boot logo on boards with a display, which seems like a
useful thing.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:24:03 +0000 (13:24 -0700)]
video: Support showing the U-Boot logo
Show the U-Boot logo by default. This is only 7KB in size so seems like
a useful default for boards that enable a display.
If SPLASH_SCREEN is enabled, it is not enabled by default, so as not to
conflict with that feature.
Also disable it for tests, since we don't want to complicate the output.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:24:02 +0000 (13:24 -0700)]
video: Drop VIDEO_LOGO from cfb_console
This driver is obsolete and only used by nokia_rx51. It should be deleted.
For now, drop the VIDEO_LOGO code to avoid confusion with the new
implementation.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:24:01 +0000 (13:24 -0700)]
video: Convert CONFIG_VIDEO_LOGO to Kconfig
This converts the following to Kconfig:
CONFIG_VIDEO_LOGO
Note that this option depends on CONFIG_DM_VIDEO now, since cfb_console is
deprecated. The only relevant code is now in splash.c
Drop the check for DM_VIDEO in that file.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:24:00 +0000 (13:24 -0700)]
video: Drop #ifdefs from video_bmp
Convert the current preprocessor macros to C code.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:59 +0000 (13:23 -0700)]
video: theadorable: Use RGB565 for BMP blitting
At present this uses RGB555 format for blitting to a display. Sandbox uses
565 and that seems to be more normal for BMP as well. Update the code
accordingly and add a test.
Note that this likely breaks the theadorable board so we may need to
discuss supporting both formats.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:58 +0000 (13:23 -0700)]
video: Add a test for 16bpp BMP files
Add a compressed 16bpp BMP file and a test to cover this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:57 +0000 (13:23 -0700)]
video: Tidy up 24/32 BMP blitting
Drop the unnecessary brackets.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:56 +0000 (13:23 -0700)]
video: Drop the uclass colour map
We don't need this anymore since we use the BMP palette directly. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:55 +0000 (13:23 -0700)]
video: bmp: Update RLE8 support to use the write function
Update this code to use write_pix8() rather than writing the pixels only
for a single supported display depth. This allows us to support any
depth.
Add some more tests too.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:54 +0000 (13:23 -0700)]
video: Move BMP pixel-writing into a function
At present the code that writes to a pixel is quite convoluted. It uses a
colour map which is in the uclass and the same code is repeated in
different places within video_bmp_display().
As a first step, create a function which can write a pixel from the
bitmap, no matter what the display depth. Use any provided palette
directly, rather than using the uclass version.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:53 +0000 (13:23 -0700)]
video: Drop fb_put_byte() el at
These functions are not used with driver model, nor in any U-Boot boards.
Drop them and inline the code.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:52 +0000 (13:23 -0700)]
sandbox: Enable support for the gzip command
This does not work with sandbox at present. Fix it up to use map_sysmem()
to convert an address to a pointer.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:51 +0000 (13:23 -0700)]
video: Expand video debugging buffer size
On sandbox these addresses are 16 hex digits log so we need more space
for the debug string. Update it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:50 +0000 (13:23 -0700)]
sandbox: video: Add BMP tests for 32bpp and 8bpp modes
Add a few more tests for BMP rendering. Use a back door into the sandbox
SDL driver to adjust the resolution at runtime.
The truetype code does not support 8bpp. Add this so that the display is
not blank when running in this mode.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:49 +0000 (13:23 -0700)]
sandbox: video: Correct the address of the copy base
The intention is for the copy base to start halfway through the
frame-buffer area. At present is it actually below the frame buffer,
which could have anything in it (probably it is malloc space). Fix
this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:48 +0000 (13:23 -0700)]
video: sandbox: Set a maximum frame-buffer size
If U-Boot starts with the frame buffer set to 16bpp but then runs a test
that uses 32bpp, there is not enough space. Update the driver to use the
maximum possible frame-buffer size, to avoid this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:47 +0000 (13:23 -0700)]
console: Avoid serial output before the console is running
The video driver uses this for debugging, but if used before relocation it
crashes at present. Avoid trying to output debugging before the console is
ready.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:46 +0000 (13:23 -0700)]
video: sandbox: Avoid duplicate display windows
When unit tests are run they currently create a new window. Update the
code so that the old one is removed first. This avoids the confusion as to
which one is active.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 19 Nov 2021 20:23:45 +0000 (13:23 -0700)]
sandbox: video: Support 8bpp depth
At present sandbox only supports 16 and 32bpp depths, since those are the
easy ones with SDL.
We can support other depths by manually converting the pixel formats. Add
support for this, to enable an 8ppp (monochrome) format.
Signed-off-by: Simon Glass <sjg@chromium.org>
Tom Rini [Fri, 24 Dec 2021 14:31:35 +0000 (09:31 -0500)]
Merge branch '2021-12-23-make-OF_BOARD-a-boolean' into next
Merge v8 of Simon's series to make CONFIG_OF_BOARD a boolean option.
Quoting him:
With Ilias' efforts we have dropped OF_PRIOR_STAGE and OF_HOSTFILE so
there are only three ways to obtain a devicetree:
- OF_SEPARATE - the normal way, where the devicetree is built and
appended to U-Boot
- OF_EMBED - for development purposes, the devicetree is embedded in
the ELF file (also used for EFI)
- OF_BOARD - the board figures it out on its own
The last one is currently set up so that no devicetree is needed at all
in the U-Boot tree. Most boards do provide one, but some don't. Some
don't even provide instructions on how to boot on the board.
The problems with this approach were covered in another patch[1], since
removed from this series.
In practice, OF_BOARD is not really distinct from OF_SEPARATE. Any board
can obtain its devicetree at runtime, even it is has a devicetree built
in U-Boot. This is because U-Boot may be a second-stage bootloader and its
caller may have a better idea about the hardware available in the machine.
This is the case with a few QEMU boards, for example.
So it makes no sense to have OF_BOARD as a 'choice'. It should be an
option, available with either OF_SEPARATE or OF_EMBED. This would allow
rpi3, for example, to run with the devicetree provided by the prior
bootloader.
This series makes this change, adding various missing devicetree files
(and placeholders) to make the build work.
To make the 'prior stage' side of things more deterministic, a new
OF_HAS_PRIOR_STAGE is added, which cannot be disabled by updated a board's
defconfig. This should help to prevent mistakes.
It also adds a run-time message showing where the devicetree came from,
as well as warnings if the board's expected flow is not being used. This
comes originally from the 'standard passage' series, which depends on
this series.
It also provides a few qemu clean-ups discovered along the way. The
qemu-riscv64_spl problem is fixed.
Please see [2] for discussion on the v6 series.
I put Heinrich's Tested-by tag[3] for the series onto the three devicetree
patches (ARM and RISC-V) that I think it most affects. It isn't possible
to apply a tag to a whole series at present and in any case there are
changes in v7.
This series is available at u-boot-dm/ofb-working
[1] https://patchwork.ozlabs.org/project/uboot/patch/
20211207001209.3467163-2-sjg@chromium.org/
[2] https://lore.kernel.org/u-boot/
20211205133207.GW1220664@bill-the-cat/T/#mcd8c0258827fbc1bb3000b7ff9ba0929df1ddcb2
[3] https://lore.kernel.org/u-boot/
93913911-4d20-d28f-ee04-
739985184c5e@canonical.com/raw
Simon Glass [Fri, 17 Dec 2021 03:59:39 +0000 (20:59 -0700)]
fdt: Show a runtime warning based on devicetree source
When running, if the devicetree failed to come from the expected source,
show a warning, e.g:
U-Boot ...
DRAM: 128 MiB
Core: 42 devices, 11 uclasses, devicetree: separate
Warning: Unexpected devicetree source (not from a prior stage)
Warning: U-Boot may not function properly
Flash: 64 MiB
...
These warnings should only appear if the board config has been changed, or
the prior stage is broken.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 17 Dec 2021 03:59:38 +0000 (20:59 -0700)]
fdt: Avoid emitting an device tree when not needed
U-Boot always needs some sort of a device tree in the build. Some boards
never actually use this, at least in production systems, since a prior
firmware stage sets one up and passes it to U-Boot. At present the only
mechanism to do that is with custom function (OF_BOARD), but future work
will include a standard way of doing this ('standard passage').
It can be confusing to see a device tree emitted from the U-Boot build in
this situation. Add an option to drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 17 Dec 2021 03:59:37 +0000 (20:59 -0700)]
fdt: Makefile: Ensure that OF_BOARD is used when needed
Boards which define OF_HAS_PRIOR_STAGE must define OF_BOARD at present,
since a custom function is the only way to obtain the devicetree at
runtime.
Add a build error when this requirement is not met, to avoid accepting
any patches which break this requirement.
Add an allowlist for boards which use it, currently none. This allowlist
can be updated for local development, if needed.
Signed-off-by: Simon Glass <sjg@chromium.org>
[trini: change of_whitelist to of_allowlist]
Signed-off-by: Tom Rini <trini@konsulko.com>
Simon Glass [Fri, 17 Dec 2021 03:59:36 +0000 (20:59 -0700)]
fdt: Enable OF_HAS_PRIOR_STAGE for most boards with OF_BOARD
Use this new Kconfig instead of OF_BOARD, so we know for sure which boards
obtain their devicetree from a prior stage. Leave sandbox alone since it
does not. Also don't touch xilinx_versal_virt since it does not have a
specific TARGET Kconfig.
This option implies OF_BOARD for now, but with future work standard
passage may be used instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
[trini: Add rpi_4_32b and rpi_arm64 to the list of boards converted]
Signed-off-by: Tom Rini <trini@konsulko.com>