pandora-u-boot.git
3 months agotoradex: common: Add sysinfo driver
Emanuele Ghidoli [Fri, 23 Feb 2024 09:11:41 +0000 (10:11 +0100)]
toradex: common: Add sysinfo driver

This commit introduces support for the Toradex sysinfo driver in U-Boot,
which uses information from Toradex config block to print correct
board model.
In case the Toradex config block is not present sysinfo prints the model
of the board provided by device tree removing per board specific prints.

Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> # Verdin iMX8M Plus
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
3 months agoarm: dts: Refactor device trees using "&{/aliases}" syntax
Emanuele Ghidoli [Fri, 23 Feb 2024 09:11:40 +0000 (10:11 +0100)]
arm: dts: Refactor device trees using "&{/aliases}" syntax

Use the common syntax to define aliases.

Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> # Verdin iMX8M Plus
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
3 months agotoradex: common: Use SETTINGS_R event to read toradex config block
Emanuele Ghidoli [Fri, 23 Feb 2024 09:11:39 +0000 (10:11 +0100)]
toradex: common: Use SETTINGS_R event to read toradex config block

Use SETTINGS_R event to read toradex config block and checkboard()
to print board info.

Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> # Verdin iMX8M Plus
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
3 months agotoradex: Remove not necessary model prints from checkboard()
Emanuele Ghidoli [Fri, 23 Feb 2024 09:11:38 +0000 (10:11 +0100)]
toradex: Remove not necessary model prints from checkboard()

Sysinfo prints the model obtained from device tree, checkboard()
take info from hardware and tdx_checkboard() use the model retrieved by
toradex config block.

Remove the print from checkboard() function because the model obtained
from toradex config block is the most complete.
If toradex config block is missing the model info from device tree is
enough.

Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> # Verdin iMX8M Plus
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
3 months agotoradex: Fix recursive call to checkboard
Emanuele Ghidoli [Fri, 23 Feb 2024 09:11:37 +0000 (10:11 +0100)]
toradex: Fix recursive call to checkboard

Since checkboard() is used instead of show_board_info(), in case toradex
config block is missing or malformed, checkboard is recursively called.
It prints a long list of "MISSING TORADEX CONFIG BLOCK" till the stack
is full.

Fixes: edb0ecd18708 ("toradex: Use checkboard() instead of show_board_info()")
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> # Verdin iMX8M Plus
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 months agoMerge branch 'qcom-fixes-2024.04' of https://gitlab.denx.de/u-boot/custodians/u-boot...
Tom Rini [Thu, 22 Feb 2024 16:34:59 +0000 (11:34 -0500)]
Merge branch 'qcom-fixes-2024.04' of https://gitlab.denx.de/u-boot/custodians/u-boot-snapdragon

- Two fixes for the qcom-pmic button driver

4 months agoMerge patch series "board/ti: k3 boards: Stop using findfdt"
Tom Rini [Tue, 20 Feb 2024 22:57:52 +0000 (17:57 -0500)]
Merge patch series "board/ti: k3 boards: Stop using findfdt"

Nishanth Menon <nm@ti.com> says:

This is a wide cleanup to switch to setting fdtfile using env_set
instead of scripted magic. 'fdtfile' is expected to be set by default.
This allows the stdboot triggered efi loaders to find the correct OS
device tree file even if regular boot process is interrupted by user
intervention.

4 months agoinclude: env: ti: Drop default_findfdt
Nishanth Menon [Mon, 12 Feb 2024 19:47:26 +0000 (13:47 -0600)]
include: env: ti: Drop default_findfdt

We shouldn't need finfdt anymore. Drop the env script.

Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
4 months agoboard: beagle: beagleplay: Set fdtfile from C code instead of findfdt script
Nishanth Menon [Mon, 12 Feb 2024 19:47:25 +0000 (13:47 -0600)]
board: beagle: beagleplay: Set fdtfile from C code instead of findfdt script

Stop using the findfdt script and switch to setting the fdtfile from C
code.

Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
4 months agoboard: beagle: beagleboneai64: Set fdtfile from C code instead of findfdt script
Nishanth Menon [Mon, 12 Feb 2024 19:47:24 +0000 (13:47 -0600)]
board: beagle: beagleboneai64: Set fdtfile from C code instead of findfdt script

Stop using the findfdt script and switch to setting the fdtfile from C
code.

Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
4 months agoboard: ti: j721s2: Set fdtfile from C code instead of findfdt script
Nishanth Menon [Mon, 12 Feb 2024 19:47:23 +0000 (13:47 -0600)]
board: ti: j721s2: Set fdtfile from C code instead of findfdt script

We now can provide a map and have the standard fdtfile variable set from
code itself. This allows for bootstd to "just work".

While at this, replace findfdt in environment with a warning as it is no
longer needed.

Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
4 months agoboard: ti: j721e: Set fdtfile from C code instead of findfdt script
Nishanth Menon [Mon, 12 Feb 2024 19:47:22 +0000 (13:47 -0600)]
board: ti: j721e: Set fdtfile from C code instead of findfdt script

We now can provide a map and have the standard fdtfile variable set from
code itself. This allows for bootstd to "just work".

While at this, replace findfdt in environment with a warning as it is no
longer needed.

Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
4 months agoboard: ti: am65x: Set fdtfile from C code instead of findfdt script
Nishanth Menon [Mon, 12 Feb 2024 19:47:21 +0000 (13:47 -0600)]
board: ti: am65x: Set fdtfile from C code instead of findfdt script

We now can provide a map and have the standard fdtfile variable set from
code itself. This allows for bootstd to "just work".

While at this, replace findfdt in environment with a warning as it is no
longer needed.

Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
4 months agoboard: ti: am64x: Set fdtfile from C code instead of findfdt script
Nishanth Menon [Mon, 12 Feb 2024 19:47:20 +0000 (13:47 -0600)]
board: ti: am64x: Set fdtfile from C code instead of findfdt script

We now can provide a map and have the standard fdtfile variable set from
code itself. This allows for bootstd to "just work".

While at this, replace findfdt in environment with a warning as it is no
longer needed.

Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
4 months agoboard: ti: am62x: Set fdtfile from C code instead of findfdt script
Nishanth Menon [Mon, 12 Feb 2024 19:47:19 +0000 (13:47 -0600)]
board: ti: am62x: Set fdtfile from C code instead of findfdt script

Stop using the findfdt script and switch to setting the fdtfile from
C code.

While at this, replace findfdt in environment with a warning as it is
no longer needed

Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
4 months agoboard: ti: am62ax: Set fdtfile from C code instead of findfdt script
Nishanth Menon [Mon, 12 Feb 2024 19:47:18 +0000 (13:47 -0600)]
board: ti: am62ax: Set fdtfile from C code instead of findfdt script

