100864 Commits

Author SHA1 Message Date
Marek Vasut
5eff1bdba4 pinctrl: renesas: Minimize R8A77970 V3M PFC tables
Reduce the PFC tables by ifdeffing out pinmux settings which are
unlikely to be used by U-Boot. This helps reduce the size of the
bootloader in the 10 kiB range. This includes conditional build
of these PFC additions:

- CANFD
- DU
- INTC-EX
- MSIOF
- PWM
- VIN

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
(cherry picked from commit a046f58f33)
2025-12-24 05:17:03 -07:00
Marek Vasut
467c8d995b pinctrl: renesas: Minimize R8A77965 M3-N PFC tables
Reduce the PFC tables by ifdeffing out pinmux settings which are
unlikely to be used by U-Boot. This helps reduce the size of the
bootloader in the 10 kiB range. This includes conditional build
of these PFC additions:

- Audio
- CAN/CANFD
- DU
- INTC-EX
- MSIOF
- PWM
- SSI
- VIN

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
(cherry picked from commit d020179cf0)
2025-12-24 05:17:03 -07:00
Marek Vasut
4fc1da322f pinctrl: renesas: Minimize R8A77960 M3-W and R8A77961 M3-W+ PFC tables
Reduce the PFC tables by ifdeffing out pinmux settings which are
unlikely to be used by U-Boot. This helps reduce the size of the
bootloader in the 10 kiB range. This includes conditional build
of these PFC additions:

- Audio
- CAN/CANFD
- DU
- INTC-EX
- MSIOF
- PWM
- SSI
- VIN

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
(cherry picked from commit 0edacf1a41)
2025-12-24 05:17:03 -07:00
Marek Vasut
3562dbba19 pinctrl: renesas: Minimize R8A77951 H3 PFC tables
Reduce the PFC tables by ifdeffing out pinmux settings which are
unlikely to be used by U-Boot. This helps reduce the size of the
bootloader in the 10 kiB range. This includes conditional build
of these PFC additions:

- Audio
- CAN/CANFD
- DU
- INTC-EX
- MSIOF
- PWM
- SSI
- VIN

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
(cherry picked from commit 2890251ead)
2025-12-24 05:17:03 -07:00
Marek Vasut
3f0325c726 pinctrl: renesas: Minimize R8A7794 E2 PFC tables
Reduce the PFC tables by ifdeffing out pinmux settings which are
unlikely to be used by U-Boot. This helps reduce the size of the
bootloader in the 10 kiB range. This includes conditional build
of these PFC additions:

- Audio
- CAN
- DU
- INTC
- MSIOF
- PWM
- SSI
- VIN

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
(cherry picked from commit 7f19150405)
2025-12-24 05:17:03 -07:00
Marek Vasut
b359ef763c pinctrl: renesas: Minimize R8A7792 V2H PFC tables
Reduce the PFC tables by ifdeffing out pinmux settings which are
unlikely to be used by U-Boot. This helps reduce the size of the
bootloader in the 10 kiB range. This includes conditional build
of these PFC additions:

- CAN
- DU
- INTC
- MSIOF
- VIN

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
(cherry picked from commit 7db1d1fadf)
2025-12-24 05:17:03 -07:00
Marek Vasut
c95dee1d20 pinctrl: renesas: Minimize R8A7791 M2-W and R8A7793 M2-N PFC tables
Reduce the PFC tables by ifdeffing out pinmux settings which are
unlikely to be used by U-Boot. This helps reduce the size of the
bootloader in the 10 kiB range. This includes conditional build
of these PFC additions:

- Audio
- CAN
- DU
- INTC
- MSIOF
- PWM
- SSI
- VIN

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
(cherry picked from commit 6671e9aebd)
2025-12-24 05:17:03 -07:00
Marek Vasut
4d21467c68 pinctrl: renesas: Minimize R8A7790 H2 PFC tables
Reduce the PFC tables by ifdeffing out pinmux settings which are
unlikely to be used by U-Boot. This helps reduce the size of the
bootloader in the 10 kiB range. This includes conditional build
of these PFC additions:

- Audio
- CAN
- DU
- INTC
- MSIOF
- PWM
- SSI
- VIN

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
(cherry picked from commit 2f3bd7ca26)
2025-12-24 05:17:02 -07:00
Marek Vasut
f256c8756a pinctrl: renesas: Add Kconfig symbol for conditional build of full PFC tables
By default the pin multiplexing tables used by U-Boot are reduced
to keep the size of the bootloader low. This option allows build of
full pin multiplexing tables the same way they are included in the
Linux kernel. This includes pin multiplexing options for Audio, CAN,
CANFD, DU, INTC, INTC-EX, MSIOF, PWM, SSI, for which there is no
U-Boot driver. This option is disabled by default.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
(cherry picked from commit e6e3d70632)
2025-12-24 05:17:02 -07:00
Tom Rini
1d736bb4ce Merge tag 'u-boot-imx-next-20241223' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next
CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/23987

- imx8m: Remove global ddrphy_trained_csr as it is a per board
  configuration.
- Add DM_FLAG_ACTIVE_DMA flag for FEC network driver to avoid potential
  kernel crash.
- Miscellaneous improvements for i.MX8M Venice Gateworks platforms.

(cherry picked from commit 68736cf8e3)
2025-12-24 05:17:02 -07:00
Peng Fan
7809c3a6b9 imx: Use per board ddrphy_trained_csr
Drop global ddrphy_trained_csr which maybe different with per board
ddrphy_trained_csr. DDR TOOL generates ddrphy_trained_csr for each
board, using the global ddrphy_trained_csr has risk that values may
be not up to date.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 6016960ceb)
2025-12-24 05:17:02 -07:00
Meng Li
3fd9849087 net: fec_mxc: add DM_FLAG_ACTIVE_DMA flag for FEC network driver
When FEC network card works as the prime one in u-boot, and is in
active status, kernel might crash during booting up stage, especially
working with grub. Because the DMA of FEC is still in active status, and
copy data into memory if there is network data received. In this case, if
kernel allocated a part of memory that has overlay with the memory
used by DMA, kernel memory may be destroyed and cause kernel crashes.
Because before kernel boots up really, u-boot dm_remove_devices_flags()
can call the remove callback of FEC driver with DM_FLAG_ACTIVE_DMA
flag. In fecmxc_remove(), phy power is disabled, so there is no data
received. In this way, it makes sure that there is no DMA action, so
that avoid kernel crashing occurs.

Signed-off-by: Meng Li <Meng.Li@windriver.com>
(cherry picked from commit 2f74cac8c3)
2025-12-24 05:17:02 -07:00
Tim Harvey
9e1a0c2905 arm: dts: imx8mp-venice-gw7*xx: fix TPM reset
With an IMX8MP based SOM the SPI RST is gpio4_9 instead of gpio1_11.
Fix this.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
(cherry picked from commit 7f02219eb6)
2025-12-24 05:17:02 -07:00
Tim Harvey
3fad8a1ecc imx8m*-venice: define suitable address for SPL_LOAD_FIT_ADDRESS
define a suitable default address for CONFIG_SPL_LOAD_FIT_ADDRESS
to make it easier on folks enabling HABv4.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
(cherry picked from commit b0b8f8586f)
2025-12-24 05:17:02 -07:00
Tim Harvey
01989a4662 drivers: misc: gsc: add support for prescaled
Add support for Gateworks System Controller pre-scaled ADC input.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
(cherry picked from commit 87bdb4e8a7)
2025-12-24 05:17:02 -07:00
Tim Harvey
62ad32f4cd drivers: misc: gsc: add support for fan controller
Add support for Gateworks System Controller fan tach input.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
(cherry picked from commit 795a7425a7)
2025-12-24 05:17:02 -07:00
Tim Harvey
23af5aaf59 spi: mxc_spi: use proper clock for SPI bus
The mxc_get_clock function is around for compatibility with older
drivers that are not clock aware. In this case asking for the clk for
MXC_CSPI_CLK does not take into account there are multiple SPI busses on
modern IMX SoC's and it will return the clock for the first bus which
may not be used or configured.

In the case you are not using the first bus you will not get the proper
clock. Fix this by obtaining the clock rate from the bus clock.

This resolves an invalid SPI clock frequency configuration for SPI2 on a
board where SPI1 is not used.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
(cherry picked from commit f331967b3d)
2025-12-24 05:17:02 -07:00
Tom Rini
874bc0dd1b Merge branch '2024-12-21-add-arm64-CI-host-support' into next
First, thanks to Simon Glass and also Linaro, we now have access to a
few fast arm64 host machines in our Gitlab instance, to use as CI
runners. This series finishes the work that I pushed earlier and Simon
had started that enables arm64 hosts to be used for most things now.

