Tom Rini [Wed, 5 Jul 2023 15:28:55 +0000 (11:28 -0400)]
Merge tag 'v2023.07-rc6' into next
Prepare v2023.07-rc6
Tom Rini [Tue, 4 Jul 2023 15:22:57 +0000 (11:22 -0400)]
Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-pmic into next
Eugen Hristev [Wed, 19 Apr 2023 13:45:26 +0000 (16:45 +0300)]
regulator: handle different error codes in regulator_set_enable_if_allowed
The regulator core can return different codes which are not considered
a real error for this function.
Return success in such cases.
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Eugen Hristev [Wed, 19 Apr 2023 13:45:25 +0000 (16:45 +0300)]
regulator: rename dev_pdata to plat
Simplify the subsystem by renaming `dev_pdata` to just `plat`.
No functional change, just trivial renaming.
Suggested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Eugen Hristev [Wed, 19 Apr 2023 13:45:24 +0000 (16:45 +0300)]
regulator: implement basic reference counter
Some devices share a regulator supply, when the first one will request
regulator disable, the second device will have it's supply cut off before
graciously shutting down. Hence there will be timeouts and other failed
operations.
Implement a reference counter mechanism similar with what is done in
Linux, to keep track of enable and disable requests, and only disable the
regulator when the last of the consumers has requested shutdown.
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Tom Rini [Mon, 3 Jul 2023 17:48:58 +0000 (13:48 -0400)]
Prepare v2023.07-rc6
Signed-off-by: Tom Rini <trini@konsulko.com>
Fabio Estevam [Sat, 1 Jul 2023 02:30:53 +0000 (23:30 -0300)]
spl: spl_legacy: Fix spl_end address
Currently, spl_end points to the __bss_end address, which
is an external RAM address instead of the end of the SPL text
section in the internal RAM.
This causes boot failures on imx6-colibri, for example:
```
Trying to boot from MMC1
SPL: Image overlaps SPL
resetting ...
```
Fix this problem by assigning spl_end to _image_binary_end, as this
symbol properly represents the end of the SPL text section.
From u-boot-spl.map:
.end
*(.__end)
0x00000000009121a4 _image_binary_end = .
Fixes: 77aed22b48ab ("spl: spl_legacy: Add extra address checks")
Reported-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Fabio Estevam <festevam@denx.de>
Tested-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Tested-by: Marek Vasut <marex@denx.de> # DH i.MX6Q DHCOM PDK2
Fabio Estevam [Sat, 1 Jul 2023 02:30:52 +0000 (23:30 -0300)]
microblaze: u-boot-spl.lds: Pass _image_binary_end
Pass _image_binary_end to make a standard way to indicate the end
of the text section in SPL.
The motivation for this is to have a uniform way to handle
the SPL boundary checks.
Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Fabio Estevam [Sat, 1 Jul 2023 02:30:51 +0000 (23:30 -0300)]
sunxi: u-boot-spl.lds: Pass _image_binary_end
Pass _image_binary_end to make a standard way to indicate the end
of the text section in SPL.
The motivation for this is to have a uniform way to handle
the SPL boundary checks.
Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Fabio Estevam [Thu, 29 Jun 2023 19:25:31 +0000 (16:25 -0300)]
doc: imx: habv4: Fix typo in 'signing'
Fix two occurrences where 'signing' is misspelled.
Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Tim Harvey <tharvey@gateworks.com>
Jonas Karlman [Mon, 26 Jun 2023 19:43:06 +0000 (19:43 +0000)]
rockchip: Restore support for boot scripts in legacy image format
Use of CONFIG_SPL_FIT_SIGNATURE=y cause CONFIG_LEGACY_IMAGE_FORMAT=n as
default, this prevent boot scripts in legacy image format from working
and was an unintended change in the listed fixes commits:
Wrong image format for "source" command
Add CONFIG_LEGACY_IMAGE_FORMAT=y to defconfig for affected boards to
restore support for boot scripts in legacy image format.
Fixes: 3bf8e4080763 ("board: rockchip: add Radxa ROCK5B Rk3588 board")
Fixes: cf777572ca31 ("rockchip: rockpro64: Use SDMA to boost eMMC performance")
Fixes: 6e2b8344d60c ("rockchip: rock-pi-4: Use SDMA to boost eMMC performance")
Fixes: 1bf49d5a4a7c ("rockchip: rk3566-radxa-cm3-io: Update defconfig")
Fixes: 703c170b40f2 ("rockchip: rk3568-evb: Update defconfig")
Fixes: 68000f750acd ("rockchip: rk3568-rock-3a: Update defconfig")
Fixes: 6fb02589a608 ("rockchip: rk3588-evb: Update defconfig")
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tom Rini [Sat, 1 Jul 2023 20:11:51 +0000 (16:11 -0400)]
Merge tag 'efi-2023-07-rc6' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request efi-2023-07-rc6
Documentation:
* man-pages for the loads and saves commands
UEFI:
* fix implementation of allow_unaligned() for armv7 and arm11
Marek Vasut [Sat, 1 Jul 2023 15:26:19 +0000 (17:26 +0200)]
ARM: arm11: Add C wrapper for allow_unaligned()
Rename current assembler implementation of allow_unaligned() to
arm11_arch_cp15_allow_unaligned() and add it into arm11.h header,
then add C wrapper of allow_unaligned().
This fixes misbehavior when linking U-Boot, where the CPU specific
allow_unaligned() implementation was ignored and instead the
__weak allow_unaligned() implementation from lib/efi_loader/efi_setup.c
was used, which led to "data abort" just before booting Linux via tftp,
in efi_dp_from_file() -> path_to_uefi() -> utf16_put() .
The problem is triggerd by
c7c0ca37673 ("efi_loader: fix efi_dp_from_file()") .
Adding the wrapper fixes the problem.
Fixes: d47a774680d ("arm: arm11: allow unaligned memory access")
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Sat, 1 Jul 2023 15:26:18 +0000 (17:26 +0200)]
ARM: armv7: Add C wrapper for allow_unaligned()
Rename current assembler implementation of allow_unaligned() to
v7_arch_cp15_allow_unaligned() and add it into armv7.h header,
then add C wrapper of allow_unaligned().
This fixes misbehavior when linking U-Boot on ARMv7a i.MX6Q, where the
CPU specific allow_unaligned() implementation was ignored and instead the
__weak allow_unaligned() implementation from lib/efi_loader/efi_setup.c
was used, which led to "data abort" just before booting Linux via tftp,
in efi_dp_from_file() -> path_to_uefi() -> utf16_put() .
The problem is triggerd by
c7c0ca37673 ("efi_loader: fix efi_dp_from_file()") .
Adding the wrapper fixes the problem.
Fixes: 78f90aaeecc ("arm: armv7: allow unaligned memory access")
Signed-off-by: Marek Vasut <marex@denx.de>
Heinrich Schuchardt [Sun, 25 Jun 2023 21:22:44 +0000 (23:22 +0200)]
doc: fix typo loady in loadb man-page
%s/loady/loadb/
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Heinrich Schuchardt [Sun, 25 Jun 2023 13:14:03 +0000 (15:14 +0200)]
doc: saves man-page
Provide a man-page for the saves command.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Heinrich Schuchardt [Sun, 25 Jun 2023 11:40:23 +0000 (13:40 +0200)]
doc: loads man-page
Provide a man-page for the loads command.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Eduard Strehlau [Tue, 27 Jun 2023 16:57:49 +0000 (13:57 -0300)]
smegw01: Fix wrong symbol override
board_mmc_get_env_part() is not called as the default implementation
of mmc_get_env_part() is used.
Fix this problem by directly calling mmc_get_env_part() instead.
Signed-off-by: Eduard Strehlau <eduard@lionizers.com>
Signed-off-by: Fabio Estevam <festevam@denx.de>
Tom Rini [Mon, 26 Jun 2023 19:19:54 +0000 (15:19 -0400)]
CI: Azure: Split keymile jobs out
Currently the PowerPC build job in Azure will hit the maximum time limit
for a build and stop. Looking at the job, the easiest path to reducing
it is to move Keymile vendor boards to their own job and exclude them
from the PowerPC one (and while at this, the ls102 job).
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Ken Sloat [Tue, 11 Apr 2023 20:05:31 +0000 (16:05 -0400)]
board: freescale: imx93_evk: Fix MMC environment offset boot conflict.
Currently, the imx93_evk is configured with CONFIG_ENV_IS_IN_MMC and the
chosen environment offset in the config is 0x400000. Unless the user
programs the associated fuses, this offset is the default secondary boot
image offset used by the i.MX 93 ROM bootloader. With certain
combinations of environmental variables, the CRC and beginning of the
environment can potentially falsely appear as a valid boot image
container header. If the expected "sw_version" offset within this
mistaken boot image container is greater than the primary's, the ROM
bootloader can skip booting of the primary image altogether and attempt
to boot with the content of the environment data. This will then hang
the system.
To fix this, move the environment from 0x400000 to 0x700000 reserving up
to 3 MB at 0x400000 for any actual secondary user image container.
Signed-off-by: Ken Sloat <ken.s@variscite.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@denx.de>
Tom Rini [Thu, 29 Jun 2023 13:52:48 +0000 (09:52 -0400)]
Merge tag 'u-boot-rockchip-
20230629' of https://source.denx.de/u-boot/custodians/u-boot-rockchip
- rockchip inno phy fix;
- pinctrl driver in SPL arort in specific case;
- fix IO port voltage for rock5b-rk3588 board;
Eugen Hristev [Fri, 23 Jun 2023 10:05:27 +0000 (13:05 +0300)]
board: rockchip: rock5b-rk3588: fix description
Update description with correct specifications
Fixes: 3bf8e4080763 ("board: rockchip: add Radxa ROCK5B Rk3588 board")
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Jonas Karlman [Thu, 8 Jun 2023 10:59:38 +0000 (10:59 +0000)]
pinctrl: rockchip: Fix Data Abort exception in SPL
Using CONFIG_ARMV8_SPL_EXCEPTION_VECTORS=y and CONFIG_OF_LIVE=y triggers
a Data Abort exception from unaligned memory access when the pinctrl
driver iterate node properties, e.g. for UART2 on RK3568.
setting mux of GPIO0-24 to 1
setting mux of GPIO0-24 to 1
"Synchronous Abort" handler, esr 0x96000021
elr:
000000000000e554 lr :
000000000000e54c
x 0:
0000000000000a5c x 1:
0000000000000a5c
x 2:
0000000000000007 x 3:
0000000000000065
x 4:
0000000000000007 x 5:
0000000000022d4e
x 6:
0000000000000a7c x 7:
00000000000227a4
x 8:
0000000000021cf0 x 9:
0000000000000a7c
x10:
0000000000021cf0 x11:
0000000000021cf0
x12:
00000000003fda1c x13:
0000000000000007
x14:
00000000003fd9ec x15:
000000000001c0ff
x16:
0000000007000000 x17:
00000000fdccd028
x18:
00000000003fde20 x19:
0000000000000018
x20:
0000000000020670 x21:
0000000000000000
x22:
00000000003fdb00 x23:
00000000003fef90
x24:
0000000000020688 x25:
0000000000000000
x26:
0000000000000001 x27:
00000000003ffc50
x28:
0000000000000000 x29:
00000000003fda60
Code:
b94083e1 97ffd508 93407c01 37f81260 (
f9401038)
Resetting CPU ...
Fix this by replacing the loop to access node properties with use of
ofnode_for_each_prop instead of the current ifdef.
Also continue to next prop instead of aborting at first sign of an
unknown property.
This fixes the Data Abort exception and also pinconf of e.g. pull and
drive in SPL, e.g. for UART2 on RK3568.
setting mux of GPIO0-24 to 1
setting mux of GPIO0-24 to 1
setting pull of GPIO0-24 to 5
setting mux of GPIO0-25 to 1
setting mux of GPIO0-25 to 1
setting pull of GPIO0-25 to 5
Fixes: e7ae4cf27a6d ("pinctrl: rockchip: Add common rockchip pinctrl driver")
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Ondrej Jirman [Thu, 25 May 2023 13:27:08 +0000 (15:27 +0200)]
pinephone-pro: Fix I/O port voltage (GPIO3D4A is 1.8V)
This fixes access to camera sensor over I2C during probe time in
the kernel. (Kernel will fix I/0 port voltage by itself, but the
timing depends on probe order of the drivers, so the fix can
come after the camera sensor driver already failed to probe.)
Signed-off-by: Ondrej Jirman <megi@xff.cz>
Cc: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Eugen Hristev [Mon, 22 May 2023 08:39:58 +0000 (11:39 +0300)]
phy: rockchip: inno-usb2: fix phy reg=0 case
The support for #address-cells=2 has a loophole: if the reg is actually 0,
but the #address-cells is actually 1, like in such case below:
syscon {
#address-cells = <1>;
phy {
reg = <0 0x10>;
};
};
then the second u32 of the 'reg' is the size, not the address.
The code should check for the parent's #address-cells value, and not
assume that if the first u32 is 0, then the #address-cells is 2, and the
reg property is something like
reg = <0 0xff00 0x10>;
Fixed this by looking for the #address-cells value and retrieving the
reg address only if this is ==2.
To avoid breaking anything I also kept the check `if reg==0` as some DT's
may have a wrong #address-cells as parent and even if this commit is
correct, it might break the existing wrong device-trees.
Fixes: d538efb9adcf ("phy: rockchip: inno-usb2: Add support #address_cells = 2")
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Tom Rini [Wed, 28 Jun 2023 14:10:03 +0000 (10:10 -0400)]
Merge tag 'u-boot-amlogic-next-
20230628' of https://source.denx.de/u-boot/custodians/u-boot-amlogic into next
- add support for Amlogic A1 SoC and ad401 board
- add support for Videostrong KII Pro
- introduce secure power domain for A1 SoC
Alexey Romanov [Wed, 31 May 2023 09:31:56 +0000 (12:31 +0300)]
drivers: meson: introduce secure power controller driver
This patch adds Power controller driver support for Amlogic
A1 family using secure monitor calls. The power domains register
only can access in secure world.
Signed-off-by: Alexey Romanov <avromanov@sberdevices.ru>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230531093156.29240-4-avromanov@sberdevices.ru
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Alexey Romanov [Wed, 31 May 2023 09:31:55 +0000 (12:31 +0300)]
dt-bindings: power: add Meson A1 PWRC bindings
We can use them in secure pwrc driver.
Signed-off-by: Alexey Romanov <avromanov@sberdevices.ru>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230531093156.29240-3-avromanov@sberdevices.ru
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Alexey Romanov [Wed, 31 May 2023 09:31:54 +0000 (12:31 +0300)]
arch/arm: meson: sm: introduce power domain functions
This commit adds functions to manage secure power domain for
Amlogic SoC's using smc functionality.
Signed-off-by: Alexey Romanov <avromanov@sberdevices.ru>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230531093156.29240-2-avromanov@sberdevices.ru
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Ferass El Hafidi [Sun, 7 May 2023 12:42:29 +0000 (12:42 +0000)]
doc: boards: amlogic: add documentation for KII Pro
Add build instructions for the KII Pro set-top box.
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
Link: https://lore.kernel.org/r/20230507124109.31778-4-vitali64pmemail@protonmail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Ferass El Hafidi [Sun, 7 May 2023 12:42:24 +0000 (12:42 +0000)]
boards: amlogic: add KII Pro defconfig
Add configurations for the Videostrong KII Pro set-top box.
This defconfig is cloned from the WeTek Play2's.
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
Link: https://lore.kernel.org/r/20230507124109.31778-3-vitali64pmemail@protonmail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Ferass El Hafidi [Sun, 7 May 2023 12:42:19 +0000 (12:42 +0000)]
arm: dts: add support for Videostrong KII Pro
Import the device tree from mainline linux (v6.4-rc1) and add the
old PHY reset bindings in the PHY node, else U-Boot and linux won't
be able to use the PHY.
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
Link: https://lore.kernel.org/r/20230507124109.31778-2-vitali64pmemail@protonmail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Igor Prusov [Fri, 5 May 2023 12:56:39 +0000 (15:56 +0300)]
board: amlogic: add support for AD401 board
The AD401 board is the Amlogic A1 SoC reference board
Signed-off-by: Igor Prusov <ivprusov@sberdevices.ru>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230505125639.3605-6-ivprusov@sberdevices.ru
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Igor Prusov [Fri, 5 May 2023 12:56:38 +0000 (15:56 +0300)]
pinctrl: meson: add pinctrl driver for Amlogic A1
Based on Linux kernel commit:
dabad1ff85611 (pinctrl: meson: add pinctrl driver support for Meson-A1 SoC)
Signed-off-by: Igor Prusov <ivprusov@sberdevices.ru>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230505125639.3605-5-ivprusov@sberdevices.ru
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Igor Prusov [Fri, 5 May 2023 12:56:37 +0000 (15:56 +0300)]
ARM: meson: add A1 support
Add support for Amlogic A1 SoC family.
Signed-off-by: Igor Prusov <ivprusov@sberdevices.ru>
Signed-off-by: Evgeny Bachinin <eabachinin@sberdevices.ru>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230505125639.3605-4-ivprusov@sberdevices.ru
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Igor Prusov [Fri, 5 May 2023 12:56:36 +0000 (15:56 +0300)]
ARM: dts: sync meson-a1-ad401 from Linux 6.3-rc7
Add meson-a1-ad401.dts file from Linux 6.3-rc7
Signed-off-by: Igor Prusov <ivprusov@sberdevices.ru>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230505125639.3605-3-ivprusov@sberdevices.ru
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Igor Prusov [Fri, 5 May 2023 12:56:35 +0000 (15:56 +0300)]
ARM: dts: Add Amlogic Meson A1 DT from Linux 6.3-rc7
Import Linux 6.3-rc7 Device tree and necessary bindings for Amlogic A1
board from
6a8f57ae2eb0 ("Linux 6.3-rc7").
Signed-off-by: Igor Prusov <ivprusov@sberdevices.ru>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230505125639.3605-2-ivprusov@sberdevices.ru
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Tom Rini [Tue, 27 Jun 2023 13:39:58 +0000 (09:39 -0400)]
Merge branch 'riscv-fixes' of https://source.denx.de/u-boot/custodians/u-boot-riscv
Bin Meng [Tue, 27 Jun 2023 01:24:56 +0000 (09:24 +0800)]
riscv: Fix alignment of RELA sections in the linker scripts
In current linker script both .efi_runtime_rel and .rela.dyn sections
are of RELA type whose entry size is either 12 (RV32) or 24 (RV64).
These two are arranged as a continuous region on purpose so that the
prelink-riscv executable can fix up the PIE addresses in one loop.
However there is an 'ALIGN(8)' between these 2 sections which might
cause a gap to be inserted between these 2 sections to satisfy the
alignment requirement on RV32. This would break the assumption of
the prelink process and generate an unbootable image.
Fixes: 9a6569a043d3 ("riscv: Update alignment for some sections in linker scripts")
Signed-off-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Rick Chen <rick@andestech.com>
Heinrich Schuchardt [Mon, 1 May 2023 12:57:08 +0000 (14:57 +0200)]
MAINTAINERS: update SiFive HiFive Unmatched maintainers
Email account pragnesh.patel@sifive.com does not exist anymore.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Yanhong Wang [Fri, 28 Apr 2023 01:28:20 +0000 (09:28 +0800)]
board: starfive: Fixed errors reported when executing get_maintainer.pl
Fixed errors reported when executing 'scripts/get_maintainer.pl -f
configs/starfive_visionfive2_defconfig'.
Invalid MAINTAINERS address: 'startfive'
Signed-off-by: Yanhong Wang <yanhong.wang@starfivetech.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Tom Rini [Mon, 26 Jun 2023 15:44:06 +0000 (11:44 -0400)]
Prepare v2023.07-rc5
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Mon, 26 Jun 2023 15:43:56 +0000 (11:43 -0400)]
configs: Resync with savedefconfig
Rsync all defconfig files using moveconfig.py
Signed-off-by: Tom Rini <trini@konsulko.com>
Eduard Strehlau [Mon, 26 Jun 2023 14:31:36 +0000 (11:31 -0300)]
smegw01: Fix duplicate bootcmd
Two conflicting bootcmds were included in the environment.
Streamline to defining the bootcmd only in the env file.
Signed-off-by: Eduard Strehlau <eduard@lionizers.com>
Signed-off-by: Fabio Estevam <festevam@denx.de>
Tom Rini [Sun, 25 Jun 2023 01:36:19 +0000 (21:36 -0400)]
Merge branch '2023-06-23-assorted-important-fixes'
- Merge in a few important fixes. This includes a (partial) regression
fix, updating documentation and some sanity checking around image
loading.
Marek Vasut [Sun, 28 May 2023 21:00:30 +0000 (23:00 +0200)]
imx: hab: Simplify the mechanism
The current mechanism is unnecessarily complex. Simplify the whole mechanism
such that the entire fitImage is signed, IVT is placed at the end, followed
by CSF, and this entire bundle is also authenticated. This makes the signing
scripting far simpler.
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Sun, 28 May 2023 23:29:20 +0000 (01:29 +0200)]
imx: hab: Fix a couple of build warnings with DEBUG enabled
In case the DEBUG is enabled, these three lines warn about cast of
pointer to integer of different size, add the missing casts to fix
the warnings.
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Mon, 29 May 2023 12:04:06 +0000 (14:04 +0200)]
spl: spl_legacy: Add extra address checks
Check whether the loaded image or entry point does not overlap SPL.
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Fri, 23 Jun 2023 19:56:27 +0000 (21:56 +0200)]
ARM: imx: Add weak default reset_cpu()
Add weak default reset_cpu() implementation needed by e.g. panic().
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Fri, 23 Jun 2023 22:34:54 +0000 (00:34 +0200)]
ARM: at91: Switch sama5d2_icp_mmc to simple malloc in SPL
To avoid SRAM overflow in the SPL build, use simple malloc implementation.
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Fri, 23 Jun 2023 18:49:21 +0000 (20:49 +0200)]
mips: cpu: Use plain puts() in restart handler
This removes dependency on fprintf() , which is not available
in SPL unless full printf support is enabled.
Signed-off-by: Marek Vasut <marex@denx.de>
Mingli Yu [Mon, 19 Jun 2023 06:22:50 +0000 (14:22 +0800)]
mkimage: Use PATH_MAX for path length
Fixed when build xilinx_zynqmp in long directory ( >256):
| /buildarea1/testtest/wr_build/wr1023test_secureboot/test1-what/test2-what/test3-what/test4-what/test5-what/test6-what/test7-what/test8-what/test9-what/test10-what/test11-what/test12-what/build/tmp-glibc/work/xilinx_zynqmp-wrs-linux/u-boot-xlnx/1_v2023.01-xilinx-v2023.1+gitAUTOINC+
40a08d69e7-r0/build/fitImage-linux: Image file name (uboot-mkimage) too long, can't create tmpfile.
| Error: Bad parameters for FIT image type
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Tom Rini [Tue, 20 Jun 2023 20:00:20 +0000 (16:00 -0400)]
doc: statistics: Re-generate the last 3 releases
With some changes to our mapping files in gitdm, re-generate the last
few releases worth of statistics to correctly reflect contributions. We
only go back this far to try and find a balance between highlighting
contributions and still being reviewable.
Signed-off-by: Tom Rini <trini@konsulko.com>
Simon Glass [Sat, 17 Jun 2023 10:49:48 +0000 (11:49 +0100)]
menu: Re-enable the ANSI codes
The intent here was to allow ANSI codes to be disabled, since it was
proving impoosible to test operation of the menu code when it kept moving
the cursor. Unfortunately this ended up in the patch.
Correct this by enabling ANSI again.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Pali Rohár <pali@kernel.org>
Reported-by: Mark Kettenis <mark.kettenis@xs4all.nl>
Reported-by: Frank Wunderlich <frank-w@public-files.de>
Fixes: 32bab0eae51b ("menu: Make use of CLI character processing")
Tested-by: Mark Kettenis <kettenis@openbsd.org>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Tom Rini [Fri, 23 Jun 2023 18:23:11 +0000 (14:23 -0400)]
Merge tag 'doc-2023-07-rc6' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request doc-2023-07-rc6
* move FIT documentation to HTML
* man-pages for the bind, bootm, and unbind commands
Simon Glass [Fri, 23 Jun 2023 12:22:14 +0000 (13:22 +0100)]
doc: Improve documentation for the bootm command
Reformat and rewrite the documentation for this command.
This is a complicated command, so further improvements are welcome.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 23 Jun 2023 12:22:13 +0000 (13:22 +0100)]
doc: Bring in the command-syntax extensions
Bring this file into the documentation. For now it is not in the correct
format for a command, but it is valid rST. Futher work will improve this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 23 Jun 2023 12:22:12 +0000 (13:22 +0100)]
doc: Add signing to the FIT spec
Move this properties into the main spec.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 23 Jun 2023 12:22:11 +0000 (13:22 +0100)]
doc: Move external FIT docs into the main body
Rather than having this as an addition to the end, move this into the
main body of the spec, rewriting as needed.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 23 Jun 2023 12:22:10 +0000 (13:22 +0100)]
doc: Expand FIT tables to include all values
Add tables which include all values for type, algo, arch, algo and
compression.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 23 Jun 2023 12:22:09 +0000 (13:22 +0100)]
doc: Tidy up the format docs to be more generic
Avoid reference to uImage which is the old format. Drop the historical
language at the top and rewrite a few other sections. Correct the
U-Boot filename which is now in the boot/ directory.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 23 Jun 2023 12:22:08 +0000 (13:22 +0100)]
doc: Bring in the FIT overlay information
Bring this file into the documentation.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 23 Jun 2023 12:22:07 +0000 (13:22 +0100)]
doc: Bring in the FIT howto
Bring this file into the documentation.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 23 Jun 2023 12:22:06 +0000 (13:22 +0100)]
doc: Bring in FIT signature files
Bring these files into the documentation.
Fix 'wtih' and 'it' typos and repeated 'could' while we are here.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 23 Jun 2023 12:22:05 +0000 (13:22 +0100)]
doc: Bring in FIT x86 boot
Bring this file into the documentation.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 23 Jun 2023 12:22:04 +0000 (13:22 +0100)]
doc: Bring in the FIT examples
Convert these to rST format and add them to the index.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 23 Jun 2023 12:22:03 +0000 (13:22 +0100)]
doc: Reformat the FIT documentation to make it nicer
Fix up headings and tables to read better.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 23 Jun 2023 12:22:02 +0000 (13:22 +0100)]
doc: Convert FIT source-file format to rST
Move this document and convert it to rST. Make minimal changes, enough
for it to build successfully.
Future patches will tidy this up.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 23 Jun 2023 12:22:01 +0000 (13:22 +0100)]
doc: Move FIT into its own directory
Create a new usage/fit directory which will house information about FIT.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Wed, 21 Jun 2023 19:24:55 +0000 (21:24 +0200)]
doc: bind man-page
provide a man-page for the bind command
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Heinrich Schuchardt [Fri, 16 Jun 2023 15:11:49 +0000 (17:11 +0200)]
doc: unbind man-page
Provide a man-page for the unbind command.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Tom Rini [Thu, 22 Jun 2023 13:59:43 +0000 (09:59 -0400)]
Merge branch '2023-06-21-fix-get_ram_size-with-cache-enabled' into next
To quote the author:
Ensure that every write is flushed to memory and afterward reads are
from memory.
Since the algorithm rely on the fact that accessing to not existent
memory lead to write at addr / 2 without this modification accesses to
aliased (not physically present) addresses are cached and wrong size is
returned.
This was discovered while working on a TI AM625 based board where cache
is normally enabled, see commit
c02712a74849 ("arm: mach-k3: Enable
dcache in SPL").
Emanuele Ghidoli [Tue, 30 May 2023 13:33:27 +0000 (15:33 +0200)]
common/memsize.c: Fix get_ram_size() when cache is enabled
Ensure that every write is flushed to memory and afterward reads are
from memory.
Since the algorithm rely on the fact that accessing to not existent
memory lead to write at addr / 2 without this modification accesses
to aliased (not physically present) addresses are cached and
wrong size is returned.
This was discovered while working on a TI AM625 based board
where cache is normally enabled, see commit
c02712a74849 ("arm: mach-k3: Enable dcache in SPL").
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Emanuele Ghidoli [Tue, 30 May 2023 13:33:26 +0000 (15:33 +0200)]
sandbox: Add a dummy dcache_status() function
This adds dcache_status() so that code using it can build
without error on sandbox. This is required in preparation
of adding cache handling into get_ram_size function.
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini [Wed, 21 Jun 2023 18:42:50 +0000 (14:42 -0400)]
Merge https://source.denx.de/u-boot/custodians/u-boot-usb
Tom Rini [Wed, 21 Jun 2023 18:39:38 +0000 (14:39 -0400)]
Merge branch '2023-06-20-assorted-update' into next
- Assorted updates and improvements
Teik Heng Chong [Wed, 21 Jun 2023 03:13:58 +0000 (11:13 +0800)]
usb: dwc2: Fix the write to W1C fields in HPRT register
Fix the write to the HPRT register which treat W1C fields
as if they were mere RW. This leads to unintended clearing of such fields
This bug was found during the testing on Simics model. Referring to
specification DesignWare Cores USB 2.0 Hi-Speed On-The-Go (OTG)
Databook (3.30a)"5.3.4.8 Host Port Control and Status Register (HPRT)", the
HPRT.PrtPwr is cleared by this mistake. In the Linux driver (contrary to
U-Boot), HPRT is always read using dwc2_read_hprt0 helper function which
clears W1C bits. So after write back those bits are zeroes.
Signed-off-by: Teik Heng Chong <teik.heng.chong@intel.com>
Xavier Drudis Ferran [Wed, 21 Jun 2023 07:13:07 +0000 (09:13 +0200)]
cmd: usb: Prevent reset in usb tree/info command
Commands causing reset in some configs:
When bootflow scan is run, this will cause a UCLASS_BOOTDEV device to
be added as sibling of those UCLASS_BLK devices found in the search
chain defined in environment variable "boot_targets", until boot
succeeds from some device. This can happen automatically as part of
the default boot process on some boards (example: Rock Pi 4) depending
on the board configuration (DISTRO_DEFAULTS, BOOTSTD, BOOTCOMMAND,
etc.) because they have bootcmd=bootflow scan.
If boot doesn't succeed from any device, and usb is in boot_targets,
and an usb storage device is plugged to some usb port at boot time,
its UCLASS_MASS_STORAGE device will have a UCLASS_BOOTDEV device as
child, besides a UCLASS_BLK child.
If once the boot fails the user enters at the U-Boot shell prompt:
usb info
or
usb tree
The code in cmd/usb.c will eventually recurse into the UCLASS_BOOTDEV
device and pass a null usb_device pointer to usb_show_tree_graph() or
usb_show_info() (because it has no parent_priv_).
This causes a reset. The expected behaviour would be to ignore the
UCLASS_BOOTDEV device, continue listing the usb information and return
to the prompt.
Minimal test:
Another way to trigger this reset as a minimal test or on boards with
a different bootcmd would be:
- make sure "usb" is in environment variable boot_targets (might need
setenv boot_targets usb; and/or saveenv and reset), then, with a usb
storage device plugged to a usb port, run:
=> usb reset ; bootflow scan ; usb info
Solution:
Fix it (twice) by checking for null parent_priv_ and adding
UCLASS_BOOTDEV to the list of ignored class ids before the recursive
call.
This prevents the current particular problem with UCLASS_BOOTDEV, even
in case it ever gets some parent_priv_ struct which is not an
usb_device, despite being the child of a usb_device->dev. And it also
prevents possible future problems if other children are added to usb
devices that don't have parent_priv_ because they are not part of the
usb tree, just abstractions of functionality (like UCLASS_BLK and
UCLASS_BOOTDEV are now).
Signed-off-by: Xavier Drudis Ferran <xdrudis@tinet.cat>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
Tested-by: Marek Vasut <marex@denx.de>
AKASHI Takahiro [Thu, 8 Jun 2023 00:55:59 +0000 (09:55 +0900)]
test: dm: restore /firmware nodes after testing
dm_test_restore() is called after dm unit test is run.
But this function does not scan any nodes under /firmware since
it calls dm_scan_fdt().
This causes an issue. For instance, scmi_sandbox_agent device
will disappear after running 'ut dm scmi_sandbox_agent'.
So call dm_extended_scan() instead. This change will be coherent
with what dm_scan() and test_pre_run() does.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Masahiro Yamada [Tue, 6 Jun 2023 11:37:42 +0000 (20:37 +0900)]
stdio: Remove stdio_init()
This function is not used by anyone.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Vignesh Raghavendra [Sat, 3 Jun 2023 12:36:14 +0000 (18:06 +0530)]
configs: am64x_evm_*_defconfig: Enable High Secure device support
Enable CONFIG_TI_SECURE_DEVICE to support booting High Secure(HS)
variants of AM64x SoC.
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Masahisa Kojima [Thu, 1 Jun 2023 09:13:51 +0000 (18:13 +0900)]
configs: synquacer: increase SYS_MALLOC_F_LEN
DM_FLAG_PRE_RELOC flag is added into some drivers
by recent commits such as
1bd790bc4b ("firmware: psci: enable DM_FLAG_PRE_RELOC").
Current SYS_MALLOC_F_LEN of SynQuacer Developerbox platform
is too small, Developerbox will not boot due to lack of
heap memory.
This commit increases the size of heap memory.
Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Acked-by: Jassi Brar <jaswinder.singh@linaro.org>
Marek Vasut [Wed, 31 May 2023 01:03:58 +0000 (03:03 +0200)]
test: bdinfo: Add test for command bdinfo
Add test for command bdinfo .
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini [Tue, 30 May 2023 19:50:30 +0000 (15:50 -0400)]
python: Update requirements.txt for security issues
Per GitHub Dependabot:
- Use setuptools 65.5.1 to avoid some DoS issue
- Use requests 2.31.0 to avoid leaking some proxy information
Signed-off-by: Tom Rini <trini@konsulko.com>
Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Julien Panis [Mon, 29 May 2023 13:42:28 +0000 (15:42 +0200)]
drivers: spi: omap3_spi: Initialize mode for all channels
At first SPI transfers, multiple chip selects can be
enabled simultaneously. This is due to chip select
polarity, which is not properly initialized for all
channels. This patch fixes the issue.
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Sam Edwards [Sun, 28 May 2023 00:09:42 +0000 (18:09 -0600)]
psci: fix use of clobbered registers in asm
The functions `psci_get_context_id` and `psci_get_target_pc`
are written in C, so the C compiler may clobber registers r0-r3.
Do not use these registers to save data across calls.
Signed-off-by: Sam Edwards <CFSworks@gmail.com>
Stefano Babic [Thu, 25 May 2023 08:18:05 +0000 (10:18 +0200)]
mkimage: ecdsa: password for signing from environment
Use a variable (MKIMAGE_SIGN_PASSWORD) like already done for RSA to
allow the signing process to run in batch.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Tom Rini [Thu, 4 Jun 2020 20:35:15 +0000 (16:35 -0400)]
usb: eth: lan78xx: Fix logic in lan78xx_read_otp() to avoid a warning
In lan78xx_read_otp() we want to know if sig is LAN78XX_OTP_INDICATOR_1
or LAN78XX_OTP_INDICATOR_2. In the case of matching the first one we
set offset to itself, and clang warns about this. Rework the logic so
that if sig is the second indicator we adjust the offset as today and if
it does not match the first indicator we return -EINVAL
Cc: Marek Vasut <marex@denx.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
Mario Kicherer [Mon, 30 Jan 2023 09:21:43 +0000 (10:21 +0100)]
spl: spl-nor: return error if no valid image was loaded
If only FIT images are enabled and loading the FIT image fails,
spl_nor_load_image() should return an error instead of zero.
Without this patch:
>>SPL: board_init_r()
spl_init
Trying to boot from NOR
Unsupported OS image.. Jumping nevertheless..
image entry point: 0x0
With patch:
>>SPL: board_init_r()
spl_init
Trying to boot from NOR
SPL: failed to boot from all boot devices (err=-6)
.### ERROR ### Please RESET the board ###
Signed-off-by: Mario Kicherer <dev@kicherer.org>
Tom Rini [Tue, 20 Jun 2023 13:35:16 +0000 (09:35 -0400)]
Merge branch '2023-06-19-spl-nvme-support' into next
To quote the author:
This patchset adds support to load images of the SPL's next booting
stage from a NVMe device
Mayuresh Chitale [Sat, 3 Jun 2023 14:02:56 +0000 (19:32 +0530)]
common: spl: Add spl NVMe boot support
Add support to load the next stage image from an NVMe disk which may
be formatted as an EXT or FAT filesystem.
Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
[trini: Drop hunk changing disk/part.c as that breaks other users]
Signed-off-by: Tom Rini <trini@konsulko.com>
Mayuresh Chitale [Sat, 3 Jun 2023 14:02:55 +0000 (19:32 +0530)]
nvme: pci: Enable for SPL
Enable NVME and PCI NVMe drivers for SPL builds. Also enable PCI_PNP
for SPL which is required to auto configure the PCIe devices.
Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Mayuresh Chitale [Sat, 3 Jun 2023 14:02:54 +0000 (19:32 +0530)]
spl: blk: Support loading images from fs
Add a generic API to support loading of SPL payload from any supported
filesystem on a given partition of a block device.
Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Mayuresh Chitale [Sat, 3 Jun 2023 14:02:53 +0000 (19:32 +0530)]
spl: Add Kconfig options for NVME
Add kconfig options to enable NVME and PCI NVMe support in SPL
Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Michal Simek [Mon, 5 Jun 2023 11:58:59 +0000 (13:58 +0200)]
global: Use proper project name U-Boot (next)
Use proper project name in DTs, messages and READMEs.
Signed-off-by: Michal Simek <michal.simek@amd.com>
Tom Rini [Mon, 19 Jun 2023 20:43:53 +0000 (16:43 -0400)]
Merge branch '2023-06-19-corstone1000-fwu-updates' into next
To quote the author:
Now that the nvmxip block driver is merged we can add on top
of it the platform code to use GPT and FWU metadata in the
Corstone1000.
But first, push 2 fixes that are needed to make all this work:
- move nvmxip header to include
- setup fwu metadata structures as packed (we have a 32bit
writer - Secure enclave Cortex-M0 and a 64bit reader host
Cortex-A35)
Rui Miguel Silva [Mon, 12 Jun 2023 08:09:20 +0000 (09:09 +0100)]
corstone1000: add nvmxip, fwu-mdata and gpt options
Enable the newest features: nvmxip, fwu-metadata and
gpt. Commands to print the partition info, gpt info
and fwu metadata will be available.
Adjust also env boot script the address of the
bootbank with the new gpt layout, and also remove
the not needed kernel address bank0 and bank1
and retrieve function that would test the bank flag
before and now we are getting the info from the fwu
metadata.
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Rui Miguel Silva [Mon, 12 Jun 2023 08:09:19 +0000 (09:09 +0100)]
corstone1000: set kernel_addr based on boot_idx
We need to distinguish between boot banks and from which
partition to load the kernel+initramfs to memory.
For that, fetch the boot index, fetch the correspondent
partition, calculate the correct kernel address and
then set the env variable kernel_addr with that value.
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Rui Miguel Silva [Mon, 12 Jun 2023 08:09:18 +0000 (09:09 +0100)]
corstone1000: add boot index
it is expected that the firmware that runs before
u-boot somehow provide the information of the bank
for now we will fetch the info from the metadata
since the Secure enclave is the one responsible for
this information.
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Rui Miguel Silva [Mon, 12 Jun 2023 08:09:17 +0000 (09:09 +0100)]
corstone1000: add fwu-metadata store info
Add fwu-mdata node and handle for the reference
nvmxip-qspi.
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>