]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
13 months agoARM: dts: p1801-t: separate from common transformers tree
Svyatoslav Ryhel [Tue, 3 Oct 2023 06:36:32 +0000 (09:36 +0300)]
ARM: dts: p1801-t: separate from common transformers tree

P1801-T has significant differences (hdmi panel and backlight,
own power supply system) which makes use of common transformer
device tree complicated.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
13 months agommc: tegra: get default-tap and default-trim from device tree
Svyatoslav Ryhel [Tue, 3 Oct 2023 06:33:52 +0000 (09:33 +0300)]
mmc: tegra: get default-tap and default-trim from device tree

Default-tap and default-trim values are used for eMMC setup
mostly on T114+ devices. As for now, those values are hardcoded
for T210 and ignored for all other Tegra generations. Fix this
by passing tap and trim values from dts.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
13 months agoARM: tegra210: set default-tap and default-trim values in sdhci nodes
Svyatoslav Ryhel [Tue, 3 Oct 2023 06:33:51 +0000 (09:33 +0300)]
ARM: tegra210: set default-tap and default-trim values in sdhci nodes

Tegra MMC driver has hardcoded tap and trim values as for now.
Set default-tap and default-trim values in sdhci nodes to avoid
regressions in case Tegra MMC driver is upated to use dts values.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
13 months agoMerge tag 'qcom-pull-20231103' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Fri, 3 Nov 2023 13:53:01 +0000 (09:53 -0400)]
Merge tag 'qcom-pull-20231103' of https://source.denx.de/u-boot/custodians/u-boot-snapdragon

As discussed, here is the maintainers update for Snapdragon. Sumit Garg
who maintains a few of the Qualcomm platforms in U-boot has also been
added as a reviewer.

13 months agoMerge tag 'u-boot-dfu-20231103' of https://source.denx.de/u-boot/custodians/u-boot-dfu
Tom Rini [Fri, 3 Nov 2023 13:52:37 +0000 (09:52 -0400)]
Merge tag 'u-boot-dfu-20231103' of https://source.denx.de/u-boot/custodians/u-boot-dfu

u-boot-dfu-20231103

- Fix CRC chunk size in fastboot
- Make size optional for dfu on mmc

13 months agoMAINTAINERS: update Qualcomm maintainer
Caleb Connolly [Tue, 31 Oct 2023 14:26:43 +0000 (14:26 +0000)]
MAINTAINERS: update Qualcomm maintainer

As Ramon has been inactive for some time now, add myself and Neil
Armstrong to maintain Qualcomm efforts going forwards.

Add Sumit Garg who maintains several Qualcomm platforms as reviewer.

Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
13 months agoMerge tag 'dm-pull-2nov23' of https://source.denx.de/u-boot/custodians/u-boot-dm
Tom Rini [Fri, 3 Nov 2023 00:22:39 +0000 (20:22 -0400)]
Merge tag 'dm-pull-2nov23' of https://source.denx.de/u-boot/custodians/u-boot-dm

Just various bugfixes, apart from the TI one

13 months agou_boot_pylib: Ensure subprocess is closed down
Simon Glass [Wed, 1 Nov 2023 17:17:50 +0000 (11:17 -0600)]
u_boot_pylib: Ensure subprocess is closed down

It isn't clear why we need to have two different paths for closing down
the pipe. Unify them and use the Python to avoid this warning:

  subprocess.py:1127: ResourceWarning: subprocess 83531 is still running

Note that this code appears to originally have come from [1] and was
committed into the ChromeOS chromiumos/platform/crosutils repo in the
bin/cros_image_to_target.py file. The addition of the extra code path
came later, so that is chosen for the fixes tag.

[1] https://codereview.chromium.org/3391008

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: a10fd93cbc patman: Make command methods return a CommandResult
13 months agobuildman: Support upstream branch name containing /
Simon Glass [Mon, 30 Oct 2023 17:22:30 +0000 (10:22 -0700)]
buildman: Support upstream branch name containing /

Buildman assumes that branch names do not have a slash in them, since
slash is used to delimit remotes, etc. This means that a branch called
'WIP/tryme' in remote dm ends up being 'tryme'.

Adjust the logic a little, to try to accommodate this.

For now, no tests are added for this behaviour.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
13 months agosandbox: eliminate unused functions from binaries
Heinrich Schuchardt [Tue, 24 Oct 2023 06:30:47 +0000 (08:30 +0200)]
sandbox: eliminate unused functions from binaries

The sandbox should closely mimic other architectures.

Place each function or data in a separate section and let the linker
eliminate unused ones. This will reduce the binary size.

In the linker script mark that u_boot_sandbox_getopt are to be kept.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
13 months agobinman: openssl: x509: ti_secure_rom: Add support for bootcore_opts
Neha Malcom Francis [Mon, 23 Oct 2023 08:01:02 +0000 (13:31 +0530)]
binman: openssl: x509: ti_secure_rom: Add support for bootcore_opts

According to the TRMs of K3 platform of devices, the ROM boot image
format specifies a "Core Options Field" that provides the capability to
set the boot core in lockstep when set to 0 or to split mode when set
to 2. Add support for providing the same from the binman DTS. Also
modify existing test case for ensuring future coverage.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
13 months agobuildman: Include symbols in the read-only data section
Simon Glass [Mon, 23 Oct 2023 07:52:43 +0000 (00:52 -0700)]
buildman: Include symbols in the read-only data section

When symbols switch between the inited data section and the read-only
data section their visbility changes, at present, with the -B option.

This is confusing, since adding 'const' to a variable declaration can
make it look like a significant improvement in bloat. But in fact
nothing has changed.

Add 'r' to the list of symbols types that are recorded, to correct this
problem. Add a constant to make it easier to find this code next time.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
13 months agocros_ec: spi: disable annoying key echo on console
Milan P. Stanić [Wed, 18 Oct 2023 13:40:12 +0000 (15:40 +0200)]
cros_ec: spi: disable annoying key echo on console

on Peach-pi console every key press is echoed with message
'cros_ec_command: Returned status 1'

this is not proper fix, just hack to disable this message

