pandora-u-boot.git
7 weeks 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.

7 weeks 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>
7 weeks 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

7 weeks 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

7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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

7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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.

7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks agoMerge patch series "arm: mach-k3: remove some firewalls left over by ROM"
Tom Rini [Thu, 24 Apr 2025 16:45:41 +0000 (10:45 -0600)]
Merge patch series "arm: mach-k3: remove some firewalls left over by ROM"

Bryan Brattlof <bb@ti.com> says:

This small series is here to remove some firewalls setup by ROM during
their boot and clean things up for Linux later on. Ideally this would be
a simple call to remove_fwl_configs() however the location of the
firewall is problematic (could potentially crash the core) when we're
currently executing from the memory region protected by the firewall.

So we need to introduce a function which allows us to disable specific
firewall regions and skip others to ensure boot stability.

Link: https://lore.kernel.org/r/20250414-firewalls-v1-0-89090085c08b@ti.com
7 weeks agoarm: mach-k3: am625: remove any firewalls ROM has configured for HSRAM
Bryan Brattlof [Mon, 14 Apr 2025 20:20:03 +0000 (15:20 -0500)]
arm: mach-k3: am625: remove any firewalls ROM has configured for HSRAM

ROM will configure a firewall to only allow HSRAM to be touched by the
R5 core. Any outside entity like DMA or the A53s will not have access to
this region. This can be problematic when U-Boot, running on the A53,
loads firmware that runs out of this region.

To simplify things remove the firewall here and let the remote core
firmware place a new firewall themselves if they wish for the memory
region.

Signed-off-by: Bryan Brattlof <bb@ti.com>
7 weeks agoarm: mach-k3: support disabling a single firewall region
Bryan Brattlof [Mon, 14 Apr 2025 20:20:02 +0000 (15:20 -0500)]
arm: mach-k3: support disabling a single firewall region

During boot some firewall regions could contain the R5's code which if
we change the firewalls settings will crash the core. To get around this
issue, define a new function which allows us to specify specific regions
we want unlocked.

Signed-off-by: Bryan Brattlof <bb@ti.com>
7 weeks agoMerge patch series "More MMC fixes"
Tom Rini [Thu, 24 Apr 2025 16:44:59 +0000 (10:44 -0600)]
Merge patch series "More MMC fixes"

Judith Mendez <jm@ti.com> says:

This patch series fixes MMC_HS_52 mode in am654_sdhci driver,
as well as HIGH_SPEED_ENA and UHS_MODE_SELECT for HS modes.

Also add TI_COMMON_CMD_OPTIONS to K3 Sitara board a53 defconfigs.

Link: https://www.ti.com/lit/er/sprz574a/sprz574a.pdf
Link: https://lore.kernel.org/r/20250417234334.3661321-1-jm@ti.com
7 weeks agoconfigs: am62*_evm_a53_defconfig: Add TI_COMMON_CMD_OPTIONS
Judith Mendez [Thu, 17 Apr 2025 23:43:34 +0000 (18:43 -0500)]
configs: am62*_evm_a53_defconfig: Add TI_COMMON_CMD_OPTIONS

Add TI_COMMON_CMD_OPTIONS config options to Sitara K3 boards at
a53 stage since we rely on most of the commands implied for testing
and debugging purposes. Since all commands are now enabled by
default, remove the redundant CMD_* options in the a53 defconfigs.

Also add MMC_REG & MMC_SPEED_MODE_SET useful commands to
TI_COMMON_CMD_OPTIONS.

Signed-off-by: Judith Mendez <jm@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
7 weeks agommc: am654_sdhci: Add am654_sdhci_set_control_reg
Judith Mendez [Thu, 17 Apr 2025 23:43:33 +0000 (18:43 -0500)]
mmc: am654_sdhci: Add am654_sdhci_set_control_reg

This patch adds am654_sdhci_set_control_reg to am654_sdhci.

This is required to fix UHS_MODE_SELECT for TI K3 boards.

If any of HIGH_SPEED_ENA, V1P8_SIGNAL_ENA, UHS_MODE_SELECT
are set, then data will be launched on the pos-edge of the
clock.

Since K3 SoCs did not meet timing requirements for High Speed
SDR mode at rising clock edge, none of these three should be
set, therefore limit UHS_MODE_SELECT to only be set for modes
above MMC_HS_52.

This fixes MMC write issue on am64x evm at mode High Speed
SDR.

Signed-off-by: Judith Mendez <jm@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
7 weeks agommc: am654_sdhci: Fix HIGH_SPEED_ENA
Judith Mendez [Thu, 17 Apr 2025 23:43:32 +0000 (18:43 -0500)]
mmc: am654_sdhci: Fix HIGH_SPEED_ENA

High Speed enable bit switches data launch from the falling
clock edge (half cycle timing) to the rising clock edge (full
cycle timing). For all SD UHS modes, data launch must happen
at the rising clock edge, so set HIGH_SPEED_ENA for SDR12 and
SDR25 modes. For all HS modes, data launch must happen at the
falling clock edge, so do not set HIGH_SPEED_ENA for MMC_HS_52.

Signed-off-by: Judith Mendez <jm@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
7 weeks agommc: am654_sdhci: Add MMC_HS_52 to timing data
Judith Mendez [Thu, 17 Apr 2025 23:43:31 +0000 (18:43 -0500)]
mmc: am654_sdhci: Add MMC_HS_52 to timing data

This patch adds MMC_HS_52 to the timing data structure.

