platform/kernel/u-boot.git
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>
2 years agosunxi: Fix old GMAC pinmux setup
Andre Przywara [Tue, 15 Mar 2022 00:00:53 +0000 (00:00 +0000)]
sunxi: Fix old GMAC pinmux setup

Commit 5bc4cd05d7d4 ("sunxi: move non-essential code out of s_init()")
moved the call to eth_init_board() from s_init() into board_init_f().
This means it's now only called from the SPL, which makes sense for
most of the other moved low-level functions. However the GMAC pinmux and
clock setup in eth_init_board() was not happy about that, so it broke
the sun7i GMAC.

Since Ethernet is of no use in the SPL anyway, just move the call into
board_init(), which is only run in U-Boot proper.

This fixes Ethernet operation for the A20 SoCs, which broke in
v2022.04-rc1, with the above mentioned commit.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Tested-by: Petr Štetiar <ynezz@true.cz> [a20-olinuxino-lime2]
2 years agoMerge branch '2022-03-25-assorted-updates' into next
Tom Rini [Fri, 25 Mar 2022 23:18:30 +0000 (19:18 -0400)]
Merge branch '2022-03-25-assorted-updates' into next

- Assorted PCI cleanups
- Allow building with -Og
- ast2600 pwm support
- PFUZE100 bootcount driver

2 years agobootcount: Add pmic pfuze100 bootcount driver
Philip Oberfichtner [Fri, 18 Mar 2022 11:04:38 +0000 (12:04 +0100)]
bootcount: Add pmic pfuze100 bootcount driver

Use the MEMA - MEMD registers on the PFUZE100 as bootcount
registers.

Based on work from Heiko Schocher <hs@denx.de>.
Signed-off-by: Philip Oberfichtner <pro@denx.de>
2 years agopower: pfuze100: Add MEMx register definitions
Philip Oberfichtner [Fri, 18 Mar 2022 11:04:37 +0000 (12:04 +0100)]
power: pfuze100: Add MEMx register definitions

Add missing MEMA - MEMD register definitions for PFUZE100.

Based on work from Heiko Schocher <hs@denx.de>.
Signed-off-by: Philip Oberfichtner <pro@denx.de>
2 years agodisk: Add an option for partitions in SPL
Simon Glass [Fri, 11 Mar 2022 19:10:01 +0000 (12:10 -0700)]
disk: Add an option for partitions in SPL

In some cases we do not want to enable partition support in SPL. Add an
option to allow this.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agoARM: dts: ast2600: Add PWM to device tree
Billy Tsai [Tue, 8 Mar 2022 03:04:07 +0000 (11:04 +0800)]
ARM: dts: ast2600: Add PWM to device tree

Add the PWM node and enable it for AST2600 EVB

Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
2 years agopinctrl: Add the pinctrl setting for PWM.
Billy Tsai [Tue, 8 Mar 2022 03:04:06 +0000 (11:04 +0800)]
pinctrl: Add the pinctrl setting for PWM.

This patchs add the signal description array for PWM pinctrl settings.

Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
2 years agopwm: Add Aspeed ast2600 PWM support
Billy Tsai [Tue, 8 Mar 2022 03:04:05 +0000 (11:04 +0800)]
pwm: Add Aspeed ast2600 PWM support

This patch add the support of PWM controller which can be found at aspeed
ast2600 soc. The pwm supoorts up to 16 channels and it's part function
of multi-function device "pwm-tach controller".

Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
2 years agopci: Remove duplicate PCI_CLASS_CODE_* and PCI_CLASS_SUB_CODE_* macros
Pali Rohár [Fri, 18 Feb 2022 12:16:19 +0000 (13:16 +0100)]
pci: Remove duplicate PCI_CLASS_CODE_* and PCI_CLASS_SUB_CODE_* macros