Signed-off-by: Milan P. Stanić <mps@arvanta.net>
Reviewed-by: Simon Glass <sjg@chromium.org>
13 months agobinman: Move stage header into a CBFS attribute
Simon Glass [Sat, 14 Oct 2023 20:40:30 +0000 (14:40 -0600)]
binman: Move stage header into a CBFS attribute

cbfsutil completely changed the way that stages are formatted in CBFS.
Adjust the binman implementation to do the same.

This mirrors commit 81dc20e744 in coreboot.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 months agobinman: Rename TYPE_STAGE to TYPE_LEGACY_STAGE
Simon Glass [Sat, 14 Oct 2023 20:40:29 +0000 (14:40 -0600)]
binman: Rename TYPE_STAGE to TYPE_LEGACY_STAGE

In preparation for changing how stages are stored, rename the existing
stage tag.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 months agobinman: Replace FILENAME_ALIGN 16 with ATTRIBUTE_ALIGN 4
Simon Glass [Sat, 14 Oct 2023 20:40:28 +0000 (14:40 -0600)]
binman: Replace FILENAME_ALIGN 16 with ATTRIBUTE_ALIGN 4

cbfsutil changed to 4-byte alignment for filenames instead of 16.
Adjust the binman implementation to do the same.

This mirrors commit 5779ca718c in coreboot.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 months agobinman: Ensure attributes always come last in the metadata
Simon Glass [Sat, 14 Oct 2023 20:40:27 +0000 (14:40 -0600)]
binman: Ensure attributes always come last in the metadata

cbfsutil changed to write zero bytes instead of 0xff when a small
padding must be added. Adjust the binman implementation to do the same.

Drop the code which looks for an unused attribute tag, since it is not
used. A future patch moves the attributes to the end of the header in
any case, so no data will follow the attributes.

This mirrors commit f0cc7adb2f in coreboot.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 months agobinman: Don't add compression attribute for uncompressed files
Simon Glass [Sat, 14 Oct 2023 20:40:26 +0000 (14:40 -0600)]
binman: Don't add compression attribute for uncompressed files

cbfsutil changed to skip adding a compression attribute if there is no
compression. Adjust the binman implementation to do the same.

This mirrors commit 105cdf5625 in coreboot.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
13 months agoMerge branch 'master_common_h_cleanup' of https://source.denx.de/u-boot/custodians...
Tom Rini [Thu, 2 Nov 2023 22:32:57 +0000 (18:32 -0400)]
Merge branch 'master_common_h_cleanup' of https://source.denx.de/u-boot/custodians/u-boot-sh

- Remove common.h usage

13 months agobinman: Reset missing bintools after testing
Simon Glass [Sat, 14 Oct 2023 20:40:25 +0000 (14:40 -0600)]
binman: Reset missing bintools after testing

For tests which fake bintools being missing, we need to reset the list
afterwards, to ensure that future tests do not also see the bintools as
missing.

Reset the list when processing is complete.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
13 months agopatman: Add a 'keep_change_id' setting
Maxim Cournoyer [Fri, 13 Oct 2023 03:06:24 +0000 (23:06 -0400)]
patman: Add a 'keep_change_id' setting

A Change-Id can be useful for traceability purposes, and some projects
may wish to have them preserved.  This change makes it configurable
via a new 'keep_change_id' setting.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
13 months agoMerge tag 'i2cfixes-for-v2024-01-rc2' of https://source.denx.de/u-boot/custodians...
Tom Rini [Thu, 2 Nov 2023 14:12:33 +0000 (10:12 -0400)]
Merge tag 'i2cfixes-for-v2024-01-rc2' of https://source.denx.de/u-boot/custodians/u-boot-i2c

i2c updates for v2024.01-rc2

- nuvoton: support standard/fast/fast plus mode
- bootcount: remove legacy i2c driver and implement
  DM based version

Bugfixes:
- designware_i2c: adjust timing calculation
  SPL probing failed on the StarFive VisionFive 2 board
  Heinrich fixed this, by syncing timing calculation with
  linux implementation.

13 months agoMerge https://source.denx.de/u-boot/custodians/u-boot-riscv
Tom Rini [Thu, 2 Nov 2023 13:30:34 +0000 (09:30 -0400)]
Merge https://source.denx.de/u-boot/custodians/u-boot-riscv

+ CI: Use OpenSBI 1.3.1 release for testing
+ riscv: Support resume after exception
+ rng: Support RNG provided by RISC-V Zkr ISA extension
+ board: starfive VF2: Support jtag
+ board: starfive VF2: Support TRNG driver
+ board: sifive unmatched: Move kernel load address

13 months agoboard: rzg2l: Drop <common.h>
Paul Barker [Wed, 1 Nov 2023 20:05:59 +0000 (20:05 +0000)]
board: rzg2l: Drop <common.h>

In line with changes elsewhere, drop inclusion of the common header.

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
13 months agoclk: rzg2l: Drop <common.h>
Paul Barker [Wed, 1 Nov 2023 20:05:58 +0000 (20:05 +0000)]
clk: rzg2l: Drop <common.h>

In line with changes elsewhere, drop inclusion of the common header.

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
13 months agogpio: rzg2l: Drop <common.h>
Paul Barker [Wed, 1 Nov 2023 20:05:57 +0000 (20:05 +0000)]
gpio: rzg2l: Drop <common.h>

In line with changes elsewhere, drop inclusion of the common header.

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
13 months agommc: renesas-sdhi: Drop <common.h>
Paul Barker [Wed, 1 Nov 2023 20:05:56 +0000 (20:05 +0000)]
mmc: renesas-sdhi: Drop <common.h>

In line with changes elsewhere, drop inclusion of the common header.

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
13 months agopinctrl: rzg2l: Drop <common.h>
Paul Barker [Wed, 1 Nov 2023 20:05:55 +0000 (20:05 +0000)]
pinctrl: rzg2l: Drop <common.h>

In line with changes elsewhere, drop inclusion of the common header.

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
13 months agoserial: sh: Drop <common.h>
Paul Barker [Wed, 1 Nov 2023 20:05:54 +0000 (20:05 +0000)]
serial: sh: Drop <common.h>