Stop using the findfdt script and switch to setting the fdtfile from
C code.

While at this, replace findfdt in environment with a warning as it is
no longer needed

Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
4 months agoboard: ti: common: Introduce a common fdt ops library
Nishanth Menon [Mon, 12 Feb 2024 19:47:17 +0000 (13:47 -0600)]
board: ti: common: Introduce a common fdt ops library

Introduce a common fdt operations library for basic device tree
operations that are common between various boards.

The first library to introduce here is the capability to set up
fdtfile as a standard variable as part of board identification rather
than depend on scripted ifdeffery.

Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
4 months agoboard: ti: Add missing common/Kconfig references
Nishanth Menon [Mon, 12 Feb 2024 19:47:16 +0000 (13:47 -0600)]
board: ti: Add missing common/Kconfig references

Add missing board/ti/common/Kconfig references for the platforms that
missed it. The intent is for the common Kconfig to be usable across TI
reference boards as required.

Reported-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
4 months agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-usb
Tom Rini [Tue, 20 Feb 2024 13:03:21 +0000 (08:03 -0500)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-usb

4 months agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-samsung
Tom Rini [Tue, 20 Feb 2024 13:02:49 +0000 (08:02 -0500)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-samsung

4 months agousb: ehci-mx6: Add i.MX93 support
Mathieu Othacehe [Mon, 19 Feb 2024 17:05:31 +0000 (18:05 +0100)]
usb: ehci-mx6: Add i.MX93 support

i.MX93 uses the same USB IP as i.MX8MM. It can then reuse the ehci-mx6
driver.

Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 months agocommon: usb-hub: Reset USB 3.0 hubs only
Shantur Rathore [Wed, 14 Feb 2024 09:54:03 +0000 (09:54 +0000)]
common: usb-hub: Reset USB 3.0 hubs only

Additional testing of the changes introduced in commit 33e06dcbe57a "common:
usb-hub: Reset hub port before scanning") revealed that some USB 2.0 and 3.0
flash drives didn't work in U-Boot on some Allwinner SoCs that support USB
2.0 interfaces only.  More precisely, some of the tested USB 2.0 and 3.0
flash drives failed to be detected and work on an OrangePi Zero 3, based on
the Allwinner H616 SoC that supports USB 2.0 only, while the same USB flash
drives worked just fine on a Pine64 H64, based on the Allwinner H6 SoC that
supports both USB 2.0 and USB 3.0 interfaces.

The USB ID of the above-mentioned USB 3.0 flash drive that failed to work is
1f75:0917 (Innostor Technology Corporation IS917 Mass storage), it is 32 GB
in size and sold under the PNY brand.  The mentioned USB 2.0 drive is some
inexpensive no-name drive with an invalid USB ID.

Resetting USB 3.0 hubs only, which this patch introduces to the USB hub
resets, has been tested to work as expected, resolving the identified issues
on the Allwinner H616, while not introducing any new issues on other tested
Allwinner SoCs.  Thus, let's fix it that way.

According to the USB 3.0 specification, resetting a USB 3.0 port is required
when an attached USB device transitions between different states, such as
when it resumes from suspend.  Though, the Linux kernel performs additional
USB 3.0 port resets upon initial USB device attachment, as visible in commit
07194ab7be63 ("USB: Reset USB 3.0 devices on (re)discovery") in the kernel
source, to ensure proper state of the USB 3.0 hub port and proper USB mode
negotiation during the initial USB device attachment and enumeration.

These additional types of USB port resets don't exist for USB 2.0 hubs,
according the USB 2.0 specification.  The resets seem to be added to the USB
3.0 specification as part of the port and device mode negotiation.

The Linux kernel resets USB 3.0 (i.e. SuperSpeed) hubs only, as visible in
commit 10d674a82e55 ("USB: When hot reset for USB3 fails, try warm reset.")
in the kernel source.  The check for SuperSpeed hubs is performed in a way
that also applies to newer SuperSpeed Plus (USB 3.1 or 3.2) hubs as well,
which hopefully makes it future proof.

Fixes: 33e06dcbe57a ("common: usb-hub: Reset hub port before scanning")

Link:
https://lore.kernel.org/u-boot/20240207102327.35125-1-i@shantur.com/T/#u
Link:
https://lore.kernel.org/u-boot/20240201164604.13315fa6@donnerap.manchester.arm.com/T/#u

Signed-off-by: Shantur Rathore <i@shantur.com>
Helped-by: Dragan Simic <dsimic@manjaro.org>
Tested-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
Reviewed-by: Marek Vasut <marex@denx.de>
4 months agoMerge tag 'u-boot-imx-master-20240219' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 19 Feb 2024 13:55:17 +0000 (08:55 -0500)]
Merge tag 'u-boot-imx-master-20240219' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

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

- Convert msc_sm2s_imx8mp to DM_SERIAL.
- Make Ethernel functional on msc_sm2s_imx8mp.
- General improvements for msc_sm2s_imx8mp.
- Add suport for the Sielaff i.MX6 Solo board.
- Update GE HealthCare maitainers' e-mail addresses.

4 months agodoc: board: Add minimal documentation for Sielaff i.MX6 Solo board
Frieder Schrempf [Thu, 15 Feb 2024 14:00:36 +0000 (15:00 +0100)]
doc: board: Add minimal documentation for Sielaff i.MX6 Solo board

Describe how to build and boot for the Sielaff i.MX6 Solo board.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 months agoboard: Add support for Sielaff i.MX6 Solo board
Frieder Schrempf [Thu, 15 Feb 2024 14:00:35 +0000 (15:00 +0100)]
board: Add support for Sielaff i.MX6 Solo board

The Sielaff i.MX6 Solo board is a control and HMI board for vending
machines. Add support for this board.

The devicetree files are taken from pending changes in the Linux
kernel that are available from linux-next and will likely be
part of Linux v6.9.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 months agomtd: spi-nor-ids: Add support for ESMT/EON EN25Q80B
Frieder Schrempf [Thu, 15 Feb 2024 14:00:34 +0000 (15:00 +0100)]
mtd: spi-nor-ids: Add support for ESMT/EON EN25Q80B

The datasheet can be found here:
https://www.esmt.com.tw/upload/pdf/ESMT/datasheets/EN25Q80B_Ver.E.pdf

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 months agoMAINTAINERS: Update after GEHC spin-off
Ian Ray [Tue, 13 Feb 2024 13:17:06 +0000 (15:17 +0200)]
MAINTAINERS: Update after GEHC spin-off

Update our email addresses, from @ge.com to @gehealthcare.com, after GE
HealthCare was spun-off from GE.

Remove Antti, who no longer works on the project.

Signed-off-by: Ian Ray <ian.ray@gehealthcare.com>
4 months agomsc_sm2s_imx8mp: Fix CONFIG_DEFAULT_FDT_FILE
Fabio Estevam [Tue, 13 Feb 2024 11:43:42 +0000 (08:43 -0300)]
msc_sm2s_imx8mp: Fix CONFIG_DEFAULT_FDT_FILE

There is no imx8mp-msc-sm2s.dtb file in upstream Linux.

Change it to imx8mp-msc-sm2s-ep1.dtb.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Ian Ray <ian.ray@gehealthcare.com>
4 months agomsc_sm2s_imx8mp: Add redundant environment support
Fabio Estevam [Tue, 13 Feb 2024 11:43:41 +0000 (08:43 -0300)]
msc_sm2s_imx8mp: Add redundant environment support

Redundant environment support is required for software updates.

Add support for it.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Ian Ray <ian.ray@gehealthcare.com>
4 months agoimx8mp-msc-sm2s: Add mmc aliases
Fabio Estevam [Tue, 13 Feb 2024 11:43:40 +0000 (08:43 -0300)]
imx8mp-msc-sm2s: Add mmc aliases

Add mmc alias so that the eMMC is mmc0 and the SD card
is mmc1 to have a well defined device numbering scheme.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Ian Ray <ian.ray@gehealthcare.com>
4 months agomsc_sm2s_imx8mp: Make Ethernet functional
Fabio Estevam [Tue, 13 Feb 2024 11:43:39 +0000 (08:43 -0300)]
msc_sm2s_imx8mp: Make Ethernet functional

Currently, the Ethernet ports are not working.

The Ethernet PHY reset lines are controlled by the TCA6424 I2C GPIO
expander.

The TCA6424 I2C GPIO expander is supported by the CONFIG_DM_PCA953X
driver.

Select the CONFIG_DM_PCA953X option so that the Ethernet PHYs can
go through a proper reset making Ethernet to be functional.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Ian Ray <ian.ray@gehealthcare.com>
4 months agomsc_sm2s_imx8mp: Convert to DM_SERIAL
Fabio Estevam [Tue, 13 Feb 2024 11:43:38 +0000 (08:43 -0300)]
msc_sm2s_imx8mp: Convert to DM_SERIAL

The conversion to DM_SERIAL is mandatory, so do the conversion.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Ian Ray <ian.ray@gehealthcare.com>
4 months agoMerge branch 'master-porter' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Sat, 17 Feb 2024 23:37:07 +0000 (18:37 -0500)]
Merge branch 'master-porter' of https://source.denx.de/u-boot/custodians/u-boot-sh

