platform/kernel/u-boot.git
2 years agonet: fastboot: make UDP port net: configurable
Christian Gmeiner [Thu, 13 Jan 2022 07:40:06 +0000 (08:40 +0100)]
net: fastboot: make UDP port net: configurable

The fastboot protocol uses per default the UDP port 5554. In some cases
it might be needed to change the used port. The fastboot utility provides
a way to specifiy an other port number to use already.

  fastboot -s udp:192.168.1.76:1234 boot fastboot.img

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2 years agonet: fsl: Fix busy flag polling register
Markus Koch [Tue, 11 Jan 2022 18:22:54 +0000 (19:22 +0100)]
net: fsl: Fix busy flag polling register

NXP's mEMAC reference manual, Chapter 6.5.5 "MDIO Ethernet Management
Interface usage", specifies to poll the BSY (0) bit in the CFG/STAT
register to wait until a transaction has finished, not bit 31 in the
data register.

In the Linux kernel, this has already been fixed in commit 26eee0210ad7
("net/fsl: fix a bug in xgmac_mdio").

This patch changes the register in the fman_mdio and fsl_ls_mdio
drivers.

As the MDIO_DATA_BSY define is no longer in use, this patch also removes
its definition from the fsl_memac header.

Signed-off-by: Markus Koch <markus@notsyncing.net>
Reviewed-by: Camelia Groza <camelia.groza@nxp.com>
2 years agonet: eth-phy: Demote missing phy-handle log message to debug
Marek Vasut [Sat, 1 Jan 2022 19:12:23 +0000 (20:12 +0100)]
net: eth-phy: Demote missing phy-handle log message to debug

Reduce the missing phy-handle log message to debug message. It is
possible for ethernet DT node to have no phy-handle e.g. in case
of a fixed-link connection. Furthermore, drop the FEC: prefix,
which is a copy-paste error and rather print the ethernet device
name.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2 years agonet: phy: add TI DP83869HM ethernet driver
Dominic Rath [Wed, 22 Dec 2021 07:57:46 +0000 (08:57 +0100)]
net: phy: add TI DP83869HM ethernet driver

This driver is based on an older downstream TI kernel, with
changes and cleanups to work with mainline device-tree bindings.

Signed-off-by: Dominic Rath <rath@ibv-augsburg.net>
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2 years agonet: dsa: sja1105: fix device id detection
Vladimir Oltean [Sat, 4 Dec 2021 23:00:35 +0000 (01:00 +0200)]
net: dsa: sja1105: fix device id detection

The sja1105_check_device_id() function contains logic to work without
changing the device tree on reworked boards, one of which I have (the
NXP LS1021A-TSN normally has a SJA1105T, but I have a version with a
resoldered SJA1105Q which is pin compatible). This logic is taken from
the Linux driver.

However this logic gets shortcircuited in U-Boot by an earlier check for
the exact device ID specified in the device tree. So the reworked board
does not probe the SJA1105Q switch. Remove this duplicated logic and let
the automatic device ID detection do its job.

Fixes: f24b666b2204 ("net: dsa: add driver for NXP SJA1105 L2 switch")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2 years agonet: dsa: fix phydev->speed being uninitialized for the CPU port fixed PHY
Vladimir Oltean [Sat, 4 Dec 2021 23:00:34 +0000 (01:00 +0200)]
net: dsa: fix phydev->speed being uninitialized for the CPU port fixed PHY

If the DSA API is going to allow drivers to do things such as:

- phy_config in dsa_ops :: port_probe
- phy_startup in dsa_ops :: port_enable

then it would actually be good if the ->port_probe() method would
actually be called in all cases before the ->port_enable() is.