The first notable change, especially if you use this on your own Gitlab
instance is that "DEFAULT_TAG" is now unused and we instead have:
- DEFAULT_ALL_TAG:
- DEFAULT_ARM64_TAG:
- DEFAULT_AMD64_TAG:
- DEFAULT_FAST_AMD64_TAG:

This lets us say that some jobs can be run on all runners, because they
are small enough that anything we'd connect to CI is fast enough and it
also does not depend on the underlying host architecture. Next we have
tags for any arm64 host, or any amd64 host. Finally, we have a tag for
fast amd64 hosts. What these last three are for is that we have a few
jobs that need to run on amd64 hosts and so we have to restrict them
there, but we also have now reworked the world build jobs to build
(almost) everything in a single job and on the fast amd64 machines this
is still as quick as the old way was, in practice.

To reach this point, we say that the Xtensa jobs can only run on amd64
hosts. Our targets only work with the binary-only toolchain and so this
is a reasonable limit and we exclude them from the world build jobs. We
also need to deal with ensuring the right toolchain is used regardless
what the host architecture is and that we don't use the host toolchain
by accident. Finally, because some of these changes needed to be worked
out in the linter, fix some of the general warnings that notes as well.

(cherry picked from commit 5947cd76ac)

Dropped tag changes:
Signed-off-by: Simon Glass <simon.glass@canonical.com>
2025-12-24 05:17:02 -07:00
Tom Rini
3f44038f9d doc: Expand what we say about building the docker container a bit
First, try and be slightly clearer about what "buildx" is with respect
to the docker build process.

Second, now that we build the container for both amd64 and arm64, we
should document how to make a docker "builder" that has multiple nodes.
With this one node should be amd64 and one node arm64, and with
reasonably fast arm64 hardware this will be much quicker than using
QEMU.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit e82922ae11)
2025-12-24 05:17:02 -07:00
Tom Rini
a96eeff704 docker: Prefer the kernelorg toolchains over "root"
We should always look in our downloaded toolchains first and then for
host-provided toolchains.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit 9a87362962)
2025-12-24 05:17:02 -07:00
Tom Rini
f1cc92ca39 Gitlab: Avoid downloading all artifacts in later stages
In the test.py stage of the build we mark the pytest results as
artifacts to save, so that they can be used for reports. This however
leads to all of the artifacts being downloaded (and then not used) in
later stages. Optimize this out by using an empty list of dependencies
here (which is the keyword for which artifacts are needed).

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit d3bb245855)
2025-12-24 05:17:02 -07:00
Tom Rini
09b800b0df Docker/CI: Only test Xtensa on amd64 hosts
The xtensa architecture is interesting in that the platforms we support
are only valid on the binary-only toolchains as the DC233C instruction
set requires those toolchains (and not the FSF instruction set). Only
install the binary toolchain on amd64 hosts and only run the tests on
them as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit 12d7be498a)
2025-12-24 05:17:02 -07:00
Simon Glass
d1437b065a tools: binman: add 'fit, encrypt' property to pass keys directory to mkimage
(already applied in 76ff86f98d)

(cherry picked from commit e2cc9b4fc1)
2025-12-24 05:17:02 -07:00
J. Neuschäfer
de83e78d8e powerpc: Support using upstream devicetrees
For new PowerPC developments, it will be useful to borrow devicetrees
from Linux. This patch makes it possible.

Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
(cherry picked from commit 337bfdce5a)
2025-12-24 05:17:02 -07:00
Roger Quadros
283f39efd0 phy: don't spam console if phys property is absent in device node
In generic_phy_get_bulk(), if 'phys' property is absent in
the device node then it is not an error condition.

Change print message verbosity to debug to avoid spamming
console in such cases.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
(cherry picked from commit 6f99dc241d)
2025-12-24 05:17:02 -07:00
Hiago De Franco
d7acf7d440 verdin-am62: fix FASTBOOT_BUF_ADDR and FASTBOOT_BUF_SIZE
The current value of CONFIG_FASTBOOT_BUF_ADDR is incorrect for hardware
with 512MB and 1GB of RAM. The RAM address ranges for these devices are:

- 512MB:
  - Start: 0x80000000
  - End:   0xA0000000
- 1GB:
  - Start: 0x80000000
  - End:   0xC0000000

The current buffer address makes fastboot downloads work only on
hardware with 2GB of RAM.