Macros PCI_CLASS_CODE_* and PCI_CLASS_SUB_CODE_* are unused and are
duplication of PCI_CLASS_* macros defined in pci_ids.h header file.
So remove them.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
2 years agosandbox: video: Replace PCI_CLASS_* macros by one from pci_ids.h
Pali Rohár [Fri, 18 Feb 2022 12:16:18 +0000 (13:16 +0100)]
sandbox: video: Replace PCI_CLASS_* macros by one from pci_ids.h

Replace old macros PCI_CLASS_CODE_COMM and PCI_CLASS_SUB_CODE_COMM_SERIAL
by new macros defined in pci_ids.h. Old macros would be deleted in followup
commit.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
2 years agopci: Add defines for normal and subtractive PCI bridges
Pali Rohár [Fri, 18 Feb 2022 12:18:40 +0000 (13:18 +0100)]
pci: Add defines for normal and subtractive PCI bridges

Add following two new PCI class codes defines into pci_ids.h include file:

  PCI_CLASS_BRIDGE_PCI_NORMAL
  PCI_CLASS_BRIDGE_PCI_SUBTRACTIVE

And use these defines in all U-Boot code for describing PCI class codes for
normal and subtractive PCI bridges.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
2 years agoAdd option to use -Og
Sean Anderson [Tue, 22 Feb 2022 17:19:25 +0000 (12:19 -0500)]
Add option to use -Og

This adds support for using -Og when building U-Boot. According to the
gcc man page:

> -Og should be the optimization level of choice for the standard
> edit-compile-debug cycle, offering a reasonable level of optimization
> while maintaining fast compilation and a good debugging experience.

This optimization level is roughly -O1 minus a few additional
optimizations. It provides a noticably better debugging experience, with
many fewer variables <optimized out>.

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agoSplit CONFIG_CC_OPTIMIZE_FOR_SIZE into two configs
Sean Anderson [Tue, 22 Feb 2022 17:19:24 +0000 (12:19 -0500)]
Split CONFIG_CC_OPTIMIZE_FOR_SIZE into two configs

This adds a separate CONFIG_CC_OPTIMIZE_FOR_SPEED option in a choice,
in preparation for adding another optimization option. Also convert SH's
makefile to use this new option.

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agodoc: update doc/sphinx/requirements.txt
Heinrich Schuchardt [Fri, 25 Mar 2022 12:40:54 +0000 (13:40 +0100)]
doc: update doc/sphinx/requirements.txt

Pin all dependencies as reported by 'pip freeze'.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2 years agoCI: Pin pylint version to 2.12.2
Tom Rini [Fri, 25 Mar 2022 12:19:09 +0000 (08:19 -0400)]
CI: Pin pylint version to 2.12.2

For consistency in runs, we need to always use the same pylint version.
Pin to 2.12.2 as this is what we have been using so far.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoMerge branch '2022-03-25-Kconfig-migrations' into next
Tom Rini [Fri, 25 Mar 2022 12:02:04 +0000 (08:02 -0400)]
Merge branch '2022-03-25-Kconfig-migrations' into next

- Merge a number of Kconfig migration patches

2 years agoConvert CONFIG_BACKSIDE_L2_CACHE to Kconfig
Tom Rini [Fri, 18 Mar 2022 12:38:32 +0000 (08:38 -0400)]
Convert CONFIG_BACKSIDE_L2_CACHE to Kconfig

This converts the following to Kconfig:
   CONFIG_BACKSIDE_L2_CACHE

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agovinco: Remove CONFIG_ATMEL_SPI0
Tom Rini [Fri, 18 Mar 2022 12:38:31 +0000 (08:38 -0400)]
vinco: Remove CONFIG_ATMEL_SPI0

This is not referenced anywhere, remove.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agolcd: Remove LCD_TEST_PATTERN code
Tom Rini [Fri, 18 Mar 2022 12:38:30 +0000 (08:38 -0400)]
lcd: Remove LCD_TEST_PATTERN code

This is a legacy driver and the value is set in board config headers
without a CONFIG prefix.  Remove the code.

Cc: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_LCD_INFO et al to Kconfig
Tom Rini [Fri, 18 Mar 2022 12:38:29 +0000 (08:38 -0400)]
Convert CONFIG_LCD_INFO et al to Kconfig