- Renesas R-Car Gen2 fixes

4 months agoARM: renesas: Enable LTO on R-Car
Marek Vasut [Sun, 11 Feb 2024 17:34:30 +0000 (18:34 +0100)]
ARM: renesas: Enable LTO on R-Car

Enable LTO globally on Renesas R-Car platforms. This has been enabled
on a subset of boards already, but at this point it is safe to enable
it globally. This saves units or tens of kiB from the resulting build.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
4 months agoARM: renesas: Set R-Car Gen2 board size limit to 512 kiB
Marek Vasut [Sun, 11 Feb 2024 17:34:29 +0000 (18:34 +0100)]
ARM: renesas: Set R-Car Gen2 board size limit to 512 kiB

The maximum size of u-boot.img on R-Car Gen2 is 0x80000 or 512 kiB,
set the limit to avoid overflows as new functionality gets pulled in.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
4 months agoARM: renesas: Disable EFI on R-Car Gen2
Marek Vasut [Sun, 11 Feb 2024 17:34:28 +0000 (18:34 +0100)]
ARM: renesas: Disable EFI on R-Car Gen2

These systems are unlikely to use EFI as this functionality has not been
enabled until it got pulled in by Kconfig default. This functionality
does add some 60-70 kiB to the u-boot.img size, which overflows the size
limit. Disable it.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
4 months agoclk: renesas: Fix broken clocks on all Gen2 boards
Niklas Söderlund [Fri, 9 Feb 2024 21:15:35 +0000 (22:15 +0100)]
clk: renesas: Fix broken clocks on all Gen2 boards

To prepare support for multiple register layouts pointers to register
tables where added to struct cpg_mssr_info. These pointers are suppose
to be filled in at probe time and no intended change in behavior was
intended.

However the new pointers where only filled in by some paths of the
driver implemented in clk-rcar-gen3.c. The path implemented in
clk-rcar-gen2.c was not updated leaving the pointers uninitialized
leading to a crash when trying to probe the clocks.

Fix this by filling in the pointers in the Gen2 code path with the
values used before they where moved to struct cpg_mssr_info.

Fixes: d413214fb748 ("clk: renesas: Add register pointers into struct cpg_mssr_info")
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Acked-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Tested-by: Marek Vasut <marek.vasut+renesas@mailbox.org> # R8A7791 Porter
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
4 months agoMerge tag 'u-boot-dfu-20240215' of https://source.denx.de/u-boot/custodians/u-boot-dfu
Tom Rini [Thu, 15 Feb 2024 15:26:24 +0000 (10:26 -0500)]
Merge tag 'u-boot-dfu-20240215' of https://source.denx.de/u-boot/custodians/u-boot-dfu

u-boot-dfu-20240215

- Fix avb_verify command with SD cards
- Add u-boot-dfu maintainer tree for AB/AVB
- Avb: report verified boot state based on lock state
- Misc avb refactors improve code quality

4 months agodoc: android: avb: sync usage details
Igor Opaniuk [Fri, 9 Feb 2024 19:20:45 +0000 (20:20 +0100)]
doc: android: avb: sync usage details

Sync usage info with the one cmd/avb.c.

Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20240209192045.3961832-8-igor.opaniuk@foundries.io
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
4 months agocmd: avb: rework do_avb_verify_part
Igor Opaniuk [Fri, 9 Feb 2024 19:20:44 +0000 (20:20 +0100)]
cmd: avb: rework do_avb_verify_part

Use existing str_avb_slot_error() function for obtaining
verification fail reason details.
Take into account device lock state for setting correct
androidboot.verifiedbootstate kernel cmdline parameter.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Link: https://lore.kernel.org/r/20240209192045.3961832-7-igor.opaniuk@foundries.io
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
4 months agocommon: avb_verify: add str_avb_io_error/str_avb_slot_error
Igor Opaniuk [Fri, 9 Feb 2024 19:20:43 +0000 (20:20 +0100)]
common: avb_verify: add str_avb_io_error/str_avb_slot_error