To fix this issue:
1. Lower CONFIG_FASTBOOT_BUF_ADDR to 0x88200000. This makes the buffer
   to be equal ot CONFIG_SYS_LOAD_ADDR, which is a safe address to
   download files using fastboot.

2. Reduce the size of the download buffer to 128MB, avoiding overlaps
   with RAMDISK_ADDR_R. This is a good enough value for individual
   downloads.

These changes make fastboot downloads work with 512MB and 1GB devices.

Fixes: defe30a78b ("verdin-am62: add DFU, USB and UUU fastboot support")
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
(cherry picked from commit 9c5399a73d)
2025-12-24 05:17:02 -07:00
Paul HENRYS
939ac3eac7 arch: x86: lib: Add support of legacy 64-bit entry point at 0x200
Support of legacy 64-bit entry point was already present when booting a bzimage
with 'zboot' but not supported with 'bootm' when the x86_64 Linux kernel is
embedded in a FIT image.

Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit 37f0c32ca2)
2025-12-24 05:17:02 -07:00
Tom Rini
22e96e95d2 Merge patch series "sandbox: repair compile and run-time for OF_EMBED case"
Evgeny Bachinin <EABachinin@salutedevices.com> says:

This patch-set repairs ability to use sandbox with CONFIG_OF_EMBED=y.

For now, to use OF_EMBED, the following must be done
1) sandbox64_defconfig should have:
  ```
  -CONFIG_OF_LIVE=y
  +CONFIG_OF_EMBED=y
  ```

2) On sandbox when CONFIG_OF_EMBED=y, the u-boot process can't start
due to:
  ```
  Bloblist at b000 not found (err=-2)
  initcall failed at call 000000000011829c (err=-2: No such file or \
      directory)
  ### ERROR ### Please RESET the board ###
  ```
  So, it is natural desire to disable CONFIG_BLOBLIST just to test
sandbox with OF_EMBED=y (disable it one way or another):
  ```
    config SANDBOX
  -	select BLOBLIST
  +     select BLOBLIST if SOME_NON_EXISTING_OPTION
  ```

3) As a result, having such changes (CONFIG_OF_EMBED=y &&
CONFIG_BLOBLIST=n) leads to the link & run-time errors, being fixed
by this patch series.

Link: https://lore.kernel.org/r/20241202-sandbox_repair_of_embed-v1-0-05aff4b0ccf7@salutedevices.com
[trini: The final patch is dropped as no longer relevant with Simon's
        rework to that function which is now applied.]

(cherry picked from commit 511b8dea97)
2025-12-24 05:17:02 -07:00
Tom Rini
e7c23a579d Merge patch series "fdt: Correct condition for receiving bloblist"
This series is from Simon Glass <sjg@chromium.org>.

It first corrects the test for checking if a bloblist could have come
from TPL and so we check for a device tree, and then changes the
argument order for board_fdt_blob_setup() to be more inline with our
usual argument ordering.

Link: https://lore.kernel.org/r/20241102174944.412088-1-sjg@chromium.org
(cherry picked from commit b6e1ac89dc)
2025-12-24 05:17:02 -07:00
Evgeny Bachinin
54f6f7134d test: sandbox: fix invalid_use_of_IF_ENABLED_INT if BLOBLIST=n
Having CONFIG_OF_EMBED=y && CONFIG_BLOBLIST=n leads to the link
error:
```
ld: /tmp/ccRVty.ltrans40.ltrans.o: in function `lib_test_is_enabled':
test/lib/kconfig.c:24: undefined reference to \
                                       `invalid_use_of_IF_ENABLED_INT'
ld: test/lib/kconfig.c:26: undefined reference to \
                                `invalid_use_of_CONFIG_IF_ENABLED_INT'