In line with changes elsewhere, drop inclusion of the common header.

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
13 months agoarm: mach-rmobile: Drop <common.h>
Paul Barker [Wed, 1 Nov 2023 20:05:53 +0000 (20:05 +0000)]
arm: mach-rmobile: Drop <common.h>

For most source files we can just drop <common.h>. We need to add an
include for <asm/u-boot.h> in a couple of places. Also sort the include
list in memmap-gen3.c while we're here.

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
13 months agoarm: armv8: mmu: Prepare for common.h removal
Paul Barker [Wed, 1 Nov 2023 20:05:52 +0000 (20:05 +0000)]
arm: armv8: mmu: Prepare for common.h removal

If <common.h> won't be included before <asm/armv8/mmu.h>, we need to
ensure that we have the required type definitions.

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
13 months agoconfigs: visionfive2: Enable JH7110 RNG driver
Chanho Park [Wed, 1 Nov 2023 12:16:52 +0000 (21:16 +0900)]
configs: visionfive2: Enable JH7110 RNG driver

Enables JH7110 RNG driver to visionfive2 board.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
13 months agoriscv: dts: jh7110: Add rng device tree node
Chanho Park [Wed, 1 Nov 2023 12:16:51 +0000 (21:16 +0900)]
riscv: dts: jh7110: Add rng device tree node

Adds jh7110 trng device tree node.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
13 months agorng: Add StarFive JH7110 RNG driver
Chanho Park [Wed, 1 Nov 2023 12:16:50 +0000 (21:16 +0900)]
rng: Add StarFive JH7110 RNG driver

Adds to support JH7110 TRNG driver which is based on linux kernel's
jh7110-trng.c. This can support to generate 256-bit random numbers and
128-bit but this makes 256-bit default for convenience.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
13 months agoclk: starfive: jh7110: Add security clocks
Chanho Park [Wed, 1 Nov 2023 12:16:49 +0000 (21:16 +0900)]
clk: starfive: jh7110: Add security clocks

Add STGCLK_SEC_HCLK and STGCLK_SEC_MISCAHB clocks for JH7110 TRNG
device.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
13 months agoriscv: import read/write_relaxed functions
Chanho Park [Wed, 1 Nov 2023 12:16:48 +0000 (21:16 +0900)]
riscv: import read/write_relaxed functions

This imports mmio functions from Linux's arch/riscv/include/asm/mmio.h
to use read/write[b|w|l|q]_relaxed functions.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
13 months agorng: Provide a RNG based on the RISC-V Zkr ISA extension
Heinrich Schuchardt [Tue, 31 Oct 2023 12:55:52 +0000 (14:55 +0200)]
rng: Provide a RNG based on the RISC-V Zkr ISA extension

The Zkr ISA extension (ratified Nov 2021) introduced the seed CSR. It
provides an interface to a physical entropy source.

A RNG driver based on the seed CSR is provided. It depends on
mseccfg.sseed being set in the SBI firmware.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
13 months agoriscv: allow resume after exception
Heinrich Schuchardt [Tue, 31 Oct 2023 12:55:51 +0000 (14:55 +0200)]
riscv: allow resume after exception

If CSRs like seed are readable by S-mode, may not be determinable by
S-mode. For safe driver probing allow to resume via a longjmp after an
exception.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
13 months agoboard: starfive: spl: Support jtag for VisionFive2 board
Chanho Park [Tue, 31 Oct 2023 08:56:00 +0000 (17:56 +0900)]
board: starfive: spl: Support jtag for VisionFive2 board

JTAG pins are mapped as below. To access the JTAG pins, we need to
control the GPIO pins from SPL which seems to be the earliest stage for
JTAG.

- JTAG nTRST: GPIO36 / Input
- JTAG TDI: GPIO61 / Input
- JTAG TMS: GPIO63 / Input
- JTAG TCK: GPIO60 / Input
- JTAG TDO: GPIO44 / Output

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
13 months agoriscv: cpu: jh7110: Add gpio helper macros
Chanho Park [Tue, 31 Oct 2023 08:55:59 +0000 (17:55 +0900)]
riscv: cpu: jh7110: Add gpio helper macros

Add gpio.h header file that includes JH7110 helper macros. The file is
imported from StarFive github[1] with small changes such as alignment.

[1]: https://github.com/starfive-tech/u-boot

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
13 months agoriscv: Weakly define invalidate_icache_range()
Samuel Holland [Tue, 31 Oct 2023 05:37:20 +0000 (00:37 -0500)]
riscv: Weakly define invalidate_icache_range()

Some RISC-V CPUs, such as the T-HEAD XuanTie series, have a
vendor-specific way to invalidate a portion of the instruction cache.
Allow them to override invalidate_icache_range().

Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
13 months agoriscv: Align the trap handler to 64 bytes
Samuel Holland [Tue, 31 Oct 2023 05:35:41 +0000 (00:35 -0500)]
riscv: Align the trap handler to 64 bytes

This is required on CPUs which always operate in CLIC mode, such as the
T-HEAD E906 and E907. Per the CLIC specification: "In this mode, the
trap vector base address held in mtvec is constrained to be aligned on a
64-byte or larger power-of-two boundary."

Reported-by: Madushan Nishantha <jlmadushan@gmail.com>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
13 months agoriscv: Sort target configs alphabetically
Samuel Holland [Tue, 31 Oct 2023 05:32:12 +0000 (00:32 -0500)]
riscv: Sort target configs alphabetically

Clean things up for the next time somebody adds a target.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
13 months agoboard: sifive: unmatched: move kernel load address to 0x80200000
Yong-Xuan Wang [Thu, 26 Oct 2023 03:22:52 +0000 (03:22 +0000)]
board: sifive: unmatched: move kernel load address to 0x80200000

U-boot initially loads the kernel image to the kernel_addr_r, and
subsequently relocates it to memory address 0x80200000. Setting
kernel_addr_r to 0x80200000 can eliminate one copy operation.

Signed-off-by: Yong-Xuan Wang <yongxuan.wang@sifive.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
13 months agoCI: use OpenSBI 1.3.1 for testing
Heinrich Schuchardt [Tue, 24 Oct 2023 22:15:43 +0000 (00:15 +0200)]
CI: use OpenSBI 1.3.1 for testing

