platform/kernel/u-boot.git
2 years agoARM: imx: imx8mn-evk: enable DM_SERIAL
Heiko Thiery [Sat, 26 Feb 2022 09:44:21 +0000 (10:44 +0100)]
ARM: imx: imx8mn-evk: enable DM_SERIAL

U-Boot complains that CONFIG_SERIAL is not converted to CONFIG_DM_SERIAL
and gives a deadline before possibly removing the board. Migrate to
DM_SERIAL to fulfill the request.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Reviewed-by: Fabio Estevam <festevam@denx.de>
2 years agoimx8m: ddrphy_utils: Add 3732 MT/s mode
Marek Vasut [Sat, 26 Feb 2022 03:37:42 +0000 (04:37 +0100)]
imx8m: ddrphy_utils: Add 3732 MT/s mode

Add entry for 3732 MT/s mode of operation of the LPDDR4, in
which case the DDR PLL has to be configured in 933 MHz mode.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@denx.de>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Fabio Estevam <festevam@denx.de>
2 years agoARM: imx: imx8m: Add 933 MHz PLL settings
Marek Vasut [Sat, 26 Feb 2022 03:37:41 +0000 (04:37 +0100)]
ARM: imx: imx8m: Add 933 MHz PLL settings

Add settings for operating PLL at 933 MHz. This setting is useful in
case the LPDDR4 DRAM should operate at 1866 MHz or 3733 MT/s.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@denx.de>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Fabio Estevam <festevam@denx.de>
2 years agopmic: pca9450: Add PCA9450C compatible string
Marek Vasut [Sat, 26 Feb 2022 03:37:08 +0000 (04:37 +0100)]
pmic: pca9450: Add PCA9450C compatible string

Add DT compatible string for PCA9450C PMIC. This is a variant of the
PCA9450 PMIC with 6 A dual-phase buck regulator and 3 A buck regulator,
and is software-wise compatible with the PCA9450B. This variant of the
PCA9450 is designed for use as companion PMIC for i.MX8MP.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@denx.de>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agoARM: dts: net: dwc_eth_qos: Fix i.MX8MP compatible string
Marek Vasut [Sat, 26 Feb 2022 03:36:37 +0000 (04:36 +0100)]
ARM: dts: net: dwc_eth_qos: Fix i.MX8MP compatible string

The correct compatible string for i.MX8MP variant of DWC EQoS MAC
is "nxp,imx8mp-dwmac-eqos", use it. Drop the two current users of
the current wrong compatible string to avoid breaking them.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@denx.de>
Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Fabio Estevam <festevam@denx.de>
Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2 years agoimx: imx8mm/imx8mn_beacon: Remove redundant code
Adam Ford [Wed, 23 Feb 2022 13:50:51 +0000 (07:50 -0600)]
imx: imx8mm/imx8mn_beacon: Remove redundant code

The Ethernet controller and PHY use the device tree info to
configure themselves, so it's not necessary to manually do it
in the board file.  This permits the removal of a bunch of headers
as well.

Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Fabio Estevam <festevam@denx.de>
Acked-by: Peng Fan <peng.fan@nxp.com>
2 years agoARM: imx: imx8mn-*-evk: add qca, disable-smarteee phy node
Heiko Thiery [Wed, 23 Feb 2022 09:48:28 +0000 (10:48 +0100)]
ARM: imx: imx8mn-*-evk: add qca, disable-smarteee phy node

To be in sync with the linux devicetree add the disable-smarteee
property.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Tested-by: Marek Vasut <marex@denx.de> # 8MNANOD4-EVK
2 years agoARM: imx: imx8mn-*-evk: use reset-gpios in phy node
Heiko Thiery [Wed, 23 Feb 2022 09:48:26 +0000 (10:48 +0100)]
ARM: imx: imx8mn-*-evk: use reset-gpios in phy node

To be in sync with the linux devicetree change the 'phy-reset-gpios' in
the fec node to 'reset-gpios' in the phy node. The PHY reset will be
done by the eth-phy-uclass driver while probing the PHY. This is ok
since it is done before probing the fec.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Tested-by: Marek Vasut <marex@denx.de> # 8MNANOD4-EVK
Reviewed-by: Fabio Estevam <festevam@gmail.com>
2 years agoARM: imx: imx8mn-*-evk: use DM settings for PHY configuration
Heiko Thiery [Wed, 23 Feb 2022 08:10:29 +0000 (09:10 +0100)]
ARM: imx: imx8mn-*-evk: use DM settings for PHY configuration

With the correct settings described in the device-tree the PHY settings
in the board init are no longer required. The values are taken from the
linux device tree.

The PHY latency settings are derived from the phy-mode property and the
voltage seetings are done via the regulator.

Suggested-by: Michael Walle <michael@walle.cc>
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Tested-by: Marek Vasut <marex@denx.de> # 8MNANOD4-EVK
Reviewed-by: Fabio Estevam <festevam@gmail.com>
2 years agopinctrl: nxp: don't automatically select DEVRES
Angus Ainslie [Mon, 17 Jan 2022 14:18:46 +0000 (06:18 -0800)]
pinctrl: nxp: don't automatically select DEVRES

If we select DEVRES here then it breaks building an imx8m SPL without
DEVRES support.

