platform/kernel/u-boot.git
2 years agoConvert CONFIG_SYS_MONITOR_BASE to Kconfig
Tom Rini [Thu, 24 Mar 2022 21:18:05 +0000 (17:18 -0400)]
Convert CONFIG_SYS_MONITOR_BASE to Kconfig

This converts the following to Kconfig:
   CONFIG_SYS_MONITOR_BASE

Note that for how this is re-used on some PowePC platforms, we introduce
CONFIG_SPL_SYS_MONITOR_BASE and CONFIG_TPL_SYS_MONITOR_BASE and use the
CONFIG_VAL macro to get the correct value at build time, in the code.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_NORFLASH_PS32BIT to Kconfig
Tom Rini [Thu, 24 Mar 2022 21:18:04 +0000 (17:18 -0400)]
Convert CONFIG_NORFLASH_PS32BIT to Kconfig

This converts the following to Kconfig:
   CONFIG_NORFLASH_PS32BIT

Note that we also attempt to correct the behavior of the code here,
which had been testing for "NORFLASH_PS32BIT" which would never be set,
instead check for the now set "CONFIG_NORFLASH_PS32BIT", which results
in some behavior change.

Cc: TsiChung Liew <Tsi-Chung.Liew@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoat91: Switch to SD_BOOT / CONFIG_NAND_BOOT
Tom Rini [Thu, 24 Mar 2022 21:18:03 +0000 (17:18 -0400)]
at91: Switch to SD_BOOT / CONFIG_NAND_BOOT

The values CONFIG_SYS_USE_NANDFLASH and CONFIG_SYS_USE_MMC serve the
same purpose as CONFIG_SD_BOOT / CONFIG_NAND_BOOT so migrate to using
these switches instead as they're already in Kconfig.

Cc: Stelian Pop <stelian@popies.net>
Cc: Heiko Schocher <hs@denx.de>
Cc: Daniel Gorsulowski <daniel.gorsulowski@esd.eu>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_SRIO_PCIE_BOOT_SLAVE to Kconfig
Tom Rini [Thu, 24 Mar 2022 21:18:02 +0000 (17:18 -0400)]
Convert CONFIG_SRIO_PCIE_BOOT_SLAVE to Kconfig

This converts the following to Kconfig:
   CONFIG_SRIO_PCIE_BOOT_SLAVE

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_E300 et al to Kconfig
Tom Rini [Thu, 24 Mar 2022 21:18:01 +0000 (17:18 -0400)]
Convert CONFIG_E300 et al to Kconfig

This converts the following to Kconfig:
   CONFIG_E300
   CONFIG_E5500

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agomx53loco: Convert CONFIG_DIALOG_POWER to Kconfig
Tom Rini [Thu, 24 Mar 2022 21:18:00 +0000 (17:18 -0400)]
mx53loco: Convert CONFIG_DIALOG_POWER to Kconfig

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoexynos: Drop CONFIG_DEVICE_TREE_LIST
Tom Rini [Thu, 24 Mar 2022 21:17:59 +0000 (17:17 -0400)]
exynos: Drop CONFIG_DEVICE_TREE_LIST

This value isn't used anywhere, drop it.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_DEEP_SLEEP to Kconfig
Tom Rini [Thu, 24 Mar 2022 21:17:58 +0000 (17:17 -0400)]
Convert CONFIG_DEEP_SLEEP to Kconfig

This converts the following to Kconfig:
   CONFIG_DEEP_SLEEP

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoM5329EVB, M5373EVB: Remove CONFIG_NANDFLASH_SIZE
Tom Rini [Thu, 24 Mar 2022 21:17:57 +0000 (17:17 -0400)]
M5329EVB, M5373EVB: Remove CONFIG_NANDFLASH_SIZE

In the case of M5373EVB we always had NANDFLASH_SIZE=16, so just use it
directly.  In the case of M5329EVB we had not removed the rest of NAND
support when saying we didn't have NAND, so instead use that to key off
of rather than NANDFLASH_SIZE.

Cc: TsiChung Liew <Tsi-Chung.Liew@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agodb-mv784mp-gp: Rename CONFIG_DB_784MP_GP to CONFIG_TARGET_DB_MV784MP_GP
Tom Rini [Thu, 24 Mar 2022 21:17:56 +0000 (17:17 -0400)]
db-mv784mp-gp: Rename CONFIG_DB_784MP_GP to CONFIG_TARGET_DB_MV784MP_GP

The value CONFIG_DB_784MP_GP is only used in the DDR code to refer to
CONFIG_TARGET_DB_MV784MP_GP so just use that second value directly.

Cc: Stefan Roese <sr@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Stefan Roese <sr@denx.de>
2 years agop1_p2_rdb: Remove CONFIG_CPLD_[BO]R_PRELIM
Tom Rini [Wed, 23 Mar 2022 21:20:09 +0000 (17:20 -0400)]
p1_p2_rdb: Remove CONFIG_CPLD_[BO]R_PRELIM

These are not referenced in code, drop.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_CLOCKS to Kconfig
Tom Rini [Wed, 23 Mar 2022 21:20:08 +0000 (17:20 -0400)]
Convert CONFIG_CLOCKS to Kconfig