```

Fixes: 29784d62ed ("test: Add some tests for kconfig.h")
Signed-off-by: Evgeny Bachinin <EABachinin@salutedevices.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit 844f87366e)
2025-12-24 05:17:02 -07:00
Evgeny Bachinin
25b5ef4c62 sandbox: fix bloblist_finish() linker error if BLOBLIST=n
Having CONFIG_OF_EMBED=y && CONFIG_BLOBLIST=n leads to the link
error:
```
ld: /tmp/ccwtRVty.ltrans0.ltrans.o: in function `state_uninit':
arch/sandbox/cpu/state.c:508: undefined reference to `bloblist_finish'
```

Fixes: 1c52fcca72 ("sandbox: Write out bloblist when exiting")
Signed-off-by: Evgeny Bachinin <EABachinin@salutedevices.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit e5178be686)
2025-12-24 05:17:02 -07:00
Simon Glass
de37f6abb6 fdt: Swap the signature for board_fdt_blob_setup()
This returns a devicetree and updates a parameter with an error code.
Swap it, since this fits better with the way U-Boot normally works. It
also (more easily) allows leaving the existing pointer unchanged.

No yaks were harmed in this change, but there is a very small code-size
reduction.

For sifive, the OF_BOARD option must be set for the function to be
called, so there is no point in checking it again. Also OF_SEPARATE is
defined always.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
[trini: Update total_compute]
Signed-off-by: Tom Rini <trini@konsulko.com>
(cherry picked from commit fc37a73e66)
Signed-off-by: Simon Glass <simon.glass@canonical.com>
2025-12-24 05:17:02 -07:00
Tom Rini
598e400bc4 Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv into next
CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/23926

- Board: Support LicheeRV Nano
- Board: Support bananapi-f3
- Board: Switch to OF_UPSTREAM for StarFive JH7110
- Board: Add sdhci driver for TH1520 SoC

(cherry picked from commit b066ac51e0)
2025-12-24 05:17:02 -07:00
Randolph
790b611c89 riscv: spl: add FIT name for RISC-V Falcon mode
The FIT name in RISC-V Falcon mode should be different from that in
normal boot mode; it is called linux.itb. If the setting is missing
in common/spl, the normal boot file name will be used.

Signed-off-by: Randolph <randolph@andestech.com>
(cherry picked from commit e59241f8b1)
2025-12-24 05:17:01 -07:00
Kongyang Liu
dd66b9b093 doc: spacemit: bananapi_f3: document Banana Pi F3 board
Add document for Banana Pi F3 board which based on SpacemiT's K1 SoC.

Signed-off-by: Kongyang Liu <seashell11234455@gmail.com>
Signed-off-by: Huan Zhou <pericycle.cc@gmail.com>
Tested-by: Marcel Ziswiler <marcel@ziswiler.com>
Reviewed-by: Yixun Lan <dlan@gentoo.org>
(cherry picked from commit 3cd3f47cae)
2025-12-24 05:17:01 -07:00
Kongyang Liu
ba8e77d928 riscv: spacemit: bananapi_f3: initial support added
Add basic support for SpacemiT's Banana Pi F3 board.
Update the k1.dtsi align with mainline.
Note that the device tree files follow the mainline Linux source[1].

Links: https://patches.linaro.org/project/linux-serial/patch/20240730-k1-01-basic-dt-v5-8-98263aae83be@gentoo.org/ [1]

Signed-off-by: Kongyang Liu <seashell11234455@gmail.com>
Signed-off-by: Huan Zhou <pericycle.cc@gmail.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Reviewed-by: Yixun Lan <dlan@gentoo.org>
Tested-by: Marcel Ziswiler <marcel@ziswiler.com>
(cherry picked from commit 1cd239f444)
2025-12-24 05:17:01 -07:00
Maksim Kiselev
1c4190c114 configs: th1520_lpi4a: enable mmc controller support
Enable driver for DesignWare MSHC. TH1520 supports all
speed modes up to HS400ES and UHS SDR105.

Also enable ADMA and mmc command.

Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
(cherry picked from commit e10cf618e3)
2025-12-24 05:17:01 -07:00
Maksim Kiselev
ff06348abc riscv: dts: t-head: Add sdhci and emmc nodes
Add SDHCI and EMMC controlles nodes on TH-1520 SoC. And enable them for
Lichee module 4A.

Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
(cherry picked from commit dced3ec324)
2025-12-24 05:17:01 -07:00
Maksim Kiselev
925ebfa819 mmc: snps_sdhci: Add sdhci driver support for TH1520 SoC
Add support for DesignWare SDHCI host controller on Alibaba TH1520 SoC

Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
Tested-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
(cherry picked from commit 1cf3e900af)
2025-12-24 05:17:01 -07:00
Hal Feng
7d7c1bea0b riscv: cpu: jh7110: Sort the list of imply statements
The imply statements should be sorted in the sequence
of appearance in .config.

Tested-by: Anand Moon <linux.amoon@gmail.com>
Tested-by: E Shattow <lucent@gmail.com>
Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
(cherry picked from commit 2c1cb8837b)
2025-12-24 05:17:01 -07:00
Hal Feng
a9923043ff board: starfive: spl: Support multiple DTBs for JH7110 based boards
Get product ID and the other information from EEPROM, use them to select
the correct DTB.

Tested-by: Anand Moon <linux.amoon@gmail.com>
Tested-by: E Shattow <lucent@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
(cherry picked from commit 8ace850059)
2025-12-24 05:17:01 -07:00
Hal Feng
6c2d5b0ae6 board: starfive: spl: Fix the wrong use of CONFIG_IS_ENABLED()
The prefix "SPL_" is not needed when using CONFIG_IS_ENABLED().

Tested-by: Anand Moon <linux.amoon@gmail.com>
Tested-by: E Shattow <lucent@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Fixes: 5ecf9b0b8a ("board: starfive: add StarFive VisionFive v2 board support")
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
(cherry picked from commit c129fb9efc)
2025-12-24 05:17:01 -07:00
Hal Feng
21813101f2 riscv: dts: jh7110: Support multiple DTBs in a Fit image
Support multiple DTBs for JH7110 based boards, so they can
select the correct DT at runtime.

Tested-by: Anand Moon <linux.amoon@gmail.com>
Tested-by: E Shattow <lucent@gmail.com>
Reviewed-by: E Shattow <lucent@gmail.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
(cherry picked from commit c9489a9d32)
2025-12-24 05:17:01 -07:00
Hal Feng
f0502cffb3 configs: visionfive2: Enable MULTI_DTB_FIT for JH7110 based board DT
So JH7110 based boards can select their own DT at runtime.

Tested-by: Anand Moon <linux.amoon@gmail.com>
Tested-by: E Shattow <lucent@gmail.com>
Reviewed-by: E Shattow <lucent@gmail.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
(cherry picked from commit a0afca0129)
2025-12-24 05:17:01 -07:00
Hal Feng
a2c850bb3c board: starfive: spl: Drop the unneeded DT modification code
As OF_UPSTREAM is implemented, these code are redundant.

Tested-by: Anand Moon <linux.amoon@gmail.com>
Tested-by: E Shattow <lucent@gmail.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
(cherry picked from commit d8479f51f9)
2025-12-24 05:17:01 -07:00
Hal Feng
8d575d951a riscv: dts: jh7110: Add u-boot device tree for JH7110 based boards
To support the other JH7110 based boards, add u-boot
device tree for them.

Tested-by: Anand Moon <linux.amoon@gmail.com>
Tested-by: E Shattow <lucent@gmail.com>
Reviewed-by: E Shattow <lucent@gmail.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: H Bell <dmoo_dv@protonmail.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
(cherry picked from commit 1b52a220d3)
2025-12-24 05:17:01 -07:00
Hal Feng
e5c7ca0f0a riscv: dts: jh7110: Move common code to the new jh7110-common-u-boot.dtsi
To support JH7110 based boards besides v1.3B,
add a common dtsi and add common code to it.

Tested-by: Anand Moon <linux.amoon@gmail.com>
Tested-by: E Shattow <lucent@gmail.com>
Reviewed-by: E Shattow <lucent@gmail.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
(cherry picked from commit 6bbe95ef72)
2025-12-24 05:17:01 -07:00
Hal Feng
0fce9f6661 pcie: starfive: Make the driver compatible with upstream DT
There are difference between upstream DT and the old DT
in terms of reg base, reset gpio and syscon. Make the driver
compatible with upstream DT.

Tested-by: Anand Moon <linux.amoon@gmail.com>
Tested-by: E Shattow <lucent@gmail.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
(cherry picked from commit 0b7bf26d06)
2025-12-24 05:17:01 -07:00
Hal Feng
f2fea3e4fb mmc: dw_mmc: Add "starfive, jh7110-mmc" compatible to match upstream DT
Make the U-Boot JH7110 MMC driver compatible with upstream DT.

Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
(cherry picked from commit b364642f61)
2025-12-24 05:17:01 -07:00
Hal Feng
215a0eefa1 riscv: dts: jh7110: Make u-boot device trees adapting to upstream DT
Add u-boot features to the U-Boot device tree.

Tested-by: Anand Moon <linux.amoon@gmail.com>
Tested-by: E Shattow <lucent@gmail.com>
Reviewed-by: E Shattow <lucent@gmail.com>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
(cherry picked from commit 503fc85481)
2025-12-24 05:17:01 -07:00