Signed-off-by: Angus Ainslie <angus@akkea.ca>
2 years agoconfigs: imx6dl_mamoj_defconfig: Enable LTO on imx6dl_mamoj board
Michael Trimarchi [Wed, 23 Mar 2022 16:52:17 +0000 (17:52 +0100)]
configs: imx6dl_mamoj_defconfig: Enable LTO on imx6dl_mamoj board

Enable LTO on mamoj to reduce SPL and uboot size. Tested with gcc
gcc-11.1.0

U-Boot 2022.04-rc4-00051-g17fc5facd0 (Mar 23 2022 - 16:43:43 +0100)

CPU:   Freescale i.MX6DL rev1.3 996 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 40C
Reset cause: POR
Model: BTicino i.MX6DL Mamoj board
DRAM:  512 MiB
Core:  29 devices, 12 uclasses, devicetree: separate
MMC:   FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Net:
Error: ethernet@2188000 address not set.
No ethernet found.

Tested-by: Raffaele RECALCATI <raffaele.recalcati@bticino.it>
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Reviewed-by: Fabio Estevam <festevam@denx.de>
2 years agoupdate CAAM MAINTAINER
Gaurav Jain [Thu, 24 Mar 2022 06:20:38 +0000 (11:50 +0530)]
update CAAM MAINTAINER

updated CAAM driver files maintainer.

Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
2 years agoPPC: Enable Job ring driver model.
Gaurav Jain [Thu, 24 Mar 2022 06:20:37 +0000 (11:50 +0530)]
PPC: Enable Job ring driver model.

removed sec_init() call from board files.
sec is initialized based on job ring information processed
from device tree.

Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2 years agoPPC: Add crypto node in device tree
Gaurav Jain [Thu, 24 Mar 2022 06:20:36 +0000 (11:50 +0530)]
PPC: Add crypto node in device tree

device tree imported from linux kernel.
c500bee1c5b2 (tag: v5.14-rc4) Linux 5.14-rc4

Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2 years agoLayerscape: Enable Job ring driver model.
Gaurav Jain [Thu, 24 Mar 2022 06:20:35 +0000 (11:50 +0530)]
Layerscape: Enable Job ring driver model.

LS(1021/1012/1028/1043/1046/1088/2088), LX2160, LX2162
platforms are enabled with JR driver model.

removed sec_init() call from board files.
sec is initialized based on job ring information processed
from device tree.

Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
Reviewed-by: Michael Walle <michael@walle.cc>
2 years agoLayerscape: Add crypto node in device tree
Gaurav Jain [Thu, 24 Mar 2022 06:20:34 +0000 (11:50 +0530)]
Layerscape: Add crypto node in device tree

LS(1021/1012/1028/1043/1046/1088/2088), LX2160 - updated device tree

Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2 years agocrypto/fsl: i.MX8: Enable Job ring driver model.
Gaurav Jain [Thu, 24 Mar 2022 06:20:33 +0000 (11:50 +0530)]
crypto/fsl: i.MX8: Enable Job ring driver model.

i.MX8(QM/QXP) - added support for JR driver model.
sec is initialized based on job ring information processed
from device tree.

Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
2 years agoi.MX8: Add crypto node in device tree
Gaurav Jain [Thu, 24 Mar 2022 06:20:32 +0000 (11:50 +0530)]
i.MX8: Add crypto node in device tree

i.MX8(QM/QXP) - updated device tree for supporting DM in SPL.

disabled use of JR1 in SPL and uboot, as JR1 is reserved
for SECO FW.

Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
2 years agoi.MX7ULP: Enable Job ring driver model.
Gaurav Jain [Thu, 24 Mar 2022 06:20:31 +0000 (11:50 +0530)]
i.MX7ULP: Enable Job ring driver model.

added crypto node in device tree.
sec is initialized based on job ring information processed
from device tree.

Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
2 years agoi.MX7: Enable Job ring driver model.
Gaurav Jain [Thu, 24 Mar 2022 06:20:30 +0000 (11:50 +0530)]
i.MX7: Enable Job ring driver model.

i.MX7D - added support for JR driver model.

removed sec_init() call, sec is initialized based on
job ring information processed from device tree.

Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
2 years agoi.MX6: Enable Job ring driver model.
Gaurav Jain [Thu, 24 Mar 2022 06:20:29 +0000 (11:50 +0530)]
i.MX6: Enable Job ring driver model.

i.MX6,i.MX6SX,i.MX6UL - added support for JR driver model.

removed sec_init() call, sec is initialized based on
job ring information processed from device tree.

Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
2 years agomx6sabre: Remove unnecessary SPL configs
Ye Li [Thu, 24 Mar 2022 06:20:28 +0000 (11:50 +0530)]
mx6sabre: Remove unnecessary SPL configs

Because we don't use SPL_DM on mx6sabresd and mx6sabreauto, so it is
unnecessary to have SPL DTB related configs and SPL_OF_CONTROL enabled.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Gaurav Jain <gaurav.jain@nxp.com>
2 years agocrypto/fsl: i.MX8M: Enable Job ring driver model.
Gaurav Jain [Thu, 24 Mar 2022 06:20:27 +0000 (11:50 +0530)]
crypto/fsl: i.MX8M: Enable Job ring driver model.