This converts the following to Kconfig:
   CONFIG_CLOCKS

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_CLOCK_SYNTHESIZER to Kconfig
Tom Rini [Wed, 23 Mar 2022 21:20:07 +0000 (17:20 -0400)]
Convert CONFIG_CLOCK_SYNTHESIZER to Kconfig

This converts the following to Kconfig:
   CONFIG_CLOCK_SYNTHESIZER

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoexynos: Drop CONFIG_CLK_*
Tom Rini [Wed, 23 Mar 2022 21:20:06 +0000 (17:20 -0400)]
exynos: Drop CONFIG_CLK_*

We only set one of these values ever at this point, so remove dead code.

Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Minkyu Kang <mk7.kang@samsung.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agoConvert CONFIG_SYS_USE_NORFLASH et al to Kconfig
Tom Rini [Wed, 23 Mar 2022 21:20:05 +0000 (17:20 -0400)]
Convert CONFIG_SYS_USE_NORFLASH et al to Kconfig

This converts the following to Kconfig:
   CONFIG_SYS_USE_NORFLASH
   CONFIG_SYS_USE_BOOT_NORFLASH

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoglobal: Remove CONFIG_SYS_USE_DATAFLASH*
Tom Rini [Wed, 23 Mar 2022 21:20:04 +0000 (17:20 -0400)]
global: Remove CONFIG_SYS_USE_DATAFLASH*

There are a handful of variants around CONFIG_SYS_USE_DATAFLASH and none
of them now control anything further within their board config.h files,
so remove these from CONFIG_SYS_EXTRA_OPTIONS and then remove the empty
blocks in the board config.h files.  In a few places further clean up
related logic.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_SDCARD et al to Kconfig
Tom Rini [Wed, 23 Mar 2022 21:20:03 +0000 (17:20 -0400)]
Convert CONFIG_SDCARD et al to Kconfig

This converts the following to Kconfig:
   CONFIG_SDCARD
   CONFIG_SPIFLASH

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoam43xx_evm_qspiboot: Remove CONFIG_SYS_EXTRA_OPTIONS
Tom Rini [Wed, 23 Mar 2022 21:20:02 +0000 (17:20 -0400)]
am43xx_evm_qspiboot: Remove CONFIG_SYS_EXTRA_OPTIONS

CONFIG_QSPI is not used in the code, drop this.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoMPC837XERDB: Move CONFIG_PCIE to Kconfig
Tom Rini [Wed, 23 Mar 2022 21:20:01 +0000 (17:20 -0400)]
MPC837XERDB: Move CONFIG_PCIE to Kconfig

Move this symbol to the board Kconfig file.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_LPUART et al to Kconfig
Tom Rini [Wed, 23 Mar 2022 21:20:00 +0000 (17:20 -0400)]
Convert CONFIG_LPUART et al to Kconfig

This converts the following to Kconfig:
   CONFIG_LPUART
   CONFIG_LPUART_32B_REG

And note that CONFIG_LPUART_32B_REG is unused in code.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_LSCHLV2 to Kconfig et al
Tom Rini [Wed, 23 Mar 2022 21:19:59 +0000 (17:19 -0400)]
Convert CONFIG_LSCHLV2 to Kconfig et al

This converts the following to Kconfig:
   CONFIG_LSCHLV2
   CONFIG_LSXHL

Cc: Michael Walle <michael@walle.cc>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Michael Walle <michael@walle.cc>
2 years agompc8548cds: Rework CONFIG_LEGACY usage
Tom Rini [Wed, 23 Mar 2022 21:19:58 +0000 (17:19 -0400)]
mpc8548cds: Rework CONFIG_LEGACY usage

This CONFIG option is used in one place, so pick a more direct name and
migrate to Kconfig.  Rework the code slightly.

Cc: Priyanka Jain <priyanka.jain@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_KM_COGE5UN et al to Kconfig
Tom Rini [Wed, 23 Mar 2022 21:19:57 +0000 (17:19 -0400)]
Convert CONFIG_KM_COGE5UN et al to Kconfig

This converts the following to Kconfig:
   CONFIG_KM_COGE5UN
   CONFIG_KM_KIRKWOOD_128M16
   CONFIG_KM_KIRKWOOD
   CONFIG_KM_KIRKWOOD_PCI
   CONFIG_KM_NUSA
   CONFIG_KM_SUSE2

Cc: Holger Brunck <holger.brunck@hitachienergy.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Holger Brunck <holger.brunck@hitachienergy.com>
2 years agokmtegr1: Drop CONFIG_KMTEGR1
Tom Rini [Wed, 23 Mar 2022 21:19:56 +0000 (17:19 -0400)]
kmtegr1: Drop CONFIG_KMTEGR1

The only usage of CONFIG_KMTEGR1 can be replaced by
CONFIG_TARGET_KMTEGR1 so do so and remove this other symbol.

Cc: Holger Brunck <holger.brunck@hitachienergy.com>
Cc: Heiko Schocher <hs@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Holger Brunck <holger.brunck@hitachienergy.com>
2 years agokeymile: Move sourcing of common Kconfig
Tom Rini [Wed, 23 Mar 2022 21:19:55 +0000 (17:19 -0400)]
keymile: Move sourcing of common Kconfig