Use the most recent upstream release of OpenSBI for CI testing.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
13 months agoMerge tag 'clk-2024.01-rc2' of https://source.denx.de/u-boot/custodians/u-boot-clk
Tom Rini [Wed, 1 Nov 2023 21:49:58 +0000 (17:49 -0400)]
Merge tag 'clk-2024.01-rc2' of https://source.denx.de/u-boot/custodians/u-boot-clk

Clock changes for 2024.01-rc2

This contains several fixes for the clock core.

13 months agoclk: also handle ENOENT in *_optional functions
Yang Xiwen [Thu, 17 Aug 2023 17:04:02 +0000 (01:04 +0800)]
clk: also handle ENOENT in *_optional functions

If the device does not specify any clocks in device tree, these
functions will return PTR_ERR(-ENOENT). This is not the intended
behavior and does not comply with linux kernel CCF. Fix that by
returning NULL under such circumstances instead.

Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
Reviewed-by: Sean Anderson <seanga2@gmail.com>
Link: https://lore.kernel.org/r/20230818-clk-fix-v1-3-49ec18f820bf@outlook.com
13 months agoclk: use private clk struct in CLK_CCF's enable/disable functions
Maksim Kiselev [Tue, 5 Sep 2023 22:16:49 +0000 (01:16 +0300)]
clk: use private clk struct in CLK_CCF's enable/disable functions

In clk_enable()/clk_disable() functions, when CCF is activated,
we must pass a private clk struct to enable()/disable() ops functions.
Otherwise, the use of a container_of() construction within these ops
should be banned. Because passing a non-private clk struct to
container_of() results in an out of range error.

At the moment, clk-mux, clk-fixed-factor, clk-gate and possibly other
clocks use container_of() in their enable()/disable() functions.
Therefore, for these functions to work correclty, private clk struct
must be passed.

Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
Reviewed-by: Sean Anderson <seanga2@gmail.com>
Link: https://lore.kernel.org/r/20230905221649.3577929-1-bigunclemax@gmail.com
13 months agoclk: fix count parameter type for clk_release_all
Eugen Hristev [Mon, 19 Jun 2023 10:47:52 +0000 (13:47 +0300)]
clk: fix count parameter type for clk_release_all

The second parameter for clk_release_all is used as an unsigned
(which makes sense) but the function prototype declares it as an int.
This causes warnings/error like such below:

include/clk.h:422:48: error: conversion to ‘int’ from ‘unsigned int’ may change the sign of the result [-Werror=sign-conversion]
  422 |         return clk_release_all(bulk->clks, bulk->count);

To fix this, changed the type of the count to `unsigned int`

Fixes: 82a8a669b4f7 ("clk: add clk_release_all()")
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Reviewed-by: Xavier Drudis Ferran <xdrudis@tinet.cat>
Reviewed-by: Sean Anderson <seanga2@gmail.com>
Link: https://lore.kernel.org/r/20230619104752.278500-1-eugen.hristev@collabora.com
13 months agodrivers: clk: Adjust temp var data type to properly match that of struct clk_ops
Nathan Barrett-Morrison [Mon, 15 May 2023 19:49:58 +0000 (15:49 -0400)]
drivers: clk: Adjust temp var data type to properly match that of struct clk_ops

In commit 5c5992cb90cf ("clk: Add debugging for return values"), a
temporary storage variable was added around the ops->get_rate() call
inside clk_get_rate(), so that the result could be passed through
log_ret.

This temporary variable was declared as an int, yet when we look in
struct clk_ops, we can see this needs to be a ulong:
ulong (*get_rate)(struct clk *clk);

This was resulting in a signed to unsigned casting error on our
builds, where a clock value of 0xABCDABCD was being incorrectly cast
to 0xFFFFFFFFABCDABCD.

Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Reviewed-by: Sean Anderson <seanga2@gmail.com>
Link: https://lore.kernel.org/r/20230515195005.1961495-1-nathan.morrison@timesys.com
13 months agoMerge branch '2023-11-01-bootstd-fixes'
Tom Rini [Wed, 1 Nov 2023 16:52:32 +0000 (12:52 -0400)]
Merge branch '2023-11-01-bootstd-fixes'

- Four patches to address issues with bootstd flows in some cases

13 months agobootstd: cros: Correct condition for read method
Simon Glass [Tue, 24 Oct 2023 18:17:37 +0000 (07:17 +1300)]
bootstd: cros: Correct condition for read method

This has a typo which makes the method inoperable. Correct it so that
'bootflow read' works correctly for ChromeOS.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 months agobootstd: Handle a few special cases in cmdline_set_arg()
Simon Glass [Tue, 24 Oct 2023 18:17:36 +0000 (07:17 +1300)]
bootstd: Handle a few special cases in cmdline_set_arg()

Two bugs have appeared:

- arguments can have an equals sign embedded in them, which must be
  considered part of the value
- arguments must fully match the name; partial matches should be
  ignored

Fix these and add a test to cover both.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 months agobootstd: Make efi_mgr bootmeth work for non-sandbox setups
Mark Kettenis [Sun, 3 Sep 2023 20:40:00 +0000 (22:40 +0200)]
bootstd: Make efi_mgr bootmeth work for non-sandbox setups

Enable the bootflow based on this bootmeth if the BootOrder EFI
variable is set.

Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
13 months agobootstd: BOOTDEV_SPI_FLASH requires BOOTSTD
Heinrich Schuchardt [Mon, 28 Aug 2023 18:49:59 +0000 (20:49 +0200)]
bootstd: BOOTDEV_SPI_FLASH requires BOOTSTD

Compiling sandbox_defconfig with CONFIG_BOOTSTD=n fails:

    /usr/bin/ld: drivers/mtd/spi/sf_bootdev.o:
    in function `sf_get_bootflow':
    /drivers/mtd/spi/sf_bootdev.c:43:(.text+0x96):
    undefined reference to `bootmeth_set_bootflow'

Add the missing Kconfig dependency.

Fixes: Fixes: 0c1f4a9fb13a ("bootstd: Add a SPI flash bootdev")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
13 months agoMerge https://source.denx.de/u-boot/custodians/u-boot-mmc
Tom Rini [Wed, 1 Nov 2023 13:44:33 +0000 (09:44 -0400)]
Merge https://source.denx.de/u-boot/custodians/u-boot-mmc