i.MX8MM/MN/MP/MQ - added support for JR driver model.
sec is initialized based on job ring information processed
from device tree.

Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
2 years agoi.MX8M: crypto: updated device tree for supporting DM in SPL
Gaurav Jain [Thu, 24 Mar 2022 06:20:26 +0000 (11:50 +0530)]
i.MX8M: crypto: updated device tree for supporting DM in SPL

Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
2 years agocrypto/fsl: Add support for CAAM Job ring driver model
Gaurav Jain [Thu, 24 Mar 2022 06:20:25 +0000 (11:50 +0530)]
crypto/fsl: Add support for CAAM Job ring driver model

added device tree support for job ring driver.
sec is initialized based on job ring information processed
from device tree.

Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agoLS1043ARDB, LS1046ARDB, LS1088ARDB: Enable SPL_OF_CONTROL in SECURE Boot defconfig
Kshitiz Varshney [Thu, 7 Apr 2022 12:05:18 +0000 (14:05 +0200)]
LS1043ARDB, LS1046ARDB, LS1088ARDB: Enable SPL_OF_CONTROL in SECURE Boot defconfig

If enable SPL_DM without SPL_OF_CONTROL,
build errors "undefined reference to fdt_get_resource",
is coming in function `caam_jr_probe'.
Added SPL_OF_CONTROL to remove the error.

Signed-off-by: Kshitiz Varshney <kshitiz.varshney@nxp.com>
2 years agoMerge tag 'efi-2022-07-rc1' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sun, 10 Apr 2022 15:21:39 +0000 (11:21 -0400)]
Merge tag 'efi-2022-07-rc1' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request for efi-2022-07-rc1

Documentation:

* Describe how enable DM_SERIAL for a board

UEFI

* Preparatory patches for better integration of DM and UEFI
* Use sysreset after capsule updates instead of do_reset
* Allow to disable persisting non-volatile variables

2 years agoRevert "env: Load env when ENV_IS_NOWHERE is only location selected"
Marek Vasut [Sun, 10 Apr 2022 04:46:52 +0000 (06:46 +0200)]
Revert "env: Load env when ENV_IS_NOWHERE is only location selected"

This reverts commit 8d61237edbf6314a701cf78da2c5893a73ff5438.

This commit broke environment on literally every board I have access
to, with this revert in place, environment works as it should again.
The problem I observe with this patch is that saved environment in
either SPI NOR or eMMC is never used, the system always falls back
to default environment. The 'saveenv' command does succeed, but then
after reset, the default env is again used.

Furthermore, the commit introduced duplicate code in env_init(), this:
"
if (!prio) {
gd->env_addr = (ulong)&default_environment[0];
gd->env_valid = ENV_INVALID;

return 0;
}

if (ret == -ENOENT) {
gd->env_addr = (ulong)&default_environment[0];
gd->env_valid = ENV_INVALID;

return 0;
}
"

Furthermore, the commit is missing DCO SoB line.

Also note that upstream does not support UltraZed EG board, so
this might have been a patch pulled from downstream which did
depend on some other downstream behavior.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Felix.Vietmeyer@jila.colorado.edu <felix.vietmeyer@jila.colorado.edu>
Cc: Tom Rini <trini@konsulko.com>
2 years agoMerge branch '2022-04-08-gpio-updates'
Tom Rini [Sun, 10 Apr 2022 15:19:14 +0000 (11:19 -0400)]
Merge branch '2022-04-08-gpio-updates'

- Add PCA957X GPIO support, enable GPIO hogging in SPL, add
  gpio_request_by_line_name() for later use and add some pytests for
  'gpio'

2 years agodm: add tag support
AKASHI Takahiro [Tue, 8 Mar 2022 11:36:46 +0000 (20:36 +0900)]
dm: add tag support

With dm-tag feature, any U-Boot subsystem is allowed to associate
arbitrary number of data with a particular udevice. This can been
see as expanding "struct udevice" without modifying the definition.

As a first user, UEFI subsystem makes use of tags to associate
an efi_disk object with a block device.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agovirtio: call device_probe() in scanning
AKASHI Takahiro [Tue, 8 Mar 2022 11:36:45 +0000 (20:36 +0900)]
virtio: call device_probe() in scanning

virtio_init() enumerates all the peripherals that are to be materialised
with udevices(UCLASS_VIRIO) and creates particular device instances
(UCLASS_BlK or whatever else) as children.
On the other hand, device_probe() won't be invoked against those resultant
udevices unlike other ordinary device drivers do in the driver model.

This is particularly inconvenient when we want to add "event notification"
callback so that we will be able to automatically create all efi_disk
objects in a later patch.

With this patch applied, "virtio scan" will work in a similar way
to "scsi rescan", "usb start" or others in term of 'probe' semantics.

I didn't add this change to virtio_init() itself because this function
may be called in board_init_r() (indirectly in board_late_init())
before UEFI subsustem is initialized.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agoblock: ide: call device_probe() after scanning
AKASHI Takahiro [Tue, 8 Mar 2022 11:36:44 +0000 (20:36 +0900)]
block: ide: call device_probe() after scanning

Every time an ide bus/port is scanned and a new device is detected,
we want to call device_probe() as it will give us a chance to run
additional post-processings for some purposes.

In particular, support for creating partitions on a device will be added.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agosata: call device_probe() after scanning
AKASHI Takahiro [Tue, 8 Mar 2022 11:36:43 +0000 (20:36 +0900)]
sata: call device_probe() after scanning

Every time a sata bus/port is scanned and a new device is detected,
we want to call device_probe() as it will give us a chance to run
additional post-processings for some purposes.

In particular, support for creating partitions on a device will be added.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agonvme: call device_probe() after scanning
AKASHI Takahiro [Tue, 8 Mar 2022 11:36:42 +0000 (20:36 +0900)]
nvme: call device_probe() after scanning

Every time a nvme bus/port is scanned and a new device is detected,
we want to call device_probe() as it will give us a chance to run
additional post-processings for some purposes.

In particular, support for creating partitions on a device will be added.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agommc: call device_probe() after scanning
AKASHI Takahiro [Tue, 8 Mar 2022 11:36:41 +0000 (20:36 +0900)]
mmc: call device_probe() after scanning

Every time a mmc bus/port is scanned and a new device is detected,
we want to call device_probe() as it will give us a chance to run
additional post-processings for some purposes.

In particular, support for creating partitions on a device will be added.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agousb: storage: call device_probe() after scanning
AKASHI Takahiro [Tue, 8 Mar 2022 11:36:40 +0000 (20:36 +0900)]
usb: storage: call device_probe() after scanning

Every time a usb bus/port is scanned and a new device is detected,
we want to call device_probe() as it will give us a chance to run
additional post-processings for some purposes.

In particular, support for creating partitions on a device will be added.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agoscsi: call device_probe() after scanning
AKASHI Takahiro [Tue, 8 Mar 2022 11:36:39 +0000 (20:36 +0900)]
scsi: call device_probe() after scanning

Every time a scsi bus/port is scanned and a new block device is detected,
we want to call device_probe() as it will give us a chance to run
additional post-processings for some purposes.

In particular, support for creating partitions on a device will be added.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agoefi_loader: Use sysreset instead of reset command
Masami Hiramatsu [Mon, 21 Mar 2022 13:37:56 +0000 (22:37 +0900)]
efi_loader: Use sysreset instead of reset command

Use sysreset_walk_halt() directly from reset-after-capsule-on-disk
feature to reboot (cold reset) machine instead of using reset command
interface, since this is not a command.
Note that this will make CONFIG_EFI_CAPSULE_ON_DISK depending on
the CONFIG_SYSRESET.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agoefi_loader: Make efi_load_capsule_drivers() available even if EFI_CAPSULE_ON_DISK=n
Masami Hiramatsu [Mon, 21 Mar 2022 13:37:45 +0000 (22:37 +0900)]
efi_loader: Make efi_load_capsule_drivers() available even if EFI_CAPSULE_ON_DISK=n

Make efi_load_capsule_drivers() available even if EFI_CAPSULE_ON_DISK
is disabled because the caller (efi_init_obj_list()) expects it only
relays on EFI_HAVE_CAPSULE_SUPPORT.

Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
2 years agocmd: efidebug: Disable 'capsule disk-update' when CONFIG_EFI_CAPSULE_ON_DISK=n
Masami Hiramatsu [Mon, 21 Mar 2022 13:37:35 +0000 (22:37 +0900)]
cmd: efidebug: Disable 'capsule disk-update' when CONFIG_EFI_CAPSULE_ON_DISK=n

Disable 'capsule disk-update' option for the efidebug command
when CONFIC_EFI_CAPSULE_ON_DISK is disabled, because this option
is available only when the EFI capsule update on disk is enabled.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2 years agoefi_loader: optional persistence of variables
Tom Saeger [Tue, 22 Mar 2022 21:21:10 +0000 (15:21 -0600)]
efi_loader: optional persistence of variables

Since be66b89da306 ("efi_loader: configuration of variables store")
the choice of EFI_VARIABLE_FILE_STORE or EFI_MM_COMM_TEE
is mutually-exclusive, however efi_var_to_file also allows
for "neither". Provide an additional Kconfig option.

Signed-off-by: Tom Saeger <tom.saeger@oracle.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 years agodoc: distro: Update list of all support boot types
Pali Rohár [Wed, 6 Apr 2022 09:35:46 +0000 (11:35 +0200)]
doc: distro: Update list of all support boot types

Add HOST, UBIFS.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 years agodoc: debug UART for RISC-V QEMU virt machine
Heinrich Schuchardt [Tue, 5 Apr 2022 14:14:27 +0000 (16:14 +0200)]
doc: debug UART for RISC-V QEMU virt machine

Provide settings for enabling the debug UART of the virt machine on
RISC-V QEMU.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 years agodoc: correct bootefi.rst
Heinrich Schuchardt [Sat, 2 Apr 2022 05:16:56 +0000 (07:16 +0200)]
doc: correct bootefi.rst

* add link to booti man-page
* correct link description for efidebug command
* correct punctuation

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 years agodm: Add docs to explain how to enable DM_SERIAL for a board
Simon Glass [Wed, 16 Mar 2022 03:03:20 +0000 (21:03 -0600)]
dm: Add docs to explain how to enable DM_SERIAL for a board

This is an attempt to cover the common cases found when enabling driver
model for serial on a new board.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 years agogpio: pca953x_gpio: add PCA957X support
Luca Ellero [Tue, 22 Mar 2022 14:38:36 +0000 (15:38 +0100)]
gpio: pca953x_gpio: add PCA957X support

Take as reference Linux kernel code:
drivers/gpio/gpio-pca953x.c

Signed-off-by: Luca Ellero <l.ellero@asem.it>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agogpio: Enable hogging support in SPL
Eddie James [Mon, 7 Feb 2022 23:09:01 +0000 (17:09 -0600)]
gpio: Enable hogging support in SPL

Use the CONFIG macros to conditionally build the GPIO hogging support in
either the SPL or U-Boot, or both, depending on the configuration. Also
call the GPIO hog probe function in the common SPL board initialization
as an equivalent to adding it to the U-Boot init sequence functions.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agogpio: Add gpio_request_by_line_name()
Andrew Jeffery [Mon, 31 Jan 2022 03:24:05 +0000 (13:54 +1030)]
gpio: Add gpio_request_by_line_name()

Add support for the upstream gpio-line-names property already described
in the common GPIO binding document[1]. The ability to search for a line
name allows boards to lift the implementation of common GPIO behaviours
away from specific line indexes on a GPIO controller.

[1] https://github.com/devicetree-org/dt-schema/blob/3c35bfee83c2e38e2ae7af5f83eb89ca94a521e8/dtschema/schemas/gpio/gpio.yaml#L17

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
2 years agotest/py:Update python tests for ‘gpio’ cmd
Adarsh Babu Kalepalli [Mon, 31 May 2021 10:53:51 +0000 (16:23 +0530)]
test/py:Update python tests for ‘gpio’ cmd

Generic Python Test cases are developed to verfiy 'gpio' command.

Signed-off-by: Adarsh Babu Kalepalli <opensource.kab@gmail.com>
2 years agoconfigs: Resync with savedefconfig
Tom Rini [Fri, 8 Apr 2022 17:36:51 +0000 (13:36 -0400)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoMerge branch '2022-04-08-Kconfig-updates-and-dead-code-removal'
Tom Rini [Fri, 8 Apr 2022 17:33:14 +0000 (13:33 -0400)]
Merge branch '2022-04-08-Kconfig-updates-and-dead-code-removal'

- Migration of more symbols from board config.h files to defconfig
- Remove unused network drivers

2 years agoarm: Remove unused ep93xx code
Tom Rini [Thu, 31 Mar 2022 17:46:53 +0000 (13:46 -0400)]
arm: Remove unused ep93xx code

There are no platforms for this architecture anymore, remove unused
code.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agonet: Remove uli526x driver
Tom Rini [Thu, 31 Mar 2022 17:46:52 +0000 (13:46 -0400)]
net: Remove uli526x driver

This driver is not enabled by any board and not converted to DM_ETH.
Remove.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agonet: Remove ns8382x driver
Tom Rini [Thu, 31 Mar 2022 17:46:51 +0000 (13:46 -0400)]
net: Remove ns8382x driver

This driver is not enabled by any board and not converted to DM_ETH.
Remove.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agonet: Remove natsemi driver
Tom Rini [Thu, 31 Mar 2022 17:46:50 +0000 (13:46 -0400)]
net: Remove natsemi driver

This driver is not enabled by any board and not converted to DM_ETH.
Remove.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agonet: Remove lan91c96 driver
Tom Rini [Thu, 31 Mar 2022 17:46:49 +0000 (13:46 -0400)]
net: Remove lan91c96 driver

This driver is not enabled by any board and not converted to DM_ETH.
Remove.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agonet: Remove ftmac110 driver
Tom Rini [Thu, 31 Mar 2022 17:46:48 +0000 (13:46 -0400)]
net: Remove ftmac110 driver

This driver is not enabled by any board and not converted to DM_ETH.
Remove.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agonet: Remove dnet driver
Tom Rini [Thu, 31 Mar 2022 17:46:47 +0000 (13:46 -0400)]
net: Remove dnet driver

This driver is not enabled by any board and not converted to DM_ETH.
Remove.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agonet: Remove cs8900 driver
Tom Rini [Thu, 31 Mar 2022 17:46:46 +0000 (13:46 -0400)]
net: Remove cs8900 driver

This driver is not enabled by any board and not converted to DM_ETH.
Remove.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agonet: Remove ax88180 driver
Tom Rini [Thu, 31 Mar 2022 17:46:45 +0000 (13:46 -0400)]
net: Remove ax88180 driver

This driver is not enabled by any board and not converted to DM_ETH.
Remove.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agonet: Remove armada100_fec driver
Tom Rini [Thu, 31 Mar 2022 17:46:44 +0000 (13:46 -0400)]
net: Remove armada100_fec driver

This driver is not enabled by any board and not converted to DM_ETH.
Remove.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoarm: fsl-layerscape: Migrate more DP-DDR options to Kconfig
Tom Rini [Wed, 30 Mar 2022 22:07:35 +0000 (18:07 -0400)]
arm: fsl-layerscape: Migrate more DP-DDR options to Kconfig

Based on current usage, migrate a number of DP-DDR related options to
Kconfig.

Cc: Priyanka Jain <priyanka.jain@nxp.com>
Cc: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agosiemens-am33x-common: Drop CONFIG_DMA_COHERENT*
Tom Rini [Wed, 30 Mar 2022 22:07:34 +0000 (18:07 -0400)]
siemens-am33x-common: Drop CONFIG_DMA_COHERENT*

These values are not used in the code, remove them.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agom53menlo: Drop CONFIG_DISCOVER_PHY
Tom Rini [Wed, 30 Mar 2022 22:07:33 +0000 (18:07 -0400)]
m53menlo: Drop CONFIG_DISCOVER_PHY

This is not used in code, drop.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_FSL_QIXIS et al to Kconfig
Tom Rini [Wed, 30 Mar 2022 22:07:32 +0000 (18:07 -0400)]
Convert CONFIG_FSL_QIXIS et al to Kconfig

This converts the following to Kconfig:
   CONFIG_FSL_QIXIS
   CONFIG_QIXIS_I2C_ACCESS

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_DIMM_SLOTS_PER_CTLR to Kconfig
Tom Rini [Wed, 30 Mar 2022 22:07:31 +0000 (18:07 -0400)]
Convert CONFIG_DIMM_SLOTS_PER_CTLR to Kconfig

This converts the following to Kconfig:
   CONFIG_DIMM_SLOTS_PER_CTLR

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agogalileo: Remove CONFIG_DESIGNWARE_ETH reference
Tom Rini [Wed, 30 Mar 2022 22:07:30 +0000 (18:07 -0400)]
galileo: Remove CONFIG_DESIGNWARE_ETH reference

This platform has CONFIG_ETH_DESIGNWARE set already, which is the
correct value for the driver in question.  Remove this incorrect line.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agopowerpc: mpc83xx: Migrate DEFAULT_IMMR to Kconfig
Tom Rini [Wed, 30 Mar 2022 22:07:29 +0000 (18:07 -0400)]
powerpc: mpc83xx: Migrate DEFAULT_IMMR to Kconfig

As no platforms override this value, set it for all mpc83xx platforms.

Cc: Mario Six <mario.six@gdsys.cc>
Cc: Wolfgang Denk <wd@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agonds32: Migrate CONFIG_DEBUG_LED to Kconfig
Tom Rini [Wed, 30 Mar 2022 22:07:28 +0000 (18:07 -0400)]
nds32: Migrate CONFIG_DEBUG_LED to Kconfig

Move this value to the board Kconfig file.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agols1021atwr: Use DEBUG and not CONFIG_DEBUG
Tom Rini [Wed, 30 Mar 2022 22:07:27 +0000 (18:07 -0400)]
ls1021atwr: Use DEBUG and not CONFIG_DEBUG

We use 'DEBUG' and not 'CONFIG_DEBUG' tree-wide for debug code that is
left in, and not wrapped by some other regular debugging type print
macro.

Cc: Alison Wang <alison.wang@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agomicroblaze: Migrate DCACHE/ICACHE to Kconfig
Tom Rini [Wed, 30 Mar 2022 22:07:26 +0000 (18:07 -0400)]
microblaze: Migrate DCACHE/ICACHE to Kconfig

Move these two options to the arch Kconfig file.

Cc: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
2 years agotegra: Drop CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
Tom Rini [Wed, 30 Mar 2022 22:07:25 +0000 (18:07 -0400)]
tegra: Drop CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS

This is not currently set by any boards, so drop.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agocontrolcenterdc: Migrate CUSTOMER_BOARD_SUPPORT to Kconfig
Tom Rini [Wed, 30 Mar 2022 22:07:24 +0000 (18:07 -0400)]
controlcenterdc: Migrate CUSTOMER_BOARD_SUPPORT to Kconfig

This symbol is only possibly useful on some mvebu platforms, so move the
symbol there and select it for the only current user.

Cc: Mario Six <mario.six@gdsys.cc>
Cc: Stefan Roese <sr@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Stefan Roese <sr@denx.de>
2 years agospi: cadence_qspi: Migrate CONFIG_CQSPI_REF_CLK to Kconfig
Tom Rini [Wed, 30 Mar 2022 22:07:23 +0000 (18:07 -0400)]
spi: cadence_qspi: Migrate CONFIG_CQSPI_REF_CLK to Kconfig

This is a little tricky since SoCFPGA has code to determine this as
runtime.  Introduce a guard variable for platforms to select if they
have a static value to use.  Then for ARCH_SOCFPGA, call
cm_get_qspi_controller_clk_hz() and otherwise continue the previous
behavior.

Cc: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_SH_SCIF_CLK_FREQ to Kconfig
Tom Rini [Wed, 30 Mar 2022 22:07:22 +0000 (18:07 -0400)]
Convert CONFIG_SH_SCIF_CLK_FREQ to Kconfig

This converts the following to Kconfig:
   CONFIG_SH_SCIF_CLK_FREQ

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_CONS_SCIF0 et al to Kconfig
Tom Rini [Wed, 30 Mar 2022 22:07:21 +0000 (18:07 -0400)]
Convert CONFIG_CONS_SCIF0 et al to Kconfig

This converts the following to Kconfig:
   CONFIG_CONS_SCIF0
   CONFIG_CONS_SCIF1
   CONFIG_CONS_SCIF2
   CONFIG_CONS_SCIF4
   CONFIG_CONS_SCIFA0

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoat91: Remove unused LED code
Tom Rini [Wed, 30 Mar 2022 22:07:20 +0000 (18:07 -0400)]
at91: Remove unused LED code

These LED files (and CONFIG values) are unused today, remove the code in
question.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agostm32f429-discovery: Migrate CONFIG_*_LED out of CONFIG namespace
Tom Rini [Wed, 30 Mar 2022 22:07:19 +0000 (18:07 -0400)]
stm32f429-discovery: Migrate CONFIG_*_LED out of CONFIG namespace

These values are only used in one file, reference them more directly.

Cc: Kamil Lulko <kamil.lulko@gmail.com>
Cc: Patrick Delaunay <patrick.delaunay@foss.st.com>
Cc: Patrice Chotard <patrice.chotard@foss.st.com>
Cc: uboot-stm32@st-md-mailman.stormreply.com
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2 years agocorvus: Migrate CONFIG_*_LED out of CONFIG namespace
Tom Rini [Wed, 30 Mar 2022 22:07:18 +0000 (18:07 -0400)]
corvus: Migrate CONFIG_*_LED out of CONFIG namespace

This code is only used on the corvus platform, so migrate the LED on/off
code to this platform and remove it from the CONFIG namespace.  In
theory, this should likely be moved to the modern GPIO LED driver as a
further cleanup.

Cc: Heiko Schocher <hs@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2 years agoMPC837XERDB: Stop using CONFIG_RAMDISKFILE
Tom Rini [Wed, 30 Mar 2022 22:07:17 +0000 (18:07 -0400)]
MPC837XERDB: Stop using CONFIG_RAMDISKFILE

We don't really configure this, just set it directly in the environment
section.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agos5p_goni, smdkc100: Move some environment settings out of CONFIG
Tom Rini [Wed, 30 Mar 2022 22:07:16 +0000 (18:07 -0400)]
s5p_goni, smdkc100: Move some environment settings out of CONFIG

A number of CONFIG options are used on these platforms as part of the
default environment.  Set some of these more directly and in other
cases, just reference them directly.

Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoarm: integrator: Migrate platform-specific options and cleanup armcoremodule.h
Tom Rini [Wed, 30 Mar 2022 22:07:15 +0000 (18:07 -0400)]
arm: integrator: Migrate platform-specific options and cleanup armcoremodule.h

This converts the following to Kconfig:
   CONFIG_CM_INIT
   CONFIG_CM_REMAP
   CONFIG_CM_SPD_DETECT
   CONFIG_CM_MULTIPLE_SSRAM
   CONFIG_CM_TCRAM

We make the first three of these options be always enabled, as that
matches usage.  We select the last two based on how they were defined in
armcoremodule.h.  This also allows us to remove some unused code in
board/armltd/integrator/lowlevel_init.S

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoConvert CONFIG_CMDLINE_PS_SUPPORT to Kconfig
Tom Rini [Wed, 30 Mar 2022 22:07:14 +0000 (18:07 -0400)]
Convert CONFIG_CMDLINE_PS_SUPPORT to Kconfig

This converts the following to Kconfig:
   CONFIG_CMDLINE_PS_SUPPORT

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agotegra: Migrate CI_UDC_HAS_HOSTPC to Kconfig
Tom Rini [Wed, 30 Mar 2022 22:07:13 +0000 (18:07 -0400)]
tegra: Migrate CI_UDC_HAS_HOSTPC to Kconfig

This option is only enabled for CI_UDC and !TEGRA20, so implement it as
such in Kconfig directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
2 years agomvebu: Move BOOTROM_ERR_REG out of CONFIG namespace
Tom Rini [Wed, 30 Mar 2022 22:07:12 +0000 (18:07 -0400)]
mvebu: Move BOOTROM_ERR_REG out of CONFIG namespace

This register is referenced in one location and does not seem
configurable, so remove it from CONFIG namespace.

Cc: Stefan Roese <sr@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Stefan Roese <sr@denx.de>
2 years agoConvert CONFIG_BOARD_SIZE_LIMIT to Kconfig
Tom Rini [Wed, 30 Mar 2022 22:07:11 +0000 (18:07 -0400)]
Convert CONFIG_BOARD_SIZE_LIMIT to Kconfig

This converts the following to Kconfig:
   CONFIG_BOARD_SIZE_LIMIT

To do this, introduce CONFIG_HAS_BOARD_SIZE_LIMIT.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoMerge branch '2022-04-08-env-updates'
Tom Rini [Fri, 8 Apr 2022 12:27:50 +0000 (08:27 -0400)]
Merge branch '2022-04-08-env-updates'

- Assorted env tooling updates
- Bug fix around multiple possible env locations and ENV_IS_NOWHERE
- Add 'indirect' sub-command to env
- Allow for FAT env to have the location overridden by the board code.

2 years agoenv: Allow text-env tests to run with awk
Simon Glass [Sun, 13 Mar 2022 05:47:49 +0000 (22:47 -0700)]
env: Allow text-env tests to run with awk

At present the tests assume that gawk is being used. Adjust the tests so
that the names are inserted in alphabetical order, so that awk is happy.

Also use PROCINFO to make gawk output in alphabetical order. This is not
ideal, since it changes the env-car ordering from what the user provided,
but it may be acceptable.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Fixes: https://source.denx.de/u-boot/u-boot/-/issues/10

2 years agoenv: Drop the unncessary protocol mention in autoload
Simon Glass [Fri, 11 Mar 2022 23:22:39 +0000 (16:22 -0700)]
env: Drop the unncessary protocol mention in autoload

Drop this text at the end since it already mentions bootp and dhcp.

Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2 years agoenv: Move the doc comment to the code
Simon Glass [Fri, 11 Mar 2022 23:22:38 +0000 (16:22 -0700)]
env: Move the doc comment to the code

This doesn't really make much sense in the documentation. Add a code
comment instead.

Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agoMakefile: Sort u-boot-initial-env output
Christoph Niedermaier [Tue, 1 Mar 2022 08:38:51 +0000 (09:38 +0100)]
Makefile: Sort u-boot-initial-env output

This will sort the default environment file generated by
"make u-boot-initial-env", but won't sort the default
environment in the compiled u-boot binary. The file
u-boot-initial-env is considered to use for the userpace
environment access tools [1] in case of that the
environments is written the first time into its location.
This is done on the one hand for a better overview and
comparison of the generated environment file. On the other
hand it is to synchronize the output with the script
get_default_env.sh, which generated a sorted default
environment file. The sorting preserves the order of equal
variable names by sorting only the variable name, and
disable the last-resort comparison. After sorting,
unnoticed blank lines at the end move to the top. Avoid
that by removing it before sorting.

[1] https://github.com/sbabic/libubootenv

Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Tested-by: Stefano Babic <sbabic@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Marek Behún <marek.behun@nic.cz>
To: u-boot@lists.denx.de
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agoscripts/get_default_envs.sh: Remove blank lines
Christoph Niedermaier [Wed, 23 Feb 2022 09:33:36 +0000 (10:33 +0100)]
scripts/get_default_envs.sh: Remove blank lines

After sorting, unnoticed blank lines at the end move to the top.
Avoid this by removing it before sorting.

Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Cc: Lukasz Majewski <lukma@denx.de>
Cc: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Cc: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de

2 years agoenv: fat: Allow overriding interface, device and partition
He Yong [Thu, 17 Feb 2022 16:07:25 +0000 (00:07 +0800)]
env: fat: Allow overriding interface, device and partition

For platform which can boot on different device, this allows
to override interface, device and partition from board code

Signed-off-by: He Yong <hyyoxhk@163.com>
2 years agocmd: env: Add `indirect` to indirectly set values
Samuel Dionne-Riel [Mon, 20 Dec 2021 23:31:56 +0000 (18:31 -0500)]
cmd: env: Add `indirect` to indirectly set values

This allows an ergonomic-enough approximation of ${!variable} expansion.
This could be used the following way:

```
for target in ${boot_targets}; do
   env indirect target_name target_name_${target}
   # ...