Introduce str_avb_io_error() and str_avb_slot_error() functions,
that provide a pointer to AVB runtime error message.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Link: https://lore.kernel.org/r/20240209192045.3961832-6-igor.opaniuk@foundries.io
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
4 months agocmd: avb: rework prints
Igor Opaniuk [Fri, 9 Feb 2024 19:20:42 +0000 (20:20 +0100)]
cmd: avb: rework prints

Simplify and add more context for prints where it's needed.

Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20240209192045.3961832-5-igor.opaniuk@foundries.io
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
4 months agocommon: avb_verify: rework error/debug prints
Igor Opaniuk [Fri, 9 Feb 2024 19:20:41 +0000 (20:20 +0100)]
common: avb_verify: rework error/debug prints

Make error prints more verbose with additional context.
Also s/print/debug/g for prints, which might be relevant only
for debugging purposes.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Link: https://lore.kernel.org/r/20240209192045.3961832-4-igor.opaniuk@foundries.io
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
4 months agoavb: move SPDX license identifiers to the first line
Igor Opaniuk [Fri, 9 Feb 2024 19:20:40 +0000 (20:20 +0100)]
avb: move SPDX license identifiers to the first line

Move SPDX license identifiers to the first line, so it conforms
to license placement rule [1]:

Placement:
The SPDX license identifier in kernel files shall be added at the first
possible line in a file which can contain a comment.  For the majority
of files this is the first line, except for scripts which require the
'#!PATH_TO_INTERPRETER' in the first line.  For those scripts the SPDX
identifier goes into the second line.

[1] https://www.kernel.org/doc/Documentation/process/license-rules.rst

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Link: https://lore.kernel.org/r/20240209192045.3961832-3-igor.opaniuk@foundries.io
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
4 months agocommon: avb_verify: don't call mmc_switch_part for SD
Igor Opaniuk [Fri, 9 Feb 2024 19:20:39 +0000 (20:20 +0100)]
common: avb_verify: don't call mmc_switch_part for SD

mmc_switch_part() is used for switching between hw partitions
on eMMC (boot0, boot1, user, rpmb).
There is no need to do that for SD card.

This fixes the avb command usage on SD cards.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
Link: https://lore.kernel.org/r/20240209192045.3961832-2-igor.opaniuk@foundries.io
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
4 months agoMAINTAINERS: add custodian tree info for AVB/AB
Igor Opaniuk [Tue, 13 Feb 2024 07:36:38 +0000 (08:36 +0100)]
MAINTAINERS: add custodian tree info for AVB/AB

Add information about a custodian tree [1] for AVB/AB, which is
maintained by Mattijs Korpershoek.

[1] https://source.denx.de/u-boot/custodians/u-boot-dfu

Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Link: https://lore.kernel.org/r/20240213073638.1125429-1-igor.opaniuk@foundries.io
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
4 months agoMerge tag 'xilinx-for-v2024.04-rc3' of https://source.denx.de/u-boot/custodians/u...
Tom Rini [Wed, 14 Feb 2024 20:23:10 +0000 (15:23 -0500)]
Merge tag 'xilinx-for-v2024.04-rc3' of https://source.denx.de/u-boot/custodians/u-boot-microblaze

Xilinx changes for v2024.04-rc3

zynqmp:
- Cover missing _SE chip variants to fix fpga programming

versal:
- Enable LTO for mini configurations

versal-net:
- Enable LTO for mini configurations
- Fix GIC address to aligned with real silicon

xilinx:
- DTs cleanup and fixups
- Enable HTTP boot
- Add missing spl header to zynqmp.c

4 months agobutton: qcom-pmic: demote "unknown button" message to debug
Caleb Connolly [Fri, 9 Feb 2024 15:11:34 +0000 (15:11 +0000)]
button: qcom-pmic: demote "unknown button" message to debug

This message isn't an error (there can be a watchdog subnode for example)
but it shouldn't be printed unless this driver is being debugged. Demote
it to a debug print.

Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agobutton: qcom-pmic: fix some error checking
Dan Carpenter [Wed, 31 Jan 2024 07:09:15 +0000 (10:09 +0300)]
button: qcom-pmic: fix some error checking

The pmic_reg_read() function can return errors.  Add a check for that.

Fixes: 4e8aa0065d4b ("button: qcom-pmic: introduce Qualcomm PMIC button driver")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
4 months agoarm64: versal-net: Setup correct addresses of GICR/GICD
Michal Simek [Tue, 6 Feb 2024 11:51:39 +0000 (12:51 +0100)]
arm64: versal-net: Setup correct addresses of GICR/GICD

Previous addresses where used in past in emulation environment but never
gets to silicon that's why use correct addresses.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/5d3d0e1afb1f673ffeb4a1c5d7f040475c806a30.1707220293.git.michal.simek@amd.com
4 months agoPrepare v2024.04-rc2 v2024.04-rc2
Tom Rini [Tue, 13 Feb 2024 23:16:57 +0000 (18:16 -0500)]
Prepare v2024.04-rc2

Signed-off-by: Tom Rini <trini@konsulko.com>
4 months agoMerge branch '2024-02-13-assorted-updates'
Tom Rini [Tue, 13 Feb 2024 22:31:11 +0000 (17:31 -0500)]
Merge branch '2024-02-13-assorted-updates'

- Add the button command patch, update MAINTAINERS entry for a platform,
  fix a problem with the hash command, fix a problem on K3 platforms and
  revert a change on verdin-am62.

4 months agoRevert "board: verdin-am62: set cpu core voltage depending on speed grade"
Francesco Dolcini [Tue, 13 Feb 2024 16:00:03 +0000 (17:00 +0100)]
Revert "board: verdin-am62: set cpu core voltage depending on speed grade"

This reverts commit d2099587d661c6ca2309256c0e04c06e26c8d34c.

According to TI changing the VDD_CORE while the SoC is running is not
allowed, the voltage must be set before the AM62 device reset is
released, revert this change therefore.

The correct solution would be to program the PMIC during manufactoring
according to the speed grade of the SoC.

Link: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1318338/am623-booting-from-mmc-failed-after-lowering-vdd_core-to-0-75v/5036508#5036508
Fixes: d2099587d661 ("board: verdin-am62: set cpu core voltage depending on speed grade")
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
4 months agoboot: add support for button commands
Caleb Connolly [Tue, 9 Jan 2024 11:51:09 +0000 (11:51 +0000)]
boot: add support for button commands