13 months agocmd: mmc: Add mmc reg read command for reading card registers
Marek Vasut [Tue, 31 Oct 2023 12:20:17 +0000 (13:20 +0100)]
cmd: mmc: Add mmc reg read command for reading card registers

Add extension to the 'mmc' command to read out the card registers.
Currently, only the eMMC OCR/CID/CSD/EXTCSD/RCA/DSR register are
supported. A register value can either be displayed or read into
an environment variable.

Tested-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
13 months agommc: sdhci: Rework SDHCI_QUIRK_BROKEN_R1B
Sean Anderson [Fri, 27 Oct 2023 20:57:03 +0000 (16:57 -0400)]
mmc: sdhci: Rework SDHCI_QUIRK_BROKEN_R1B

As noted in commit 3a6383207be ("mmc: sdhci: add the quirk for broken
r1b response"), some MMC controllers don't always set the transfer
complete bit with R1b responses.

According to the SD Host Controller Simplified Specification v4.20,

> In the case of a command pairing with response-with-busy[, Transfer
> Complete] is set when busy is de-asserted. Refer to DAT Line Active
> and Command Inhibit (DAT) in the Present State register.

By polling the DAT Line Active bit in the present state register, we can
detect when we are no longer busy, without waiting for a long timeout.
This results in much faster reads/writes on buggy controllers.

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Tested-by: Henrik Grimler <henrik@grimler.se>
13 months agommc: pci: Drop the superfluous cast
Bin Meng [Wed, 11 Oct 2023 11:00:52 +0000 (19:00 +0800)]
mmc: pci: Drop the superfluous cast

dm_pci_map_bar() return a value of (void *) already, hence no need
to cast it again before assigning to host->ioaddr.

Signed-off-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
13 months agommc: spl: select SPL_BLK for SPL_DM_MMC
Oleksandr Suvorov [Wed, 23 Aug 2023 15:45:45 +0000 (18:45 +0300)]
mmc: spl: select SPL_BLK for SPL_DM_MMC

mmc_bind() in mmc-uclass.c calls blk_create_devicef() which is
defined in blk-uclass.c, so SPL_BLK is required by SPL_DM_MMC.
Implicitly select SPL_BLK for SPL_DM_MMC.

Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
13 months agoMerge branch '2023-10-31-platform-updates'
Tom Rini [Tue, 31 Oct 2023 15:17:24 +0000 (11:17 -0400)]
Merge branch '2023-10-31-platform-updates'

- Updates for npcm8xx, developerbox, corstone1000 and one clock fix for
  TI K3 platforms.

13 months agocorstone1000: enable PSCI reset
Emekcan Aras [Thu, 26 Oct 2023 12:50:51 +0000 (13:50 +0100)]
corstone1000: enable PSCI reset

enable PSCI reset used for the system reset

Even though Corstone-1000 does not implement the entire PSCI APIs,
it relies on PSCI reset interface for the system reset.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
13 months agocorstone1000: enable distro booting command
Abdellatif El Khlifi [Thu, 26 Oct 2023 12:50:50 +0000 (13:50 +0100)]
corstone1000: enable distro booting command

enable distro_bootcmd

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
13 months agocorstone1000: add compressed kernel support
Abdellatif El Khlifi [Thu, 26 Oct 2023 12:50:49 +0000 (13:50 +0100)]
corstone1000: add compressed kernel support

unzip the kernel before executing it

The Corstone-1000 kernel has become too large to fit in the available
storage.  Switching to a compressed kernel avoids the problem, but
requires uncompressing it.

Changes made are generated using savedefconfig.

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
13 months agoboard: developerbox: update flash rawwrite binary size
Masahisa Kojima [Wed, 25 Oct 2023 06:51:03 +0000 (15:51 +0900)]
board: developerbox: update flash rawwrite binary size

Current documentation limits the firmware size to 1.5MB.
When the fTPM and StandaloneMM-based RPMB secure storage is
enabled, firmware size is bigger than that size.
Let's specify the A/B update bank size(4MB) for flash
rawwrite parameter.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Acked-by: Jassi Brar <jaswinder.singh@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
13 months agoboard: developerbox: update old NOR flash layout build instruction
Masahisa Kojima [Wed, 25 Oct 2023 06:51:02 +0000 (15:51 +0900)]
board: developerbox: update old NOR flash layout build instruction

v2023.07 is the last version supporting old NOR flash layout
by default. The later versions of U-Boot, Developerbox is
configured to enable A/B update and new NOR Flash layout
by default.
This commit updates the documentation to pin the U-Boot
version for the old NOR flash layout. It is still useful
for the user wants to replace the factory default EDK II
firmware to U-Boot.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Acked-by: Jassi Brar <jaswinder.singh@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
13 months agoboard: developerbox: remove obsolete NOR flash layout definition
Masahisa Kojima [Wed, 25 Oct 2023 06:51:01 +0000 (15:51 +0900)]
board: developerbox: remove obsolete NOR flash layout definition

There are two kinds of NOR flash layout for the Developerbox.
Capsule update for the old layout is no longer available since
it has small capacity for secure world images and can not
house the TA such as fTPM.
This commit removes the definition related to the obsolete
NOR flash layout for the UEFI capsule update.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Acked-by: Jassi Brar <jaswinder.singh@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
13 months agoclk: ti: k3-pll: Add calibration support for non fractional mode
Vishal Mahaveer [Mon, 23 Oct 2023 13:35:46 +0000 (08:35 -0500)]
clk: ti: k3-pll: Add calibration support for non fractional mode

PLL calibration needs to be enabled when operating in non fractional
mode. Add the sequence to do a fast calibration when using PLL
in this mode.

Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
13 months agoconfigs: nuvoton: npcm8xx: Disable CONFIG_SPI_FLASH_USE_4K_SECTORS
Jim Liu [Mon, 23 Oct 2023 07:02:25 +0000 (15:02 +0800)]
configs: nuvoton: npcm8xx: Disable CONFIG_SPI_FLASH_USE_4K_SECTORS

disable this config to improve flash program time

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
13 months agoboard: nuvuton: arbel: Fix incorrect ram size
Jim Liu [Mon, 23 Oct 2023 07:02:24 +0000 (15:02 +0800)]
board: nuvuton: arbel: Fix incorrect ram size

1. Fix incorrect ram size of 4GB dram with ECC enabled
2. Fix wrong place to set dram bank size
   - The dram bank size should be set in dram_init_banksize
   - Dram_init should not access gd->bd because the board info
     struct is not reserved yet.

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
[trini: Rework slightly]
Signed-off-by: Tom Rini <trini@konsulko.com>
13 months agoconfigs: npcm: Support more uart baud rate
Jim Liu [Mon, 23 Oct 2023 07:02:23 +0000 (15:02 +0800)]
configs: npcm: Support more uart baud rate

Add uart baud rate table to arbel(npcm8xx) and poleg(npcm7xx)

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
[trini: Rework slightly]
Signed-off-by: Tom Rini <trini@konsulko.com>
13 months agopinctrl: npcm8xx: Add name for gpio function
Jim Liu [Mon, 23 Oct 2023 07:02:22 +0000 (15:02 +0800)]
pinctrl: npcm8xx: Add name for gpio function

GPIO function name is needed in the debug log

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
13 months agodfu: mmc: Add support for exposing whole mmc device
Marek Vasut [Sun, 29 Oct 2023 22:37:22 +0000 (23:37 +0100)]
dfu: mmc: Add support for exposing whole mmc device

Add support for exposing the whole mmc device by setting the 'size'
parameter to 0. This can be useful in case it is not clear what the
total device size is up front. Update the documentation accordingly.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Link: https://lore.kernel.org/r/20231029223740.284149-1-marex@denx.de
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
13 months agofastboot: fix CRC32 chunk size checking
Wojciech Nizinski [Mon, 25 Sep 2023 10:37:15 +0000 (12:37 +0200)]
fastboot: fix CRC32 chunk size checking

genimage create android-sparse file with CRC32 chunk at end. When
U-Boot's fastboot receives this chunk it returns error message:
`Fail Bogus chunk size for chunk type Dont Care`

According to reference implementation of Android's sparse file format:

<https://android.googlesource.com/platform/system/core/+/refs/heads/main/
libsparse/output_file.cpp#513>

the chunk_header.total_sz is CHUNK_HEADER_LEN + 4 (CRC32 size).

Signed-off-by: Wojciech Nizinski <niziak@spox.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> # on vim3
Link: https://lore.kernel.org/r/20230925103714.4153612-1-niziak@spox.org
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
13 months agobootcount: Add driver model I2C driver
Philip Richard Oberfichtner [Tue, 31 Oct 2023 07:38:48 +0000 (08:38 +0100)]
bootcount: Add driver model I2C driver

This adds a generic I2C bootcounter adhering to driver model to replace
the previously removed legacy implementation.

There is no change in functionality, it can be used on any I2C device.
The device tree configuration may look like this for example:

bootcount {
compatible = "u-boot,bootcount-i2c";
i2cbcdev = <&i2c_rtc>;
offset = <0x11>;
};

Signed-off-by: Philip Richard Oberfichtner <pro@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
13 months agoi2c: Implement i2c_get_chip_by_phandle()
Philip Richard Oberfichtner [Tue, 31 Oct 2023 07:38:46 +0000 (08:38 +0100)]
i2c: Implement i2c_get_chip_by_phandle()

This new function enhances the i2c_get_chip*() toolbox by implementing a
variant that does not require a chip_addr. Instead, the desired device
is pointed to by a phandle.

Signed-off-by: Philip Richard Oberfichtner <pro@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
13 months agobootcount: Remove legacy I2C driver
Philip Richard Oberfichtner [Tue, 31 Oct 2023 07:38:44 +0000 (08:38 +0100)]
bootcount: Remove legacy I2C driver

The legacy I2C bootcounter will hereby be removed and eventually
be replaced by a driver model implementation in the follow-up commit.

The legacy driver has the following drawbacks:
- It's not adhering to the driver model
- Settings are grabbed from Kconfig rather than device tree
- i2c_{read,write} are being used instead of dm_i2c_{read,write}

Signed-off-by: Philip Richard Oberfichtner <pro@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
14 months agoMerge branch '2023-10-30-assorted-general-updates'
Tom Rini [Mon, 30 Oct 2023 20:01:54 +0000 (16:01 -0400)]
Merge branch '2023-10-30-assorted-general-updates'

- Two Kconfig content fixes, fix some issues reported by Coverity,
  resync get_maintainer.pl (two small fixees), update i2c_eeprom, and
  fix an off by one in addrmap_set_entry

14 months agomisc: i2c_eeprom: consider pagesize when writing to eeprom
Michel Alex [Thu, 26 Oct 2023 05:47:41 +0000 (05:47 +0000)]
misc: i2c_eeprom: consider pagesize when writing to eeprom

Calculate the maximum length of the buffer when writing
across the page boundary. If the buffer length (len)
exceeds the page boundary (pagesize), split it. Use this
length instead of comparing the length with the pagesize,
because if the write start address (offset) is not at the
beginning of a page and the page_offset + len is greater
than the page boundary (pagesize), the write operation
would overflow the current page and the behaviour can be
undefined (e.g. at24).

Signed-off-by: Alex Michel <alex.michel@wiedemann-group.com>
14 months agoget_maintainer.pl: update from Linux kernel v6.5
Tom Rini [Sat, 28 Oct 2023 16:58:27 +0000 (12:58 -0400)]
get_maintainer.pl: update from Linux kernel v6.5

Update U-Boot's version of scripts/get_maintainer.pl to sync it up with
the latest changes to the Linux kernel's version of the same script.

The last sync was with Linux kernel version v5.13-rc6. The commits to
the kernel's get_maintainer.pl since then (starting with the most
recent) are:
        11fb48961e52 get_maintainer: Honor mailmap for in file emails
        26d98e9f78da get_maintainer: don't remind about no git repo when --nogit is used