The way board/keymile/Kconfig is written protects the options there from
being parsed on non-keymile platforms.  We cannot however safely source
this file from multiple locations.  This does not manifest as a problem
currently as there are no choice statements inside of this file (nor the
sub-Kconfig files it sources).  However, moving some target selection to
one of these files exposes the underlying problem.  Rework things so
that we have this file sourced in arch/Kconfig.

Cc: Holger Brunck <holger.brunck@hitachienergy.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Holger Brunck <holger.brunck@hitachienergy.com>
2 years agoConvert CONFIG_EMMC_BOOT et al to Kconfig
Tom Rini [Wed, 23 Mar 2022 21:19:54 +0000 (17:19 -0400)]
Convert CONFIG_EMMC_BOOT et al to Kconfig

This converts the following to Kconfig:
   CONFIG_EMMC_BOOT
   CONFIG_MAC_ADDR_IN_SPIFLASH
   CONFIG_NAND_BOOT
   CONFIG_SPL_FSL_PBL
   CONFIG_SYS_FSL_DDR4

In this case we re-sync options that had been set in
CONFIG_SYS_EXTRA_OPTIONS but should not have been as they have proper
entries.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agomx28evk_auart_console: Remove CONFIG_SYS_EXTRA_OPTIONS
Tom Rini [Wed, 23 Mar 2022 21:19:53 +0000 (17:19 -0400)]
mx28evk_auart_console: Remove CONFIG_SYS_EXTRA_OPTIONS

This was only setting values not referenced in the code so remove it.

Cc: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agostmark2: Migrate CONFIG_SYS_EXTRA_OPTIONS to Kconfig
Tom Rini [Wed, 23 Mar 2022 21:19:52 +0000 (17:19 -0400)]
stmark2: Migrate CONFIG_SYS_EXTRA_OPTIONS to Kconfig

This platform is the only one to set these options, so define them in
the board Kconfig file.

Cc: Angelo Dureghello <angelo@sysam.it>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_MCFRTC et al to Kconfig
Tom Rini [Wed, 23 Mar 2022 21:19:51 +0000 (17:19 -0400)]
Convert CONFIG_MCFRTC et al to Kconfig

This converts the following to Kconfig:
   CONFIG_MCFRTC
   CONFIG_SYS_MCFRTC_BASE

While at it, remove '#undef RTC_DEBUG' from these config files.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agostmark2: Remove CONFIG_SERIAL_FLASH
Tom Rini [Wed, 23 Mar 2022 21:19:50 +0000 (17:19 -0400)]
stmark2: Remove CONFIG_SERIAL_FLASH

This is not referenced anywhere, remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_MCFTMR to Kconfig
Tom Rini [Wed, 23 Mar 2022 21:19:49 +0000 (17:19 -0400)]
Convert CONFIG_MCFTMR to Kconfig

This converts the following to Kconfig:
   CONFIG_MCFTMR

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_CF_DSPI to Kconfig
Tom Rini [Wed, 23 Mar 2022 21:19:48 +0000 (17:19 -0400)]
Convert CONFIG_CF_DSPI to Kconfig

This converts the following to Kconfig:
   CONFIG_CF_DSPI

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoatmel: Remove CONFIG_SPL_ATMEL_SIZE
Tom Rini [Tue, 22 Mar 2022 01:33:33 +0000 (21:33 -0400)]
atmel: Remove CONFIG_SPL_ATMEL_SIZE

This seems to be unused in the code, remove it.

Cc: Eugen Hristev <eugen.hristev@microchip.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoRemove CONFIG_BOARDNAME and CONFIG_BOARD_NAME
Tom Rini [Tue, 22 Mar 2022 01:33:32 +0000 (21:33 -0400)]
Remove CONFIG_BOARDNAME and CONFIG_BOARD_NAME

Both of these variables are used in a few hard-coded ways to set some
string values or print something to the user.  In almost all cases, it's
just as useful to hard-code the value used.  The exception here is
printing something closer to correct board name for p1_p2_rdb machines.
This can be done using something from the device tree, but for now
hard-code a non-CONFIG based value instead.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_BITBANGMII_MULTI to Kconfig
Tom Rini [Tue, 22 Mar 2022 01:33:31 +0000 (21:33 -0400)]
Convert CONFIG_BITBANGMII_MULTI to Kconfig

This converts the following to Kconfig:
   CONFIG_BITBANGMII_MULTI

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_BCM2835_GPIO to Kconfig
Tom Rini [Tue, 22 Mar 2022 01:33:30 +0000 (21:33 -0400)]
Convert CONFIG_BCM2835_GPIO to Kconfig

This converts the following to Kconfig:
   CONFIG_BCM2835_GPIO

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoFinish converting CONFIG_BOOTM_NETBSD et al to Kconfig
Tom Rini [Tue, 22 Mar 2022 01:33:29 +0000 (21:33 -0400)]
Finish converting CONFIG_BOOTM_NETBSD et al to Kconfig

