]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
8 weeks agonet: hifemac_mdio: use log_msg_ret() correctly, report error by dev_err()
Yang Xiwen [Mon, 22 Jan 2024 14:33:20 +0000 (22:33 +0800)] 
net: hifemac_mdio: use log_msg_ret() correctly, report error by dev_err()

The initial commit used log_msg_ret() wrongly. Fix that by moving error
report to a separate dev_err() call and shrink the first argument of
log_msg_ret() to no more than 4 chars.

Fixes: 6b5c8d98e204 ("net: add hifemac_mdio MDIO bus driver for HiSilicon platform")
Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
8 weeks agonet: phy: the NC-SI phy device do not require mdio bus
Jacky Chou [Mon, 15 Jan 2024 10:34:47 +0000 (18:34 +0800)] 
net: phy: the NC-SI phy device do not require mdio bus

As with fixed-link phy device, the NC-SI phy devive does not
require an mdio bus. So, a condition is added to check the
NC-SI phy id to avoid accessing the bus pointer that is NULL.

Signed-off-by: Jacky Chou <jacky_chou@aspeedtech.com>
8 weeks agonet: phy: Fix signed shift overflow
Eugeniu Rosca [Thu, 4 Jan 2024 04:26:23 +0000 (05:26 +0100)] 
net: phy: Fix signed shift overflow

Booting R-Car Gen3 arm64 U-Boot with CONFIG_UBSAN=y resulted in:

 =====================================================================
 UBSAN: Undefined behaviour in drivers/net/phy/phy.c:728:19
 left shift of 1 by 31 places cannot be represented in type 'int'
 =====================================================================

Fix it by appending the UL suffix to the numeric literal. While at it,
convert the type of "addr" variable from signed to unsigned, to protect
against shifting the numeric literal by a negative value (which would
lead to yet another undefined behavior).

Fixes: 1adb406b0141 ("phy: add phy_find_by_mask/phy_connect_dev")
Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
* Using U-suffix for integer is sufficient.
* ffs() of non-zero value cannot be 0. But addr being unsigned is
* preferable.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
8 weeks agonet: phy: broadcom: Configure LEDs on BCM54210E
Marek Vasut [Mon, 1 Jan 2024 21:07:47 +0000 (22:07 +0100)] 
net: phy: broadcom: Configure LEDs on BCM54210E

Configure LEDs on BCM54210E so they would blink on activity
and indicate link speed. Without this the LEDs are always on
if cable is plugged in.

Signed-off-by: Marek Vasut <marex@denx.de>
8 weeks agonet: phy: ncsi: fixed not nullify the pointers after free
Jacky Chou [Fri, 29 Dec 2023 01:45:55 +0000 (09:45 +0800)] 
net: phy: ncsi: fixed not nullify the pointers after free

The issue occurs the UAF (use-after-free) to cause double free
when do the realloc function for the pointers during the
reinitialization NC-SI process, and it will cause the memory
management occurs error.
So, nullify these pointers after free.

Signed-off-by: Jacky Chou <jacky_chou@aspeedtech.com>
8 weeks agoMerge tag 'v2024.04-rc5' into next
Tom Rini [Tue, 26 Mar 2024 02:15:47 +0000 (22:15 -0400)] 
Merge tag 'v2024.04-rc5' into next

Prepare v2024.04-rc5

8 weeks agoPrepare v2024.04-rc5 v2024.04-rc5
Tom Rini [Tue, 26 Mar 2024 01:55:55 +0000 (21:55 -0400)] 
Prepare v2024.04-rc5

Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoMerge tag 'u-boot-at91-2024.07-a' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Mon, 25 Mar 2024 12:18:20 +0000 (08:18 -0400)] 
Merge tag 'u-boot-at91-2024.07-a' of https://source.denx.de/u-boot/custodians/u-boot-at91 into next

First set of u-boot-at91 features for the 2024.07 cycle:
- This feature set includes a new board named sama7g54 Curiosity.

8 weeks agoMerge tag 'u-boot-amlogic-fixes-20240325' of https://source.denx.de/u-boot/custodians...
Tom Rini [Mon, 25 Mar 2024 12:18:53 +0000 (08:18 -0400)] 
Merge tag 'u-boot-amlogic-fixes-20240325' of https://source.denx.de/u-boot/custodians/u-boot-amlogic

- fix Ethernet and random MAC's on WeTek Hub/Play2
- fix buffer overflow in serial, mac & usid read

8 weeks agoboard: amlogic: fix buffler overflow in seria, mac & usid read
Neil Armstrong [Wed, 20 Mar 2024 08:46:11 +0000 (09:46 +0100)] 
board: amlogic: fix buffler overflow in seria, mac & usid read

While meson_sm_read_efuse() doesn't overflow, the string is not
zero terminated and env_set*() will buffer overflow and add random
characters to environment.

Acked-by: Viacheslav Bocharov <adeep@lexina.in>
Link: https://lore.kernel.org/r/20240320-u-boot-fix-p200-serial-v2-1-972be646a301@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
8 weeks agoboard: amlogic: add meson_generate_serial_ethaddr fallback to p200
Christian Hewitt [Sun, 24 Mar 2024 15:19:05 +0000 (15:19 +0000)] 
board: amlogic: add meson_generate_serial_ethaddr fallback to p200

Add a fall-back method to generate ethaddr from CPU serial on p200 boards
if the MAC cannot be read from efuse. This prevents random MAC addresses
on the WeTek Hub/Play2 boards.

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Link: https://lore.kernel.org/r/20240324151905.3817732-3-christianshewitt@gmail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
8 weeks agoARM: dts: fix Ethernet on WeTek Hub/Play2
Christian Hewitt [Sun, 24 Mar 2024 15:19:04 +0000 (15:19 +0000)] 
ARM: dts: fix Ethernet on WeTek Hub/Play2

Placing the snps,reset content needed for Ethernet to probe in a common
uboot.dtsi results in the content not being used and broken Ethernet. Fix
this by creating two board specific dtsi files with the right content.

Fixes: 67d5128df950 ("ARM: dts: add support for WeTek Hub and WeTek Play2")
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Link: https://lore.kernel.org/r/20240324151905.3817732-2-christianshewitt@gmail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
8 weeks agoMerge tag 'u-boot-imx-next-20240324' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Sun, 24 Mar 2024 21:49:42 +0000 (17:49 -0400)] 
Merge tag 'u-boot-imx-next-20240324' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next

- Add ahab_commit command support.
- Add USB support for the imx93-phyboard-segin board.
- Add i.MX8MP PCIe support.
- Fix netboot environment on phycore_imx8mp.

8 weeks agoboard: phytec: phycore_imx8mp.env fix netboot issues
Yannic Moog [Fri, 22 Mar 2024 12:55:28 +0000 (13:55 +0100)] 
board: phytec: phycore_imx8mp.env fix netboot issues