With the relatively new button API in U-Boot, it's now much easier to
model the common usecase of mapping arbitrary actions to different
buttons during boot - for example entering fastboot mode, setting some
additional kernel cmdline arguments, or booting with a custom recovery
ramdisk, to name a few.

Historically, this functionality has been implemented in board code,
making it fixed for a given U-Boot binary and requiring the code be
duplicated and modified for every board.

Implement a generic abstraction to run an arbitrary command during boot
when a specific button is pressed. The button -> command mapping is
configured via environment variables with the following format:

  button_cmd_N_name=<button label>
  button_cmd_N=<command to run>

Where N is the mapping number starting from 0. For example:

  button_cmd_0_name=vol_down
  button_cmd_0=fastboot usb 0

This will cause the device to enter fastboot mode if volume down is held
during boot.

After we enter the cli loop the button commands are no longer valid,
this allows the buttons to additionally be used for navigating a boot
menu.

Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # Tegra30
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agocmd: hash: fix param count check
Igor Opaniuk [Wed, 7 Feb 2024 00:01:32 +0000 (01:01 +0100)]
cmd: hash: fix param count check

Add correct check for parameter count.

This fixes this issue when `hash` cmd is invoked without params:

=> hash
data abort
pc : [<bf739204>]    lr : [<ba6effa8>]
reloc pc : [<60019204>]    lr : [<5afcffa8>]
sp : ba6dd9c8  ip : bf7391f0  fp : bf74ec14
r10: 00000001  r9 : ba6dfea0  r8 : bf7ea030
r7 : 00000000  r6 : ba6effa8  r5 : 00000000  r4 : ffffffff
r3 : bf7c257c  r2 : 00000001  r1 : 00000000  r0 : bf7e6e34
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32
Code: e5934004 e1a0e003 e59f3050 e2444001 (e5f4c001)
Resetting CPU ...

resetting ...

Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
4 months agomemory: ti-gpmc: Fix lock up at A53 SPL during NAND boot on AM64-EVM
Roger Quadros [Tue, 6 Feb 2024 14:02:51 +0000 (16:02 +0200)]
memory: ti-gpmc: Fix lock up at A53 SPL during NAND boot on AM64-EVM

AM64 ES2.0 bootrom seems to enable WAIT0EDGEDETECTION interrupt.
This causes a lockup at A53 SPL when accessing NAND controller
or ELM registers.

A good option would be to softrest GPMC block at probe
but this cannot be done for AM64 as SOFTRESET bit is marked
as reserved in SYSCONFIG register.

Fix the issue by disabling all IRQs at probe.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
4 months agopoplar: add myself as co-maintainer
Igor Opaniuk [Fri, 2 Feb 2024 21:44:29 +0000 (22:44 +0100)]
poplar: add myself as co-maintainer

Add myself as co-maintainer for Poplar board, as I'm currently
working on it (re-testing releases, addressing issues etc).

CC: Jorge Ramirez-Ortiz <jorge.ramirez.ortiz@gmail.com>
CC: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Jorge Ramirez-Ortiz <jorge.ramirez.ortiz@gmail.com>
4 months agoMerge tag 'doc-2024-04-rc2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Mon, 12 Feb 2024 20:22:05 +0000 (15:22 -0500)]
Merge tag 'doc-2024-04-rc2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request doc-2024-04-rc2

Documentation:

* Fix and extend utf8_to_utf32_stream() documentation
* Fix rendering of OpenSBI logo in VisionFive 2 description
* Document imxrt1170-evk board
* codingstyle.rst: Clarify include section

UEFI:

* simplify error message in efi_disk_create_raw()

4 months agonet: designware: Support high memory nodes
Nils Le Roux [Sat, 2 Dec 2023 09:39:49 +0000 (10:39 +0100)]
net: designware: Support high memory nodes

Some platforms (such as the Lichee Pi 4A) have their dwmac device
addressable only in high memory space. Storing the node's base address
on 32 bits is not possible in such case.

Use platform's physical address type to store the base address.

Signed-off-by: Nils Le Roux <gilbsgilbert@gmail.com>
Cc: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
4 months agodoc/develop/codingstyle.rst: Clarify include section
Tom Rini [Fri, 9 Feb 2024 14:35:20 +0000 (09:35 -0500)]
doc/develop/codingstyle.rst: Clarify include section

Rework the section about includes slightly. We should not be using
common.h anywhere, so remove that from examples and ask people to send
patches removing it when found. Doing this also means we need to reword
other parts of this section. Be clearer about using alphabetical
ordering.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
4 months agolib: charset: Fix and extend utf8_to_utf32_stream() documentation
Janne Grunau [Sat, 10 Feb 2024 12:46:39 +0000 (13:46 +0100)]
lib: charset: Fix and extend utf8_to_utf32_stream() documentation

Clarify usage of buffer argument.

Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
4 months agoefi_loader: simplify error message in efi_disk_create_raw()
Heinrich Schuchardt [Fri, 2 Feb 2024 14:12:52 +0000 (15:12 +0100)]
efi_loader: simplify error message in efi_disk_create_raw()

The error message

    Adding disk for usb_mass_storage.lun0 failed (err=-9223372036854775788/0x8000000000000014)

provides a decimal and a hexadecimal notation of the EFI status code
EFI_ALREADY_STARTED which is defined as (EFI_ERROR_MASK | 20).
The decimal output does not convey the value 20 clearly.

With the patch we write

    Adding block device usb_mass_storage.lun0 failed, r = 20

similar to other EFI error messages.

Fixes: 952018117ab4 ("dm: sandbox: Switch over to using the new host uclass")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
4 months agodoc: board: starfive: fix rendering of OpenSBI logo
Heinrich Schuchardt [Thu, 1 Feb 2024 16:32:53 +0000 (17:32 +0100)]
doc: board: starfive: fix rendering of OpenSBI logo

The rendering of the OpenSBI logo should look like the screen output.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
4 months agodoc: imx: imxrt1170: Document imxrt1170-evk board
Jesse Taube [Thu, 1 Feb 2024 15:00:04 +0000 (10:00 -0500)]
doc: imx: imxrt1170: Document imxrt1170-evk board

Add documentation for imxrt1170-evk.

Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Add index page entry, adjust formatting.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
4 months agoMerge tag 'u-boot-imx-master-20240212' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 12 Feb 2024 14:26:20 +0000 (09:26 -0500)]
Merge tag 'u-boot-imx-master-20240212' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

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

- Fix the i.MX8MP SPI compatible string.
- Let the SPL clock code do the configuration on Data Modul i.MX8M Plus
  eDM SBC.
- Enable secure boot on the imx93_var_som board.

