]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
3 months agoenv: point fdt address to the fdt in a bloblist
Raymond Mao [Mon, 31 Mar 2025 22:40:10 +0000 (15:40 -0700)] 
env: point fdt address to the fdt in a bloblist

Point fdt_addr to the fdt embedded in the bloblist since fdt_addr
is a default address for bootefi, bootm and booti to look for the
device tree when launching the kernel.

Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
3 months agobloblist: fix the overriding of fdt from bloblist
Raymond Mao [Mon, 31 Mar 2025 22:40:09 +0000 (15:40 -0700)] 
bloblist: fix the overriding of fdt from bloblist

When a bloblist is valid and contains fdt, it explicitly means
a previous boot stage is passing transfer list compliant with
Firmware Handoff specification, thus the fdt from bloblist should
not be overridden with the ones from board or env variables.

Fixes: 70fe23859437 ("fdt: Allow the devicetree to come from a bloblist")
Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 months agoMerge tag 'u-boot-stm32-20250428' of https://source.denx.de/u-boot/custodians/u-boot-stm
Tom Rini [Mon, 28 Apr 2025 14:22:48 +0000 (08:22 -0600)] 
Merge tag 'u-boot-stm32-20250428' of https://source.denx.de/u-boot/custodians/u-boot-stm

CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/25970
- Add OF_UPSTREAM flag support for STi, STM32 MCU and MPU platforms.
- Add ETZPC as system bus for STM32MP1 platforms
- Add RIFSC as sytem bus for STM32MP2 platforms
- Update STM32MP2 board/machine support:
  - update cmd_stm32key.
  - update cmd_stm32prog.
  - update STM32MP25 configs.
  - add leds and buttons support.
  - add boot_mode support (USB/PXE/MMC/NOR/NAND).
  - add bootcmd support.
  - enable MMC support.

3 months agosiemens: imx8qxp: remove unused config file
Heiko Schocher [Mon, 28 Apr 2025 05:28:57 +0000 (07:28 +0200)] 
siemens: imx8qxp: remove unused config file

include/configs/giedi.h is not longer used after siemens imx8qxp
cleanup series, so remove it.

Signed-off-by: Heiko Schocher <hs@denx.de>
3 months agoarm: imx8qxp: capricorn: move env offset settings
Heiko Schocher [Mon, 28 Apr 2025 05:28:56 +0000 (07:28 +0200)] 
arm: imx8qxp: capricorn: move env offset settings

move the ENV_OFFSET settings from common config settings file
configs/imx8qxp_capricorn.config to defconfig file for the
cxg3 board, as other imx8qxp based boards from siemens has
the environment on other offsets.

Signed-off-by: Heiko Schocher <hs@denx.de>
3 months agosiemens: capricorn: defconfig updates
Walter Schweizer [Mon, 28 Apr 2025 05:28:55 +0000 (07:28 +0200)] 
siemens: capricorn: defconfig updates

add ahab command as secure boot is used on this boards,
and enable watchdog, so U-Boot triggers it.

Signed-off-by: Walter Schweizer <walter.schweizer@siemens.com>
for respelling commit subject and  message:
Signed-off-by: Heiko Schocher <hs@denx.de>
3 months agosiemens: capricorn: enable text based default environment
Walter Schweizer [Mon, 28 Apr 2025 05:28:54 +0000 (07:28 +0200)] 
siemens: capricorn: enable text based default environment

enable text based default U-Boot Environment by enabling
CONFIG_ENV_SOURCE_FILE

and adding default environment file:

board/siemens/capricorn/capricorn_cxg3.env

Signed-off-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Walter Schweizer <walter.schweizer@siemens.com>
3 months agoimx8qxp: capricorn defconfig: collect common Kconfig options
Heiko Schocher [Mon, 28 Apr 2025 05:28:53 +0000 (07:28 +0200)] 
imx8qxp: capricorn defconfig: collect common Kconfig options

Siemens have some defconfigs for different hardware versions,
all based on mainline cxg3 board. For easier updating the
downstream defconfigs, move common settings into new file.

configs/imx8qxp_capricorn.config

Signed-off-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Walter Schweizer <walter.schweizer@siemens.com>
3 months agoclk: imx: Pass CCM udevice into clk_register_composite()
Marek Vasut [Sun, 27 Apr 2025 15:39:34 +0000 (17:39 +0200)] 
clk: imx: Pass CCM udevice into clk_register_composite()

Pass the clock controller udevice into clk_register_composite(),
so it can be passed further to any registered composite clocks
and used for look up of parent clock referenced in DT "clocks"
and "clock-names" properties by phandle and name pair.

Use the clock controller udevice in imx8m_clk_mux_set_parent()
to perform accurate look up of parent clock referenced in the
CCM driver by name. If the clock name that is being looked up
matches one of the names listed in the clock controller DT node
"clock-names" array property, then the offset of the name is
looked up in the "clocks" DT property and the phandle at that
offset is resolved to the parent clock udevice. The test to
determine whether a particular driver instance registered with
clock uclass matches the parent clock is done by comparing the
OF nodes of the clock registered with clock uclass and parent
clock resolved from the phandle.

Example:

drivers/clk/imx/clk-imx8mm.c:
static const char * const imx8mm_a53_sels[] = {"osc_24m", "arm_pll_out", ...
                                      _____________|
arch/arm/dts/imx8mm.dtsi:            |
clk: clock-controller@30380000 {     v
        clock-names = "osc_32k", "osc_24m", ...
                           |
   v
        clocks = <&osc_32k>, <&osc_24m>, ...
};          _______________________|
...        |
/ {        v
        osc_24m: clock-osc-24m {
                compatible = "fixed-clock";
...
};

Signed-off-by: Marek Vasut <marex@denx.de>
Reported-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Tested-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Adam Ford <aford173@gmail.com> # imx8mp-beacon
3 months agoarm64: dts: imx8mm: Make osc_32k available in SPL
Fabio Estevam [Fri, 25 Apr 2025 17:39:01 +0000 (14:39 -0300)] 
arm64: dts: imx8mm: Make osc_32k available in SPL

Since commit b4734c9c333b ("clk: imx: Convert clock-osc-* back to osc_*")
SPL takes a long time to load U-Boot proper on an imx8mm-evk board.

The reason for the long delay is because the osc_32k clock is not available
in the SPL phase.

Fix this problem by passing the 'bootph-all' and 'bootph-pre-ram'
properties to make the osc_32k clock available in SPL.

This also aligns with imx8mn and imx8mp-u-boot.dtsi files.

Fixes: b4734c9c333b ("clk: imx: Convert clock-osc-* back to osc_*")
Suggested-by: Marek Vasut <marex@denx.de>
Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Adam Ford <aford173@gmail.com>
3 months agoimx: power-domain: Enable refcounting on imx8mp
Miquel Raynal [Fri, 25 Apr 2025 06:49:33 +0000 (08:49 +0200)] 
imx: power-domain: Enable refcounting on imx8mp

Prevent enabling/disabling multiple times the same power domain to avoid
breakages due to the same power domains being referenced several times
by different device nodes.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
3 months agopower-domain: Add support for refcounting (again)
Miquel Raynal [Fri, 25 Apr 2025 06:49:32 +0000 (08:49 +0200)] 
power-domain: Add support for refcounting (again)

It is very surprising that such an uclass, specifically designed to
handle resources that may be shared by different devices, is not keeping
the count of the number of times a power domain has been
enabled/disabled to avoid shutting it down unexpectedly or disabling it
several times.

Doing this causes troubles on eg. i.MX8MP because disabling power
domains can be done in recursive loops were the same power domain
disabled up to 4 times in a row. PGCs seem to have tight FSM internal
timings to respect and it is easy to produce a race condition that puts
the power domains in an unstable state, leading to ADB400 errors and
later crashes in Linux.

Some drivers implement their own mechanism for that, but it is probably
best to add this feature in the uclass and share the common code across
drivers. In order to avoid breaking existing drivers, refcounting is
only enabled if the number of subdomains a device node supports is
explicitly set in the probe function. ->xlate() callbacks will return
the power domain ID which is then being used as the array index to reach
the correct refcounter.

As we do not want to break existing users while stile getting
interesting error codes, the implementation is split between:
- a low-level helper reporting error codes if the requested transition
  could not be operated,
- a higher-level helper ignoring the "non error" codes, like EALREADY and
  EBUSY.

CI tests using power domains are slightly updated to make sure the count
of on/off calls is even and the results match what we *now* expect. They
are also extended to test the low-level functions.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
3 months agoboard: starfive: visionfive2: Order board detection logic to match config
E Shattow [Sun, 27 Apr 2025 06:02:52 +0000 (23:02 -0700)] 
board: starfive: visionfive2: Order board detection logic to match config

Fixup previous merge resolution of this series. Intent is to ease code
readability and logic to match ordering in CONFIG_OF_LIST

- Remove "starfive/" string math
- Remove redundant local cache of calls to get_*_from_eeprom()
- Match name before EEPROM product_id in board_fit_config_name_match()
- Remove single-consumer FDTFILE_* defines
- Do not set fdtfile for visionfive-2-* when unknown model revision

Fixes: 5a0a93a76848 ("Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-riscv")
Signed-off-by: E Shattow <e@freeshell.de>
3 months agosunxi: H6: Remove useless DRAM timings parameter
Jernej Skrabec [Fri, 11 Apr 2025 16:14:36 +0000 (18:14 +0200)] 
sunxi: H6: Remove useless DRAM timings parameter

This is just cosmetic fix for later easier rework.

Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
3 months agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-riscv
Tom Rini [Fri, 25 Apr 2025 19:13:17 +0000 (13:13 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-riscv

CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/25940

- riscv: lib: Simplify FDT retrieving process
- board: k1: pinctrl: Add pinctrl support for bananapi-f3
- binman: riscv: Fix binman_sym functionality
- board: starfive: visionfive2: Reorder board detection logic
- board: starfive: Add DeepComputing FML13V01 support

3 months agoMerge tag 'efi-2025-07-rc1-3' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Fri, 25 Apr 2025 19:11:40 +0000 (13:11 -0600)] 
Merge tag 'efi-2025-07-rc1-3' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2025-07-rc1-3

Documentation:

* add documentation for the DeepComputing FML13V01
* fix typos

UEFI:

* build with HII configuration protocol
* print image load address in StartImage

Boards:

* qemu-riscv raise CONFIG_NR_DRAM_BANKS
* add support for the DeepComputing FML13V01 board via
  starfive_visionfive2_defconfig
* add UNIT_TESTS to big-endian Malta boards

3 months agoconfigs: add UNIT_TESTS to big-endian Malta boards
Heinrich Schuchardt [Tue, 22 Apr 2025 18:55:10 +0000 (20:55 +0200)] 
configs: add UNIT_TESTS to big-endian Malta boards

We currently only run the unit tests on low-endian boards.
We should run them on big-endian, too.

Reviewed-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 months agodoc: jh7110: describe debug UART
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:15 +0000 (14:13 +0200)] 
doc: jh7110: describe debug UART

Provide the settings for using the debug UART in SPL.

Reviewed-by: E Shattow <e@freeshell.de>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 months agodoc: starfive: use jh7110_common.rst
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:14 +0000 (14:13 +0200)] 
doc: starfive: use jh7110_common.rst

To avoid duplicate maintenance just include jh7110_common.rst to describe
the usage of the different boot sources.

Reviewed-by: E Shattow <e@freeshell.de>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 months agodoc: starfive: use consistent formatting
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:13 +0000 (14:13 +0200)] 
doc: starfive: use consistent formatting

Always use ---- for the H2 level.

Reviewed-by: E Shattow <e@freeshell.de>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 months agodoc: add DeepComputing FML13V01 documentation
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:12 +0000 (14:13 +0200)] 
doc: add DeepComputing FML13V01 documentation