The "run netargs" command should come later in the "netboot" command
order when using dhcp since it sets the server and client ip addresses.
The previous order led to misconfigured kernel boot params and thus
kernel panic when serverip was not manually set.
Further, following Linux FHS 3.0, change the nfsroot default directory
to /srv/nfs.

Fixes: 60f64bec414e ("board: phytec: phycore_imx8mp: Add fec support")
Signed-off-by: Yannic Moog <y.moog@phytec.de>
8 weeks agoconfigs: imx93-phyboard-segin: Add fastboot support
Mathieu Othacehe [Thu, 21 Mar 2024 14:45:41 +0000 (15:45 +0100)] 
configs: imx93-phyboard-segin: Add fastboot support

Enable the `fastboot` command.

Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
8 weeks agoconfigs: imx93-phyboard-segin: Add USB support
Mathieu Othacehe [Thu, 21 Mar 2024 14:45:40 +0000 (15:45 +0100)] 
configs: imx93-phyboard-segin: Add USB support

Add USB support by enabling `usb` command and required USB drivers.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
8 weeks agoarm: dts: imx93-phyboard-segin: Add USB support
Mathieu Othacehe [Thu, 21 Mar 2024 14:45:39 +0000 (15:45 +0100)] 
arm: dts: imx93-phyboard-segin: Add USB support

Enable both usbotg1 and usbotg2 ports. Disable over-current as OC pins are
not connected to the SoC.

This addition to imx93-phyboard-segin-u-boot.dtsi is temporary,
until USB support is added to imx93-phyboard-segin.dts in Linux.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
8 weeks agoimx: ele_ahab: Add ahab_commit command support
Mathieu Othacehe [Thu, 21 Mar 2024 07:19:53 +0000 (08:19 +0100)] 
imx: ele_ahab: Add ahab_commit command support

This message is used to commit into the fuses any new SRK revocation and
FW version information that have been found into the NXP (ELE FW) and
OEM containers.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
8 weeks agoMAINTAINERS: Add entry for PCIe DWC IMX driver
Sumit Garg [Thu, 21 Mar 2024 14:55:07 +0000 (20:25 +0530)] 
MAINTAINERS: Add entry for PCIe DWC IMX driver

Add myself as maintainer for PCIe DWC IMX driver support.

Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
8 weeks agoimx8mp_venice_defconfig: Enable PCIe/NVMe support
Tim Harvey [Thu, 21 Mar 2024 14:55:06 +0000 (20:25 +0530)] 
imx8mp_venice_defconfig: Enable PCIe/NVMe support

Enable PCIe/NVMe support. Also, enable the reset, regmap and syscon
drivers which are a prerequisite for PCIe support.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
[SG: rebased to next branch tip]
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
8 weeks agoverdin-imx8mp_defconfig: Enable PCIe/NVMe support
Sumit Garg [Thu, 21 Mar 2024 14:55:05 +0000 (20:25 +0530)] 
verdin-imx8mp_defconfig: Enable PCIe/NVMe support

Enable PCIe/NVMe support. Also, enable the reset driver which
is a prerequisite for PCIe support.

Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
8 weeks agopcie_imx: Update header to describe it as a legacy driver
Sumit Garg [Thu, 21 Mar 2024 14:55:04 +0000 (20:25 +0530)] 
pcie_imx: Update header to describe it as a legacy driver

Since now we have the modern pcie_dw_imx.c driver for iMX SoCs,
encourage people to switch to that for any further new iMX SoC support
or even for the older iMX6 SoCs too.

Suggested-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Marek Vasut <marex@denx.de>
8 weeks agopci: Add DW PCIe controller support for iMX8MP SoC
Sumit Garg [Thu, 21 Mar 2024 14:55:03 +0000 (20:25 +0530)] 
pci: Add DW PCIe controller support for iMX8MP SoC

pcie_imx doesn't seem to share any useful code for iMX8 SoC and it is
tied to quite old port of pcie_designware driver from Linux which
suffices only iMX6 specific needs.

But currently we have the common DWC specific bits which alligns pretty
well with DW PCIe controller on iMX8MP SoC. So lets reuse those common
bits instead as a new driver for iMX8 SoCs. It should be fairly easy to
add support for other iMX8 variants to this driver.

iMX8MP SoC also comes up with standalone PCIe PHY support, so hence we
can reuse the generic PHY infrastructure to power on PCIe PHY.

Tested-by: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice*
Tested-by: Adam Ford <aford173@gmail.com> #imx8mp-beacon-kit
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
8 weeks agophy: phy-imx8m-pcie: Add support for i.MX8M{M/P} PCIe PHY
Sumit Garg [Thu, 21 Mar 2024 14:55:02 +0000 (20:25 +0530)] 
phy: phy-imx8m-pcie: Add support for i.MX8M{M/P} PCIe PHY

Add initial support for i.MX8M{M/P} PCIe PHY. On i.MX8M{M/P} SoCs PCIe
PHY initialization moved to this standalone PHY driver.