Signed-off-by: Tom Rini <trini@konsulko.com>
14 months agoKconfig: Remove all default n/no options
Michal Simek [Wed, 25 Oct 2023 07:25:37 +0000 (09:25 +0200)]
Kconfig: Remove all default n/no options

Similar change was done by commit b4c2c151b14b ("Kconfig: Remove all
default n/no options") and again sync is required.

default n/no doesn't need to be specified. It is default option anyway.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Svyatoslav Ryhel <clamor95@gmail.com> # tegra
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Angelo Dureghello <angelo@kernel-space.org>
14 months agotools: mkimage: fix sfspl_image_extract_subimage()
Heinrich Schuchardt [Tue, 24 Oct 2023 07:26:38 +0000 (09:26 +0200)]
tools: mkimage: fix sfspl_image_extract_subimage()

Do not leak file descriptor if writing fails.
Correct the error text if opening a file fails.

Addresses-Coverity-ID: 467054 Resource leaks
Fixes: 64fd30d367a1 ("tools: mkimage: Add StarFive SPL image support")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
14 months agoarm_ffa: fix: remove deadcode in ffa_print_error_log()
Abdellatif El Khlifi [Fri, 20 Oct 2023 13:15:33 +0000 (14:15 +0100)]
arm_ffa: fix: remove deadcode in ffa_print_error_log()

address the CID 464361 Control flow issues [1]

[1]: https://lore.kernel.org/all/20230821210927.GL3953269@bill-the-cat/

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Cc: Tom Rini <trini@konsulko.com>
14 months agocommon: Reword CONSOLE_RECORD_.*SIZE help texts
Tom Rini [Thu, 19 Oct 2023 15:04:35 +0000 (11:04 -0400)]
common: Reword CONSOLE_RECORD_.*SIZE help texts

Make it clear that in the options for setting the console record buffer
sizes that we are talking about buffers for that feature specifically
and not the general console buffers.

Signed-off-by: Tom Rini <trini@konsulko.com>
14 months agoaddrmap: Fix off by one in addrmap_set_entry()
Dan Carpenter [Tue, 25 Jul 2023 06:50:40 +0000 (09:50 +0300)]
addrmap: Fix off by one in addrmap_set_entry()

The > comparison needs to be changed to >= to prevent an out of bounds
write on th next line.

Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
14 months agoi2c: designware_i2c: adjust timing calculation
Heinrich Schuchardt [Fri, 13 Oct 2023 13:09:39 +0000 (15:09 +0200)]
i2c: designware_i2c: adjust timing calculation

In SPL probing of the designware_i2c device on the StarFive VisionFive 2
board fails with

    dw_i2c: mode 0, ic_clk 1000000, speed 100000,
    period 10 rise 1 fall 1 tlow 5 thigh 4 spk 0
    dw_i2c: bad counts. hcnt = -4 lcnt = 4
    device_probe: i2c@12050000 failed to probe -22

When changing the offset for the high phase from 7 to 3 the device is
probed correctly. This now matches the value from the Linux driver.

Without this fix the memory size of the StarFive VisionFive 2 board cannot
be read from EEPROM.

Fixes: e71b6f6622d6 ("i2c: designware_i2c: Rewrite timing calculation")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
14 months agoi2c: nuvoton: remove standard mode only
Jim Liu [Wed, 4 Oct 2023 01:35:58 +0000 (09:35 +0800)]
i2c: nuvoton: remove standard mode only

first version is only support standard mode.
remove this judgment to support standard/fast/fast plus  mode.

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
Changes for v2:
   - add commit message
Reviewed-by: Heiko Schocher <hs@denx.de>
14 months agoMerge branch 'master_tmio_fixes' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Sat, 28 Oct 2023 16:51:28 +0000 (12:51 -0400)]
Merge branch 'master_tmio_fixes' of https://source.denx.de/u-boot/custodians/u-boot-sh