Describe building U-Boot for the board and booting.

Carve out common information for JH7110 boards into an include.

Reviewed-by: E Shattow <e@freeshell.de>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 months agoboard: starfive: spl: support DeepComputing FML13V01
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:11 +0000 (14:13 +0200)] 
board: starfive: spl: support DeepComputing FML13V01

On the DeepComputing Framework motherboard (FML13V01) choose the matching
FIT configuration.

Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: E Shattow <e@freeshell.de>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 months agoboard: starfive: DeepComputing FML13V01 fdt selection
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:10 +0000 (14:13 +0200)] 
board: starfive: DeepComputing FML13V01 fdt selection

We support all JH7110 boards with starfive_visionfive2_defconfig.
The relevant device-tree is selected at runtime based on EEPROM data.

Support setting $fdtfile to the file name of the DeepComputing Framework
motherboard (FML13V01) device-tree.

Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: E Shattow <e@freeshell.de>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 months agoriscv: dts: jh7110: add DeepComputing FML13V01 device-tree
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:09 +0000 (14:13 +0200)] 
riscv: dts: jh7110: add DeepComputing FML13V01 device-tree

Add the u-boot device-tree include needed to support the
DeepComputing Framework motherboard (FML13V01).

Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: E Shattow <e@freeshell.de>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 months agoconfigs: add jh7110-deepcomputing-fml13v01 to VF2 defconfig
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:08 +0000 (14:13 +0200)] 
configs: add jh7110-deepcomputing-fml13v01 to VF2 defconfig

The DeepComputing Framework motherboard is a JH7110 device support by the
upstream kernel. Add its device-tree to the list of device-trees to be
included into the starfive_visionfive_defconfig.

Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: E Shattow <e@freeshell.de>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 months agoconfigs: qemu-riscv raise CONFIG_NR_DRAM_BANKS
Heinrich Schuchardt [Thu, 3 Apr 2025 14:28:16 +0000 (16:28 +0200)] 
configs: qemu-riscv raise CONFIG_NR_DRAM_BANKS

The number of memory banks in QEMU is not bounded by 1.

In this example we have two banks:

    qemu-system-riscv64 \
    -machine virt \
    -nographic \
    -m 8192 \
    -smp 8,sockets=2,cores=4,threads=1 \
    -numa node,cpus=0-3,mem=4096 \
    -numa node,cpus=4-7,mem=4096 \
    -kernel u-boot

As we will see RISC-V NUMA systems using U-Boot
we should be able to emulate these.

Use the default value defined in /Kconfig as 4.

Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 months agodoc: fix typo 'to'
Aristo Chen [Thu, 24 Apr 2025 09:14:16 +0000 (17:14 +0800)] 
doc: fix typo 'to'

Fix typo from "to" to "do"

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
3 months agodoc: fix typo commnad
Aristo Chen [Wed, 23 Apr 2025 06:52:13 +0000 (14:52 +0800)] 
doc: fix typo commnad

fix typo from "commnad" to "command"

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
3 months agodoc: arch: arm64: fix typos
Aristo Chen [Tue, 22 Apr 2025 03:07:06 +0000 (11:07 +0800)] 
doc: arch: arm64: fix typos

Fix typo from "recommened" to "recommended"

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
3 months agodoc: remove duplicated "commands"
Aristo Chen [Sun, 20 Apr 2025 14:39:41 +0000 (22:39 +0800)] 
doc: remove duplicated "commands"

The "commands" are duplicated, so remove one of them

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
3 months agoefi_loader: print image load address in StartImage
Heinrich Schuchardt [Thu, 2 Jan 2025 18:11:33 +0000 (19:11 +0100)] 
efi_loader: print image load address in StartImage

When starting image add the image load address to the debug output.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 months agoefi_loader: build with HII configuration protocol
Heinrich Schuchardt [Thu, 2 Jan 2025 18:11:31 +0000 (19:11 +0100)] 
efi_loader: build with HII configuration protocol

Without the HII configuration protocol the debug version of the UEFI shell
cannot be used.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 months agoconfigs: stm32mp25: enable DISTRO_DEFAULT and BOOTCOMMAND
Patrice Chotard [Fri, 25 Apr 2025 08:21:34 +0000 (10:21 +0200)] 
configs: stm32mp25: enable DISTRO_DEFAULT and BOOTCOMMAND

Enable DISTRO_DEFAULT and BOOTCOMMAND flags for stm32mp25

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Cover-letter:
arm: stm32mp: STM32MP25 machine update

This series is updating STM32MP25 machine/board support:
  _ update cmd_stm32key.
  _ update cmd_stm32prog.
  _ update STM32MP25 configs.
  _ add leds and buttons support.
  _ add boot_mode support (USB/PXE/MMC/NOR/NAND).
  _ add bootcmd support.
  _ enable MMC support.

Currently, it misses clock,reset and regulator support for STM32MP25
which will be added in a next step due to dependencies with OP-TEE.
For example, due to OP-TEE dependencies, all MMC support is ready
but not functional.

END

Series-version: 2

Series-changes: 2
  - Enable DISTRO_DEFAULT and BOOTCOMMAND flags

3 months agoarm: stm32mp: stm32prog: add support rootfs-a for OTA
Patrick Delaunay [Thu, 16 Jan 2025 09:54:34 +0000 (10:54 +0100)] 
arm: stm32mp: stm32prog: add support rootfs-a for OTA

Add support of "rootfs-a" name to allow support of A/B mechanism for OTA
on rootfs.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoarm: stm32mp: stm32prog: PTA BSEC is not supported on closed device
Patrick Delaunay [Wed, 20 Mar 2024 14:56:42 +0000 (15:56 +0100)] 
arm: stm32mp: stm32prog: PTA BSEC is not supported on closed device

On closed device the PTA BSEC is never supported and the current check if
PTA BSEC is supported cause a OP-TEE error:

  E/TC tee_ta_open_session