Inspired from counterpart Linux kernel v6.8-rc3 driver:
drivers/phy/freescale/phy-fsl-imx8m-pcie.c. Use last Linux kernel driver
reference commit 7559e7572c03 ("phy: Explicitly include correct DT
includes").

Tested-by: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice*
Tested-by: Adam Ford <aford173@gmail.com> #imx8mp-beacon-kit
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
8 weeks agoimx8mp: power-domain: Expose high performance PLL clock
Sumit Garg [Thu, 21 Mar 2024 14:55:01 +0000 (20:25 +0530)] 
imx8mp: power-domain: Expose high performance PLL clock

Expose the high performance PLL as clock framework clock, so the
PCIe PHY can use it when there is no external refclock provided.

Inspired from counterpart Linux kernel v6.8-rc3 driver:
drivers/pmdomain/imx/imx8mp-blk-ctrl.c. Use last Linux kernel driver
reference commit 7476ddfd36ac ("pmdomain: imx8mp-blk-ctrl: Convert to
platform remove callback returning void").

Tested-by: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice*
Tested-by: Adam Ford <aford173@gmail.com> #imx8mp-beacon-kit
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
8 weeks agoimx8mp: power-domain: Add PCIe support
Sumit Garg [Thu, 21 Mar 2024 14:55:00 +0000 (20:25 +0530)] 
imx8mp: power-domain: Add PCIe support

Add support for GPCv2 power domains and clock handling for PCIe and
PCIe PHY.

Tested-by: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice*
Tested-by: Adam Ford <aford173@gmail.com> #imx8mp-beacon-kit
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
8 weeks agoreset: imx: Add support for i.MX8MP reset controller
Sumit Garg [Thu, 21 Mar 2024 14:54:59 +0000 (20:24 +0530)] 
reset: imx: Add support for i.MX8MP reset controller

Add support for i.MX8MP reset controller, it has same reset IP inside
as the other iMX7 and iMX8M variants but with different module layout.

Inspired from counterpart Linux kernel v6.8-rc3 driver:
drivers/reset/reset-imx7.c. Use last Linux kernel driver reference
commit bad8a8afe19f ("reset: Explicitly include correct DT includes").

Tested-by: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice*
Tested-by: Adam Ford <aford173@gmail.com> #imx8mp-beacon-kit
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
8 weeks agoreset: imx: Refactor driver to simplify function names
Sumit Garg [Thu, 21 Mar 2024 14:54:58 +0000 (20:24 +0530)] 
reset: imx: Refactor driver to simplify function names

imx7_reset_{deassert/assert}_imx* are a bit more confusing when compared
with imx*_reset_{deassert/assert}. So refactor driver to use function
names easier to understand. This shouldn't affect the functionality
though.

Suggested-by: Marek Vasut <marex@denx.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
8 weeks agoclk: imx8mp: Add support for PCIe clocks
Sumit Garg [Thu, 21 Mar 2024 14:54:57 +0000 (20:24 +0530)] 
clk: imx8mp: Add support for PCIe clocks

Add support for PCIe clocks required to enable PCIe support on
iMX8MP SoC.

Tested-by: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice*
Tested-by: Adam Ford <aford173@gmail.com> #imx8mp-beacon-kit
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
2 months agoremoteproc: uclass: Add methods to load firmware to rproc and boot rproc
MD Danish Anwar [Thu, 21 Mar 2024 10:28:19 +0000 (15:58 +0530)] 
remoteproc: uclass: Add methods to load firmware to rproc and boot rproc

Add APIs to set a firmware_name to a rproc and boot the rproc with the
same firmware.

Clients can call rproc_set_firmware() API to set firmware_name for a rproc
whereas rproc_boot() will load the firmware set by rproc_set_firmware() to
a buffer by calling request_firmware_into_buf(). rproc_boot() will then
load the firmware file to the remote processor and start the remote
processor.

Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Acked-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
2 months agoremoteproc: k3-dsp: Extend support for C71x DSPs on J721S2 SoCs
Hari Nagalla [Tue, 12 Mar 2024 09:44:36 +0000 (15:14 +0530)] 
remoteproc: k3-dsp: Extend support for C71x DSPs on J721S2 SoCs

The K3 J721S2 SoCs have two C71x DSP subsystems in MAIN voltage domain,
and there are no C66x DSP subsystems on these SoCs. The C71x DSP subsystem
is a slighly updated version of the C71x DSP subsystem on J721e. The
C71x DSPs are 64 bit machine with fixed and floating point DSP
operations.

Extend support to the C71x DSPs with J721S2 compatible strings.

Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2 months agoremoteproc: k3-r5: Extend support for R5F clusters on J721S2 SoCs
Hari Nagalla [Tue, 12 Mar 2024 09:44:35 +0000 (15:14 +0530)] 
remoteproc: k3-r5: Extend support for R5F clusters on J721S2 SoCs

The K3 J721S2 SoCs have three dual-core R5F subsystems, one in MCU
voltage domain and the other two in MAIN voltage domain. These R5F
clusters are similar to the R5F clusters in J7200 SoCs.

Compatible Info is updated to support J721S2 SoCs.

Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2 months agoboard: toradex: verdin-am62_r5: Increase SPL_STACK_R_MALLOC_SIMPLE_LEN
Hiago De Franco [Wed, 20 Mar 2024 16:48:45 +0000 (13:48 -0300)] 
board: toradex: verdin-am62_r5: Increase SPL_STACK_R_MALLOC_SIMPLE_LEN

Increase the SPL_STACK_R_MALLOC_SIMPLE_LEN to 0x200000 to accommodate the
size of tispl.bin fit image. With the recent upgrade of ti-linux-firmware
from version v9.1.0 to v9.2.5, the size of tispl.bin fit image has
increased to 1.4MB, causing allocation errors in the R5 SPL:

```
alloc space exhausted
Could not get FIT buffer of 1325056 bytes
        check CONFIG_SPL_SYS_MALLOC_SIZE
```

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2 months ago.mailmap entry for Masahisa Kojima
Heinrich Schuchardt [Mon, 18 Mar 2024 10:47:16 +0000 (11:47 +0100)] 
.mailmap entry for Masahisa Kojima

The Linaro mail address is not valid anymore.

Cc: kojima.masahisa@socionext.com
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Masahisa Kojima <kojima.masahisa@socionext.com>
2 months agoarm: dts: k3-am625-verdin-r5: Change CPU frequency to 800MHz
Joao Paulo Goncalves [Tue, 19 Mar 2024 14:04:27 +0000 (11:04 -0300)] 
arm: dts: k3-am625-verdin-r5: Change CPU frequency to 800MHz

The lowest speed grade of Toradex AM62 SoMs is K speed, resulting in a
max value of 800MHz for the CPU operating frequency. A solution with
runtime selection of the CPU frequency is already planned to avoid these
kinds of problems in the future.

Fixes: 8fb8a6d49977 ("arm: dts: k3-am625-verdin-r5:Change CPU frequency to 1000MHz")
Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
2 months agoclk: clk-imx8qm: Add LPUART IPG entries
Fabio Estevam [Fri, 8 Mar 2024 20:13:16 +0000 (17:13 -0300)] 
clk: clk-imx8qm: Add LPUART IPG entries

Since commit cc7df0b9e8bc ("serial: lpuart: Enable IPG clock")
the apalis-imx8qm board no longer boots.

The reason is that the imx8qm clock driver does not handle the
LPUART IPG clocks inside get_rate(), set_rate() and enable() functions.

Fix the boot regression by adding the LPUART IPG entries.

Fixes: cc7df0b9e8bc ("serial: lpuart: Enable IPG clock")
Reported-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 months agoclk: clk-imx8qxp: Add LPUART IPG entries
Fabio Estevam [Fri, 8 Mar 2024 20:13:15 +0000 (17:13 -0300)] 
clk: clk-imx8qxp: Add LPUART IPG entries

Since commit cc7df0b9e8bc ("serial: lpuart: Enable IPG clock")
the colibri-imx8qxp board no longer boots.

The reason is that the imx8qxp clock driver does not handle the
LPUART IPG clocks inside get_rate(), set_rate() and enable() functions.

Fix the boot regression by adding the LPUART IPG entries.

Fixes: cc7df0b9e8bc ("serial: lpuart: Enable IPG clock")
Reported-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Tested-by: Hiago De Franco <hiago.franco@toradex.com> # Toradex Colibri iMX8X
Acked-by: Sean Anderson <seanga2@gmail.com>
2 months agoMerge tag 'efi-2024-04-rc5-2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Thu, 21 Mar 2024 12:35:23 +0000 (08:35 -0400)] 
Merge tag 'efi-2024-04-rc5-2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2024-04-rc5-2

Documentation:

* patman: Properly document the patchwork_url setting
* doc: man-page for if
* colibri-imx8x, apalis-imx8: update board documentation

UEFI:

* correct handling of EFI binary return code
* don't show usage help if EFI binary fails.
* correct error handling for bootefi selftest command

2 months agoMerge tag 'efi-next-20240321' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Thu, 21 Mar 2024 12:34:41 +0000 (08:34 -0400)] 
Merge tag 'efi-next-20240321' of https://source.denx.de/u-boot/custodians/u-boot-efi into next

Pull request efi-next-20240321

Documentation:

* Avoid short reference link names in device-tree documentation.

UEFI/Video:

* Support code page 437 code points 1 - 31 used by GRUB

2 months agopatman: Properly document the patchwork_url setting
Douglas Anderson [Mon, 11 Mar 2024 21:02:45 +0000 (14:02 -0700)] 
patman: Properly document the patchwork_url setting

The "Series-patchwork-url:" tag description says that it overrides the
settings file but doesn't specify the name of the setting. Elsewhere
in the documentation about the "useful" settings we see a setting that
sounds promising called "patchwork_server" that's actually not a valid
setting. It should be "patchwork_url".

Fix these problems so the doc is right and more useful.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
2 months agodoc: typo Synopis
Heinrich Schuchardt [Sat, 16 Mar 2024 10:09:36 +0000 (11:09 +0100)] 
doc: typo Synopis

%s/Synopis/Synopsis/g

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 months agodoc: man-page for if
Heinrich Schuchardt [Sat, 16 Mar 2024 09:57:41 +0000 (10:57 +0100)] 
doc: man-page for if

Provide a man-page for the if command.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 months agocmd: bootefi: error handling bootefi selftest
Heinrich Schuchardt [Sat, 16 Mar 2024 09:36:44 +0000 (10:36 +0100)] 
cmd: bootefi: error handling bootefi selftest

If bootefi selftest is executed and a problem with the device-tree
installation occurs, efi_install_fdt() writes sensible error messages.
It never returns EFI_INVALID_PARAMETER. It neither makes sense to check
for EFI_INVALID_PARAMETER nor to show the usage help for the bootefi
command in this case.

Fixes: 296faf4f7ef1 ("cmd: bootefi: re-organize do_bootefi()")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 months agocmd: bootefi: Don't show usage help if EFI binary fails.
Heinrich Schuchardt [Sat, 16 Mar 2024 09:36:43 +0000 (10:36 +0100)] 
cmd: bootefi: Don't show usage help if EFI binary fails.

If an EFI binary returns an error code EFI_INVALID_PARAMETER, we show the
usage help for the bootefi command:

    Shell> exit 0x8000000000000002
    ## Application failed, r = 2
    bootefi - Boots an EFI payload from memory

    Usage:
    bootefi <image address>[:<image size>] [<fdt address>]
      - boot EFI payload
    bootefi bootmgr [fdt address]
      - load and boot EFI payload based on BootOrder/BootXXXX variables.

        If specified, the device tree located at <fdt address> gets
        exposed as EFI configuration table.

This makes no sense.

Fixes: 296faf4f7ef1 ("cmd: bootefi: re-organize do_bootefi()")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 months agoefi_loader: correct handling of EFI binary return code
Heinrich Schuchardt [Sat, 16 Mar 2024 09:36:42 +0000 (10:36 +0100)] 
efi_loader: correct handling of EFI binary return code

We should not try to remove protocol interfaces from a NULL handle.
efi_run_image() should always return the return code of the executed EFI
binary.

Fixes: 6422820ac3e5 ("efi_loader: split unrelated code from efi_bootmgr.c")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 months agodoc: board: apalis-imx8: Update and improve documentation
Hiago De Franco [Fri, 15 Mar 2024 21:56:57 +0000 (18:56 -0300)] 
doc: board: apalis-imx8: Update and improve documentation

Update and improve the building documentation of Apalis iMX8.
The following changes were made:
- imx-atf repository changed to nxp-imx GitHub.
- imx-atf branch updated to 'lf_v2.6'.
- imx-seco updated to version 5.8.7.
- nxp-imx mfgtools link updated to GitHub releases.
- General writing improvements.

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2 months agodoc: board: colibri-imx8x: Update and improve documentation
Hiago De Franco [Fri, 15 Mar 2024 21:56:56 +0000 (18:56 -0300)] 
doc: board: colibri-imx8x: Update and improve documentation

Update and improve the building documentation of Colibri iMX8X.
The following changes were made:
- imx-atf repository changed to nxp-imx GitHub.
- imx-atf branch updated to 'lf_v2.6'.
- imx-seco updated to version 5.8.7.
- nxp-imx mfgtools link updated to GitHub releases.
- General writing improvements.

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2 months agodoc: typo Synopis
Heinrich Schuchardt [Sat, 16 Mar 2024 10:09:36 +0000 (11:09 +0100)] 
doc: typo Synopis

%s/Synopis/Synopsis/g

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 months agoefi_selftest: Update StrToFat() unit test after CP473 map extension
Janne Grunau [Sat, 16 Mar 2024 21:50:24 +0000 (22:50 +0100)] 
efi_selftest: Update StrToFat() unit test after CP473 map extension

Test that Unicode code points which map to CP437 code points 1-31 are
converted to '_'. This ensures no FAT file names do not contain chars
which are control characters in other code pages (CP 1250 for example).

Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2 months agoefi_selftest: Add geometric shapes character selftest
Janne Grunau [Sat, 16 Mar 2024 21:50:23 +0000 (22:50 +0100)] 
efi_selftest: Add geometric shapes character selftest

Draw symbols from Unicode's "Geometric shapes" page which translate to
code page 437 code points 1-31. These are used by UEFI applications to
draw user interfaces using EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.
The output has to be checked manually on the screen for correctness.

Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2 months agoefi_selftest: Add box drawing character selftest
Andre Przywara [Sat, 16 Mar 2024 21:50:22 +0000 (22:50 +0100)] 
efi_selftest: Add box drawing character selftest

UEFI applications rely on Unicode output capability, and might use that
for drawing pseudo-graphical interfaces using Unicode defined box
drawing characters.

Add a simple test to display the most basic box characters, which would
need to be checked manually on the screen for correctness.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2 months agoefi_selftest: Add international characters test
Andre Przywara [Sat, 16 Mar 2024 21:50:21 +0000 (22:50 +0100)] 
efi_selftest: Add international characters test

UEFI relies entirely on unicode output, which actual fonts displayed on
the screen might not be ready for.

Add a test displaying some international characters, to reveal missing
glyphs, especially in our builtin fonts.
This would be needed to be manually checked on the screen for
correctness.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2 months agolib/charset: Map Unicode code points to CP437 code points 1-31
Janne Grunau [Sat, 16 Mar 2024 21:50:20 +0000 (22:50 +0100)] 
lib/charset: Map Unicode code points to CP437 code points 1-31

Code page 437 uses code points 1-31 for glyphs instead of control
characters. Map the appropriate Unicode code points to this code points.
Fixes rendering of grub2's menu as EFI application using the
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL on a console with bitmap fonts.

Signed-off-by: Janne Grunau <j@jannau.net>
2 months agovideo: console: Parse UTF-8 character sequences
Janne Grunau [Sat, 16 Mar 2024 21:50:19 +0000 (22:50 +0100)] 
video: console: Parse UTF-8 character sequences

efi_console / UEFI applications (grub2, sd-boot, ...) pass UTF-8
character sequences to vidconsole which results in wrong glyphs for code
points outside of ASCII. The truetype console expects Unicode code
points and bitmap font based consoles expect code page 437 code points.
To support both convert UTF-8 to UTF-32 and pass Unicode code points in
vidconsole_ops.putc_xy(). These can be used directly in console_truetype
and after conversion to code page 437 in console_{normal,rotate}.

This fixes rendering of international, symbol and box drawing characters
used by UEFI applications.

Signed-off-by: Janne Grunau <j@jannau.net>
2 months agodoc: devicetree: Lets avoid short reference link names
Sumit Garg [Fri, 1 Mar 2024 13:24:53 +0000 (18:54 +0530)] 
doc: devicetree: Lets avoid short reference link names

Short reference link names like "dtspec", "dtrepo", "dttweaks" etc.
interrupt the flow of the document text. Lets avoid them and instead
expand in place for better readability.

Suggested-by: Paul Barker <paul.barker.ct@bp.renesas.com>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2 months agotest: dm: add button_cmd test
Caleb Connolly [Tue, 19 Mar 2024 13:24:42 +0000 (13:24 +0000)] 
test: dm: add button_cmd test

Add a test for the button_cmd feature. This validates that commands can
be mapped to two buttons, that the correct command runs based on which
button is pressed, that only 1 command is run, and that no command runs
if button_cmd_0_name is wrong or unset.

Additionally, fix a potential uninitialised variable use caught by these
tests, the btn variable in get_button_cmd() is assumed to be null if
button_get_by_label() fails, but it's actually used uninitialised in
that case.

CONFIG_BUTTON is now enabled automatically and was removed when running
save_defconfig.

Fixes: e761035b6423 ("boot: add support for button commands")
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
2 months agoMakefile: Add missing OF_UPSTREAM Makefile for 32bit ARM
Marek Vasut [Mon, 18 Mar 2024 15:03:14 +0000 (16:03 +0100)] 
Makefile: Add missing OF_UPSTREAM Makefile for 32bit ARM

Copy dts/upstream/src/arm64/Makefile into dts/upstream/src/arm/Makefile
and create a commit. This makes 32bit ARM buildable with OF_UPSTREAM .

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Tested-by: Adam Ford <aford173@gmail.com> #am3517-evm
Tested-by: Tony Dinh <mibodhi@gmail.com>
2 months agogpio: mcp230xx: Add support for models with SPI interface.
Piotr Wojtaszczyk [Wed, 13 Mar 2024 11:54:56 +0000 (12:54 +0100)] 
gpio: mcp230xx: Add support for models with SPI interface.

Signed-off-by: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com>
2 months agoarm: dts: ast2600-x4tf: Add new dts for ASUS X4TF
Kelly Hung [Wed, 13 Mar 2024 10:27:25 +0000 (18:27 +0800)] 
arm: dts: ast2600-x4tf: Add new dts for ASUS X4TF

This is the new bmc dts for ASUS X4TF server.

Signed-off-by: Kelly Hung <Kelly_Hung@asus.com>
2 months agospl: Improve error message for SPL memory allocation
Leo Yu-Chi Liang [Wed, 13 Mar 2024 06:53:15 +0000 (14:53 +0800)] 
spl: Improve error message for SPL memory allocation

There could be two memory allocation scheme in SPL phase.
Explicitly print the corresponding error message.

Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2 months agoMerge branch '2024-03-19-assorted-updates' into next
Tom Rini [Wed, 20 Mar 2024 12:39:05 +0000 (08:39 -0400)] 
Merge branch '2024-03-19-assorted-updates' into next

- TI J7200 updates, GIC-600 support, 2 more tests, fix parsing
  ccsidr_el1 register in some cases, prepare for allowing remoteproc to
  use fs_loader and make the binary_size_check rule not require 'bc'.

2 months agotest/py: reset: Add a test for reset command
Love Kumar [Tue, 12 Mar 2024 08:48:33 +0000 (14:18 +0530)] 
test/py: reset: Add a test for reset command

Add a test for reset commands which performs resetting of CPU, It does
COLD reset by default and WARM reset with -w option.

Signed-off-by: Love Kumar <love.kumar@amd.com>
2 months agotest/py: saveenv: Add a test for saveenv command
Love Kumar [Tue, 12 Mar 2024 08:46:10 +0000 (14:16 +0530)] 
test/py: saveenv: Add a test for saveenv command

Add test case for saveenv command in non-JTAG bootmode which saves the
u-boot environment variables in persistent storage.

Signed-off-by: Love Kumar <love.kumar@amd.com>
2 months agoMakefile: use shell to calculate map_size
Leon M. Busch-George [Sun, 10 Mar 2024 21:53:52 +0000 (22:53 +0100)] 
Makefile: use shell to calculate map_size

The error message "bc: command not found" is easily missed since the
build continues.
bc is not a part of coreutils or base-devel. POSIX sh can also do the
calculation.

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
2 months agoarm: Check FEAT_CCIDX when parsing ccsidr_el1 register
Lukasz Wiecaszek [Sun, 10 Mar 2024 10:29:58 +0000 (11:29 +0100)] 
arm: Check FEAT_CCIDX when parsing ccsidr_el1 register

Current Cache Size ID Register (ccsidr_el1) has two "flavors"
depending on whether FEAT_CCIDX is implemented or not.
When FEAT_CCIDX is implemented Associativity parameter
is coded on bits [23:3] and NumSets parameter on bits [55:32].
When FEAT_CCIDX is not implemented then Associativity parameter
is coded on bits [12:3] and NumSets parameter on bits [27:13].
Current U-Boot code does not check whether FEAT_CCIDX is implemented
and always parses ccsidr_el1 as if FEAT_CCIDX was not implemented.
This is of course wrong on systems where FEAT_CCIDX is implemented.
This patch fixes that problems and tests whether FEAT_CCIDX
is implemented or not and accordingly parses the ccsidr_el1 register.

Signed-off-by: Lukasz Wiecaszek <lukasz.wiecaszek@gmail.com>
2 months agoarm64: gic: Add power up sequence for GIC-600
Venkatesh Yadav Abbarapu [Wed, 6 Mar 2024 11:24:41 +0000 (16:54 +0530)] 
arm64: gic: Add power up sequence for GIC-600

Arm's GIC-600 features a Power Register (GICR_PWRR),
which needs to be programmed to enable redistributor
operation. Power on the redistributor and  wait until
the power on state is reflected by checking the bit
GICR_PWRR.RDPD == 0. While running U-Boot in EL3
without enabling this register, GICR_WAKER.ChildrenAsleep
bit is not getting cleared and loops infinitely.
This register(GICR_PWRR) must be programmed to mark the frame
as powered on, before accessing other registers in the frame.
Rest of initialization sequence remains the same.

ARM GIC-600 IP complies with ARM GICv3 architecture.
Enable this config if GIC-600 IP present.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
2 months agoarm: dts: k3-j7200-r5-common: Add missing overrides for ringacc and udmap
Aniket Limaye [Wed, 6 Mar 2024 06:37:49 +0000 (12:07 +0530)] 
arm: dts: k3-j7200-r5-common: Add missing overrides for ringacc and udmap

Corrects the ti,sci property to point to dm_tifs node for proper
functioning of mcu_ringacc and mcu_udmap.

Fixes: df73e791ce09 ("arm: dts: j7200: dts sync with Linux 6.6-rc1")
Signed-off-by: Aniket Limaye <a-limaye@ti.com>
2 months agoarm: dts: k3-j7200-r5-common: fix the mcu_timer0 clock frequency
Aniket Limaye [Wed, 6 Mar 2024 06:37:48 +0000 (12:07 +0530)] 
arm: dts: k3-j7200-r5-common: fix the mcu_timer0 clock frequency

Correcting the clock-frequency property of the mcu_timer0 node

Fixes: df73e791ce09 ("arm: dts: j7200: dts sync with Linux 6.6-rc1")
Signed-off-by: Aniket Limaye <a-limaye@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
2 months agoarm: dts: k3-j7200: Fix support for OSPI flash
Aniket Limaye [Wed, 6 Mar 2024 06:37:47 +0000 (12:07 +0530)] 
arm: dts: k3-j7200: Fix support for OSPI flash

- Add the missing bootph-all property in the flash subnode for ospi
- Add the missing overrides for the ospi node in the r5 devicetree

Signed-off-by: Aniket Limaye <a-limaye@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
2 months agoconfigs: j7200_evm_*_defconfig: Enable OSPI configs
Aniket Limaye [Wed, 6 Mar 2024 06:37:46 +0000 (12:07 +0530)] 
configs: j7200_evm_*_defconfig: Enable OSPI configs

Add the necessary configs required for OSPI functionality.
Also update the ospi flash partition offsets as per the devicetree.

Signed-off-by: Aniket Limaye <a-limaye@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
2 months agoarm: mach-k3: Fix config check for FS_LOADER
MD Danish Anwar [Thu, 14 Mar 2024 14:33:10 +0000 (20:03 +0530)] 
arm: mach-k3: Fix config check for FS_LOADER

load_firmware() API calls fs-loader APIs and checks for CONFIG_FS_LOADER
before calling those APIs. The if check only checks for CONFIG_FS_LOADER
but not for CONFIG_SPL_FS_LOADER.

When CONFIG_FS_LOADER is enabled, load_firmware() API calls fs-loader APIs
but this is done at SPL stage and at this time FS_LOADER is not built yet
as a result we see below build error.

  AR      spl/boot/built-in.o
  LD      spl/u-boot-spl
arm-none-linux-gnueabihf-ld.bfd: arch/arm/mach-k3/common.o: in function
`load_firmware':
/home/danish/workspace/u-boot/arch/arm/mach-k3/common.c:184: undefined
reference to `get_fs_loader'
arm-none-linux-gnueabihf-ld.bfd:
/home/danish/workspace/u-boot/arch/arm/mach-k3/common.c:185: undefined
reference to `request_firmware_into_buf'
make[2]: *** [/home/danish/workspace/u-boot/scripts/Makefile.spl:527:
spl/u-boot-spl] Error 1
make[1]: *** [/home/danish/workspace/u-boot/Makefile:2055:
spl/u-boot-spl] Error 2
make[1]: Leaving directory '/home/danish/uboot_images/am64x/r5'
make: *** [Makefile:177: sub-make] Error 2

Fix this by modifying the if check to CONFIG_IS_ENABLED(FS_LOADER) instead
of IS_ENABLED(CONFIG_FS_LOADER) as the former will check for the
appropriate config option (CONFIG_SPL_FS_LOADER / CONFIG_FS_LOADER) based
on the build stage.

Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Acked-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
2 months agoMerge tag 'u-boot-socfpga-next-20240319' of https://source.denx.de/u-boot/custodians...
Tom Rini [Tue, 19 Mar 2024 13:10:30 +0000 (09:10 -0400)] 
Merge tag 'u-boot-socfpga-next-20240319' of https://source.denx.de/u-boot/custodians/u-boot-socfpga into next

- A new driver in the misc to register setting from device tree. This
  also provides user a clean interface and all register settings are
  centralized in one place, device tree.
- Enable Agilex5 platform for Intel product. Changes, modification and
  new files are created for board, dts, configs and makefile to create
  the base for Agilex5.

Build-tested on SoC64 boards, boot tested on some of them.

2 months agoarch: arm: Agilex5 enablement
Jit Loon Lim [Tue, 12 Mar 2024 14:01:03 +0000 (22:01 +0800)] 
arch: arm: Agilex5 enablement

This patch is to enable Agilex5 platform for Intel
product. Changes, modification and new files are
created for board, dts, configs and makefile to
create the base for Agilex5.

Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@intel.com>
2 months agodrivers: misc: Add socfpga_dtreg driver for Intel SoCFPGA
Wan Yee Lau [Mon, 5 Feb 2024 03:47:16 +0000 (11:47 +0800)] 
drivers: misc: Add socfpga_dtreg driver for Intel SoCFPGA

Add socfpga_dtreg driver enablement for Intel SoCFPGA.

Signed-off-by: Wan Yee Lau <wan.yee.lau@intel.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@intel.com>
2 months agoMerge tag 'u-boot-imx-next-20240317' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 18 Mar 2024 01:22:50 +0000 (21:22 -0400)] 
Merge tag 'u-boot-imx-next-20240317' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next

CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/19975

- Select polling-rate from cpu-thermal devicetree node on imx_tmu.
- Re-organize the U-Boot environment and add RAUC logic for
  phycore_imx8mp.
- Enable watchdog on colibri-imx7.
- Move imx8mm-venice to use OF_UPSTREAM.

2 months agoMerge tag 'u-boot-imx-master-20240317' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Sun, 17 Mar 2024 23:43:02 +0000 (19:43 -0400)] 
Merge tag 'u-boot-imx-master-20240317' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

CI:
https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/19974

- Fix build error when SoM detection on Phytec board.
- Fix sc_misc_otp_fuse_read() error check on colibri-imx8x/apalis-imx8.
- Fix NPU/VPU fdt disable fixup on i.MX8M.

2 months agoimx8m*_venice: move venice to OF_UPSTREAM
Tim Harvey [Tue, 12 Mar 2024 19:05:43 +0000 (12:05 -0700)] 
imx8m*_venice: move venice to OF_UPSTREAM

Move to imx8m{m,n,p}-venice to OF_UPSTREAM:
 - replace the non-upstream generic imx8m{m,n,p}-venice dt with one of the
   dt's from the OF_LIST
 - handle the fact that dtbs now have a 'freescale/' prefix
 - imply OF_UPSTREAM
 - remove rudundant files from arch/arm/dts leaving only the
   *-u-boot.dtsi files

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
2 months agoboard: phytec: phycore_imx8mp: Add RAUC boot logic to environment
Leonard Anderweit [Tue, 12 Mar 2024 14:30:33 +0000 (15:30 +0100)] 
board: phytec: phycore_imx8mp: Add RAUC boot logic to environment

Add RAUC boot logic to the environment. This is the first board to
utilize this environment.

Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Tested-by: Teresa Remmet <t.remmet@phytec.de>
2 months agoinclude: env: Add phytec RAUC boot logic
Leonard Anderweit [Tue, 12 Mar 2024 14:30:32 +0000 (15:30 +0100)] 
include: env: Add phytec RAUC boot logic

Add logic for booting systems with the RAUC update mechanism. This can
be reused by other phytec boards.

Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Tested-by: Teresa Remmet <t.remmet@phytec.de>
2 months agoconfigs: phycore-imx8mp_defconfig: Use redundant environment
Leonard Anderweit [Tue, 12 Mar 2024 14:30:31 +0000 (15:30 +0100)] 
configs: phycore-imx8mp_defconfig: Use redundant environment

Add support for the redundant environment.

Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Tested-by: Teresa Remmet <t.remmet@phytec.de>
2 months agophycore_imx8mp: Move default bootcmd to board env
Leonard Anderweit [Tue, 12 Mar 2024 14:30:30 +0000 (15:30 +0100)] 
phycore_imx8mp: Move default bootcmd to board env

Move the default bootcmd from the defconfig to the board environment.
No change in functionality.

Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Tested-by: Teresa Remmet <t.remmet@phytec.de>
2 months agophycore_imx8mp: Move environment from include/config to board
Leonard Anderweit [Tue, 12 Mar 2024 14:30:29 +0000 (15:30 +0100)] 
phycore_imx8mp: Move environment from include/config to board

Move the environment into the board directory and convert it from a C
header to a text file. Sort the variables alphabetically.
No functional changes.

Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Reviewed-by: Teresa Remmet <t.remmet@phytec.de>
Tested-by: Teresa Remmet <t.remmet@phytec.de>
2 months agodrivers: imx_tmu: Select polling-rate from cpu-thermal devicetree node
Benjamin Hahn [Mon, 4 Mar 2024 11:48:54 +0000 (12:48 +0100)] 
drivers: imx_tmu: Select polling-rate from cpu-thermal devicetree node

The polling rate is already specified in some devicetrees, like
imx8mp.dtsi for example, but was not selected so far. For the
trippoints, the cpu-thermal node is used. Also get the polling rate from
this node. Use the default of 5000ms if the polling rate should not be
specified in the devicetree.

NOTE: The polling rate from the devicetree will be used after this
patch. In imx8*.dtsi devicetrees the polling delay is set to 2000ms for
example.

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
2 months agoconfigs: colibri-imx7: enable watchdog
Parth Pancholi [Thu, 7 Mar 2024 15:23:02 +0000 (16:23 +0100)] 
configs: colibri-imx7: enable watchdog

Enable watchdog functionality for Toradex's Colibri iMX7 (NAND/EMMC)
modules.

Signed-off-by: Parth Pancholi <parth.pancholi@toradex.com>
2 months agoarm: imx: imx8m: soc: Fix NPU/VPU fdt disable fixup
Vitor Soares [Fri, 15 Mar 2024 14:44:25 +0000 (14:44 +0000)] 
arm: imx: imx8m: soc: Fix NPU/VPU fdt disable fixup

On imx8m[m|p|q].dtsi, upstream Linux uses different names for NPU/VPU
IP block nodes. It leads variants without such HW block having it
enabled by default.

This patch adds the upstream Linux node's paths to the disable list while
keep the compatibility with downstream Linux.

Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2 months agoapalis-imx8: Fix sc_misc_otp_fuse_read() error check
Fabio Estevam [Wed, 13 Mar 2024 00:59:41 +0000 (21:59 -0300)] 
apalis-imx8: Fix sc_misc_otp_fuse_read() error check

Commit bfb3409d676f ("imx: toradex/apalis-imx8: correct SCU API usage")
made an incorrect logic change in the error code check of
sc_misc_otp_fuse_read():

-       if (scierr == SC_ERR_NONE) {
+       if (scierr) {
                /* QP has one A72 core disabled */
                is_quadplus = ((val >> 4) & 0x3) != 0x0;
        }

The other changes in this commit are correct.

sc_misc_otp_fuse_read() returns 0 on a successful fuse read.

This inversion causes board_mem_get_layout() to report incorrect RAM size.

Go back the original error check logic to fix the problem.

Fixes: bfb3409d676f ("imx: toradex/apalis-imx8: correct SCU API usage")
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2 months agocolibri-imx8x: Fix sc_misc_otp_fuse_read() error check
Fabio Estevam [Wed, 13 Mar 2024 00:36:41 +0000 (21:36 -0300)] 
colibri-imx8x: Fix sc_misc_otp_fuse_read() error check

Commit aa6e698a7acd ("imx: toradex/colibri-imx8x: correct SCU API usage")
made an incorrect logic change in the error code check of
sc_misc_otp_fuse_read():

-       if (sc_err == SC_ERR_NONE) {
+       if (sc_err) {
                /* DX has two A35 cores disabled */
                return (val & 0xf) != 0x0;
        }

The other changes in this commit are correct.

sc_misc_otp_fuse_read() returns 0 on a successful fuse read.

This inversion causes board_mem_get_layout() to report incorrect RAM size.

Go back the original error check logic to fix the problem.

Fixes: aa6e698a7acd ("imx: toradex/colibri-imx8x: correct SCU API usage")
Reported-by: Hiago De Franco <hiago.franco@toradex.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Tested-by: Hiago De Franco <hiago.franco@toradex.com> # Toradex Colibri iMX8X 1GB
2 months agoboard: phytec: define get_som_type also when SoM detection is disabled
Benjamin Hahn [Tue, 12 Mar 2024 09:39:11 +0000 (10:39 +0100)] 
board: phytec: define get_som_type also when SoM detection is disabled

define the phytec_get_som_type function also when the SoM detection is
disabled.

Fixes:
commit 110d321a56c3 ("board: phytec: common: phytec_som_detection: Add phytec_get_som_type")

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
2 months agoMerge tag 'u-boot-rockchip-20240315' of https://source.denx.de/u-boot/custodians...
Tom Rini [Fri, 15 Mar 2024 13:15:31 +0000 (09:15 -0400)] 
Merge tag 'u-boot-rockchip-20240315' of https://source.denx.de/u-boot/custodians/u-boot-rockchip into next

Please pull the updates for rockchip platform:
- Add board: rk3588 Generic, Cool Pi CM5, Theobroma-Systems RK3588 Jaguar SBC,
             Toybrick TB-RK3588X;
             rk3588s Cool Pi 4B;
             rk3566 Pine64 PineTab2;
- Add saradc v2 support;
- Add PMIC RK806 support;
- rk3588 disable force_jtag by default;
- Migrate to use IO-domain driver for all boards;
- Use common bss and stack addresses for rk33xx and rk35xx boards;
- Other updates for driver, config and dts;

2 months agoCI: Move to latest container image
Tom Rini [Fri, 15 Mar 2024 02:36:43 +0000 (22:36 -0400)] 
CI: Move to latest container image

This moves us to our latest container image, which is now based on the
current "Jammy" tag.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoCI: Cherry-pick reset support for m68k for QEMU
Tom Rini [Mon, 11 Mar 2024 14:02:43 +0000 (10:02 -0400)] 
CI: Cherry-pick reset support for m68k for QEMU

In order to support the reset pytest on QEMU on m68k platforms we need
to grab this change from upstream.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoCI: Update to using clang-17
Tom Rini [Sun, 10 Mar 2024 19:59:28 +0000 (15:59 -0400)] 
CI: Update to using clang-17

Currently, llvm-17 is the stable release. Update our container and CI to
fetch and use that.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoDockerfile: install xilinx-bootgen package
Heinrich Schuchardt [Wed, 28 Feb 2024 07:23:09 +0000 (08:23 +0100)] 
Dockerfile: install xilinx-bootgen package

Bootgen is used in a binman test. The test is skipped without the binary.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 months agoDockerfile: build fiptool
Heinrich Schuchardt [Wed, 28 Feb 2024 07:43:11 +0000 (08:43 +0100)] 
Dockerfile: build fiptool

Fiptool is used in a binman test. The test is skipped without the binary.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 months agorockchip: boot_mode: fix rockchip_dnl_key_pressed requiring ADC support
Quentin Schulz [Thu, 14 Mar 2024 09:36:29 +0000 (10:36 +0100)] 
rockchip: boot_mode: fix rockchip_dnl_key_pressed requiring ADC support

ADC support is implied by the Rockchip arch Kconfig but that means it
should be possible to disable ADC support and still be able to build.

However the weak implementation of rockchip_dnl_key_pressed() currently
blindly use functions from the ADC subsystem which do not exist when ADC
is not enabled, failing the build.

Therefore, let's encapsulate this logic with a check on the ADC symbol
being selected.

Cc: Quentin Schulz <foss+uboot@0leil.net>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
2 months agobutton: add missing ADC dependency for BUTTON_ADC
Quentin Schulz [Thu, 14 Mar 2024 09:36:28 +0000 (10:36 +0100)] 
button: add missing ADC dependency for BUTTON_ADC

The BUTTON_ADC symbol guards the compilation of button-adc driver whose
name very well makes it explicit that it requires ADC support to be
enabled.

Fix build issue of button-adc driver when ADC support isn't enabled by
making sure it cannot be built without ADC support.

Cc: Quentin Schulz <foss+uboot@0leil.net>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
2 months agoadc: add missing depends on ADC for controller drivers
Quentin Schulz [Thu, 14 Mar 2024 09:36:27 +0000 (10:36 +0100)] 
adc: add missing depends on ADC for controller drivers

The ADC controller drivers are obviously all depending on ADC symbol
being selected.

While they don't seem to fail to build without, they won't be useful
without that symbol selected, so let's make sure the options aren't
shown in menuconfig when ADC isn't selected.

Cc: Quentin Schulz <foss+uboot@0leil.net>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
2 months agorockchip: jaguar-rk3588: enable SARADC and derivatives
Quentin Schulz [Thu, 14 Mar 2024 09:36:26 +0000 (10:36 +0100)] 
rockchip: jaguar-rk3588: enable SARADC and derivatives

The SARADC is used on Jaguar for multiple things:
- channel 0 is used (at runtime) as a BIOS button,
- channel 2 is exposed on the Mezzanine connector for customer specific
  logic,
- channel 5 and 6 are used for identification,

Since the SARADC requires a vref-supply provided by the RK806 PMIC, its
support and the support for its regulators are also enabled.

The button, adc, pmic and regulator commands are also enabled for CLI
use in U-Boot for debugging and scripting purposes.

The RK806 PMIC on Jaguar being routed on the SPI bus, let's enable
Rockchip SPI controller driver.

Finally, the SARADC channel 1 on Jaguar is hardwired so will never
change in the lifetime of a unit, for that reason, disable the Rockchip
Download Mode check by setting ROCKCHIP_BOOT_MODE_REG symbol to 0.

Cc: Quentin Schulz <foss+uboot@0leil.net>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
2 months agopower: pmic: rk8xx: fix duplicate prompt
Quentin Schulz [Thu, 14 Mar 2024 09:36:25 +0000 (10:36 +0100)] 
power: pmic: rk8xx: fix duplicate prompt

SPL_PMIC_RK8XX and PMIC_RK8XX both share the same prompt making it
difficult to know at first glance in menuconfig what's for what, let's
fix this by adding "in SPL" at the end of the prompt for the SPL symbol.

Cc: Quentin Schulz <foss+uboot@0leil.net>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
2 months agorockchip: adc: rockchip-saradc: add support for RK3588
Quentin Schulz [Thu, 14 Mar 2024 09:36:24 +0000 (10:36 +0100)] 
rockchip: adc: rockchip-saradc: add support for RK3588

This adds support for the SARADCv2 found on RK3588.

There is no stop callback as it is currently configured in single
conversion mode, where the ADC is powered down after a single conversion
has been made.

Due to what seems to be a silicon bug, a controller reset needs to be
issued before starting a channel conversion otherwise Rockchip says that
channel 1 will error whatever that means. This is aligned with upstream
and downstream Linux kernel as well as downstream U-Boot.

Cc: Quentin Schulz <foss+uboot@0leil.net>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>