pandora-u-boot.git
3 weeks agoriscv: cpu: th1520: Select clock driver
Yao Zi [Fri, 16 May 2025 03:05:24 +0000 (03:05 +0000)]
riscv: cpu: th1520: Select clock driver

The clock driver is essential for TH1520 SoCs to operate. Select the
driver in SoC Kconfig entry.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoclk: thead: Port clock controller driver of TH1520 SoC
Yao Zi [Fri, 16 May 2025 03:05:23 +0000 (03:05 +0000)]
clk: thead: Port clock controller driver of TH1520 SoC

The driver is adapted from Linux kernel's version of clk-th1520-ap.c,
with only output clocks for external sensors, which are barely useful in
bootloaders, removed.

Same as the mainline driver, it currently lacks of ability to enable and
reconfigure PLLs, which could be implemented later.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: cpu: th1520: Initialize IOPMPs in SPL
Yao Zi [Fri, 16 May 2025 03:05:22 +0000 (03:05 +0000)]
riscv: cpu: th1520: Initialize IOPMPs in SPL

TH1520 SoC ships several IOPMPs protecting various on-chip peripherals.
They must be configured before accessing the peripherals. Let's
initialize them in SPL harts_early_init().

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agodoc: thead: lpi4a: Update documentation
Yao Zi [Tue, 13 May 2025 09:05:03 +0000 (09:05 +0000)]
doc: thead: lpi4a: Update documentation

Support for eMMC, SD card, GPIO and SPL have been available in LPi4A
port. Update the documentation of support status and build
instructions.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoboard: thead: licheepi4a: Enable SPL support
Yao Zi [Tue, 13 May 2025 09:05:02 +0000 (09:05 +0000)]
board: thead: licheepi4a: Enable SPL support

Adjust Kconfig and defconfig and add SPL initialization code for
Lichee Pi 4A. Then enable SPL support which we've added for TH1520 SoC
earlier. The board devicetree is changed to use TH1520 binman
configuration to generate bootable images.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: dts: th1520: Add binman configuration
Yao Zi [Tue, 13 May 2025 09:05:01 +0000 (09:05 +0000)]
riscv: dts: th1520: Add binman configuration

Add binman configuration for TH1520 SoC, whose BROM loads the image
combined into SRAM and directly jumps to it. The configuration creates
u-boot-with-spl.bin where the SPL code locates at the start and the DDR
firmware is shipped.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: dts: th1520: Add DRAM controller
Yao Zi [Tue, 13 May 2025 09:05:00 +0000 (09:05 +0000)]
riscv: dts: th1520: Add DRAM controller

Describe DRAM controller integrated in TH1520 SoC and preserve it in SPL
devicetree blob.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: dts: lichee-module-4a: Preserve memory node for SPL
Yao Zi [Tue, 13 May 2025 09:04:59 +0000 (09:04 +0000)]
riscv: dts: lichee-module-4a: Preserve memory node for SPL

Memory node is necessary for TH1520 SPL to configure size and base
address of DRAM. Let's preserve it in SPL devicetree blob.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: dts: th1520: Preserve necessary devices for SPL
Yao Zi [Tue, 13 May 2025 09:04:58 +0000 (09:04 +0000)]
riscv: dts: th1520: Preserve necessary devices for SPL

SPL for TH1520 requires CPU and boot UART nodes to function. Preserve
them in SPL devicetree blob with bootph-pre-ram property.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoram: thead: Add initial DDR controller support for TH1520
Yao Zi [Tue, 13 May 2025 09:04:57 +0000 (09:04 +0000)]
ram: thead: Add initial DDR controller support for TH1520

This patch cleans the vendor code of DDR initialization up, converts the
driver to fit in DM framework and use a firmware[1] packaged by binman to
ship PHY configuration.

Currently the driver is only capable of initializing the controller to
work with dual-rank 3733MHz LPDDR4, which is shipped by 16GiB variants
of LicheePi 4A boards and I could test with. Support for other
configurations could be easily added later.

Link: https://github.com/ziyao233/th1520-firmware
Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: cpu: Add TH1520 CPU support
Yao Zi [Tue, 13 May 2025 09:04:56 +0000 (09:04 +0000)]
riscv: cpu: Add TH1520 CPU support

Introduce the SoC-specific code and corresponding Kconfig entries for
TH1520 SoC. Following features are implemented for TH1520,

- Cache enable/disable through customized CSR
- Invalidation of customized PMP entries
- DRAM driver probing for SPL

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoconfigs: th1520_lpi4a: Add UART clock frequency
Yao Zi [Tue, 13 May 2025 09:04:55 +0000 (09:04 +0000)]
configs: th1520_lpi4a: Add UART clock frequency

The BROM of TH1520 always initializes UART0's parent clock and
configures the baudrate to 115200. Describe the clock frequency to make
UART function correctly in SPL without introducing CCF.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: lib: Split out support for T-Head cache management operations
Yao Zi [Tue, 13 May 2025 09:04:54 +0000 (09:04 +0000)]
riscv: lib: Split out support for T-Head cache management operations

Designed before a standard set of cache management operations defined in
RISC-V, earlier T-Head cores like C906 and C910 provide CMO through the
customized extension XTheadCMO, which has been used in the CV1800B port
of U-Boot.

This patch splits XTheadCMO-related code into a generic module, allowing
SoCs shipping T-Head cores to share the code.

Link: https://github.com/XUANTIE-RV/thead-extension-spec
Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: dts: jh7110: override syscrg assigned clock rates with defaults
E Shattow [Sat, 10 May 2025 18:42:27 +0000 (11:42 -0700)]
riscv: dts: jh7110: override syscrg assigned clock rates with defaults

JH7110 drivers are missing support for CPU frequency scaling, so override
upstream device-tree to use default clock rates for syscrg. This override
duplicates a portion of jh7110-common-u-boot.dtsi file planned for removal.

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Leo Liang <ycliang@andestech.com>
3 weeks agoriscv: dts: jh7110: remove redundant parent nodes
E Shattow [Sat, 3 May 2025 21:25:54 +0000 (14:25 -0700)]
riscv: dts: jh7110: remove redundant parent nodes