This patch removed this warning on closed device, because the check is
skipped.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoarm: stm32mp: add helper function stm32mp_is_closed()
Patrick Delaunay [Wed, 20 Mar 2024 14:51:08 +0000 (15:51 +0100)] 
arm: stm32mp: add helper function stm32mp_is_closed()

Add the helper function stm32mp_is_closed() to check the "closed" state in
product life cycle, when product secrets have  been provisioned into the
device, by "secure secret provisioning" tools (SSP) for example.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoarm: stm32mp: cmd_stm32key: update command for stm32mp25x
Patrice Chotard [Fri, 10 Dec 2021 10:05:16 +0000 (11:05 +0100)] 
arm: stm32mp: cmd_stm32key: update command for stm32mp25x

Update key table for stm32mp25 platform.

Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com>
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoarm: stm32mp: fix package IDs for stm32mp25
Patrice Chotard [Thu, 4 Jul 2024 13:54:35 +0000 (15:54 +0200)] 
arm: stm32mp: fix package IDs for stm32mp25

Fix package IDs for stm32mp25.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoarm: stm32mp: implement new STM32MP25 revision ID system
Patrick Delaunay [Tue, 19 Mar 2024 19:14:27 +0000 (20:14 +0100)] 
arm: stm32mp: implement new STM32MP25 revision ID system

The STM32MP25 revision ID are now defined with the OTP102, this patch
implements this new system.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice CHOTARD <patrice.chotard@foss.st.com>
3 months agoarm: stm32mp: disable console for UART serial boot
Patrice Chotard [Thu, 3 Apr 2025 13:04:35 +0000 (15:04 +0200)] 
arm: stm32mp: disable console for UART serial boot

For UART serial boot, the console need to be deactivated to avoid issue
with tools STM32CubeProgrammer.

This patch adds also the missing dependency for CMD_STM32PROG_SERIAL,
to allow the silent and disable console. This avoid to add is on
board level for STM32MP15 (with TARGET_ST_STM32MP15X or
TARGET_ST_STM32MP13X)

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoarm: stm32mp: increase EARLY_TLB_SIZE to 0x10000
Patrice Chotard [Tue, 1 Apr 2025 16:14:18 +0000 (18:14 +0200)] 
arm: stm32mp: increase EARLY_TLB_SIZE to 0x10000

Depending on Soc (STM32MP25 vs STM32MP21), the memory map can be
different and it generates a different TLB page table configuration/size.

Increase EARLY_TLB_SIZE to 0x10000 to fix following error message
and panic:

"Insufficient RAM for page table: 0xb000 > 0xa000. Please increase the
size in get_page_table_size()"

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoARM: dts: stm32: add sdmmc1 fixed clock for stm32mp257f-ev1-u-boot
Patrice Chotard [Fri, 4 Apr 2025 16:20:32 +0000 (18:20 +0200)] 
ARM: dts: stm32: add sdmmc1 fixed clock for stm32mp257f-ev1-u-boot

Add sdmmc1 temporary fixed clock for stm32mp257f-ev1-u-boot

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoconfigs: stm32mp25: add PXE boot support
Patrice Chotard [Tue, 1 Apr 2025 16:11:39 +0000 (18:11 +0200)] 
configs: stm32mp25: add PXE boot support

Configure the required configuration to allow PXE boot,
without autoload support by default.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoconfigs: stm32mp25: add USB host boot support
Patrice Chotard [Tue, 1 Apr 2025 16:12:51 +0000 (18:12 +0200)] 
configs: stm32mp25: add USB host boot support

Add support for booting from USB pen drive, since USB host
port is available on the STM32MP2.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoboard: st: stm32mp2: change bootcmd for ST boards
Patrick Delaunay [Fri, 21 Oct 2022 15:37:28 +0000 (17:37 +0200)] 
board: st: stm32mp2: change bootcmd for ST boards

For nor0 boot for the STMicroelectronics boards, the bootfs
is found in SD-Card = mmc0 for nor0 boot.

Introduce a new file configuration file stm32mp25_st_common.h
to manage this specific behavior for the STMicroelectronics
boards; change the boot order for nor0 boot and don't use
the default DISTRO order define in BOOT_TARGET_DEVICES:
mmc1, ubifs, mmc0, mmc2.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice CHOTARD <patrice.chotard@foss.st.com>
3 months agoconfigs: stm32mp25: add support of NAND and NOR boot
Patrice Chotard [Tue, 1 Apr 2025 16:08:44 +0000 (18:08 +0200)] 
configs: stm32mp25: add support of NAND and NOR boot

Add support of UBI boot and activate the needed
configuration for U-Boot environment in UBI volume for
NAND or in a MTD partition for NOR device, SPI Flash:
ENV_OFFSET, ENV_OFFSET_REDUND, ENV_SECT_SIZE is
aligned with the default MTD partition on NOR device
of the STMicroelectronics boards.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoboard: st: stm32mp2: add user button support
Patrick Delaunay [Wed, 27 Jul 2022 08:38:11 +0000 (10:38 +0200)] 
board: st: stm32mp2: add user button support

Handle user button 2 to force boot with STM32CubeProgrammer.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoboard: st: stm32mp2: add led support
Patrick Delaunay [Tue, 26 Jul 2022 17:26:16 +0000 (19:26 +0200)] 
board: st: stm32mp2: add led support

Add led support, force default state on U-Boot initialization and put on
the Linux heartbeat led = "blue-led" during U-Boot execution.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoARM: dts: stm32: add "u-boot,mmc-env-partition" for stm32mp257f-ev1-u-boot
Patrice Chotard [Wed, 23 Apr 2025 07:45:02 +0000 (09:45 +0200)] 
ARM: dts: stm32: add "u-boot,mmc-env-partition" for stm32mp257f-ev1-u-boot

Add "u-boot,mmc-env-partition" property for stm32mp257f-ev1-u-boot.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoboard: st: stm32mp2: add mmc_get_env_dev()
Patrice Chotard [Tue, 22 Apr 2025 15:33:42 +0000 (17:33 +0200)] 
board: st: stm32mp2: add mmc_get_env_dev()