Currently this is true for user ports, but not true for the CPU port,
because the CPU port does not have a udevice registered for it (this is
all part of DSA's design). So the current issue is that after
phy_startup has finished for the CPU port, its phydev->speed is an
uninitialized value, because phy_config() was never called for the
priv->cpu_port_fixed_phy, and it is precisely phy_config() who copies
the speed into the phydev in the case of the fixed PHY driver.

So we need to simulate a probing event for the CPU port by manually
calling the driver's ->port_probe() method for the CPU port.

Fixes: 8a2982574854 ("net: dsa: introduce a .port_probe() method in struct dsa_ops")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2 years agocmd: pxe_utils: sysboot: add label override support
Amjad Ouled-Ameur [Sat, 13 Nov 2021 13:09:20 +0000 (14:09 +0100)]
cmd: pxe_utils: sysboot: add label override support

This will allow consumers to choose a pxe label at runtime instead of
having to prompt the user. One good use-case for this, is choosing
whether or not to apply a dtbo depending on the hardware configuration.
e.g: for TI's AM335x EVM, it would be convenient to apply a particular
dtbo only when the J9 jumper is on PRUSS mode. To achieve this, the
pxe menu should have 2 labels, one with the dtbo and the other without,
then the "pxe_label_override" env variable should point to the label with
the dtbo at runtime only when the jumper is on PRUSS mode.

This change can be used for different use-cases and bring more
flexibilty to consumers who use sysboot/pxe_utils.

if "pxe_label_override" is set but does not exist in the pxe menu,
the code should fallback to the default label if given, and no failure
is returned but rather a warning message.

Signed-off-by: Amjad Ouled-Ameur <aouledameur@baylibre.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Artem Lapkin <email2tema@gmail.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2 years agoMerge tag 'u-boot-amlogic-20220107' of https://source.denx.de/u-boot/custodians/u...
Tom Rini [Sun, 9 Jan 2022 12:56:31 +0000 (07:56 -0500)]
Merge tag 'u-boot-amlogic-20220107' of https://source.denx.de/u-boot/custodians/u-boot-amlogic into next

- disable CONFIG_NET_RANDOM_ETHADDR when unnecessary on amlogic based configs
- meson64_android: add board specific env settings, in order to support VIM3/L for android
- add changes to support VIM3/L android boot by using meson64_android.h config

2 years agoMerge branch '2022-01-04-platform-updates' into next
Tom Rini [Fri, 7 Jan 2022 17:00:26 +0000 (12:00 -0500)]
Merge branch '2022-01-04-platform-updates' into next

- Assorted updates for vexpress64, apple m1, iot2050 and stemmy
  platforms.

2 years agoconfigs: khadas-vim3{l}_android_ab: enable A/B support
Mattijs Korpershoek [Mon, 22 Nov 2021 15:22:07 +0000 (16:22 +0100)]
configs: khadas-vim3{l}_android_ab: enable A/B support

meson64_android.h also relies on CMD_AB_SELECT so enable that as well.

Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20211122152207.219023-5-mkorpershoek@baylibre.com
2 years agoconfigs: prepare khadas-vim3{l}_ab_android for AOSP support
Mattijs Korpershoek [Mon, 22 Nov 2021 15:22:06 +0000 (16:22 +0100)]
configs: prepare khadas-vim3{l}_ab_android for AOSP support

In AOSP, both VIM3 and VIM3L have 2 bootloader flavors,
depending on A/B enablement.

For example, for vim3l, the naming is:
- u-boot_kvim3l_noab.bin : legacy support
- u-boot_kvim3l_ab.bin   : A/B support

Prepare a defconfig to support u-boot_kvim3_ab.bin and
u-boot_kvim3l_ab.bin.

This is identical to khadas-vim3{l}_ab_android but will be updated in
the next commit.

Also update partitioning tables for A/B support.

Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20211122152207.219023-4-mkorpershoek@baylibre.com
2 years agoconfigs: add khadas-vim3{l}_android for AOSP support
Mattijs Korpershoek [Mon, 22 Nov 2021 15:22:05 +0000 (16:22 +0100)]
configs: add khadas-vim3{l}_android for AOSP support

The Khadas VIM3 and VIM3L board are well supported in AOSP[1].
However, there is no mainline U-Boot support for it.
The U-Boot used in AOSP is based on a vendor tree [2]

Add all the necessary bits to flash and boot Android for both Khadas
VIM3 and VIM3L boards.

For Android instructions, refer to [1]

[1] https://source.android.com/setup/build/devices#vim3_and_vim3l_boards
[2] https://gitlab.com/baylibre/amlogic/atv/u-boot

Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20211122152207.219023-3-mkorpershoek@baylibre.com
2 years agoconfigs: meson64_android: add board specific env settings
Mattijs Korpershoek [Mon, 22 Nov 2021 15:22:04 +0000 (16:22 +0100)]
configs: meson64_android: add board specific env settings

This allows us to define extra board variables, such as "board" and
"board_name".

Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20211122152207.219023-2-mkorpershoek@baylibre.com
2 years agoconfigs: amlogic: Disable CONFIG_NET_RANDOM_ETHADDR when unnecessary
Neil Armstrong [Mon, 22 Nov 2021 11:07:10 +0000 (12:07 +0100)]
configs: amlogic: Disable CONFIG_NET_RANDOM_ETHADDR when unnecessary

On Meson GXL, GXM, AXG, G12A, G12B & SM1 SoCs, we can generate an unique
MAC address if none valid found in the eFuses storage.

Only the GXBB based boards doesn't have a fallback way to generate an
unique MAC address, so we rely on CONFIG_NET_RANDOM_ETHADDR to have
a valid one.

An exception is the Radxa Zero board who doesn't have Ethernet on board
so depends on an (or multiple) eventual USB adapters, so leaving the
CONFIG_NET_RANDOM_ETHADDR configs seems safer.

Suggested-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Vyacheslav Bocharov <adeep@lexina.in>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20211122110710.1038893-1-narmstrong@baylibre.com
2 years agoMerge https://source.denx.de/u-boot/custodians/u-boot-marvell
Tom Rini [Wed, 5 Jan 2022 18:08:45 +0000 (13:08 -0500)]
Merge https://source.denx.de/u-boot/custodians/u-boot-marvell

- kwbimage: Fix checksum calculation for v1 images (Pierre)

2 years agotools: kwbimage: Fix checksum calculation for v1 images
Pierre Bourdon [Sat, 25 Dec 2021 19:50:19 +0000 (20:50 +0100)]
tools: kwbimage: Fix checksum calculation for v1 images

Recent changes caused fields in the image main header to be modified
after the header checksum had already been computed. Move the checksum
computation to once again be the last operation performed on the header.

Fixes: 2b0980c24027 ("tools: kwbimage: Fill the real header size into the main header")

Signed-off-by: Pierre Bourdon <delroth@gmail.com>
Reviewed-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
2 years agoconfigs: iot2050: Drop unused CONFIG_OF_LIST from defconfig
Jan Kiszka [Mon, 15 Nov 2021 17:28:54 +0000 (18:28 +0100)]
configs: iot2050: Drop unused CONFIG_OF_LIST from defconfig

DTBs are explicitly listed in the image source file for this board, and
this list already became outdated.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2 years agoarm: apple: Remove CONFIG_SYS_SDRAM_BASE
Mark Kettenis [Sun, 14 Nov 2021 12:09:54 +0000 (13:09 +0100)]
arm: apple: Remove CONFIG_SYS_SDRAM_BASE

The memory layout is taken from the device tree passed to us by
m1n1, so there is no need to define this.

Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
2 years agovexpress64: Enable VIRTIO_NET network driver
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>
2 years agovexpress64: Enable OF_CONTROL and OF_BOARD for VExpress64
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>
2 years agovexpress64: Clean up BASE_FVP boot configuration
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>
2 years agovexpress64: Refactor header file to make it easier to add new FVPs
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>
2 years agodoc: Add documentation for the Arm VExpress64 board configs
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>
2 years agoboard: stemmy: Increase boot image to 64 MB
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>
2 years agoMerge tag 'efi-next' of https://source.denx.de/u-boot/custodians/u-boot-efi into...
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

2 years agox86: efi: Don't set up global_data again with EFI
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>
2 years agox86: efi: Show the system-table revision
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>
2 years agoefi: Allow easy selection of serial-only operation
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>
2 years agoefi: Show when allocated pages are used
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>
2 years agoefi: Mention that efi_info_get() is only used in the stub
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>
2 years agoefi: Check for failure when initing the app
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>
2 years agoefi: Share struct efi_priv between the app and stub code
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>
2 years agoefi: Add a few comments to the stub
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>
2 years agoefi: Fix ll_boot_init() operation with the app
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>
2 years agoefi: Add comments to struct efi_priv
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>
2 years agoefi: Drop device_path from struct efi_priv
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>
2 years agox86: efi: Add room for the binman definition in the dtb
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>
2 years agox86: Don't process the kernel command line unless enabled
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>
2 years agox86: Allow booting a kernel from the EFI app
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>
2 years agoefi: serial: Support arrow keys
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>
2 years agoefi: Locate all block devices in the app
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>
2 years agoefi: Make unicode printf available to the app
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>
2 years agosunxi: add board documentation
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>
2 years agoefi_loader: Don't limit the StMM buffer size explicitly
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>
2 years agoefi: fix typo in description of struct efi_entry_hdr
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>
2 years agoMerge tag 'video-next-20211228' of https://source.denx.de/u-boot/custodians/u-boot...
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

2 years agoMerge tag 'video-20211228' of https://source.denx.de/u-boot/custodians/u-boot-video
Tom Rini [Tue, 28 Dec 2021 16:19:26 +0000 (11:19 -0500)]
Merge tag 'video-20211228' of https://source.denx.de/u-boot/custodians/u-boot-video

- mxsfb axi/disp_axi clock enable fix

2 years agoMerge tag 'efi-2022-01-rc4-4' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Tue, 28 Dec 2021 12:59:43 +0000 (07:59 -0500)]
Merge tag 'efi-2022-01-rc4-4' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request for efi-2022-01-rc4-4