This converts the following to Kconfig:
   CONFIG_BOOTM_NETBSD
   CONFIG_BOOTM_RTEMS
   CONFIG_DESIGNWARE_WATCHDOG
   CONFIG_DISPLAY_CPUINFO
   CONFIG_DM_ETH
   CONFIG_DM_MMC
   CONFIG_DM_REGULATOR
   CONFIG_DM_SPI
   CONFIG_DM_SPI_FLASH
   CONFIG_ISO_PARTITION
   CONFIG_OF_SEPARATE
   CONFIG_SPI_FLASH_WINBOND
   CONFIG_SPL_ETH
   CONFIG_TIMER
   CONFIG_USB_DWC3
   CONFIG_USB_DWC3_GADGET
   CONFIG_USB_DWC3_OMAP
   CONFIG_USB_DWC3_PHY_OMAP
   CONFIG_USB_EHCI_TEGRA
   CONFIG_USB_GADGET_DOWNLOAD
   CONFIG_USB_GADGET_DUALSPEED
   CONFIG_USB_GADGET_MANUFACTURER
   CONFIG_USB_GADGET_PRODUCT_NUM
   CONFIG_USB_GADGET_VBUS_DRAW
   CONFIG_USB_GADGET_VENDOR_NUM

This catches a number of cases where board config files were #undef
various CONFIG options when building SPL, and that doesn't work.  Clean
up the related comments as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoCI: Update unmigrated symbol check
Tom Rini [Tue, 22 Mar 2022 01:33:28 +0000 (21:33 -0400)]
CI: Update unmigrated symbol check

We need to check for config header files that #undef migrated symbols as
well.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoam33xx: musb: Remove unused configuration logic
Tom Rini [Tue, 22 Mar 2022 01:33:27 +0000 (21:33 -0400)]
am33xx: musb: Remove unused configuration logic

At this point DM and OF_CONTROL are used to configure how the USB ports
are enabled, with the exception of in SPL and no SPL_OF_CONTROL.  Remove
a bunch of now unused logic to simplify the code.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoMerge branch '2022-03-31-image-add-a-stage-pre-load' into next
Tom Rini [Thu, 31 Mar 2022 18:12:30 +0000 (14:12 -0400)]
Merge branch '2022-03-31-image-add-a-stage-pre-load' into next

To quote the author:
This series adds a stage pre-load before launching an image.  This stage
is used to read a header before the image and this header contains the
signature of the full image.  So u-boot may check the full image before
using any data of the image.

The support of this header is added to binman, and a command verify
checks the signature of a blob and set the u-boot env variable
"loadaddr_verified" to the beginning of the "real" image.

The support of this header is only added to binman, but it may also be
added to mkimage.

2 years agocmd: bootm: add subcommand preload
Philippe Reynes [Mon, 28 Mar 2022 20:57:07 +0000 (22:57 +0200)]
cmd: bootm: add subcommand preload

Add a subcommand preload to bootm that execute the preload
stage on the image. Right now, it checks the signature
of the image with the pre-load header. If the check
succeed, the u-boot env variable 'loadaddr_verified'
is set to the address of the image (without the header).

It allows to run such commands:
tftp script.img && bootm preload $loadaddr && source $loadaddr_verified

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agotest: py: vboot: add test for global image signature
Philippe Reynes [Mon, 28 Mar 2022 20:57:06 +0000 (22:57 +0200)]
test: py: vboot: add test for global image signature

Adds test units for the pre-load header signature.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agoconfigs: sandbox_defconfig: enable stage pre-load in bootm
Philippe Reynes [Mon, 28 Mar 2022 20:57:05 +0000 (22:57 +0200)]
configs: sandbox_defconfig: enable stage pre-load in bootm

Enable the support of stage pre-load in bootm.
For the moment, this stage allow to verify the
signature of the full image with a header.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agotools: binman: add support for pre-load header
Philippe Reynes [Mon, 28 Mar 2022 20:57:04 +0000 (22:57 +0200)]
tools: binman: add support for pre-load header

Adds the support of the pre-load header with the image signature
to binman.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agoMakefile: provide sah-key to binman
Philippe Reynes [Mon, 28 Mar 2022 20:57:03 +0000 (22:57 +0200)]
Makefile: provide sah-key to binman

Set the variable pre-load-key-path with the shell variable
PRE_LOAD_KEY_PATH that contain the keys path (used for signature).
This variable pre-load-key-path is provided to binman.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agomkimage: add public key for image pre-load stage
Philippe Reynes [Mon, 28 Mar 2022 20:57:02 +0000 (22:57 +0200)]
mkimage: add public key for image pre-load stage

This commit enhances mkimage to update the node
/image/pre-load/sig with the public key.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agocommon: spl: fit_ram: allow to use image pre load
Philippe Reynes [Mon, 28 Mar 2022 20:57:01 +0000 (22:57 +0200)]
common: spl: fit_ram: allow to use image pre load

Add the support of image pre load in spl or tpl
when loading an image from ram.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agocmd: bootm: add a stage pre-load
Philippe Reynes [Mon, 28 Mar 2022 20:57:00 +0000 (22:57 +0200)]
cmd: bootm: add a stage pre-load