4 months agoxilinx: zynqmp: Add the missing function prototype
Venkatesh Yadav Abbarapu [Wed, 7 Feb 2024 08:33:28 +0000 (14:03 +0530)]
xilinx: zynqmp: Add the missing function prototype

Add missing prototype to fix the below sparse warning
warning: no previous prototype for 'spl_spi_get_uboot_offs'
 [-Wmissing-prototypes]

Fixes: 2c8a09219cdb ("arm64: zynqmp: Add multiboot support for SPL/SPI offset calculation")
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20240207083328.1673752-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
4 months agoarm64: zynqmp: Disable DP on kd240
Michal Simek [Thu, 1 Feb 2024 12:38:44 +0000 (13:38 +0100)]
arm64: zynqmp: Disable DP on kd240

When SOM dt is combined with kd240 overlay DPSUB is enabled but kd240 has
no DP wired that's why change disable it via status property.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/f6de217b3350c9d59032ef54800882e48f240398.1706791116.git.michal.simek@amd.com
4 months agoarm64: zynqmp: Do not expose usbhub nodes on kr260 usb1
Michal Simek [Thu, 1 Feb 2024 12:38:43 +0000 (13:38 +0100)]
arm64: zynqmp: Do not expose usbhub nodes on kr260 usb1

usb0 is already updated but forget to also update usb1.

Fixes: 4ff083f09bc2 ("arm64: zynqmp: Do not expose usbhub nodes")
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/862ca748670f18f25d88aa5b43c37e3dd6aa35eb.1706791116.git.michal.simek@amd.com
4 months agoarm64: zynqmp: Align nvmem-fw node with dt-schema
Michal Simek [Thu, 1 Feb 2024 12:38:42 +0000 (13:38 +0100)]
arm64: zynqmp: Align nvmem-fw node with dt-schema

Node name has to be renamed to be aligned with dt-schema and also
xlnx,zynqmp-nvmem-fw switched to fixed-layout.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/32899b20c1e282aab16c32074b1c9a3f45f6dac8.1706791116.git.michal.simek@amd.com
4 months agoarm64: zynqmp: Remove arm,cortex-a53-edac node
Michal Simek [Thu, 1 Feb 2024 12:38:41 +0000 (13:38 +0100)]
arm64: zynqmp: Remove arm,cortex-a53-edac node

There is no dt schema associated with it. Also Linux driver have been
removed in Xilinx Linux tree and never gets to upstream that's why remove
description for it.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/6685ee980d9b475f95eef6b2a74795adc4ac4619.1706791116.git.michal.simek@amd.com
4 months agoxilinx: Fix fpga region DT nodes name
Michal Simek [Thu, 1 Feb 2024 12:38:40 +0000 (13:38 +0100)]
xilinx: Fix fpga region DT nodes name

fpga-full is not aligned with the latest dt-schema. Generic name
fpga-region should be used.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/78e6e3f287f79917eb92c6c74accbaf955526aad.1706791116.git.michal.simek@amd.com
4 months agoarm64: zynqmp: Fix kr260 clock wiring
Michal Simek [Tue, 30 Jan 2024 14:51:06 +0000 (15:51 +0100)]
arm64: zynqmp: Fix kr260 clock wiring

kr260 revA/revA01 is using discrete oscilator for DP (27MHz) and si5332 for
other clocks but clocks are different compare to kv260 that's why fix it to
aligned with the latest schematics.

On the other handle kr260 revB/revA03 also contains 74.25 MHz discrete
clock chip for SLVC-EC output which is not defined.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/e87ae94979c6efc909740bb1a569505042e4f876.1706626255.git.michal.simek@amd.com
4 months agoarm64: zynqmp: Describe 25MHz fixed clock for PL GEMs
Michal Simek [Mon, 29 Jan 2024 07:46:43 +0000 (08:46 +0100)]
arm64: zynqmp: Describe 25MHz fixed clock for PL GEMs

Describe 25Mhz fixed oscilator which is providing clock for PL based
ethernet IPs. Physicially it is one chip but it is described as 2 fixed
clock to be aligned with other SOM versions which were using integrated
clock generators where clocks could be adjusted via i2c (si5332 chips).

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/c430aeacaa76d9f61ed3f874f721a33049f45eb9.1706514396.git.michal.simek@amd.com
4 months agoarm64: zynqmp: Sync clock labels with kr260 revB
Michal Simek [Fri, 26 Jan 2024 07:24:41 +0000 (08:24 +0100)]
arm64: zynqmp: Sync clock labels with kr260 revB

Board description describes the hard part of chip (PS) but programmable
logic (PL) part is not described in this file. But clocks on the board are
not only connected to PS but also wired to PL. And because two revisions
are available where revA is using one si5332 and revB multiple clock chips
using the same clock labels helping with keeping only one device tree
overlay which targets PL. That's why synchronize clock labels and use
labels from revB which are more generic.
Unfortunately if there is driver for si5332 chip split could happen again
but it is still worth to do it now and solve this issue when occurs.

Reported-by: Sagar Karmarkar <sagar.karmarkar@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/abac6069e6029ed4076ec7b9d6b33604b6072aa3.1706253871.git.michal.simek@amd.com
4 months agoarm64: zynqmp: Add 'silabs, skip-recall' to all si570 clk nodes
Saeed Nowshadi [Thu, 25 Jan 2024 08:07:58 +0000 (09:07 +0100)]
arm64: zynqmp: Add 'silabs, skip-recall' to all si570 clk nodes

Without 'silabs,skip-recall' property, the driver on System Controller
re-calibrates the output clock frequency at probe() time based on the NVRAM
setting.  This re-calibration causes a glitch on the output clock.  At
power-on, Versal is also booting and expecting a glitch-free clock for
its correct operation.  System Controller should skip the re-calibration
step to prevent any clock instability for Versal.

Signed-off-by: Saeed Nowshadi <saeed.nowshadi@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/bbb2322c94503f0e6b369c60312b7546500fad95.1706170068.git.michal.simek@amd.com
4 months agoarm64: xilinx: Enable EFI_HTTP_BOOT by default
Michal Simek [Wed, 24 Jan 2024 10:58:40 +0000 (11:58 +0100)]
arm64: xilinx: Enable EFI_HTTP_BOOT by default

Enable EFI_HTTP_BOOT to be able to booting OS via http.
In case of that dhcp server is not providing dns server IP set it up via
setenv dnsip <ip addr>.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/b78a7d8b0100c724f657c0997b273e073cf31a14.1706093917.git.michal.simek@amd.com
4 months agoconfigs: versal_net: Enable CONFIG_LTO for mini qspi/ospi
Venkatesh Yadav Abbarapu [Fri, 26 Jan 2024 08:11:39 +0000 (13:41 +0530)]
configs: versal_net: Enable CONFIG_LTO for mini qspi/ospi