Use the boot instance to select the correct mmc device identifier,
this patch only to save the environment on eMMC = MMC(1) on
STMicroelectronics boards.

Set the CONFIG_SYS_MMC_ENV_DEV to -1 to select the mmc boot instance
by default.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoboard: st: stm32mp2: add env_get_location()
Patrice Chotard [Tue, 1 Apr 2025 16:08:44 +0000 (18:08 +0200)] 
board: st: stm32mp2: add env_get_location()

In case of several environment location support, env_get_location
is needed to select the correct location depending of the boot
device .

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoarm: stm32mp: add boot_mode support for STM32MP25
Patrick Delaunay [Mon, 30 May 2022 17:20:45 +0000 (19:20 +0200)] 
arm: stm32mp: add boot_mode support for STM32MP25

Add support of all the boot mode supported by STM32MP25x family
with information provided by TF-A in backup register

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoconfigs: stm32mp25: add bootcmd for stm32mp25 platform
Patrice Chotard [Tue, 1 Apr 2025 15:43:54 +0000 (17:43 +0200)] 
configs: stm32mp25: add bootcmd for stm32mp25 platform

Handle boot for the 3 instance of MMC and call the command stm32prog
for serial boot on USB or on UART as it is done for other STM32MP platform.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoconfigs: stm32mp25: add MMC support
Patrice Chotard [Fri, 4 Apr 2025 06:53:11 +0000 (08:53 +0200)] 
configs: stm32mp25: add MMC support

Enable MMC related flags support for stm32mp25

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoARM: stm32mp: add RIFSC system bus driver for STM32MP25
Patrick Delaunay [Tue, 1 Apr 2025 13:14:13 +0000 (15:14 +0200)] 
ARM: stm32mp: add RIFSC system bus driver for STM32MP25

This driver is checking the access rights of the different
peripherals connected to the RIFSC bus. If access is denied,
the associated device is not binded.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Cover-letter:
Enable OF_UPSTREAM for STM32 and STi platforms
This series is enabling OF_UPSTREAM flag for STM32 MCU's, MPU's and
STi platforms.
For some boards, some defconfig and DT update are needed to keep the
same functional level.

The major impact concerns MPU's platform with introduction of STM32
System Bus.
END

Series-version: 2

Series-changes: 2
  - Replace LOG_CATEGORY UCLASS_SIMPLE_BUS by UCLASS_NOP in both
    /arch/arm/mach-stm32mp/stm32mp2/rifsc.c and
    /arch/arm/mach-stm32mp/stm32mp1/etzpc.c.
  - Update board/st/stm32mp1/MAINTAINERS.
  - Fix DSI clock ssetting.

3 months agoARM: dts: stm32: convert stm32mp2 board to OF_UPSTREAM
Patrice Chotard [Tue, 1 Apr 2025 13:14:12 +0000 (15:14 +0200)] 
ARM: dts: stm32: convert stm32mp2 board to OF_UPSTREAM

Enable OF_UPSTREAM flag for STM32MP2 platforms.
Add fixed-clock ck_flexgen_08 and ck_icn_ls_mcu until STM32MP25
clock driver will be available.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 months agostm32mp: fdt: remove ETZPC peripheral cleanup
Lionel Debieve [Tue, 1 Apr 2025 13:14:11 +0000 (15:14 +0200)] 
stm32mp: fdt: remove ETZPC peripheral cleanup

Due to feature domains management, there is no more
need to maintain the fdt cleanup.

Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 months agoARM: dts: stm32: add ETZPC as a system bus for STM32MP1x boards
Lionel Debieve [Tue, 1 Apr 2025 13:14:10 +0000 (15:14 +0200)] 
ARM: dts: stm32: add ETZPC as a system bus for STM32MP1x boards

The STM32 System Bus is an internal bus on which devices are connected.
ETZPC is a peripheral overseeing the firewall bus that configures
and control access to the peripherals connected on it.

For more information on which peripheral is securable, please read
the STM32MP13 or STM32MP15 reference manual.

Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com>
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 months agoARM: stm32mp: add ETZPC system bus driver for STM32MP1
Lionel Debieve [Tue, 1 Apr 2025 13:14:09 +0000 (15:14 +0200)] 
ARM: stm32mp: add ETZPC system bus driver for STM32MP1

This driver is checking the access rights of the different
peripherals connected to the ETZPC bus. If access is denied,
the associated device is not bound.

Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com>
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 months agoclk: stm32mp1: fix DSI clock setting
Patrice Chotard [Tue, 1 Apr 2025 13:14:08 +0000 (15:14 +0200)] 
clk: stm32mp1: fix DSI clock setting

DSI is the peripheral clock, while DSI_K is an internal kernel clock.
Even though they get the same register and same bit set to be gated,
resulting in the same behavior.

Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
3 months agoconfigs: stm32: introduce stm32mp15-odyssey_defconfig
Patrice Chotard [Tue, 1 Apr 2025 13:14:07 +0000 (15:14 +0200)] 
configs: stm32: introduce stm32mp15-odyssey_defconfig

U-Boot DT for stm32mp157c-odyssey is richer than the kernel DT one.
None of the stm32mp157c-odyssey's contributors answered to my request
to update kernel DT and i didn't have this board to test.
The simpler is to add a dedicated stm32mp15-odyssey_defconfig with
OF_UPSTREAM flag unset.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 months agoARM: dts: stm32: convert stm32mp15 board to OF_UPSTREAM
Patrice Chotard [Tue, 1 Apr 2025 13:14:06 +0000 (15:14 +0200)] 
ARM: dts: stm32: convert stm32mp15 board to OF_UPSTREAM

Enable OF_UPSTREAM flag for STM32MP15 platforms, except for
stm32mp15-odyssey,see following patch :

"configs: stm32: introduce stm32mp15-odyssey_defconfig"

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 months agoARM: dts: stm32: convert stm32mp13 board to OF_UPSTREAM
Patrice Chotard [Tue, 1 Apr 2025 13:14:05 +0000 (15:14 +0200)] 
ARM: dts: stm32: convert stm32mp13 board to OF_UPSTREAM