Add a stage pre-load to the command bootm.
Right now, this stage may be used to read a
header and check the signature of the full
image.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agoboot: image: add a stage pre-load
Philippe Reynes [Mon, 28 Mar 2022 20:56:59 +0000 (22:56 +0200)]
boot: image: add a stage pre-load

Add a stage pre-load that could
check or modify an image.

For the moment, only a header with a signature is
supported. This header has the following format:
- magic : 4 bytes
- version : 4 bytes
- header size : 4 bytes
- image size : 4 bytes
- offset image signature : 4 bytes
- flags : 4 bytes
- reserved0 : 4 bytes
- reserved1 : 4 bytes
- sha256 of the image signature : 32 bytes
- signature of the first 64 bytes : n bytes
- image signature : n bytes
- padding : up to header size

The stage uses a node /image/pre-load/sig to
get some informations:
- algo-name (mandatory) : name of the algo used to sign
- padding-name : name of padding used to sign
- signature-size : size of the signature (in the header)
- mandatory : set to yes if this sig is mandatory
- public-key (madatory) : value of the public key

Before running the image, the stage pre-load checks
the signature provided in the header.

This is an initial support, later we could add the
support of:
- ciphering
- uncompressing
- ...

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agolib: rsa: allow rsa verify with pkey in SPL
Philippe Reynes [Mon, 28 Mar 2022 20:56:58 +0000 (22:56 +0200)]
lib: rsa: allow rsa verify with pkey in SPL

This commit adds the option SPL_RSA_VERIFY_WITH_PKEY.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agolib: crypto: allow to build crypyo in SPL
Philippe Reynes [Mon, 28 Mar 2022 20:56:57 +0000 (22:56 +0200)]
lib: crypto: allow to build crypyo in SPL

This commit adds the options:
- SPL_ASYMMETRIC_KEY_TYPE
- SPL_ASYMMETRIC_PUBLIC_KEY_SUBTYPE
- SPL_RSA_PUBLIC_KEY_PARSER

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agolib: allow to build asn1 decoder and oid registry in SPL
Philippe Reynes [Mon, 28 Mar 2022 20:56:56 +0000 (22:56 +0200)]
lib: allow to build asn1 decoder and oid registry in SPL

This commit adds the options:
- SPL_ASN1_DECODER
- SPL_OID_REGISTRY

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agolib: Kconfig: enhance the help of OID_REGISTRY
Philippe Reynes [Mon, 28 Mar 2022 20:56:55 +0000 (22:56 +0200)]
lib: Kconfig: enhance the help of OID_REGISTRY

Enhance the help for the config OID_REGISTRY.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agolib: Kconfig: enhance help for ASN1
Philippe Reynes [Mon, 28 Mar 2022 20:56:54 +0000 (22:56 +0200)]
lib: Kconfig: enhance help for ASN1

Enhance the help for configs ASN1_COMPILER
and ASN1_decoder.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agoarch: Kconfig: imply BINMAN for SANDBOX
Philippe Reynes [Mon, 28 Mar 2022 20:56:53 +0000 (22:56 +0200)]
arch: Kconfig: imply BINMAN for SANDBOX

To be able to use the tool binman on sandbox,
the config SANDBOX should imply BINMAN.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2 years agoMerge tag 'clk-2022.04-next' of https://source.denx.de/u-boot/custodians/u-boot-clk...
Tom Rini [Wed, 30 Mar 2022 22:08:22 +0000 (18:08 -0400)]
Merge tag 'clk-2022.04-next' of https://source.denx.de/u-boot/custodians/u-boot-clk into next

Clock patches for u-boot/next

This is mostly cleanups/consolidations. clk_free is made to return void, and the
CCF wrappers present in almost every CCF clock are consolidated. I would
particularly like to have the latter upstream, since there are at least two
series adding support for new CCF drivers (imx8mq and imxrt1170) which can
benefit from these commits.

I had to fix up the last commit since I missed an include for at91.

CI: https://source.denx.de/u-boot/custodians/u-boot-clk/-/pipelines/11521

2 years agoclk: Use generic CCF ops where possible
Sean Anderson [Sun, 20 Mar 2022 20:34:46 +0000 (16:34 -0400)]
clk: Use generic CCF ops where possible

This converts most CCF drivers to use generic ops. imx6q is the only
outlier, where we retain the existing functionality by moving the check to
request().

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/20220320203446.740178-2-seanga2@gmail.com
[ fixed missing include for at91 ]
Signed-off-by: Sean Anderson <seanga2@gmail.com>
2 years agoclk: ccf: Add some helper functions for clock ops
Sean Anderson [Sun, 20 Mar 2022 20:34:45 +0000 (16:34 -0400)]
clk: ccf: Add some helper functions for clock ops

Most CCF drivers follow a common pattern where their clock ops defer the
actual operation to the backing CCF clock. Add some generic implementations
of these functions to reduce duplication of code.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/20220320203446.740178-1-seanga2@gmail.com
2 years agoclk: Consolidate some clock functions
Sean Anderson [Sun, 27 Feb 2022 19:01:13 +0000 (14:01 -0500)]
clk: Consolidate some clock functions