Adding a tiny bit more code for mini u-boot leads to a OCM
image overflow. Fix this by enabling LTO for this board, so that such
changes still can be made to the common U-Boot code.

Enable building mini u-boot image with LTO, which results in about 8KB
reduction in size.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20240126081139.3210211-1-venkatesh.abbarapu@amd.com
4 months agoconfigs: versal: Enable CONFIG_LTO for mini qspi/ospi
Venkatesh Yadav Abbarapu [Fri, 26 Jan 2024 08:09:00 +0000 (13:39 +0530)]
configs: versal: Enable CONFIG_LTO for mini qspi/ospi

Adding a tiny bit more code for mini u-boot leads to a OCM
image overflow. Fix this by enabling LTO for this board, so that such
changes still can be made to the common U-Boot code.

Enable building mini u-boot image with LTO, which results in about 8KB
reduction in size.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20240126080900.3209323-1-venkatesh.abbarapu@amd.com
4 months agosoc: zynqmp: Add the IDcode for dr_SE and eg_SE variants
Venkatesh Yadav Abbarapu [Tue, 23 Jan 2024 04:57:15 +0000 (10:27 +0530)]
soc: zynqmp: Add the IDcode for dr_SE and eg_SE variants

ID code is added for zu67dr_SE, zu11eg_SE, zu19eg_SE and zu47dr_SE
variants. SE is the select edition of restricted devices with the
capabilities.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20240123045715.893652-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
4 months agoMerge branch 'master-779h0-r2' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Sun, 11 Feb 2024 17:42:25 +0000 (12:42 -0500)]
Merge branch 'master-779h0-r2' of https://source.denx.de/u-boot/custodians/u-boot-sh

4 months agoconfigs: imx93_var_som: Enable AHAB support
Mathieu Othacehe [Fri, 9 Feb 2024 10:30:09 +0000 (11:30 +0100)]
configs: imx93_var_som: Enable AHAB support

Enable AHAB support in the imx93_var_som configuration.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
4 months agoboard: imx93_var_som: Probe ELE MU
Mathieu Othacehe [Fri, 9 Feb 2024 10:30:08 +0000 (11:30 +0100)]
board: imx93_var_som: Probe ELE MU

Probing the MU is needed to prevent this error in the SPL:

ele dev is not initialized
Authenticate container hdr failed, return -19, resp 0x0
IND = INVALID

ele dev is not initialized
Error: release container failed, resp 0x0!
IND = INVALID

SPL: failed to boot from all boot devices

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
4 months agoimx93: Use a header for imx9_probe_mu declaration
Mathieu Othacehe [Fri, 9 Feb 2024 10:30:07 +0000 (11:30 +0100)]
imx93: Use a header for imx9_probe_mu declaration

Put imx9_probe_mu declaration in a new mu.h header file.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Reviewed-by: Igor Opaniuk <igor.opaniuk@foundries.io>
4 months agospi: mxc_spi: Add imx6ul-ecspi compatible string
Marek Vasut [Thu, 8 Feb 2024 23:59:50 +0000 (00:59 +0100)]
spi: mxc_spi: Add imx6ul-ecspi compatible string

Recent i.MX8MP DTs use new fsl,imx6ul-ecspi compatible string instead
of the fsl,imx51-ecspi compatible string. Add the new compatible string
to fix ECSPI operation on i.MX8MP.

For details, see Linux:
48d74376fb68 ("arm64: dts: imx8mp: update ecspi compatible and clk")
8eb1252bbedf ("spi: imx: remove ERR009165 workaround on i.mx6ul")

Fixes: 451799a6ceac ("arm: dts: imx8mp: Sync the DT with kernel 6.4-rc4")
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Marek Vasut <marex@denx.de>
4 months agoARM: imx: Let SPL configure ECSPI1 clock on Data Modul i.MX8M Plus eDM SBC
Marek Vasut [Thu, 8 Feb 2024 17:33:50 +0000 (18:33 +0100)]
ARM: imx: Let SPL configure ECSPI1 clock on Data Modul i.MX8M Plus eDM SBC

The SPL clock code does configure the ECSPI clock frequency, which has
to match the mxc-spi driver configuration for successful SPI NOR boot.
Drop the assigned-clock from DT ecspi1 node on this board to let the
SPL clock code do the configuration and keep it aligned with the driver
expectation.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 months agoARM: renesas: Add Renesas R8A779H0 V4M Gray Hawk board code
Hai Pham [Sun, 28 Jan 2024 15:52:09 +0000 (16:52 +0100)]
ARM: renesas: Add Renesas R8A779H0 V4M Gray Hawk board code

Add board code for the Renesas R8A779H0 V4M Gray Hawk board.

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
4 months agoARM: dts: renesas: Add Renesas Gray Hawk boards support
Hai Pham [Sun, 28 Jan 2024 15:52:08 +0000 (16:52 +0100)]
ARM: dts: renesas: Add Renesas Gray Hawk boards support

Initial support for the Renesas Gray Hawk CPU and BreakOut boards.

The arch/arm/dts/r8a779h0-gray-hawk-cpu.dtsi is extended version of:
https://lore.kernel.org/linux-renesas-soc/b657402113267acd57aece0b4c681b707e704455.1706194617.git.geert+renesas@glider.be/
The version currenty submitted upstream lacks functionality which is
present in this series. Once the upstream support implements that
missing functionality, these DTs will be updated to match.

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
4 months agoARM: dts: renesas: Add Renesas R8A779H0 V4M DT extras
Hai Pham [Sun, 28 Jan 2024 15:52:07 +0000 (16:52 +0100)]
ARM: dts: renesas: Add Renesas R8A779H0 V4M DT extras

Add Renesas R8A779H0 V4M DT extras for U-Boot.

Until the RPC node becomes part of main DT, keep it here as
an extension so that board code can enable and use the RPC
to access SPI NOR.

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
4 months agoARM: dts: renesas: Add Renesas R8A779H0 V4M SoC support
Hai Pham [Sun, 28 Jan 2024 15:52:06 +0000 (16:52 +0100)]
ARM: dts: renesas: Add Renesas R8A779H0 V4M SoC support

Add initial support for the Renesas R8A779H0 (R-Car V4M) SoC.