- use upstream alias name for cpu and timer nodes
- remove bootph-pre-ram hint from parent nodes
- drop S7 cpu core "okay" status

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: starfive: jh7110: move uart0 clock frequency to config header
E Shattow [Sat, 3 May 2025 11:52:52 +0000 (04:52 -0700)]
riscv: starfive: jh7110: move uart0 clock frequency to config header

Move unnecessary clock frequency assignment out of device-tree and into the
board config header so that the ns16550 serial driver can successfully init
during SPL after failing to resolve the parent clock from upstream dts. The
serial driver will then resolve clock frequency from device-tree node parent
clock at init during Main app as it is expected by upstream.

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: insn-def.h: Fix header guard
Mayuresh Chitale [Mon, 28 Apr 2025 04:48:45 +0000 (04:48 +0000)]
riscv: insn-def.h: Fix header guard

Fix the erroneous header guard for insn-def.h to reflect the correct
header name.

Fixes: bfc8ca3f7f6 ("riscv: Add support for defining instructions")
Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: Access gd with inline assembly when building with LTO or Clang
Yao Zi [Sun, 27 Apr 2025 14:50:11 +0000 (14:50 +0000)]
riscv: Access gd with inline assembly when building with LTO or Clang

Similar to AArch64's case, Clang may wrongly fold accesses to gd pointer
which is defined with register qualifier into constants, breaking
various components.

This patch defines gd as a macro when building with Clang or LTO, which
expands to get_gd() that accesses gp pointer in assembly, making RISC-V
ports function properly and preparing for introduction of LTO in the
future. Board initialization code is also adapted for non-assignable gd.

Reported-by: Nathaniel Hourt <I@nathaniel.land>
Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: dts: binman.dtsi: Drop filename property for proper U-Boot
Yao Zi [Sat, 26 Apr 2025 17:26:02 +0000 (17:26 +0000)]
riscv: dts: binman.dtsi: Drop filename property for proper U-Boot

Drop filename property for proper U-Boot entry since binman takes
"u-boot-nodtb.bin" as the default filename for u-boot-nodtb entries.