Enable OF_UPSTREAM flag for STM32MP13 platforms.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 months agoARM: dts: stm32: convert stm23f4 boards to OF_UPSTREAM
Patrice Chotard [Tue, 1 Apr 2025 13:14:04 +0000 (15:14 +0200)] 
ARM: dts: stm32: convert stm23f4 boards to OF_UPSTREAM

Enable OF_UPSTREAM flag for STM32MPF4 platforms.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 months agoARM: dts: stm32: convert stm23f7 boards to OF_UPSTREAM
Patrice Chotard [Tue, 1 Apr 2025 13:14:03 +0000 (15:14 +0200)] 
ARM: dts: stm32: convert stm23f7 boards to OF_UPSTREAM

Enable OF_UPSTREAM flag for STM32F7 platforms.

Use upstream device tree for DSI and LTDC nodes,
As now in upstream DT, in panel@0 node, power-supply property is
present, which is a fixed-regulator, add DM_REGULATOR_FIXED flag
for stm32f769-disco boards.

Set also DEFAULT_FDT_FILE in defconfigs and use it in stm32f746-disco.h
to indicate which FDT file to load (All STM32F7 boards are using this
file).

If something is missing, it must be added in upstream device tree
in linux kernel ("px_clk" for DSI by example).

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 months agoARM: dts: stm32: convert stm23h7 boards to OF_UPSTREAM
Patrice Chotard [Tue, 1 Apr 2025 13:14:02 +0000 (15:14 +0200)] 
ARM: dts: stm32: convert stm23h7 boards to OF_UPSTREAM

Enable OF_UPSTREAM flag for STM32H7 platforms.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 months agoARM: dts: sti: convert stih410-b2260 board to OF_UPSTREAM
Patrice Chotard [Tue, 1 Apr 2025 13:14:01 +0000 (15:14 +0200)] 
ARM: dts: sti: convert stih410-b2260 board to OF_UPSTREAM

Enable OF_UPSTREAM flag for stih410-b2260 board.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 months agospi: fsl_qspi: Move AHB read buffer config after LUT
Pawel Kochanowski [Thu, 24 Apr 2025 07:45:39 +0000 (09:45 +0200)] 
spi: fsl_qspi: Move AHB read buffer config after LUT

When using CONFIG_FSL_QSPI_AHB_FULL_MAP the fsl_qspi_default_setup() sets
the BFGENCR register to use the LUT(SEQID_LUT_AHB) before the Look Up Table
is populated.

This result in a situation that after 'sf probe' command any memory
read from qspi using AHB will result in undefined behaviour (hang) untill
first 'sf read' op is executed.

Move the BFGENCR write to fsl_qspi_prepare_lut() to ensure that the setup
is consistent. AHB reads will use the default LUT(index 0) setup by previous
boot stage untill the first read op.

Signed-off-by: Pawel Kochanowski <pkochanowski@sii.pl>
3 months agotoradex: tdx-cfg-block: fix verdin imx95 sku 0089 pid4
Emanuele Ghidoli [Thu, 24 Apr 2025 08:28:59 +0000 (10:28 +0200)] 
toradex: tdx-cfg-block: fix verdin imx95 sku 0089 pid4

The memory size of the 0089 SKU is 8 GB instead of 16 GB.
Fix PID4 0089 Verdin iMX95 definition, in the configuration block.

Fixes: ce53f46f33b4 ("toradex: tdx-cfg-block: add verdin imx95 sku 0089 pid4")
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
3 months agoclk: imx: Finish converting clock-osc-24 back to osc_24
Adam Ford [Wed, 16 Apr 2025 21:55:24 +0000 (16:55 -0500)] 
clk: imx: Finish converting clock-osc-24 back to osc_24

The UART clocks were added around the same time some other clock
updates were happening, so converting clock-osc-24 back to osc_24
was missed on the UART clocks for imx8mm and imx8mn, so update
them here.

Fixes: b4734c9c333b ("clk: imx: Convert clock-osc-* back to osc_*")
Signed-off-by: Adam Ford <aford173@gmail.com>
Reported-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
3 months agoimx: mx51evk: drop Stefano Babic from MAINTAINERS
Stefano Babic [Sun, 13 Apr 2025 11:01:38 +0000 (13:01 +0200)] 
imx: mx51evk: drop Stefano Babic from MAINTAINERS

I haven't anymore the MX51EVK board.

Signed-off-by: Stefano Babic <sbabic@nabladev.com>
CC: Fabio Estevam <festevam@gmail.com>
3 months agoMAINTAINERS: Update email of Stefano Babic
Stefano Babic [Sun, 13 Apr 2025 11:01:18 +0000 (13:01 +0200)] 
MAINTAINERS: Update email of Stefano Babic

Replace my old e-mail with the current one to get still involved in the
project.

Signed-off-by: Stefano Babic <sbabic@nabladev.com>
3 months agoboard: starfive: visionfive2: Order board detection logic to match config
E Shattow [Tue, 22 Apr 2025 06:49:17 +0000 (23:49 -0700)] 
board: starfive: visionfive2: Order board detection logic to match config

Refactor inside-out EEPROM-checking logic to better match the board-seeking
callback and ordered list of targets from starfive_visionfive2_config since
the JH7110 OF_UPSTREAM migration.

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 months agodoc: board: starfive: visionfive2: add missing format command to Flashing
E Shattow [Wed, 23 Apr 2025 21:28:51 +0000 (14:28 -0700)] 
doc: board: starfive: visionfive2: add missing format command to Flashing

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 months agodoc: jh7110: describe debug UART
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:15 +0000 (14:13 +0200)] 
doc: jh7110: describe debug UART

Provide the settings for using the debug UART in SPL.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: E Shattow <e@freeshell.de>
3 months agodoc: starfive: use jh7110_common.rst
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:14 +0000 (14:13 +0200)] 
doc: starfive: use jh7110_common.rst