The current version is imported and modified from:
https://lore.kernel.org/linux-renesas-soc/4107bc3d7c31932da29e671ddf4b1564ba38a84c.1706194617.git.geert+renesas@glider.be/
The modifications contain nodes from previous version
which are useful in U-Boot and not part of the Linux
kernel DT yet. The following nodes were added:
- pfc
- gpio0..gpio7
- i2c0..i2c3
- avb0..avb2
- mmc0

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
4 months agomtd: spi: renesas: Add R8A779H0 V4M support
Hai Pham [Sun, 28 Jan 2024 15:52:05 +0000 (16:52 +0100)]
mtd: spi: renesas: Add R8A779H0 V4M support

Support RPC SPI on R8A779H0 V4M SoC.

Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
4 months agoARM: renesas: Add R8A779H0 V4M Kconfig entry and PRR ID
Hai Pham [Sun, 28 Jan 2024 15:52:04 +0000 (16:52 +0100)]
ARM: renesas: Add R8A779H0 V4M Kconfig entry and PRR ID

Add Kconfig entry and PRR ID to support R8A779H0 V4M SoC.

Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
4 months agopinctrl: renesas: Add R8A779H0 V4M PFC tables
Hai Pham [Sun, 28 Jan 2024 15:52:03 +0000 (16:52 +0100)]
pinctrl: renesas: Add R8A779H0 V4M PFC tables

Add pinctrl tables for R8A779H0 V4M SoC.

The current version of these PFC tables is imported and squashed from:
https://lore.kernel.org/linux-renesas-soc/cover.1706264667.git.geert+renesas@glider.be/

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
4 months agoclk: renesas: Implement R8A779H0 V4M PLL7 support
Marek Vasut [Sun, 28 Jan 2024 15:52:02 +0000 (16:52 +0100)]
clk: renesas: Implement R8A779H0 V4M PLL7 support

Add PLL7 support to Gen3/Gen4 common clock driver. Add initial PLL7
multiplier and divider values into table in R8A779H0 V4M clock driver.

The PLL7 is new PLL added in R8A779H0 V4M SoC. Only integer multiplication
mode is supported by PLL7. The PLL reference clock are either 16.66 MHz or
20 MHz on R8A779H0 V4M SoC, and the output frequency must be 2000 MHz. The
multiplier values fitting this requirement are calculated to 120 or 100.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
4 months agoclk: renesas: Add R8A779H0 V4M clock tables
Hai Pham [Sun, 28 Jan 2024 15:52:01 +0000 (16:52 +0100)]
clk: renesas: Add R8A779H0 V4M clock tables

Add clock tables for R8A779H0 V4M SoC.

The current version is imported from:
https://lore.kernel.org/linux-renesas-soc/c678ef7164e3777fa91572f72e47ef385cea64b8.1706194617.git.geert+renesas@glider.be/
The current version still contains PLL7 extras from the
previous version to provide ethernet support in U-Boot.

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
4 months agodt-bindings: power: Add R8A779H0 V4M SYSC power domain definitions
Duy Nguyen [Sun, 28 Jan 2024 15:52:00 +0000 (16:52 +0100)]
dt-bindings: power: Add R8A779H0 V4M SYSC power domain definitions

Add power domain indices for R-Car V4M (R8A779H0).

The current version is imported from:
https://lore.kernel.org/linux-renesas-soc/c5cbef71178cada761e9da7bcbb6f21334f93ef8.1706194617.git.geert+renesas@glider.be/

Signed-off-by: Duy Nguyen <duy.nguyen.rh@renesas.com>
Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
4 months agodt-bindings: clock: Add R8A779H0 V4M CPG Core Clock Definitions
Duy Nguyen [Sun, 28 Jan 2024 15:51:59 +0000 (16:51 +0100)]
dt-bindings: clock: Add R8A779H0 V4M CPG Core Clock Definitions

Add all Clock Pulse Generator Core Clock Outputs for the Renesas R-Car
V4M (R8A779H0) SoC.

The current version is imported from:
https://lore.kernel.org/linux-renesas-soc/11acbd2a30b58607474e9c32eb798b3a00e85e73.1706194617.git.geert+renesas@glider.be/

Signed-off-by: Duy Nguyen <duy.nguyen.rh@renesas.com>
Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
4 months agoMerge tag 'u-boot-dfu-20240209' of https://source.denx.de/u-boot/custodians/u-boot-dfu
Tom Rini [Fri, 9 Feb 2024 14:00:42 +0000 (09:00 -0500)]
Merge tag 'u-boot-dfu-20240209' of https://source.denx.de/u-boot/custodians/u-boot-dfu

u-boot-dfu-20240209

- sparse error checking fix when using raw chunks
- 2 new additions (AVB, AB) of myself to the MAINTAINERS file

4 months agolib: sparse: Fix error checking for write_sparse_chunk_raw
Sean Anderson [Thu, 1 Feb 2024 18:18:51 +0000 (13:18 -0500)]
lib: sparse: Fix error checking for write_sparse_chunk_raw

The return value of write_sparse_chunk_raw is unsigned, so the existing
check has no effect. Use IS_ERR_VALUE to detect error instead, which is
what write_sparse_chunk_raw does itself.

Fixes: 62649165cb0 ("lib: sparse: Make CHUNK_TYPE_RAW buffer aligned")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/u-boot/1b323ec3-59b0-490b-a2f0-fd961dafcf49@moroto.mountain/
Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20240201181851.221701-1-sean.anderson@seco.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
4 months agoMAINTAINERS: add Mattijs for Android AVB
Mattijs Korpershoek [Fri, 12 Jan 2024 08:40:45 +0000 (09:40 +0100)]
MAINTAINERS: add Mattijs for Android AVB

Igor has not been active for quite some time on lore:
https://lore.kernel.org/all/?q=igor.opaniuk@gmail.com

I'm interested in helping with maintaining the android_avb
command. I'm a long time android/aosp developer and my daily job is
still doing android work.

Add myself as maintainer for Android AVB.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Acked-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Link: https://lore.kernel.org/r/20240112-maintainers-ab-v1-2-f2a538eab18a@baylibre.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
4 months agoMAINTAINERS: add Mattijs for Android AB
Mattijs Korpershoek [Fri, 12 Jan 2024 08:40:44 +0000 (09:40 +0100)]
MAINTAINERS: add Mattijs for Android AB

Igor has not been active for quite some time on lore:
https://lore.kernel.org/all/?q=igor.opaniuk@gmail.com

I'm interested in helping with maintaining the android_ab
command. I'm a long time android/aosp developer and my daily job is
still doing android work.

Add myself as maintainer for Android AB.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Acked-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Link: https://lore.kernel.org/r/20240112-maintainers-ab-v1-1-f2a538eab18a@baylibre.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>