This follows efe9c12322b ("riscv: dts: binman.dtsi: Switch to
u-boot-nodtb entry for proper U-Boot") to clean binman.dtsi up.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agobooti/bootm: riscv: Verify image arch type
Mayuresh Chitale [Fri, 4 Apr 2025 14:48:57 +0000 (14:48 +0000)]
booti/bootm: riscv: Verify image arch type

Unlike ARM and X86, booting 32-bit images on 64-bit CPUs is currently
not supported for Risc-V. Hence, for bootm, disallow booting a FIT
or a legacy image that was built for an arch type which is different
than the current arch and for booti, set the arch type to be the
same as the current arch.

Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 weeks agoriscv: Select appropriate image type
Mayuresh Chitale [Fri, 4 Apr 2025 14:48:56 +0000 (14:48 +0000)]
riscv: Select appropriate image type

Select between the 32-bit or 64-bit arch type for the image headers
depending on how the build is configured.

Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: image: Add new image type for RV64
Mayuresh Chitale [Fri, 4 Apr 2025 14:48:55 +0000 (14:48 +0000)]
riscv: image: Add new image type for RV64

Similar to ARM and X86, introduce a new image type which allows u-boot
to distinguish between images built for 32-bit vs 64-bit Risc-V CPUs.

Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Reviewed-by: Maxim Moskalets <maximmosk4@gmail.com>
3 weeks agoMerge tag 'mmc-2025-05-20' of https://source.denx.de/u-boot/custodians/u-boot-mmc
Tom Rini [Tue, 20 May 2025 14:35:31 +0000 (08:35 -0600)]
Merge tag 'mmc-2025-05-20' of https://source.denx.de/u-boot/custodians/u-boot-mmc

CI: https://source.denx.de/u-boot/custodians/u-boot-mmc/-/pipelines/26241

- Fix mmc cv1800b build without MMC_SUPPORTS_TUNING

3 weeks agommc: cv1800b: Fix build without MMC_SUPPORTS_TUNING
Alexander Sverdlin [Sun, 27 Apr 2025 21:46:19 +0000 (23:46 +0200)]
mmc: cv1800b: Fix build without MMC_SUPPORTS_TUNING

That's how it looks like without CONFIG_MMC_SUPPORTS_TUNING before the
patch:

aarch64-buildroot-linux-gnu-ld.bfd: drivers/mmc/cv1800b_sdhci.o: in function `cv1800b_execute_tuning':
drivers/mmc/cv1800b_sdhci.c:47:(.text.cv1800b_execute_tuning+0x50): undefined reference to `mmc_send_tuning'

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 weeks agoMerge tag 'efi-2025-07-rc3-2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sun, 18 May 2025 14:06:56 +0000 (08:06 -0600)]
Merge tag 'efi-2025-07-rc3-2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2025-07-rc3-2

Documentation:

* Add test/py/requirements.txt to documentation
* Use globing for selecting pytest files

UEFI:

* Provide a function to disable ANSI output during tests

Other:

* test: allow multiple config options in buildconfigspec
* test: allow testing with NET_LWIP=y

4 weeks agotest: allow testing with NET_LWIP=y
Heinrich Schuchardt [Sat, 3 May 2025 13:31:55 +0000 (15:31 +0200)]
test: allow testing with NET_LWIP=y

Adjust network tests to run with CONFIG_NET_LWIP=y.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
4 weeks agotest: allow multiple config options in buildconfigspec
Heinrich Schuchardt [Sat, 3 May 2025 13:31:54 +0000 (15:31 +0200)]
test: allow multiple config options in buildconfigspec

In some cases we have alternative configuration options that supply the
same functionality, e.g CONFIG_NET and CONFIG_NET_LWIP.

Allow to specify all of them as arguments for buildconfigspec() and execute
the text if any of these is fulfilled, e.g.

    @pytest.mark.buildconfigspec('net', 'net_lwip')

Update the documentation.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 weeks agodoc: pytest: Use globing for test files
Tom Rini [Mon, 12 May 2025 21:54:24 +0000 (15:54 -0600)]
doc: pytest: Use globing for test files

After the original series was merged, Quentin noted that we could handle
adding additional tests more easily by using the glob feature. Do so.

Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agoCI, docs: Install test/py/requirements.txt as well
Tom Rini [Mon, 12 May 2025 21:51:23 +0000 (15:51 -0600)]
CI, docs: Install test/py/requirements.txt as well

As noted by Quentin, in CI we should be at least versioning the pytest
that we install. To avoid problems later, go with the whole requirements
file being used. Furthermore, our documentation building for readthedocs
must also have pytest so install the requirements file there as well.

Reported-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agoefi_loader: Disable ANSI output for tests
Simon Glass [Sat, 10 May 2025 12:54:38 +0000 (14:54 +0200)]
efi_loader: Disable ANSI output for tests

We don't want ANSI escape-sequences written in tests since it is a pain
to check the output with ut_assert_nextline() et al.

Provide a way to tests to request that these characters not be sent.

Add a proper function comment while we are here, to encourage others.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
4 weeks agoMerge tag 'u-boot-watchdog-20250516' of https://source.denx.de/u-boot/custodians...
Tom Rini [Fri, 16 May 2025 17:05:27 +0000 (11:05 -0600)]
Merge tag 'u-boot-watchdog-20250516' of https://source.denx.de/u-boot/custodians/u-boot-watchdog

CI: https://dev.azure.com/sr0718/u-boot/_build/results?buildId=393&view=results

- make cyclic_(un)register idempotent

4 weeks agoMerge tag 'u-boot-marvell-20250516-v2' of https://source.denx.de/u-boot/custodians...
Tom Rini [Fri, 16 May 2025 14:34:33 +0000 (08:34 -0600)]
Merge tag 'u-boot-marvell-20250516-v2' of https://source.denx.de/u-boot/custodians/u-boot-marvell

CI: https://dev.azure.com/sr0718/u-boot/_build/results?buildId=392&view=results

- mvebu_espressobin_ultra-88f3720_defconfig: enable hwrng
- kirkwood: Convert to DM_SERIAL for Kirkwood boards
- kirkwood: Convert to DM_SERIAL for Synology DS109 board
- cmd: tlv_eeprom: return after successful read from EEPROM

4 weeks agocyclic: document new guarantees for cyclic_(un)register
Rasmus Villemoes [Wed, 7 May 2025 10:58:21 +0000 (12:58 +0200)]
cyclic: document new guarantees for cyclic_(un)register

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Stefan Roese <sr@denx.de>
4 weeks agocyclic: make cyclic_register safe to call on already-registered info
Rasmus Villemoes [Wed, 7 May 2025 10:58:20 +0000 (12:58 +0200)]
cyclic: make cyclic_register safe to call on already-registered info

Now that cyclic_unregister() is safe to call on a not-registered
cyclic_info, we can make cyclic_register() behave like the mod_timer()
and hrtimer_start() APIs in linux, in that they don't distinguish
between whether the timer was already enabled or not; from the point
of the call it is, with whatever timeout/period is set in that most
recent call.

This avoids users of the cyclic API from separately keeping track of
whether their callback is already registered or not, and even if they
know it is, can be used for changing the period (and/or the callback
function) without first doing unregister().

See also this recent'ish message from kernel maintainer Thomas
Gleixner on that API design for timer frameworks:

  https://lore.kernel.org/lkml/87ikn6sibi.ffs@tglx/

  First of all the question is whether add() and mod() are really
  valuable distinctions. I'm not convinced at all. Back then, when we
  introduced hrtimers, we came to the conclusion that hrtimer_start()
  is sufficient.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Stefan Roese <sr@denx.de>
4 weeks agocyclic: make cyclic_unregister() idempotent
Rasmus Villemoes [Wed, 7 May 2025 10:58:19 +0000 (12:58 +0200)]
cyclic: make cyclic_unregister() idempotent

Make cyclic_unregister() safe to call with an already unregistered, or
possibly never registered, struct cyclic_info. This is similar to how
the various timer APIs in the linux kernel work (they all allow
calling delete/cancel/... on an inactive timer object).

This means callers don't have to separately keep track of whether
their cyclic callback is registered or not, and avoids them trying to
peek into the struct cyclic_info for that information - which leads to
somewhat ugly code as it would have to be guarded by ifdef
CONFIG_CYCLIC.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Stefan Roese <sr@denx.de>
4 weeks agocmd: tlv_eeprom: return after successful read from EEPROM
Martin Schiller [Wed, 16 Apr 2025 06:13:16 +0000 (08:13 +0200)]
cmd: tlv_eeprom: return after successful read from EEPROM

Commit f6eff35b8c19 ("cmd: tlv_eeprom: handle -ENODEV error from
read_eeprom function") removed the needed 'return 0' after a successful
read. As a result, the usage message is shown when 'tlv_eeprom read' is
successfully called.

Let's fix it by adding the needed 'return 0'.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Reviewed-by: Stefan Roese <sr@denx.de>
4 weeks agoarm: kirkwood: Remove Synology DS109 board reset_misc
Tony Dinh [Tue, 6 May 2025 02:58:43 +0000 (19:58 -0700)]
arm: kirkwood: Remove Synology DS109 board reset_misc

Remove DS109 board reset_misc() function. U-Boot generic reset is enough.

Signed-off-by: Tony Dinh <mibodhi@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
4 weeks agoarm: kirkwood: Convert to DM_SERIAL for Synology DS109 board
Tony Dinh [Tue, 6 May 2025 02:58:42 +0000 (19:58 -0700)]
arm: kirkwood: Convert to DM_SERIAL for Synology DS109 board

Enable DM_SERIAL for Marvell Kirkwood Synology DS109.

Note that this patch depends on:
https://patchwork.ozlabs.org/project/uboot/patch/20250505220853.23679-1-mibodhi@gmail.com/

Signed-off-by: Tony Dinh <mibodhi@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
4 weeks agoarm: kirkwood: Convert to DM_SERIAL for Kirkwood boards
Tony Dinh [Mon, 5 May 2025 22:08:52 +0000 (15:08 -0700)]
arm: kirkwood: Convert to DM_SERIAL for Kirkwood boards

Enable DM_SERIAL for Marvell Kirkwood boards that have not been converted.

Signed-off-by: Tony Dinh <mibodhi@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Stefan Roese <sr@denx.de>
4 weeks agoconfigs: mvebu_espressobin_ultra-88f3720_defconfig: enable hwrng
Benjamin Schneider [Thu, 17 Apr 2025 19:37:24 +0000 (12:37 -0700)]
configs: mvebu_espressobin_ultra-88f3720_defconfig: enable hwrng

This device has a hardware random number generator. Linux can
use this feature to randomize the location of the kernel in
memory for better security. However, that functionality is only
available if the bootloader firmware provides it. Enable support
for it in the default configuration for this device.

Signed-off-by: Benjamin Schneider <ben@bens.haus>
Reviewed-by: Stefan Roese <sr@denx.de>
4 weeks agoMerge tag 'u-boot-imx-master-20250512' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 12 May 2025 22:05:22 +0000 (16:05 -0600)]
Merge tag 'u-boot-imx-master-20250512' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

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

- Add imxrt1170 support to the fspi SPI driver.
- Enable PCI early on imx95_evk.
- Fix fsl_enetc imdio register calculation.

4 weeks agoimx95_evk: enable PCI early
Tim Harvey [Fri, 9 May 2025 02:58:56 +0000 (23:58 -0300)]
imx95_evk: enable PCI early

Enable PCI early as the NETC device is an PCI ECAM device.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Alice Guo <alice.guo@nxp.com>
4 weeks agonet: fsl_enetc: fix imdio register calculation
Thomas Schaefer [Mon, 28 Apr 2025 09:59:46 +0000 (11:59 +0200)]
net: fsl_enetc: fix imdio register calculation

With commit cc4e8af2c552, fsl_enetc register accessors have been split to
handle different register offsets on different SoCs. However, for
internal MDIO register calculation, only ENETC_PM_IMDIO_BASE was fixed
without adding the SoC specific MAC register offset.

As a result, the network support for the Kontron SMARC-sAL28 and
probably other boards based on the LS1028A CPU is broken.

Add the SoC specific MAC register offset to calculation of imdio.priv to
fix this.

Fixes: cc4e8af2c552 ("net: fsl_enetc: Split register accessors")
Signed-off-by: Thomas Schaefer <thomas.schaefer@kontron.com>
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Reviewed-by: Michael Walle <mwalle@kernel.org>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Tested-by: Vladimir Oltean <vladimir.oltean@nxp.com> # LS1028A
Tested-by: Tim Harvey <tharvey@gateworks.com> # imx95_19x19_evk
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Alice Guo <alice.guo@nxp.com>
4 weeks agoconfigs: imxrt1170-evk_defconfig: include FlexSPI driver and flash chip support
Jonathan Currier [Wed, 7 May 2025 08:36:24 +0000 (03:36 -0500)]
configs: imxrt1170-evk_defconfig: include FlexSPI driver and flash chip support

Signed-off-by: Jonathan Currier <dullfire@yahoo.com>
4 weeks agospi: fspi: dev_dbg() call assumes fdt_addr_t always a long long
Jonathan Currier [Wed, 7 May 2025 08:36:23 +0000 (03:36 -0500)]
spi: fspi: dev_dbg() call assumes fdt_addr_t always a long long

On 32-bit systems, e.g. i.mxrt-1170 fdt_addr_t may only be 32-bit.
Cast to a "long long" for garbage avoidance.

Signed-off-by: Jonathan Currier <dullfire@yahoo.com>
4 weeks agoARM: dts: imx: Add flexspi (fspi) to imxrt1170 and it's evk.
Jonathan Currier [Wed, 7 May 2025 08:36:22 +0000 (03:36 -0500)]
ARM: dts: imx: Add flexspi (fspi) to imxrt1170 and it's evk.

Signed-off-by: Jonathan Currier <dullfire@yahoo.com>
4 weeks agospi: fspi: Add imxrt1170 device data
Jonathan Currier [Wed, 7 May 2025 08:36:21 +0000 (03:36 -0500)]
spi: fspi: Add imxrt1170 device data

Add the device specific driver data, and the clock configuration.

Signed-off-by: Jonathan Currier <dullfire@yahoo.com>
4 weeks agospi: fspi: involve lut_num for struct nxp_fspi_devtype_data
Jonathan Currier [Wed, 7 May 2025 08:36:20 +0000 (03:36 -0500)]
spi: fspi: involve lut_num for struct nxp_fspi_devtype_data

The flexspi on different SoCs may have different number of LUTs.
So involve lut_num in nxp_fspi_devtype_data to make distinguish.
This patch prepare for the adding of imx8ulp.

Fixes: ef89fd56bdfc ("arm64: dts: imx8ulp: add flexspi node")
Cc: stable@kernel.org
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20240905094338.1986871-3-haibo.chen@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
(Picked from linux 190b7e2efb1ed8435fc7431d9c7a2447d05d5066)

Signed-off-by: Jonathan Currier <dullfire@yahoo.com>
4 weeks agoPrepare v2025.07-rc2 v2025.07-rc2
Tom Rini [Mon, 12 May 2025 20:33:38 +0000 (14:33 -0600)]
Prepare v2025.07-rc2

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoconfigs: Resync with savedefconfig
Tom Rini [Mon, 12 May 2025 14:52:37 +0000 (08:52 -0600)]
configs: Resync with savedefconfig

Resync all defconfig files using qconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoclk: Fix clk_set_parent() regression
Jonas Karlman [Sat, 10 May 2025 15:32:01 +0000 (15:32 +0000)]
clk: Fix clk_set_parent() regression

The commit ac30d90f3367 ("clk: Ensure the parent clocks are enabled
while reparenting") add a call to clk_enable() for the parent clock.

For clock drivers that do not implement the enable() ops, like most
Rockchip clock drivers, this now cause the set_parent() ops to never
be called when CLK_CCF=n (default for Rockchip).

clk_enable() typically return -ENOSYS when the enable() ops is not
implemented by the clock driver, with CLK_CCF=y clk_enable() instead
return 0 when the enable() ops is unimplemented.

Change to ignore -ENOSYS from the newly introduced clk_enable() call to
fix this regression and restore the old behavior of set_parent() ops
being called regardless of if enable() ops is implemented or not.

Fixes: ac30d90f3367 ("clk: Ensure the parent clocks are enabled while reparenting")
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Dang Huynh <danct12@riseup.net>
Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>
5 weeks agoMerge tag 'efi-2025-07-rc3' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sun, 11 May 2025 14:36:37 +0000 (08:36 -0600)]
Merge tag 'efi-2025-07-rc3' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull-request efi-2025-07-rc3

CI:

* https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/26146

Documentation:

* Improve the pytest documentation
* u-boot-test-reset: mention power cycling
* describe u-boot-test-release
* correct link to QEMU
* describe that RISC-V supports semihosting

UEFI:

* link libggc via PLATFORM_LIBGCC to EFI binaries
* allow suppressing ANSI output in dtbdump.efi
* test/py/test_efi_fit: test fdt and initrd

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEK7wKXt3/btL6/yA+hO4vgnE3U0sFAmggj+IACgkQhO4vgnE3
# U0sjTBAAkWySSBNFoj12AyjO2h4kJecxiJJxyoMYTcsr3xdgV0WTPQFaWcSBqTsL
# NgKq5KFNe+ywUdDIqU1VLOTcQf298hofRrcp5Gfhv+syZaRCorCSoSJI6ZveZ5Bi
# 9N2pPvhEVrlFBF2XannJ5ilYtLAbiqIvVFmdLmFwRPbODv/gfEkSudSy0Za7t1tM
# c7RoRegpXziY4Y1XPfr3MpXgKpUQkOPnvXKUwtHhL055X/1Ggg87dzPg1fiU+DiQ
# AGAgvGD/KF/ym4aWQ3jWyji8Kxc5BLsurv083it7JAmL82wqNbU9j5cx3mS/f2Le
# uL7YWv1GANbq+MoBC5O3nkB+yUtHSLylFC3KKFiehmKhc/JO+Uj3cJY/Q/25+lxs
# aahG3C/5xgBTgM6YEqJfSqKYQVFsC2V/a7gWAFlX7OidYXm6oDBu4TeAHmAtBgcj
# pz0AVCYMWyhKE+zb+4U2mlKEQ8bJpFdC2Q+pTMciGAM3YyztotJ1yoM4IndDrh4q
# ScrIpXHSqWLlZfev+NnJDw1UKLWEJIMeXh0uzfpaT5M0cLEDeHTOSX9Fp3ZPj9Af
# +T3nNWSXWlOW0wc6C5igj4p0UiGSbHMMPOa54f/D0gdl/UkPZ1YPBYVBa/eX1yBy
# NlaJziLCmLqyWpYIVhaigKDtGWfgjoHGaABfyuSIj/HxmIHhD5w=
# =NbGi
# -----END PGP SIGNATURE-----
# gpg: Signature made Sun 11 May 2025 05:54:10 AM CST
# gpg:                using RSA key 2BBC0A5EDDFF6ED2FAFF203E84EE2F827137534B
# gpg: Can't check signature: No public key

5 weeks agotest/py/test_efi_fit: test fdt and initrd
Adriano Cordova [Thu, 8 May 2025 18:30:34 +0000 (14:30 -0400)]
test/py/test_efi_fit: test fdt and initrd

Add tests to check initrd and dtb loading

Signed-off-by: Adriano Cordova <adriano.cordova@canonical.com>
5 weeks agoefi_loader: fix dtbdump output color and format
Adriano Cordova [Thu, 8 May 2025 18:30:33 +0000 (14:30 -0400)]
efi_loader: fix dtbdump output color and format

Imitate in dtbdump what initrddump does for color,
newlines and input handling. The output parsing in
the CI is strict and with the current output the CI
is not recongnizing the prompt '=>'.

Signed-off-by: Adriano Cordova <adriano.cordova@canonical.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
5 weeks agoscripts/Makefile.lib: add PLATFORM_LIBGCC to efi linking
Adriano Cordova [Thu, 8 May 2025 18:30:32 +0000 (14:30 -0400)]
scripts/Makefile.lib: add PLATFORM_LIBGCC to efi linking

Link .efi applications using libgcc

Signed-off-by: Adriano Cordova <adriano.cordova@canonical.com>
5 weeks agodoc: RISC-V supports semihosting
Heinrich Schuchardt [Fri, 9 May 2025 06:42:07 +0000 (08:42 +0200)]
doc: RISC-V supports semihosting

Mention that RISC-V supports semihosting.
Update the link to ARM's semihosting documentation

Update SPDX identifier to current format.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
5 weeks agodoc: correct link to QEMU
Heinrich Schuchardt [Fri, 9 May 2025 06:39:04 +0000 (08:39 +0200)]
doc: correct link to QEMU

%s/hhttps:/https:/

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
5 weeks agodoc: pytest: Document the test_button test
Tom Rini [Thu, 8 May 2025 21:34:45 +0000 (15:34 -0600)]
doc: pytest: Document the test_button test

Add this test to the documentation. No changes to the test itself were
required.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 weeks agodoc: pytest: Document the test_bootmenu test
Tom Rini [Thu, 8 May 2025 21:34:44 +0000 (15:34 -0600)]
doc: pytest: Document the test_bootmenu test

Add this test to the documentation. There was already a function comment
that included the argument, so convert it to the right style to be
rendered correctly in output.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 weeks agodoc: pytest: Document the test_bind test
Tom Rini [Thu, 8 May 2025 21:34:43 +0000 (15:34 -0600)]
doc: pytest: Document the test_bind test

Add this test to the documentation. None of the functions had comments,
so attempt to explain what each does.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 weeks agodoc: pytest: Document the test_efi_loader test
Tom Rini [Wed, 7 May 2025 23:23:02 +0000 (17:23 -0600)]
doc: pytest: Document the test_efi_loader test

Add this test to the documentation. We need to add a code-block
annotation to the example and indent it correctly. We also need to
document the do_test_efi_helloworld_net function and that in turn means
changing the documentation to test_efi_helloworld_net_http and
test_efi_helloworld_net_tftp to reflect what is and isn't done in those
functions themselves now.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 weeks agodoc: pytest: Document the test_bootstage test
Tom Rini [Wed, 7 May 2025 23:23:01 +0000 (17:23 -0600)]
doc: pytest: Document the test_bootstage test

Add this test to the documentation. We need to move the import to follow
the main comment so that it renders correctly, and add a code-block
annotation to the example and indent it correctly. Next, neither of the
functions had comments themselves, so document them now.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 weeks agodoc: pytest: Document the test_net test
Tom Rini [Wed, 7 May 2025 23:23:00 +0000 (17:23 -0600)]
doc: pytest: Document the test_net test

Add this test to the documentation. While the diff appears large at
first, the only changes within the test are to move the imports to
follow the pydoc comment and then to code-block and indent the example
configuration.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 weeks agotest: test_net_boot: Add more comments
Tom Rini [Wed, 7 May 2025 22:08:20 +0000 (16:08 -0600)]
test: test_net_boot: Add more comments

Some of the functions were missing pydoc comments. Add them so they will
be included in the documentation.

Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 weeks agodoc: pytest: Document the test_net_boot test
Tom Rini [Wed, 7 May 2025 22:08:19 +0000 (16:08 -0600)]
doc: pytest: Document the test_net_boot test

Add the test_net_boot.py test to the generated documentation. While most
of this was already commented correctly for inclusion the biggest
problem was examples of code without a code-block notation. This in turn
broke parsing. Add the missing notations. We also must have the comment
prior to any import lines or it will not be seen as a comment on the
overall file and thus not included.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 weeks agodoc: pytest: Framework for documenting tests and document test_000_version
Tom Rini [Wed, 7 May 2025 22:08:18 +0000 (16:08 -0600)]
doc: pytest: Framework for documenting tests and document test_000_version

In order to easily document pytests, we need to include the autodoc
extension. We also need to make sure that for building the docs, CI
includes pytest and that we have PYTHONPATH configured such that it will
find all of the tests and related files. Finally, we need to have our
comments in the test file by in proper pydoc format in order to be
included in the output.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 weeks agodoc: Start improving our pytest documentation
Tom Rini [Wed, 7 May 2025 22:08:17 +0000 (16:08 -0600)]
doc: Start improving our pytest documentation

Begin the work of documenting all of our pytests. To do this, we should
have a directory under develop for it as there will be a large number of
new files. As the current document is referenced externally in a number
of locations, add the sphinx_reredirects module so that we can redirect
from the old location to the new.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 weeks agocmd: nvedit: fix efi env -e -i command help
Vincent Stehlé [Tue, 6 May 2025 12:36:22 +0000 (14:36 +0200)]
cmd: nvedit: fix efi env -e -i command help

The help string for the `setenv -e' command shows a comma being used as
the separator between address and size for the -i option, which deals
with UEFI Variables contents passed as a buffer in memory.
This is no longer the case since commit 2b3fbcb59f41 ("efi_loader: use
':' as separator for setenv -i") and commit 8f0ac536d493 ("efi: change
'env -e -i' usage syntax"), which changed the separator from a comma to
a colon.
Therefore fix this last bit of the help string accordingly.

While at it, fix the comment of function do_env_set_efi(), which also
mentions a comma as separator.

Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Tom Rini <trini@konsulko.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Maxim Uvarov <maxim.uvarov@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
5 weeks agodoc: describe u-boot-test-release
Heinrich Schuchardt [Sat, 3 May 2025 10:14:24 +0000 (12:14 +0200)]
doc: describe u-boot-test-release

The scripts u-boot-test-release is called at the end of testing.
Describe it.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
5 weeks agodoc: u-boot-test-reset: mention power cycling
Heinrich Schuchardt [Sat, 3 May 2025 10:12:37 +0000 (12:12 +0200)]
doc: u-boot-test-reset: mention power cycling

Using power cycling is a valid option to implement u-boot-test-reset.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
5 weeks agoboard: ti: sec-cfg.yaml: Fix OTP write_host_id order
Andrew Davis [Mon, 5 May 2025 17:46:01 +0000 (12:46 -0500)]
board: ti: sec-cfg.yaml: Fix OTP write_host_id order

The write_host_id is the last element here and order does matter. This
may have gone unnoticed before as by default all elements are 0, but
if this is updated to a different host, it will not work. Update
the order so write_host_id is the last element in all current secure
board configs.

Reported-by: Prashant Shivhare <p-shivhare@ti.com>
Signed-off-by: Andrew Davis <afd@ti.com>
5 weeks agoDockerfile: use lz4 instead of lz4-tools
Heinrich Schuchardt [Mon, 5 May 2025 14:43:14 +0000 (16:43 +0200)]
Dockerfile: use lz4 instead of lz4-tools

Since Ubuntu Jammy lz4-tools is only a virtual package which pulls in
lz4 as dependency.

Update documentation too.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 weeks agoboard: ti: common: Kconfig: add CMD_CACHE
Anshul Dalal [Fri, 2 May 2025 05:05:16 +0000 (10:35 +0530)]
board: ti: common: Kconfig: add CMD_CACHE

Add CMD_CACHE to list of configs implied by TI_COMMON_CMD_OPTIONS.
This allows the usage of cache commands from U-Boot prompt.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Daniel Schultz <d.schultz@phytec.de>
5 weeks agoconfigs: j722s_evm_r5_defconfig: Enable PMIC config
Udit Kumar [Thu, 1 May 2025 17:53:08 +0000 (23:23 +0530)]
configs: j722s_evm_r5_defconfig: Enable PMIC config

In kernel device tre commit 714d54917147: ("arm64: dts: ti: k3-j722s-evm:
Enable PMIC") adds pmic support.

Above commit of kernel get synched in u-boot by sha ab06a533f08e:("Squashed
'dts/upstream/' changes from 8531b4b4988c..955176a4ff59").

Now, PMIC DT is available in u-boot for J722S EVM,
So enable PMIC in defconfig as well.

Signed-off-by: Udit Kumar <u-kumar1@ti.com>
5 weeks agodisable mail for swarren
Stephen Warren [Fri, 14 Mar 2025 18:10:31 +0000 (12:10 -0600)]
disable mail for swarren

I haven't been involved in U-Boot development for quite a while, so
CCing me on patches isn't currently useful. Add a .mailmap entry that I
believe will turn off patch CCs. This can always be removed if I become
active again! Remove myself from a few MAINTAINERS failed and the git
mailrc file too.

5 weeks agonet: dwc: xgmac: Allow DMA buffers above 4GB
Nikunj Kela [Sat, 22 Feb 2025 06:07:34 +0000 (22:07 -0800)]
net: dwc: xgmac: Allow DMA buffers above 4GB

Currently, Synopsis xgmac driver only works if DMA region is under 4GB.
This change enables the DMA buffers allocations above 4GB memory
regions.

Signed-off-by: Nikunj Kela <nikunj.kela@sima.ai>
5 weeks agox86: Correct usage of FSP_VERSION2
Tom Rini [Sat, 15 Mar 2025 01:28:45 +0000 (19:28 -0600)]
x86: Correct usage of FSP_VERSION2

As the code is today, we get a warning about "select" statements on
"choice" options not doing anything. In this case, we move to having a
"default FSP_VERSION2 if INTEL_APOLLOLAKE" in order to get the desired
outcome.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agox86: spl: Add support for NVMe boot device
Naresh Solanki [Wed, 12 Mar 2025 09:01:15 +0000 (14:31 +0530)]
x86: spl: Add support for NVMe boot device

This change adds `BOOT_DEVICE_NVME` to the `enum` list in
`arch/x86/include/asm/spl.h`,
enabling NVMe as a recognized boot device for SPL (Secondary Program
Loader).

Tested x86 hardware with coreboot + U-Boot payload.
Verified successful boot to NVMe drive.

Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 weeks agogpio: x86: Correct usage of IS_ENABLED() macro in intel_pinctrl_defs.h
Tom Rini [Wed, 26 Feb 2025 20:31:32 +0000 (14:31 -0600)]
gpio: x86: Correct usage of IS_ENABLED() macro in intel_pinctrl_defs.h

This file was using IS_ENABLED() to test for CONFIG flags but omitted
the CONFIG_ prefix and so did not work as expected.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agox86: Correct usage of IS_ENABLED() macro in arch/x86/lib/spl.c
Tom Rini [Wed, 26 Feb 2025 20:31:26 +0000 (14:31 -0600)]
x86: Correct usage of IS_ENABLED() macro in arch/x86/lib/spl.c

This file was using IS_ENABLED() to test for CONFIG flags but omitted
the CONFIG_ prefix and so did not work as expected.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agox86: apl: Correct usage of IS_ENABLED() macro in acpi-pmc-uclass.c
Tom Rini [Wed, 26 Feb 2025 20:31:15 +0000 (14:31 -0600)]
x86: apl: Correct usage of IS_ENABLED() macro in acpi-pmc-uclass.c

This file was using IS_ENABLED() to test for CONFIG flags but omitted
the CONFIG_ prefix and so did not work as expected.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agox86: cpu: Describe board final hooks in the header
Andy Shevchenko [Fri, 18 Oct 2024 15:55:57 +0000 (18:55 +0300)]
x86: cpu: Describe board final hooks in the header

The new two declarations board_final_init() and board_final_cleanup()
need a description. Add it here.

Suggested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 weeks agoMerge branch 'staging' of https://source.denx.de/u-boot/custodians/u-boot-tegra
Tom Rini [Thu, 8 May 2025 15:22:25 +0000 (09:22 -0600)]
Merge branch 'staging' of https://source.denx.de/u-boot/custodians/u-boot-tegra

5 weeks agoMerge tag 'u-boot-rockchip-20250508' of https://source.denx.de/u-boot/custodians...
Tom Rini [Thu, 8 May 2025 14:29:17 +0000 (08:29 -0600)]
Merge tag 'u-boot-rockchip-20250508' of https://source.denx.de/u-boot/custodians/u-boot-rockchip

CI: https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/26117

- New Board support: rk3566 LCKFB TaishanPi, rk3588 Xunlong Orange Pi 5
  Max;
- Add rk3288 rmii support;
- pinctrl driver fix;
- binman description update;

5 weeks agoARM: tegra: drop CONFIG_DISABLE_SDMMC1_EARLY
Svyatoslav Ryhel [Fri, 18 Apr 2025 14:29:52 +0000 (17:29 +0300)]
ARM: tegra: drop CONFIG_DISABLE_SDMMC1_EARLY

This was a temporary workaround for the Tegra210 Jetson Nano board. It is
not used by any device anymore, so let's remove it.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agoARM: tegra: set default SYS_CONFIG_NAME from SoC Kconfig
Svyatoslav Ryhel [Tue, 15 Apr 2025 15:07:01 +0000 (18:07 +0300)]
ARM: tegra: set default SYS_CONFIG_NAME from SoC Kconfig

Since most boards now use the same generic device config header, move its
setup to SoC Kconfig instead of setting SYS_CONFIG_NAME in each board's
Kconfig.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agoARM: tegra: convert boards to use TEGRA_PRAM
Svyatoslav Ryhel [Tue, 15 Apr 2025 08:55:28 +0000 (11:55 +0300)]
ARM: tegra: convert boards to use TEGRA_PRAM

Switch boards that use CFG_PRAM to TEGRA_PRAM.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agoARM: tegra: add PRAM Kconfig option
Svyatoslav Ryhel [Tue, 15 Apr 2025 08:54:55 +0000 (11:54 +0300)]
ARM: tegra: add PRAM Kconfig option

Wrap CFG_PRAM with Kconfig option.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agoboard: lg: star: add Optimus 2X P990 support
Svyatoslav Ryhel [Fri, 3 Nov 2023 19:00:22 +0000 (21:00 +0200)]
board: lg: star: add Optimus 2X P990 support

The LG Optimus 2X is a touchscreen-based, slate-sized smartphone designed
and manufactured by LG that runs the Android operating system. The
Optimus 2X features a 4" WVGA display, an Nvidia Tegra 2 dual-core chip,
512 MB of RAM and extendable 8 GB of internal storage. UART-B is default
debug port.

Tested-by: Ion Agorria <ion@agorria.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agovideo: backlight: add Skyworks/Analogictech AAT2870 led controller driver
Svyatoslav Ryhel [Wed, 2 Oct 2024 09:07:10 +0000 (12:07 +0300)]
video: backlight: add Skyworks/Analogictech AAT2870 led controller driver

Add support for Skyworks AAT2870 LED Backlight Driver and Multiple LDO
Lighting Management Unit. Only backlight is supported as for now. Supported
backlight level range is from 2 to 255 with step of 1.

Tested-by: Ion Agorria <ion@agorria.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agovideo: panel: add LG LH400WV3-SD04 MIPI DSI panel driver
Svyatoslav Ryhel [Mon, 3 Mar 2025 13:00:37 +0000 (15:00 +0200)]
video: panel: add LG LH400WV3-SD04 MIPI DSI panel driver

LG LH400WV3-SD04 is a color active matrix TFT (Thin Film Transistor)
liquid crystal display (LCD). The resolution of a 4" contains 480 x 800
pixels.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agovideo: panel: add Hitachi TX10D07VM0BAA MIPI DSI panel driver
Svyatoslav Ryhel [Fri, 4 Oct 2024 09:03:09 +0000 (12:03 +0300)]
video: panel: add Hitachi TX10D07VM0BAA MIPI DSI panel driver

Hitachi TX10D07VM0BAA is a color active matrix TFT (Thin Film Transistor)
liquid crystal display (LCD). The resolution of a 4" contains 480 x 800
pixels.

Tested-by: Ion Agorria <ion@agorria.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agovideo: tegra: add 8-bit CPU driven protocol
Svyatoslav Ryhel [Fri, 4 Oct 2024 08:54:46 +0000 (11:54 +0300)]
video: tegra: add 8-bit CPU driven protocol

Add support for 8-bit CPU driven (primary and secondary) display signal
interface found in Tegra 2 and Tegra 3 SoC.

Tested-by: Ion Agorria <ion@agorria.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agosysreset: implement MAX9807 sysreset functions
Svyatoslav Ryhel [Sun, 6 Oct 2024 13:51:21 +0000 (16:51 +0300)]
sysreset: implement MAX9807 sysreset functions

MAX8907 PMIC has embedded poweroff function used by some device to initiane
device power off. Implement it as optional sysreset driver guarded by
kconfig option and system-power-controller device tree property.

Tested-by: Ion Agorria <ion@agorria.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agopower: regulator: max9807: add regulator support
Svyatoslav Ryhel [Sun, 6 Oct 2024 11:59:54 +0000 (14:59 +0300)]
power: regulator: max9807: add regulator support

Added a new regulator driver for the MAXIM MAX8907 PMIC, providing
essential regulator functionalities and incorporated the necessary binding
framework within the core PMIC driver.

Tested-by: Ion Agorria <ion@agorria.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agopower: pmic: add the base MAX8907 PMIC support
Svyatoslav Ryhel [Sun, 6 Oct 2024 11:50:02 +0000 (14:50 +0300)]
power: pmic: add the base MAX8907 PMIC support

Add basic i2c based read/write functions to access PMIC registers.

Tested-by: Ion Agorria <ion@agorria.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agogpio: tegra_gpio: implement rfree operation
Svyatoslav Ryhel [Fri, 11 Apr 2025 05:49:12 +0000 (08:49 +0300)]
gpio: tegra_gpio: implement rfree operation

Releasing a GPIO on Tegra necessitates changing its configuration to SFIO
to activate its special function. Without this reconfiguration, the special
function will be unavailable.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agonet: gmac_rockchip: Add RMII support for rk3288
Christoph Fritz [Wed, 16 Apr 2025 11:45:35 +0000 (13:45 +0200)]
net: gmac_rockchip: Add RMII support for rk3288

Add RMII-specific handling to rk3288_gmac_fix_mac_speed() so that it
properly sets the RMII clock (2.5 MHz vs. 25 MHz) and speed bits
(10 Mbps vs. 100 Mbps). Also define a new rk3288_gmac_set_to_rmii()
function to set the PHY interface field and RMII_MODE bit.

Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
5 weeks agorockchip: rk3288: grf: Unify speed/flowctrl fields for clarity
Christoph Fritz [Wed, 16 Apr 2025 11:44:13 +0000 (13:44 +0200)]
rockchip: rk3288: grf: Unify speed/flowctrl fields for clarity

Update GMAC speed and flow control fields in GRF_SOC_CON1 to use
RK3288_GMAC_* prefix, ensuring a consistent naming convention. It also
shifts each mask/bit definition to match the actual hardware bits, which
makes future usage easier.

Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
5 weeks agoboard: rockchip: Add LCKFB TaishanPi RK3566 Board
Jiehui He [Tue, 15 Apr 2025 07:36:50 +0000 (03:36 -0400)]
board: rockchip: Add LCKFB TaishanPi RK3566 Board

The LCKFB TaishanPi is a single-board computer based on the RK3566 SoC.

Specification:
- 1/2 Gib RAM
- Optinal EMMC
- SD-Card
- HDMI / MIPI CSI / MIPI DSI
- USB 2.0 Host (Type-A)
- USB 2.0 Host / OTG (Type-C)
- No Ethernet

This patch adds U-Boot support for the LCKFB TaishanPi RK3566 board, including:
- U-Boot device tree
- Default defconfig
- Board documentation
- MAINTAINERS entry

Changes in v2:
- Removed unused configs from `lckfb-tspi-rk3566_defconfig`
- Reordered TaishanPi entry in `doc/board/rockchip/rockchip.rst` alphabetically

Link to v1:
https://lore.kernel.org/u-boot/tencent_95ED0C0545D87B6A8C4B62EC045D53AD2406@qq.com/

Signed-off-by: Jiehui He <jiehui.he@foxmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>