These functions are exactly the same as their "nodev" varients, except they
accept a device and not an ofnode. Rewrite them to just call the other
function.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Link: https://lore.kernel.org/r/20220227190113.1617498-1-seanga2@gmail.com
2 years agoclk: Make clk_free return void
Sean Anderson [Sat, 15 Jan 2022 22:25:04 +0000 (17:25 -0500)]
clk: Make clk_free return void

Most callers of this function do not check the return value, and it is
unclear what action they should take if it fails. If a function is freeing
multiple clocks, it should not stop just because the first one failed.
Since the callbacks can no longer fail, just convert the return type to
void.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Link: https://lore.kernel.org/r/20220115222504.617013-8-seanga2@gmail.com
2 years agospi: dw: Don't check clk_free
Sean Anderson [Sat, 15 Jan 2022 22:25:03 +0000 (17:25 -0500)]
spi: dw: Don't check clk_free

This function always succeeds, so don't check its return value.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Link: https://lore.kernel.org/r/20220115222504.617013-7-seanga2@gmail.com
2 years agospi: bcm63xx: Don't check clk_free
Sean Anderson [Sat, 15 Jan 2022 22:25:02 +0000 (17:25 -0500)]
spi: bcm63xx: Don't check clk_free

This function always succeeds, so don't check its return value.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Link: https://lore.kernel.org/r/20220115222504.617013-6-seanga2@gmail.com
2 years agophy: bcm63xx: Don't check clk_free
Sean Anderson [Sat, 15 Jan 2022 22:25:01 +0000 (17:25 -0500)]
phy: bcm63xx: Don't check clk_free

This function always succeeds, so don't check its return value.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Link: https://lore.kernel.org/r/20220115222504.617013-5-seanga2@gmail.com
2 years agonet: bcm63xx: Don't check clk_free
Sean Anderson [Sat, 15 Jan 2022 22:25:00 +0000 (17:25 -0500)]
net: bcm63xx: Don't check clk_free

This function always succeeds, so don't check its return value.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Link: https://lore.kernel.org/r/20220115222504.617013-4-seanga2@gmail.com
2 years agodma: bcm6348: Don't check clk_free
Sean Anderson [Sat, 15 Jan 2022 22:24:59 +0000 (17:24 -0500)]
dma: bcm6348: Don't check clk_free

This function always succeeds, so don't check its return value.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Link: https://lore.kernel.org/r/20220115222504.617013-3-seanga2@gmail.com
2 years agoclk: Make rfree return void
Sean Anderson [Sat, 15 Jan 2022 22:24:58 +0000 (17:24 -0500)]
clk: Make rfree return void

When freeing a clock there is not much we can do if there is an error, and
most callers do not actually check the return value. Even e.g. checking to
make sure that clk->id is valid should have been done in request() in the
first place (unless someone is messing with the driver behind our back).
Just return void and don't bother returning an error.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Link: https://lore.kernel.org/r/20220115222504.617013-2-seanga2@gmail.com
2 years agoMerge tag 'next-20220328' of https://source.denx.de/u-boot/custodians/u-boot-video...
Tom Rini [Mon, 28 Mar 2022 21:04:45 +0000 (17:04 -0400)]
Merge tag 'next-20220328' of https://source.denx.de/u-boot/custodians/u-boot-video into next

 - drop old CFB code
 - drop CONFIG_LCD_BMP_RLE8

2 years agovideo: Drop CONFIG_LCD_BMP_RLE8
Simon Glass [Sun, 14 Nov 2021 03:21:56 +0000 (20:21 -0700)]
video: Drop CONFIG_LCD_BMP_RLE8

This is not defined by any board. Even sandbox doesn't actually use
it since it has migrated to DM_VIDEO.

Drop this option. Remove the dead code also, for completeness, even
though the whole lcd.c file will be dropped soon.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
2 years agovideo: Drop formike driver
Simon Glass [Sun, 23 Jan 2022 14:04:15 +0000 (07:04 -0700)]
video: Drop formike driver

This is not used. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agovideo: Convert CONFIG_VIDEO_BCM2835 to Kconfig
Simon Glass [Sun, 23 Jan 2022 14:04:14 +0000 (07:04 -0700)]
video: Convert CONFIG_VIDEO_BCM2835 to Kconfig

This converts the following to Kconfig:
   CONFIG_VIDEO_BCM2835

This is the final ad-hoc CONFIG_VIDEO_... to convert.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Matthias Brugger <mbrugger@suse.com>
2 years agovideo: mxs: Drop old video code
Simon Glass [Sun, 23 Jan 2022 14:04:13 +0000 (07:04 -0700)]
video: mxs: Drop old video code

This is no-longer used and is the last reference to video_hw_init(). Drop
it.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agovideo: Drop FSL DIU driver
Simon Glass [Sun, 23 Jan 2022 14:04:12 +0000 (07:04 -0700)]
video: Drop FSL DIU driver

This does not use driver model and is more than two years past the
migration date. Drop it.

It can be added back later if needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agovideo: fsl: colibri_vf: Drop FSL DCU driver
Simon Glass [Sun, 23 Jan 2022 14:04:11 +0000 (07:04 -0700)]
video: fsl: colibri_vf: Drop FSL DCU driver

This does not use driver model and is more than two years past the
migration date. Drop it.