- MMC fixes for Renesas platforms

14 months agoMerge branch '2023-10-28-assorted-platform-updates'
Tom Rini [Sat, 28 Oct 2023 13:23:27 +0000 (09:23 -0400)]
Merge branch '2023-10-28-assorted-platform-updates'

- Fix some mpc85xx platforms, fixes for a few TI K3 platforms, enable
  usb device and fastboot on verdin-imx8mp, make all QEMU platforms use
  the default console buffer sizes, vexpress platform fixes, and update
  synquacer flash layout

14 months agoiot2050: Allow for more than 1 USB storage device
Jan Kiszka [Sun, 22 Oct 2023 18:07:26 +0000 (20:07 +0200)]
iot2050: Allow for more than 1 USB storage device

This was lost in refactoring while some users of the IOT2050 expect it
to work: Make sure that up to 3 USB storage devices are probed.

Fixes: 53873974a4b0 ("include: armv7: Enable distroboot across all configs")
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
14 months agompc85xx: relocate code in non-SPL build
Martin Fäcknitz [Thu, 19 Oct 2023 23:06:55 +0000 (01:06 +0200)]
mpc85xx: relocate code in non-SPL build

When building a non-SPL image, relocation is needed. This patch restores
the old behaviour before commit b35316fb67cb ("Convert
CONFIG_SPL_INIT_MINIMAL et al to Kconfig") was only defined if
CONFIG_SPL_BUILD was defined.

Fixes: b35316fb67cb ("Convert CONFIG_SPL_INIT_MINIMAL et al to Kconfig")
Signed-off-by: Martin Fäcknitz <faecknitz@hotsplots.de>
14 months agoboard: synquacer: Update the flash image layout
Ilias Apalodimas [Thu, 19 Oct 2023 13:54:19 +0000 (16:54 +0300)]
board: synquacer: Update the flash image layout

The SynQuacer Developerbox, in EFI mode, supports A/B capsule
updates and single image ones. The flash layout in the latter case is
outdated, update it with the new offsets and images

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Tested-By: Masahisa Kojima <masahisa.kojima@linaro.org>
14 months agodriver: misc: k3_avs: Add support for thermal shutdown
Udit Kumar [Thu, 19 Oct 2023 07:27:53 +0000 (12:57 +0530)]
driver: misc: k3_avs: Add support for thermal shutdown

To avoid thermal burn out, program thermal shutdown
value in VTM (Voltage and Thermal Manager) IP.

Part of Linux kernel driver (drivers/thermal/k3_j72xx_bandgap.c)
is ported from kernel 6.6-rc1, which sets thermal shutdown values.

Signed-off-by: Udit Kumar <u-kumar1@ti.com>
Signed-off-by: Neha Francis <n-francis@ti.com>
14 months agovexpress64: Add MMC card to the BOOT_TARGET_DEVICES of FVP
Wei Chen [Wed, 18 Oct 2023 06:27:45 +0000 (14:27 +0800)]
vexpress64: Add MMC card to the BOOT_TARGET_DEVICES of FVP

Add MMC disk to FVP's BOOT_TARGET_DEVICES. This allows the user to boot
from MMC devices.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Qi Feng <qi.feng@arm.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
14 months agomisc: vexpress_config: Use member .priv_auto to set the private data
Wei Chen [Wed, 18 Oct 2023 06:27:44 +0000 (14:27 +0800)]
misc: vexpress_config: Use member .priv_auto to set the private data

In current vexpress_config_probe code, it sets the uclass private data
directly. This will cause one compilation error:
drivers/misc/vexpress_config.c:114:27: error: lvalue required as left operand of assignment
  114 |  dev_get_uclass_priv(dev) = priv;
      |                           ^

In this patch we set the uclass private data through struct member
.priv_auto, and this compilation error disappears.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Qi Feng <qi.feng@arm.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
14 months agoconfig: qemu: relax print and console buffer size
Heinrich Schuchardt [Mon, 16 Oct 2023 21:54:45 +0000 (23:54 +0200)]
config: qemu: relax print and console buffer size

QEMU print and console buffer sizes have been restricted on QEMU below
their default values.

One of the side effects of the print buffer size restriction is output
truncation of the 'efidebug dh' command.

As QEMU does not have special memory size restrictions remove the settings
from the defconfig files and go with the generic defaults.

Fixes: d0ee7f295d74 ("Convert CONFIG_SYS_PBSIZE to Kconfig")
Fixes: d31466b382dd ("Convert CONFIG_SYS_CBSIZE to Kconfig")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
14 months agoboard: siemens: iot2050: Fix M.2 detection
Jan Kiszka [Tue, 17 Oct 2023 05:20:14 +0000 (07:20 +0200)]
board: siemens: iot2050: Fix M.2 detection

The "simpler" the logic, the higher the probability to not test and get
things wrong, again: The absence of a "-PG2" suffix is not sufficient to
derive that we are on PG1. There is also "IOT2050-ADVANCED-M2".

Finally fix that by exactly matching against the two PG1 device names.

While changing this, we can also drop the not really needed check for
!board_is_sr1 in board_is_m2 and call the boards by their names
("board_is_pg1").

Reported-and-tested-by: Bao Cheng Su <baocheng.su@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
14 months agoboard: toradex: verdin-imx8mp: enable usb device and fastboot support
Marcel Ziswiler [Mon, 28 Aug 2023 21:38:02 +0000 (23:38 +0200)]
board: toradex: verdin-imx8mp: enable usb device and fastboot support

Enable USB device and fastboot support which may be used to load the
Toradex Easy Installer FIT image.

While at it also enable USB mass storage aka UMS support.

Note that the i.MX 8M Plus recovery mode support is based on the USB
boot stage of the BOOTROM and does NOT require USB SDP SPL aka serial
downloader support.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Fabio Estevam <festevam@denx.de>
14 months agoMerge tag 'tpm-next-27102023' of https://source.denx.de/u-boot/custodians/u-boot-tpm
Tom Rini [Fri, 27 Oct 2023 23:27:29 +0000 (19:27 -0400)]
Merge tag 'tpm-next-27102023' of https://source.denx.de/u-boot/custodians/u-boot-tpm

bootX measurements and measurement API moved to u-boot core:

Up to now, U-Boot could perform measurements and EventLog creation as
described by the TCG spec when booting via EFI.

The EFI code was residing in lib/efi_loader/efi_tcg2.c and contained
both EFI specific code + the API needed to access the TPM, extend PCRs
and create an EventLog. The non-EFI part proved modular enough and
moving it around to the TPM subsystem was straightforward.

With that in place we can have a common API for measuring binaries
regardless of the boot command, EFI or boot(m|i|z), and contructing an
EventLog.

I've tested all of the EFI cases -- booting with an empty EventLog and
booting with a previous stage loader providing one and found no
regressions.  Eddie tested the bootX part.

Eddie also fixed the sandbox TPM which couldn't be used for the EFI code
and it now supports all the required capabilities. This had a slight
sideeffect in our testing since the EFI subsystem initializes the TPM
early and 'tpm2 init' failed during some python tests. That code only
opens the device though, so we can replace it with 'tpm2 autostart'
which doesn't error out and still allows you to perfom the rest of the
tests but doesn't report an error if the device is already opened.

There's a few minor issues with this PR as well but since testing and
verifying the changes takes a considerable amount of time, I prefer
merging it now.

Heinrich has already sent a PR for -master containing "efi_loader: fix
EFI_ENTRY point on get_active_pcr_banks" and I am not sure if that will
cause any conflicts, but in any case they should be trivial to resolve.

Both the EFI and non-EFI code have a Kconfig for measuring the loaded
Device Tree.  The reason this is optional is that we can't reason
when/if devices add random info like kaslr-seed, mac addresses etc in
the DT. In that case measurements are random, board specific and
eventually useless.  The reason it was difficult to fix it prior to this
patchset is because the EFI subsystem and thus measurements was brought
up late and DT fixups might have already been applied. With this
patchset we can measure the DT really early in the future.

Heinrich also pointed out that the two Kconfigs for the DTB measurements
can be squashed in a single one and that the documentation only explains
the non-EFI case.  I agree on both but as I said this is a sane working
version, so let's pull this first it's aleady big enough and painful to
test.

14 months agoMerge tag 'efi-2024-01-rc2-2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Fri, 27 Oct 2023 19:23:21 +0000 (15:23 -0400)]
Merge tag 'efi-2024-01-rc2-2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2024-01-rc2-2

Documentation:

* Bump urllib3 version
* Replace references to dm_dump_all() with dm_dump_tree()
* Update description of build dependencies for Alpine Linux
* Fix typo in gpt example
* Fix ordering of shell commands

UEFI:

* Move misplace EFI_ENTRY macro