To avoid duplicate maintenance just include jh7110_common.rst to describe
the usage of the different boot sources.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: E Shattow <e@freeshell.de>
3 months agodoc: starfive: use consistent formatting
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:13 +0000 (14:13 +0200)] 
doc: starfive: use consistent formatting

Always use ---- for the H2 level.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: E Shattow <e@freeshell.de>
3 months agodoc: add DeepComputing FML13V01 documentation
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:12 +0000 (14:13 +0200)] 
doc: add DeepComputing FML13V01 documentation

Describe building U-Boot for the board and booting.

Carve out common information for JH7110 boards into an include.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: E Shattow <e@freeshell.de>
3 months agoboard: starfive: spl: support DeepComputing FML13V01
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:11 +0000 (14:13 +0200)] 
board: starfive: spl: support DeepComputing FML13V01

On the DeepComputing Framework motherboard (FML13V01) choose the matching
FIT configuration.

Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: E Shattow <e@freeshell.de>
3 months agoboard: starfive: DeepComputing FML13V01 fdt selection
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:10 +0000 (14:13 +0200)] 
board: starfive: DeepComputing FML13V01 fdt selection

We support all JH7110 boards with starfive_visionfive2_defconfig.
The relevant device-tree is selected at runtime based on EEPROM data.

Support setting $fdtfile to the file name of the DeepComputing Framework
motherboard (FML13V01) device-tree.

Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: E Shattow <e@freeshell.de>
3 months agoriscv: dts: jh7110: add DeepComputing FML13V01 device-tree
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:09 +0000 (14:13 +0200)] 
riscv: dts: jh7110: add DeepComputing FML13V01 device-tree

Add the u-boot device-tree include needed to support the
DeepComputing Framework motherboard (FML13V01).

Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: E Shattow <e@freeshell.de>
3 months agoconfigs: add jh7110-deepcomputing-fml13v01 to VF2 defconfig
Heinrich Schuchardt [Thu, 24 Apr 2025 12:13:08 +0000 (14:13 +0200)] 
configs: add jh7110-deepcomputing-fml13v01 to VF2 defconfig

The DeepComputing Framework motherboard is a JH7110 device support by the
upstream kernel. Add its device-tree to the list of device-trees to be
included into the starfive_visionfive_defconfig.

Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: E Shattow <e@freeshell.de>
3 months agoriscv: Provide __image_copy_{start_end} symbols in linkerscript
Yao Zi [Wed, 16 Apr 2025 16:25:33 +0000 (16:25 +0000)] 
riscv: Provide __image_copy_{start_end} symbols in linkerscript

Binman looks for __image_copy_start to determine the base address of an
entry if elf-base-sym isn't specified, which is missing in RISC-V port.
This causes binman skips RISC-V SPL entries without filling addresses
into its .binman_sym_table section.

This patch defines __image_copy_start in linkerscript of both SPL and
proper U-Boot to ensure binman_sym functions correctly with the default
binman.dtsi. The paired symbol, __image_copy_end, is introduced as well
for completeness.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 months agoriscv: dts: starfive: Prevent binman from relocating symbols in SPL
Yao Zi [Wed, 16 Apr 2025 16:25:32 +0000 (16:25 +0000)] 
riscv: dts: starfive: Prevent binman from relocating symbols in SPL

SPL and proper U-Boot are split into two images with default binman
configuration of StarFive VisionFive 2, thus proper U-Boot symbols
cannot be found in the SPL image. This fixes errors like

  Section '/binman/spl-img': Symbol '_binman_u_boot_any_prop_size'
    in entry '/binman/spl-img/mkimage/u-boot-spl/u-boot-spl-nodtb':
      Entry 'u-boot-any' not found in list (u-boot-spl-nodtb,
      u-boot-spl-dtb,u-boot-spl,mkimage,spl-img)

Fixes: 90602e779d3 ("riscv: dts: starfive: generate u-boot-spl.bin.normal.out")
Suggested-by: Jonas Karlman <jonas@kwiboo.se>
Signed-off-by: Yao Zi <ziyao@disroot.org>
3 months agoriscv: dts: binman.dtsi: Switch to u-boot-nodtb entry for proper U-Boot
Yao Zi [Wed, 16 Apr 2025 16:25:31 +0000 (16:25 +0000)] 
riscv: dts: binman.dtsi: Switch to u-boot-nodtb entry for proper U-Boot

Switch to u-boot-nodtb entry which precisely represents a proper U-Boot
and could be matched with u_boot_any. This allows RISC-V ports that make
use of binman to be built without disabling SPL_BINMAN_UBOOT_SYMBOLS
explicitly, which is set to y by default.

Fixes: 0784510f741 ("riscv: sifive: unleashed: Switch to use binman to generate u-boot.itb")
Suggested-by: Jonas Karlman <jonas@kwiboo.se>
Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 months agoconfigs: qemu-riscv raise CONFIG_NR_DRAM_BANKS
Heinrich Schuchardt [Thu, 3 Apr 2025 14:28:16 +0000 (16:28 +0200)] 
configs: qemu-riscv raise CONFIG_NR_DRAM_BANKS

The number of memory banks in QEMU is not bounded by 1.

In this example we have two banks:

    qemu-system-riscv64 \
    -machine virt \
    -nographic \
    -m 8192 \
    -smp 8,sockets=2,cores=4,threads=1 \
    -numa node,cpus=0-3,mem=4096 \
    -numa node,cpus=4-7,mem=4096 \
    -kernel u-boot

As we will see RISC-V NUMA systems using U-Boot
we should be able to emulate these.

Use the default value defined in /Kconfig as 4.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 months agoMAINTAINERS: visionfive2: Add match N: starfive pattern
Minda Chen [Thu, 3 Apr 2025 10:28:37 +0000 (18:28 +0800)] 
MAINTAINERS: visionfive2: Add match N: starfive pattern