It can be added back later if needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agovideo: Drop da8xx-fb
Simon Glass [Sun, 23 Jan 2022 14:04:10 +0000 (07:04 -0700)]
video: Drop da8xx-fb

This is not used in U-Boot anymore. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agovideo: Clean up the uclass header
Simon Glass [Sun, 23 Jan 2022 14:04:09 +0000 (07:04 -0700)]
video: Clean up the uclass header

Drop the unnecessary cruft from this header and update the title.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agovideo: Drop references to CONFIG_VIDEO et al
Simon Glass [Sun, 23 Jan 2022 14:04:08 +0000 (07:04 -0700)]
video: Drop references to CONFIG_VIDEO et al

Drop the Kconfigs which are not used and all references to them. In
particular, this drops CONFIG_VIDEO to avoid confusion and allow us to
eventually rename CONFIG_DM_VIDEO to CONFIG_VIDEO.

Also drop the prototype for video_get_info_str() which is no-longer used.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Jason Liu <jason.hui.liu@nxp.com>
2 years agovideo: Drop CONFIG_VIDEO_BMP_LOGO
Simon Glass [Sun, 23 Jan 2022 14:04:07 +0000 (07:04 -0700)]
video: Drop CONFIG_VIDEO_BMP_LOGO

This option is not implemented anymore. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agovideo: Drop video_fb header
Simon Glass [Sun, 23 Jan 2022 14:04:06 +0000 (07:04 -0700)]
video: Drop video_fb header

This is not used now. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agovideo: nexell: Drop unused and invalid code
Simon Glass [Sun, 23 Jan 2022 14:04:05 +0000 (07:04 -0700)]
video: nexell: Drop unused and invalid code

Unfortunately this driver uses the old video structure to store things.
This is not supported with driver model.

Drop the old code and comment out the other pieces, so the maintainer can
take a look.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agovideo: siemens: Drop unused video code
Simon Glass [Sun, 23 Jan 2022 14:04:04 +0000 (07:04 -0700)]
video: siemens: Drop unused video code

Drop this old code which is not built anymore, as it depends on
CONFIG_VIDEO which has been removed.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agovideo: Drop cfg_console
Simon Glass [Sun, 23 Jan 2022 14:04:02 +0000 (07:04 -0700)]
video: Drop cfg_console

The non-driver model video support was removed two years ago. Drop this
driver, which is only used by nokia_rx51.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agoMerge tag 'v2022.04-rc5' into next
Tom Rini [Mon, 28 Mar 2022 16:36:49 +0000 (12:36 -0400)]
Merge tag 'v2022.04-rc5' into next

Prepare v2022.04-rc5