UEFI:

* allow for more than 16 KiB UEFI variable size when using StMM

Others:

* make watchdog sysreset compatible with separate poweroff driver
* avoid OpenSSL deprecation warnings

2 years agoMerge branch '2021-12-27-CONFIG-migrations' into next
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.

2 years agoconfigs: Resync with savedefconfig
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>
2 years agoConvert CONFIG_JFFS2_DEV et al to Kconfig
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>
2 years agoConvert CONFIG_KIRKWOOD_GPIO to Kconfig
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>
2 years agoConvert CONFIG_SYS_KWD_CONFIG to Kconfig
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>
2 years agoConvert CONFIG_88F5182 et al to Kconfig
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>
2 years agoKconfig: Remove some symbols from the whitelist
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>
2 years agoConvert CONFIG_CPU_FREQ_HZ to Kconfig
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>
2 years agoConvert CONFIG_CPU_SH7751 to Kconfig
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>
2 years agoConvert CONFIG_CPU_PXA27X to Kconfig
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>
2 years agoserial: arm_dcc: Use CONFIG_ARM64 not CONFIG_CPU_ARMV8
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>
2 years agoCI: Test for unmigrated CONFIG symbols in board config.h files
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>
2 years agoConvert CONFIG_SYS_I2C_EEPROM_ADDR_LEN to Kconfig
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>
2 years agoppc: mpc83xx: Remove unused CONFIG symbols
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>
2 years agoConvert CONFIG_83XX_PCICLK to Kconfig
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>
2 years agoFinish conversion of CONFIG_SYS_CLK_FREQ to Kconfig
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>
2 years agoCONFIG_SYS_CLK_FREQ: Consistently be static or get_board_sys_clk()
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>
2 years agonxp: ics307_clk: Guard get_board_ddr_clk function correctly
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>
2 years agols1088a: Guard get_board_ddr_clk function correctly
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>
2 years agoarm: s5pc1xx: Move CONFIG_SYS_CLK_FREQ_C1x0 out of CONFIG namespace
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>
2 years agoConvert CONFIG_ARCH_MAP_SYSMEM to Kconfig
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>
2 years agoConvert CONFIG_SYS_NAND_U_BOOT_OFFS to Kconfig
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>
2 years agoConvert CONFIG_TPL_TEXT_BASE to Kconfig
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>
2 years agoConvert CONFIG_ZYNQMP_PSU_INIT_ENABLED to Kconfig
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>
2 years agoFinish conversion CONFIG_SYS_NAND_SELF_INIT to Kconfig
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>
2 years agoConvert CONFIG_TEGRA_NAND to Kconfig
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>
2 years agoFinish converting CONFIG_SYS_FSL_CLK to Kconfig
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>
2 years agowarp7, pic32mzdask: Remove SYS_FDT_ADDR/SYS_ENV_ADDR from CONFIG namespace
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>
2 years agoConvert CONFIG_SYS_PCI_64BIT to Kconfig
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>
2 years agoFinish CONFIG_VID et al conversion to Kconfig
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>
2 years agoConvert CONFIG_SYS_IMMR to Kconfig
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>
2 years agoConvert CONFIG_SYS_MEMTEST_START et al to Kconfig
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>
2 years agoConvert CONFIG_WATCHDOG_TIMEOUT_MSECS to Kconfig
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>
2 years agoFinish converting CONFIG_WATCHDOG, HW_WATCHDOG and WDT to Kconfig
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>
2 years agopci: Remove unused FSL_PCI_INIT code
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>
2 years agoConvert CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT to Kconfig
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>
2 years agoConvert CONFIG_SUPPORT_EMMC_RPMB to Kconfig
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>
2 years agoRemove CONFIG_SYS_MMC_IMG_LOAD_PART from CONFIG namespace
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>
2 years agoConvert CONFIG_CONS_INDEX et al to Kconfig
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>
2 years agoConvert CONFIG_SD_BOOT et al to Kconfig
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>
2 years agoConvert CONFIG_FSL_IFC to Kconfig
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>
2 years agoConvert CONFIG_ENV_SPI_BUS et al to Kconfig
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>
2 years agoClarify CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW in Kconfig
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>
2 years agoarm: Drop unused tam3517-common.h
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>
2 years agodoc: Fix usage of CFG_RPMB_WRITE_KEY
Ilias Apalodimas [Mon, 27 Dec 2021 08:08:15 +0000 (10:08 +0200)]
doc: Fix usage of CFG_RPMB_WRITE_KEY

This is a 'y/n' selection, so fix it.
While at it remove the duplicate usage of CFG_CORE_HEAP_SIZE

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Acked-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 years agovideo: mxsfb: fix clk_get_by_name() return value check
Giulio Benetti [Sat, 23 Oct 2021 22:34:42 +0000 (00:34 +0200)]
video: mxsfb: fix clk_get_by_name() return value check

If clk_get_by_name() returns 0 it means it executed successfully while now
we consider it as an error. So let's check if return value is negative to
be an error. Otherwise this prevents "axi" and "disp_axi" to be enabled.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
2 years agox86: coreboot: Add a sample script to build a qemu image
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>
2 years agox86: coreboot: Support getting a logo from virtio
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>
2 years agovideo: Support virtio devices with the splash screen
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>
2 years agovideo: Show the U-Boot logo by default
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>
2 years agovideo: Support showing the U-Boot logo
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>
2 years agovideo: Drop VIDEO_LOGO from cfb_console
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>