Add match N:starfive pattern to visionfive2 board. Now
starfive pattern just related to JH7110 IC.

Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Reviewed-by: Marek Vasut <marex@denx.de>
3 months agoconfig: Enable pinctrl in bananapi-f3
Huan Zhou [Sat, 29 Mar 2025 12:48:00 +0000 (20:48 +0800)] 
config: Enable pinctrl in bananapi-f3

Add pinctrl support in bananapi-f3 platform

Signed-off-by: Huan Zhou <me@per1cycle.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 months agoriscv: dts: k1: add pinctrl property in dts.
Huan Zhou [Sat, 29 Mar 2025 12:47:59 +0000 (20:47 +0800)] 
riscv: dts: k1: add pinctrl property in dts.

Add pinctrl node in device tree and update
in bananapi f3 dts.

Signed-off-by: Huan Zhou <me@per1cycle.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 months agoboard: sifive: Remove dead board_fdt_blob_setup
Yao Zi [Fri, 7 Mar 2025 13:13:44 +0000 (13:13 +0000)] 
board: sifive: Remove dead board_fdt_blob_setup

CONFIG_OF_BOARD isn't enabled on SiFive Unleashed and Unmatched, thus
board_fdt_blob_setup is actually dead code on these platforms. Let's
remove it.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 months agoboard: starfive: Remove duplicated board_fdt_blob_setup
Yao Zi [Fri, 7 Mar 2025 13:13:43 +0000 (13:13 +0000)] 
board: starfive: Remove duplicated board_fdt_blob_setup

The default version should work for Starfive VisionFive 2.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 months agoboard: qemu: riscv: Remove duplicated board_fdt_blob_setup
Yao Zi [Fri, 7 Mar 2025 13:13:42 +0000 (13:13 +0000)] 
board: qemu: riscv: Remove duplicated board_fdt_blob_setup

The default version should work for RISC-V QEMU.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 months agoriscv: lib: Add a default implementation of board_fdt_blob_setup
Yao Zi [Fri, 7 Mar 2025 13:13:41 +0000 (13:13 +0000)] 
riscv: lib: Add a default implementation of board_fdt_blob_setup

It's common for S-Mode proper U-Boot to retrieve a FDT blob along with
taking control from SBI firmware. Add a weak version of
board_fdt_blob_setup to make use of it by default, avoiding copy-pasting
similar functions among boards.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 months agotools/make_pip: Use venv when invoking pip
Mattijs Korpershoek [Wed, 16 Apr 2025 12:36:28 +0000 (14:36 +0200)] 
tools/make_pip: Use venv when invoking pip

Recent Ubuntu versions (24.04+) disallow pip by default when
installing packages. The recommended approach is to use a virtual
environment (venv) instead.
Because of this, "make pip" is failing on such versions.

To prepare CI container migration to Ubuntu 24.04, use a venv in the
make_pip script.

Note: This has been reported on [1]

[1] https://source.denx.de/u-boot/custodians/u-boot-dm/-/issues/37

Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
3 months agoCI: Update to latest containers
Tom Rini [Thu, 24 Apr 2025 22:02:48 +0000 (16:02 -0600)] 
CI: Update to latest containers

This changes to using "venv" rather than "virtualenv" for Python
sandboxing.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 months agopython: Use and refer to the venv module rather than virtualenv
Tom Rini [Tue, 15 Apr 2025 18:10:26 +0000 (12:10 -0600)] 
python: Use and refer to the venv module rather than virtualenv

Using some form of sandbox with Python modules is a long standing best
practice with the language. There are a number of ways to have a Python
sandbox be created. At this point in time, it seems the Python community
is moving towards using the "venv" module provided with Python rather
than a separate tool. To match that we make the following changes:

- Refer to a "Python sandbox" rather than virtualenv in comments, etc.
- Install the python3-venv module in our container and not virtualenv.
- In our CI files, invoke "python -m venv" rather than "virtualenv".
- In documentation, tell users to install python3-venv and not
  virtualenv.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 months agoMerge patch series "Add PCIe support for TI AM64 SoC"
Tom Rini [Thu, 24 Apr 2025 16:46:17 +0000 (10:46 -0600)] 
Merge patch series "Add PCIe support for TI AM64 SoC"

Hrushikesh Salunke <h-salunke@ti.com> says:

TI's AM64 SoC has a single instance of Cadence PCIe Controller. This
series enables support for PCIe in AM64 SoC and to configure it in
Root-Complex mode of operation.

Link: https://lore.kernel.org/r/20250416120830.138965-1-h-salunke@ti.com
3 months agoconfigs: am64x_evm_a53_defconfig: Enable configs for PCIe support
Hrushikesh Salunke [Wed, 16 Apr 2025 12:08:30 +0000 (17:38 +0530)] 
configs: am64x_evm_a53_defconfig: Enable configs for PCIe support

TI's AM64 SoC has single instance of PCIe Controller namely PCIe0 which
is Cadence PCIe Controller. To support PCIe functionality with PCIe0
instance in Root-Complex mode enable corresponding configs. Also enable
configs to support NVMe over PCIe.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
3 months agopci: pcie_cdns_ti: Enable PCIe root-complex mode in AM64 SoC
Hrushikesh Salunke [Wed, 16 Apr 2025 12:08:29 +0000 (17:38 +0530)] 
pci: pcie_cdns_ti: Enable PCIe root-complex mode in AM64 SoC

TI's AM64 SoC has single instance of PCIe Controller namely PCIe0 which
is Cadence PCIe Controller. Add support to configure PCIe0 in Root-
Complex mode of operation.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
3 months agopci: pcie_cdns_ti: Include linux/sizes.h header
Hrushikesh Salunke [Wed, 16 Apr 2025 12:08:28 +0000 (17:38 +0530)] 
pci: pcie_cdns_ti: Include linux/sizes.h header

Driver uses macro SZ_4G to configure inbound base address register.
The macro is used without including the header file in which it is
defined. Fix this.

Fixes: 59ad5480098 ("pci: Add TI K3 Cadence PCIe Controller")
Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>