2 years agoPrepare v2022.04-rc5
Tom Rini [Mon, 28 Mar 2022 14:14:51 +0000 (10:14 -0400)]
Prepare v2022.04-rc5

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoconfigs: Resync with savedefconfig
Tom Rini [Mon, 28 Mar 2022 14:01:11 +0000 (14:01 +0000)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoMerge branch '2022-03-28-critical-fixes'
Tom Rini [Mon, 28 Mar 2022 13:56:05 +0000 (09:56 -0400)]
Merge branch '2022-03-28-critical-fixes'

- A zstd, two Apple M1 and an MXS NAND critical bugfix
- Clean up another file that wasn't being removed and update some
  external documentation links.

2 years agomtd: gpmi: fix the bch setting backward compatible issue
Han Xu [Fri, 25 Mar 2022 13:36:38 +0000 (08:36 -0500)]
mtd: gpmi: fix the bch setting backward compatible issue

Previous u-boot code changed the default bch setting behavior and caused
backward compatible issue. This fix choose the legacy bch geometry back
again as the default option. If the minimum ecc strength that NAND chips
required need to be chosen, it can be enabled by either adding DT flag
"fsl,use-minimum-ecc" or CONFIG_NAND_MXS_USE_MINIMUM_ECC in configs. The
unused flag "fsl,legacy-bch-geometry" get removed.

Fixes: 51cdf83eea (mtd: gpmi: provide the option to use legacy bch geometry)
Fixes: 616f03daba (mtd: gpmi: change the BCH layout setting for large oob NAND)
Tested-by: Tim Harvey <tharvey@gateworks.com>
Tested-by: Sean Nyekjaer <sean@geanix.com>
Signed-off-by: Han Xu <han.xu@nxp.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
2 years agoboot: image: fixup zstd decompression buffer initialization typo
Jérôme Carretero [Wed, 16 Mar 2022 19:35:36 +0000 (15:35 -0400)]
boot: image: fixup zstd decompression buffer initialization typo

The code was mistakenly initializing the input buffer twice.

Tested to be working on BeagleBone by adjusting CONFIG_SYS_BOOTM_LEN to
64MiB (probably works with less) and preparing uImage with:

 cat arch/arm/boot/Image \
  | zstd --ultra -22 --zstd=windowLog=22 \
  > linux.bin.zst

 mkimage -A arm -T kernel uImage -C zstd -d linux.bin.zst \
  -a 0x80008000 -e 0x80008000

Without the windowLog restriction, bootm fails with a zstd decompression
error 7 (window too large), which I haven't troubleshooted.

There should be a bit more documentation on the feature...

Reviewed-by: Simon Glass <sjg@chromium.org>
Fixes: 458b30af66c image: Update image_decomp() to avoid ifdefs

2 years agoFix URLs to old freescale git repos
Pali Rohár [Fri, 25 Mar 2022 09:51:46 +0000 (10:51 +0100)]
Fix URLs to old freescale git repos

Freescale git repos are now on source.codeaurora.org.

Signed-off-by: Pali Rohár <pali@kernel.org>
2 years agoMakefile: add drivers/video/u_boot_logo.S to clean
Heinrich Schuchardt [Sat, 19 Mar 2022 12:33:25 +0000 (13:33 +0100)]
Makefile: add drivers/video/u_boot_logo.S to clean

make sandbox_defconfig
make mrproper
make tests

fails with

../drivers/video/u_boot_logo.S: Assembler messages:
../drivers/video/u_boot_logo.S:5: Error: file not found: drivers/video/u_boot_logo.bmp

We have to delete the generated file.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agoarm: apple: Fix mem layout
Mark Kettenis [Mon, 21 Mar 2022 21:41:18 +0000 (22:41 +0100)]
arm: apple: Fix mem layout

The current approach for setting the environment variables that
describe the memory layout runs the risk of overlapping with
reserved memory regions. Use the lmb code to derive the addresses
for these variables instead.

Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agoarm: apple: Increase RTKit timeout
Hector Martin [Mon, 21 Mar 2022 21:36:05 +0000 (22:36 +0100)]
arm: apple: Increase RTKit timeout

The firmware on larger NVMe drives needs more than 100ms to come up.
Change the timeout to 1s.

Signed-off-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agoMerge tag 'efi-2022-04-rc5-2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sun, 27 Mar 2022 13:22:19 +0000 (09:22 -0400)]
Merge tag 'efi-2022-04-rc5-2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request for efi-2022-04-rc5-2

Documentation:

* man-page for the wdt command

UEFI:

* Unit test for boot manager

2 years agocmd: efidebug: simplify do_efi_boot_add()
Heinrich Schuchardt [Wed, 23 Mar 2022 19:26:25 +0000 (20:26 +0100)]
cmd: efidebug: simplify do_efi_boot_add()

When calling efi_dp_from_name() we are not interested in the device part.
Just pass NULL as an argument.

Suggested-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 years agotest: test UEFI boot manager
Heinrich Schuchardt [Thu, 3 Mar 2022 11:31:18 +0000 (12:31 +0100)]
test: test UEFI boot manager

Provide a unit test for

* efidebug boot add
* efidebug boot order
* bootefi bootmgr
* initrd via EFI_LOAD_FILE2_PROTOCOL

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 years agoefi_loader: initrddump: drain input before prompt
Heinrich Schuchardt [Tue, 22 Mar 2022 17:20:07 +0000 (18:20 +0100)]
efi_loader: initrddump: drain input before prompt

Up to now the initrddump.efi application has drained the input after
showing the prompt. This works for humans but leads to problems when
automating testing. If the input is drained, this should be done before
showing the prompt.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 years agoefi_loader: nocolor command line attr for initrddump.efi
Heinrich Schuchardt [Sun, 20 Mar 2022 08:21:57 +0000 (09:21 +0100)]
efi_loader: nocolor command line attr for initrddump.efi

initrddump.efi uses colored output and clear the screen. This is not
helpful for integration into Python tests. Allow specifying 'nocolor' in
the load option data to suppress color output and clearing the screen.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 years agoefi_loader: typo devie-path
Heinrich Schuchardt [Mon, 21 Mar 2022 07:26:48 +0000 (08:26 +0100)]
efi_loader: typo devie-path

%s/devie-path/device-path/

Reported-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 years agodoc: man-page for the wdt command
Heinrich Schuchardt [Fri, 25 Mar 2022 06:01:59 +0000 (07:01 +0100)]
doc: man-page for the wdt command

Describe the wdt command.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 years agoMerge https://source.denx.de/u-boot/custodians/u-boot-sunxi
Tom Rini [Sat, 26 Mar 2022 01:20:29 +0000 (21:20 -0400)]
Merge https://source.denx.de/u-boot/custodians/u-boot-sunxi

- Fix A20 GBit Ethernet operation
- Update board .dts files to provide correct RGMII PHY mode

2 years agosunxi: dts: Update RGMII phy-mode properties
Andre Przywara [Tue, 15 Mar 2022 23:20:54 +0000 (23:20 +0000)]
sunxi: dts: Update RGMII phy-mode properties

Commit f11513d99787 ("net: phy: realtek: Add tx/rx delay config for
8211e") made the Realtek PHY driver honour the phy-mode DT property,
to set up the proper delay scheme for the RX and TX lines. A similar
change in the kernel revealed that those properties were mostly wrong.
The kernel DTs got updated over the last few months, but we were missing
out on the U-Boot version.

Just sync in the phy-mode properties from the mainline kernel,
v5.17-rc7, to avoid the breaking DT sync that late in the cycle.

This fixes Ethernet operation on the affected boards.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Samuel Holland <samuel@sholland.org>