This converts the following to Kconfig:
   CONFIG_LCD_INFO
   CONFIG_LCD_LOGO
   CONFIG_LCD_INFO_BELOW_LOGO
   CONFIG_LCD_IN_PSRAM

Cc: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_ATMEL_LCD et al to Kconfig
Tom Rini [Fri, 18 Mar 2022 12:38:28 +0000 (08:38 -0400)]
Convert CONFIG_ATMEL_LCD et al to Kconfig

This converts the following to Kconfig:
   CONFIG_ATMEL_LCD
   CONFIG_ATMEL_LCD_BGR555
   CONFIG_ATMEL_LCD_RGB565
   CONFIG_GURNARD_SPLASH

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_MII_INIT to Kconfig
Tom Rini [Fri, 18 Mar 2022 12:38:27 +0000 (08:38 -0400)]
Convert CONFIG_MII_INIT to Kconfig

This converts the following to Kconfig:
   CONFIG_MII_INIT

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_PHY_RESET_DELAY to Kconfig
Tom Rini [Fri, 18 Mar 2022 12:38:26 +0000 (08:38 -0400)]
Convert CONFIG_PHY_RESET_DELAY to Kconfig

This converts the following to Kconfig:
   CONFIG_PHY_RESET_DELAY

Cc: Ramon Fried <rfried.dev@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_SYS_RX_ETH_BUFFER to Kconfig
Tom Rini [Fri, 18 Mar 2022 12:38:25 +0000 (08:38 -0400)]
Convert CONFIG_SYS_RX_ETH_BUFFER to Kconfig

This converts the following to Kconfig:
   CONFIG_SYS_RX_ETH_BUFFER

Cc: Ramon Fried <rfried.dev@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_LPC32XX_ETH to Kconfig
Tom Rini [Fri, 18 Mar 2022 12:38:24 +0000 (08:38 -0400)]
Convert CONFIG_LPC32XX_ETH to Kconfig

This converts the following to Kconfig:
   CONFIG_LPC32XX_ETH

Cc: Ramon Fried <rfried.dev@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_TFTP_PORT to Kconfig
Tom Rini [Fri, 18 Mar 2022 12:38:23 +0000 (08:38 -0400)]
Convert CONFIG_TFTP_PORT to Kconfig

This converts the following to Kconfig:
   CONFIG_TFTP_PORT

Cc: Ramon Fried <rfried.dev@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_RMII to Kconfig
Tom Rini [Fri, 18 Mar 2022 12:38:22 +0000 (08:38 -0400)]
Convert CONFIG_RMII to Kconfig

This converts the following to Kconfig:
   CONFIG_RMII

Cc: Ramon Fried <rfried.dev@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_SYS_FAULT_ECHO_LINK_DOWN to Kconfig
Tom Rini [Fri, 18 Mar 2022 12:38:21 +0000 (08:38 -0400)]
Convert CONFIG_SYS_FAULT_ECHO_LINK_DOWN to Kconfig

This converts the following to Kconfig:
   CONFIG_SYS_FAULT_ECHO_LINK_DOWN

Cc: Ramon Fried <rfried.dev@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_RESET_PHY_R to Kconfig
Tom Rini [Fri, 18 Mar 2022 12:38:20 +0000 (08:38 -0400)]
Convert CONFIG_RESET_PHY_R to Kconfig

This converts the following to Kconfig:
   CONFIG_RESET_PHY_R

Cc: Ramon Fried <rfried.dev@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_AT91_WANTS_COMMON_PHY to Kconfig
Tom Rini [Fri, 18 Mar 2022 12:38:19 +0000 (08:38 -0400)]
Convert CONFIG_AT91_WANTS_COMMON_PHY to Kconfig

This converts the following to Kconfig:
   CONFIG_AT91_WANTS_COMMON_PHY

Cc: Eugen Hristev <eugen.hristev@microchip.com>
Signed-off-by: Tom Rini <trini@konsulko.com>