Previously, this bus mode tap settings were not populated and
were instead populated for MMC_HS which is a different bus mode
up to 26MHz. Since we intended these settings according to the
device data sheet[0] for MMC_HS_52 up to 52MHz, populate MMC_HS
tap settings for MMC_HS_52.

While we are here, fix typo in ti,itap-del-sel-mms-hs.

[0] https://www.ti.com/lit/ds/symlink/am625.pdf Table 7-79

Signed-off-by: Judith Mendez <jm@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
7 weeks agoMerge tag 'u-boot-dfu-20250424' of https://source.denx.de/u-boot/custodians/u-boot-dfu
Tom Rini [Thu, 24 Apr 2025 16:44:17 +0000 (10:44 -0600)]
Merge tag 'u-boot-dfu-20250424' of https://source.denx.de/u-boot/custodians/u-boot-dfu

u-boot-dfu-20250425

Usb gadget:
- Fix ACM gadget release
- Allow ACM gadget restart after releasing it
- Add 'enabled' flag to usb_ep structure

DFU:
- Fix alt buffer clearing for DeveloperBox board

7 weeks agocmd: cls: do not repeat clearing of console
Sughosh Ganu [Wed, 19 Mar 2025 11:20:03 +0000 (16:50 +0530)]
cmd: cls: do not repeat clearing of console

There is no need to repeat the command to clear the console. Remove
it's repeat attribute.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
7 weeks agospi: cadence-qspi: Add disable STIG mode quikrs.
Boon Khai Ng [Wed, 16 Apr 2025 03:17:51 +0000 (11:17 +0800)]
spi: cadence-qspi: Add disable STIG mode quikrs.

Adding quirk to disable STIG mode since cadence controller has
issue for read/write using the STIG mode. STIG mode is enabled
by default since 2023.04 for small read/write(<8bytes).

Updated STIG mode reading from dev_get_driver_data by assigning
to platdata struct before read quirks variable.

The STIG mode is disabled for normal read case and enabled
for QSPI Jedec ID read/write since it requires STIG read/write.

Porting from linux implementation
https://lore.kernel.org/all/20241204063338.296959-1-niravkumar
.l.rabara@intel.com/T/

Signed-off-by: Boon Khai Ng <boon.khai.ng@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
7 weeks agoarm: mach-k3: r5: j7200: Add clk dev data for WKUP UART
Bhavya Kapoor [Tue, 15 Apr 2025 17:36:51 +0000 (23:06 +0530)]
arm: mach-k3: r5: j7200: Add clk dev data for WKUP UART

Add clk and dev data for wakeup uart to enable wakeup
UART as console.

Reported-by: KEERTHY <j-keerthy@ti.com>
Signed-off-by: Bhavya Kapoor <b-kapoor@ti.com>
7 weeks agomach-k3: common_fdt: Move carveout struct
Daniel Schultz [Tue, 15 Apr 2025 15:12:41 +0000 (08:12 -0700)]
mach-k3: common_fdt: Move carveout struct

Labels are not allowed before declarations. Move the carveout struct
at the beginning and only update 'end' at this point.

This will fix following error:

arch/arm/mach-k3/common_fdt.c: In function 'fdt_fixup_reserved':
arch/arm/mach-k3/common_fdt.c:156:2: error: a label can only be part of a statement and a declaration is not a statement
  156 |  struct fdt_memory carveout = {
      |  ^~~~~~
make[1]: *** [scripts/Makefile.build:256: arch/arm/mach-k3/common_fdt.o] Error 1
make: *** [Makefile:1919: arch/arm/mach-k3] Error 2

Fixes: 096aa229a9e ("mach-k3: common_fdt: create a reserved memory node")

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
7 weeks agomach-k3: add eMMC FS boot support for am62[ap]
Anshul Dalal [Tue, 15 Apr 2025 09:52:24 +0000 (15:22 +0530)]
mach-k3: add eMMC FS boot support for am62[ap]

This makes spl_mmc_boot_mode consistent across am62x, 62a and 62p.

If MMCSD_MODE_EMMCBOOT is returned, FS boot fails since it checks for FS
on the hardware partitions, not the UDA. So to allow FS boot from EMMC,
the function should return MMCSD_MODE_FS instead which allows us to read
from FS on the UDA.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
7 weeks agoarm: dts: am62a: allow booting from eMMC
Anshul Dalal [Tue, 15 Apr 2025 09:51:36 +0000 (15:21 +0530)]
arm: dts: am62a: allow booting from eMMC

The bootph-all property in u-boot enables driver initialization prior to
relocation, this is necessary to use the device as boot media.

sdhci0 is the phandle for eMMC on am62a, so this change allows us to use
eMMC as a boot media.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
7 weeks agoconfigs: set SPL_TEXT_BASE by default for k3 platforms
Anshul Dalal [Tue, 15 Apr 2025 09:50:27 +0000 (15:20 +0530)]
configs: set SPL_TEXT_BASE by default for k3 platforms

SPL_TEXT_BASE is used as the load address for the main domain SPL on k3
platforms.

Since the config value is the same for every board, this patch sets the
value 0x80080000 as default for all 64-bit ARCH_K3, 0x43c00000 as
default for the R5 cores and deletes the instances of SPL_TEXT_BASE in
individual defconfigs.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 weeks agotest/py: spi: Prevent to overwrite the reserved memory
Love Kumar [Tue, 15 Apr 2025 09:41:09 +0000 (15:11 +0530)]
test/py: spi: Prevent to overwrite the reserved memory

Update SPI negative tests to prevent SF command from overwriting the
reserved memory area.

Signed-off-by: Love Kumar <love.kumar@amd.com>