done
```

Assuming `target_name_mmc0` and similar are set appropriately.

A default value can be optionally provided.

Note: this acts on environment variables, not hush variables.

Signed-off-by: Samuel Dionne-Riel <samuel@dionne-riel.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: "Marek Behún" <marek.behun@nic.cz>
[trini: Don't enable by default]

2 years agoenv: Load env when ENV_IS_NOWHERE is only location selected
Felix.Vietmeyer@jila.colorado.edu [Wed, 21 Apr 2021 02:04:26 +0000 (20:04 -0600)]
env: Load env when ENV_IS_NOWHERE is only location selected

This patch prevent u-boot from hanging on a UltraZed EG board (zynqmp).

Without the patch,
(drv = env_driver_lookup(ENVOP_INIT, prio))
evaluates to 0, causing prio = 0
Then, (!prio) is hit, returning -ENODEV causing a stall.

With the patch,
instead of returning -ENODEV and causing a stall, we
set gd->env_addr (is this really needed?)
and then
mark gd->env_valid = ENV_INVALID to use the default env.

2 years agoimx8/ls10xx: Use a sane SYS_MALLOC_F_LEN default
Fabio Estevam [Sat, 26 Mar 2022 14:47:40 +0000 (11:47 -0300)]
imx8/ls10xx: Use a sane SYS_MALLOC_F_LEN default

When adding new features to imx8m boards, such as DM clock support,
the malloc area can be exhausted.

To avoid such issue, provide a reasonable default for the
SYS_MALLOC_F_LEN size.

Quoting Tom Rini:

"This seems to be an area where everyone is either:
- Kicking the value up a bit for themselves
- Having hard to figure out problems booting the platform because it's
  too small a value until they see someone else picked a larger value.

So lets raise these a bit and get some acks, please."

Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Fabio Estevam <festevam@denx.de>
Tested-by: Adam Ford <aford173@gmail.com> #imx8mm-beacon, imx8mn-beacon
Tested-by: Heiko Thiery <heiko.thiery@gmail.com>
2 years agoMerge branch '2022-04-06-various-verified-boot-bugfixes'
Tom Rini [Thu, 7 Apr 2022 13:49:27 +0000 (09:49 -0400)]
Merge branch '2022-04-06-various-verified-boot-bugfixes'

To quote the author:

This series collects together various misc patches that were needed when
building mainline U-Boot against Chromium OS verified boot. Most of them
fix minor bugs.

2 years agodm: blk: Expand iteration and add tests
Simon Glass [Mon, 28 Feb 2022 19:08:35 +0000 (12:08 -0700)]
dm: blk: Expand iteration and add tests

Add some functions which support iteration before probing. Also add tests
for the functions.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agodm: core: Tidy up comments in uclass headers
Simon Glass [Mon, 28 Feb 2022 19:08:34 +0000 (12:08 -0700)]
dm: core: Tidy up comments in uclass headers

Improve some of the comments in these files, which don't follow the
correct style.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agodm: core: Add a required struct declaration
Simon Glass [Mon, 28 Feb 2022 19:08:33 +0000 (12:08 -0700)]
dm: core: Add a required struct declaration

This file uses struct driver, so declare it at the top in case the
header-inclusion order is not as expected.

Signed-off-by: Simon Glass <sjg@chromium.org>