pandora-u-boot.git
5 weeks agopower: regulator: max9807: add regulator support
Svyatoslav Ryhel [Sun, 6 Oct 2024 11:59:54 +0000 (14:59 +0300)]
power: regulator: max9807: add regulator support

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

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

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

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

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

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agoMerge patch series "include: env: phytec: k3_net: Remove net_apply_extensions"
Tom Rini [Wed, 7 May 2025 13:59:09 +0000 (07:59 -0600)]
Merge patch series "include: env: phytec: k3_net: Remove net_apply_extensions"

This series from Daniel Schultz <d.schultz@phytec.de> cleans up the
environment further on the phytec am62ax platforms.

Link: https://lore.kernel.org/r/20250428144904.1058574-1-d.schultz@phytec.de
5 weeks agoboard: phytec: phycore_am62ax: Update Environment
Daniel Schultz [Mon, 28 Apr 2025 14:49:04 +0000 (07:49 -0700)]
board: phytec: phycore_am62ax: Update Environment

Add fit_addr_r to the environment to allow us to boot from a FIT image.

Increase the maximum Image size from 23 MB to 26 MB by moving the
initramfs start address up. This gives us a bigger ranger to
provide kernel images which are not stripped down too much.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 weeks agoinclude: env: phytec: k3_net: Use get_cmd
Daniel Schultz [Mon, 28 Apr 2025 14:49:03 +0000 (07:49 -0700)]
include: env: phytec: k3_net: Use get_cmd

'net_fetch_cmd' is not defined by the K3 board files. They
use the more common 'get_cmd' from NXP products.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
5 weeks agoinclude: env: phytec: k3_net: Remove net_apply_extensions
Daniel Schultz [Mon, 28 Apr 2025 14:49:02 +0000 (07:49 -0700)]
include: env: phytec: k3_net: Remove net_apply_extensions

Extensions are now handled by the board-code. Remove this non-existing
function to proper boot from network.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
5 weeks agobootstd: Rework BLK dependency
Tom Rini [Wed, 23 Apr 2025 14:49:13 +0000 (08:49 -0600)]
bootstd: Rework BLK dependency

The bootstd code itself does not have any dependency on BLK in order to
build. However, in order to minimize size growth of non-migrated
platforms, change this from being "default y" to "default y if BLK".
This will make it easier to begin migration of platforms which do not
have any BLK-class device but do want to use bootstd.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agomips: octeon: remove unused middle expression
Bryan Brattlof [Wed, 9 Apr 2025 17:26:20 +0000 (12:26 -0500)]
mips: octeon: remove unused middle expression

!A || (A && B) is equivalent to !A || B

Drop the unused middle expression to simplify the statement.

Signed-off-by: Bryan Brattlof <bb@ti.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 weeks agomtd: spi-nor: Send write disable cmd after every write enable
Venkatesh Yadav Abbarapu [Tue, 19 Nov 2024 06:39:18 +0000 (12:09 +0530)]
mtd: spi-nor: Send write disable cmd after every write enable

Write enable(06h) command will be sent to a flash device to
set the write enable latch bit before every program, erase,
write command. After that write disable command (04h) needs
to be sent to clear the write enable latch.

This write_disable() is missing at the majority of the places
in the driver, add it to clear write enable latch.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://gist.github.com/PrasanthBabuMantena/c12f39744de188a9d08cd5ca51dc2a7b
Tested-by: Prasanth Babu Mantena <p-mantena@ti.com>
5 weeks agomtd: spi-nor-core: Fixup SNOR_F_IO_MODE_EN_VOLATILE for MT35X
Vaishnav Achath [Mon, 25 Nov 2024 10:49:47 +0000 (16:19 +0530)]
mtd: spi-nor-core: Fixup SNOR_F_IO_MODE_EN_VOLATILE for MT35X

MT35XU512ABA has only BFPT and 4-Byte Address Instruction Table
in  SFDP. commit bebdc237507c ("mtd: spi-nor: Parse SFDP SCCR Map")
added checks in spi_nor_octal_dtr_enable() to bail out if the 22nd DWORD
in SCCR does not indicate DTR Octal Mode Enable, since MT35XU512ABA device
supports octal DTR mode, add this property in SFDP fixup.

Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Prasanth Babu Mantena <p-mantena@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
5 weeks agofs: exfat: Inhibit unused exfat_humanize_bytes() and exfat_print_info()
Marek Vasut [Wed, 30 Apr 2025 16:45:52 +0000 (18:45 +0200)]
fs: exfat: Inhibit unused exfat_humanize_bytes() and exfat_print_info()

Make sure unused exfat_humanize_bytes() and exfat_print_info()
functions are not compiled into U-Boot code base. This also removes
CID 550300:  Integer handling issues  (INTEGER_OVERFLOW)
in exfat_humanize_bytes() , which is now surely unreachable.

Signed-off-by: Marek Vasut <marex@denx.de>
5 weeks agofs: exfat: Use strncpy() and bail on too long filenames
Marek Vasut [Wed, 30 Apr 2025 16:45:51 +0000 (18:45 +0200)]
fs: exfat: Use strncpy() and bail on too long filenames

In case the filename is too long, longer than PATH_MAX - 1, it
would overflow dirs->dirname array. Add missing check and also
use strncpy() to prevent the overflow in any case.

Fixes CID 550305:  Security best practices violations  (STRING_OVERFLOW)

Signed-off-by: Marek Vasut <marex@denx.de>
5 weeks agofirmware: ti_sci: Add Initialization of dev_info head node
Udit Kumar [Tue, 29 Apr 2025 17:14:40 +0000 (22:44 +0530)]
firmware: ti_sci: Add Initialization of dev_info head node

On K3 devices two drivers ti_sci and ti_sci_dm are supporting firmware
functions. At run time one of driver is used.

Driver ti_sci already initializing head for dev_list in its probe
function, but it was missed in ti_sci_dm driver.

So add head list init support for ti_sci_dm driver.
While at this, move init of list before usages in both functions.

Fixes: 5d5a699855a7("firmware: ti_sci: Add support for Resoure Management at R5 SPL stage")
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
Signed-off-by: Udit Kumar <u-kumar1@ti.com>
Reviewed-by: Nishanth Menon <nm@ti.com>
5 weeks agoconfigs: phycore_am62x_a53_defconfig: Remove CONFIG_SYS_BOOTM_LEN
Daniel Schultz [Tue, 29 Apr 2025 12:08:18 +0000 (05:08 -0700)]
configs: phycore_am62x_a53_defconfig: Remove CONFIG_SYS_BOOTM_LEN

This config was defined with the default value of 8 MiB. However,
the default value is different when CONFIG_ARM64 is enabled and
should be 64 MiB.

Remove this config from the A53 defconfig and use the correct
default config.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
5 weeks agocmd: spawn: reject 0 as an invalid job ID
Jerome Forissier [Tue, 29 Apr 2025 12:02:18 +0000 (14:02 +0200)]
cmd: spawn: reject 0 as an invalid job ID

Job IDs are positive integers greater than 1. 0 is not a valid job ID,
therefore fix the comparison in do_wait().

Fixes Coverity defects:

*** CID 550296:  Control flow issues  (NO_EFFECT)
/cmd/spawn.c: 172 in do_wait()
166                     for (i = 0; i < CONFIG_CMD_SPAWN_NUM_JOBS; i++)
167                             if (job[i])
168                                     ret = wait_job(i);
169             } else {
170                     for (i = 1; i < argc; i++) {
171                             id = dectoul(argv[i], NULL);
>>>     CID 550296:  Control flow issues  (NO_EFFECT)
>>>     This less-than-zero comparison of an unsigned value is never true.
"id < 0UL".
172                             if (id < 0 || id >
CONFIG_CMD_SPAWN_NUM_JOBS)
173                                     return CMD_RET_USAGE;
174                             idx = (int)id - 1;
175                             ret = wait_job(idx);
176                     }
177             }

*** CID 550297:  Integer handling issues  (INTEGER_OVERFLOW)
/cmd/spawn.c: 174 in do_wait()
168                                     ret = wait_job(i);
169             } else {
170                     for (i = 1; i < argc; i++) {
171                             id = dectoul(argv[i], NULL);
172                             if (id < 0 || id >
CONFIG_CMD_SPAWN_NUM_JOBS)
173                                     return CMD_RET_USAGE;
>>>     CID 550297:  Integer handling issues  (INTEGER_OVERFLOW)
>>>     Expression "idx", where "(int)id - 1" is known to be equal to -1,
overflows the type of "idx", which is type "unsigned int".
174                             idx = (int)id - 1;
175                             ret = wait_job(idx);
176                     }
177             }

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
CC: Tom Rini <trini@konsulko.com>
5 weeks agoMakefile: Strip leading spaces when preprocessing generated_defconfig
Yao Zi [Sun, 27 Apr 2025 14:50:10 +0000 (14:50 +0000)]
Makefile: Strip leading spaces when preprocessing generated_defconfig

Clang's preprocessor may emit extra spaces for lines starting with '#'.
Lines with these extra characters cannot be handled by Kconfig and will
be ignored with warnings like,

        unexpected data:  # CONFIG_OF_BOARD_FIXUP is not set

Those options that is expected to be assigned explicitly with N will be
set to the default value, messing up board configurations.

Let's sed these spaces away to ensure board configurations could be
correctly generated with Clang.

Link: https://github.com/llvm/llvm-project/issues/78778
Fixes: 2027e99e61a ("Makefile: Run defconfig files through the C preprocessor")
Reported-by: Nathaniel Hourt <I@nathaniel.land>
Signed-off-by: Yao Zi <ziyao@disroot.org>
5 weeks agoenv: Introduce support for MTD
Christian Marangi [Mon, 7 Apr 2025 18:59:51 +0000 (20:59 +0200)]
env: Introduce support for MTD

Introduce support for env in generic MTD. Currently we only support SPI
flash based on the lagacy sf cmd that assume SPI flash are always NOR.
This is not the case as to SPI controller also NAND can be attached.

To support also these flash scenario, add support for storing and
reading ENV from generic MTD device by adding an env driver that
base entirely on the MTD api.

Introduce a new kconfig CONFIG_ENV_IS_IN_MTD and
CONFIG_ENV_MTD_DEV to define the name of the MTD device as exposed
by mtd list.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agobootm: improve error message when gzip decompression buffer is too small
Aristo Chen [Wed, 30 Apr 2025 02:23:25 +0000 (10:23 +0800)]
bootm: improve error message when gzip decompression buffer is too small

Currently, when decompressing a gzip-compressed image during bootm, a
generic error such as "inflate() returned -5" is shown when the buffer is
too small. However, it is not immediately clear that this is caused by
CONFIG_SYS_BOOTM_LEN being too small.

This patch improves error handling by:
- Detecting Z_BUF_ERROR (-5) returned from the inflate() call
- Suggesting the user to increase CONFIG_SYS_BOOTM_LEN when applicable
- Preserving the original return code from zunzip() instead of overwriting
  it with -1

By providing clearer hints when decompression fails due to insufficient
buffer size, this change helps users diagnose and fix boot failures more
easily.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
5 weeks agoAdd HOST_ARCH detection for armv5tel and armv6l
Ben Wolsieffer [Sun, 27 Apr 2025 23:07:25 +0000 (19:07 -0400)]
Add HOST_ARCH detection for armv5tel and armv6l

Since 7506c15, HOST_ARCH is now used by the EFI loader even when
CONFIG_SANDBOX is disabled. When cross-compiling, the Makefile defines
HOST_ARCH based on the cross-compiler prefix, but this definition fails
to cover some common compiler prefixes. When cross-compiling U-Boot in
nixpkgs, we use CROSS_COMPILE=armv6l-unknown-linux-gnueabihf-, which
results in HOST_ARCH being undefined and causes a build failure.

Fix this by adding armv6l to the match for ARM. Also add armv5tel,
as this is another possible ARM compiler prefix.

Signed-off-by: ZHANG Yuntian <yt@radxa.com>
Signed-off-by: Ben Wolsieffer <benwolsieffer@gmail.com>
5 weeks agoeth: Support E1000E I225-V
ZhiJie.zhang [Mon, 21 Apr 2025 09:08:26 +0000 (17:08 +0800)]
eth: Support E1000E I225-V

1. Add pcie device id 0x15f3
2. Add IIC phy id 0x67C9DC00

Signed-off-by: ZhiJie.Zhang <zhangzhijie@bosc.ac.cn>
5 weeks agoMerge tag 'u-boot-stm32-20250505' of https://source.denx.de/u-boot/custodians/u-boot-stm
Tom Rini [Mon, 5 May 2025 16:14:37 +0000 (10:14 -0600)]
Merge tag 'u-boot-stm32-20250505' of https://source.denx.de/u-boot/custodians/u-boot-stm

- CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/26081
- STM32 MCUs:
   - Fix console cmdline
   - Add support NT35510 panel controller on stm32f769i-disco board
- Fix dfu alt buffer clearing
- Enable scan and start for AB schema on STM32MP15 DHSOM
- Add stm32mp2 support for dwc_eth_qos

6 weeks agoMerge tag 'ubifixes-for-2025.07-rc2' of https://source.denx.de/u-boot/custodians...
Tom Rini [Mon, 5 May 2025 13:54:30 +0000 (07:54 -0600)]
Merge tag 'ubifixes-for-2025.07-rc2' of https://source.denx.de/u-boot/custodians/u-boot-ubi

ubi fixes for v2025.07-rc2

- fix bug: Put MTD device after it is not used
  drop MTD device reference after it is not longer used!
  port from upstream Linux commit: b95f83ab762dd6211351b9140f99f43644076ca8
  from Alexander Vickberg

6 weeks agoconfigs: stm32746-eval: Fix console cmdline
Patrice Chotard [Tue, 1 Apr 2025 13:51:32 +0000 (15:51 +0200)]
configs: stm32746-eval: Fix console cmdline

The Linux cmdline encoded in the defconfig is wrong, the
STM32 USART driver registers as ttySTM0 not ttyS0.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
6 weeks agoconfigs: stm32746-eval_spl: Fix console cmdline
Patrice Chotard [Tue, 1 Apr 2025 13:51:31 +0000 (15:51 +0200)]
configs: stm32746-eval_spl: Fix console cmdline

The Linux cmdline encoded in the defconfig is wrong, the
STM32 USART driver registers as ttySTM0 not ttyS0.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
6 weeks agoconfigs: stm32f729-discovery: Fix console cmdline
Patrice Chotard [Tue, 1 Apr 2025 13:51:30 +0000 (15:51 +0200)]
configs: stm32f729-discovery: Fix console cmdline

The Linux cmdline encoded in the defconfig is wrong, the
STM32 USART driver registers as ttySTM0 not ttyS0.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
6 weeks agoconfigs: stm32f769-disco: Fix console cmdline
Patrice Chotard [Tue, 1 Apr 2025 13:51:29 +0000 (15:51 +0200)]
configs: stm32f769-disco: Fix console cmdline

The Linux cmdline encoded in the defconfig is wrong, the
STM32 USART driver registers as ttySTM0 not ttyS0.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
6 weeks agoconfigs: stm32f746-disco_spl: Fix console cmdline
Patrice Chotard [Tue, 1 Apr 2025 13:51:28 +0000 (15:51 +0200)]
configs: stm32f746-disco_spl: Fix console cmdline

The Linux cmdline encoded in the defconfig is wrong, the
STM32 USART driver registers as ttySTM0 not ttyS0.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
6 weeks agoconfigs: stm32f769-disco_spl: Fix console cmdline
Patrice Chotard [Tue, 1 Apr 2025 13:51:27 +0000 (15:51 +0200)]
configs: stm32f769-disco_spl: Fix console cmdline

The Linux cmdline encoded in the defconfig is wrong, the
STM32 USART driver registers as ttySTM0 not ttyS0.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
6 weeks agonet: dwc_eth_qos: add support of stm32mp2 platform
Christophe Roullier [Fri, 11 Apr 2025 09:27:20 +0000 (11:27 +0200)]
net: dwc_eth_qos: add support of stm32mp2 platform

Add compatible "st,stm32mp25-dwmac" to manage STM32MP2 boards

Signed-off-by: Christophe Roullier <christophe.roullier@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
6 weeks agoboard: st: common: fix dfu alt buffer clearing
Vincent Stehlé [Mon, 7 Apr 2025 17:05:26 +0000 (19:05 +0200)]
board: st: common: fix dfu alt buffer clearing

The set_dfu_alt_info() function calls the ALLOC_CACHE_ALIGN_BUFFER()
macro to declare a `buf' variable pointer into an array allocated on the
stack. It then calls the memset() function to clear the useable portion
of the array using the idiomatic expression `sizeof(buf)'.

While this would indeed work fine for an array, in the present case we
end up clearing only the size of a pointer.
Fix this by specifying the explicit size `DFU_ALT_BUF_LEN' instead.

Fixes: ec2933e543df ("board: stm32mp1: move set_dfu_alt_info in st common directory")
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Patrick Delaunay <patrick.delaunay@foss.st.com>
Cc: Patrice Chotard <patrice.chotard@foss.st.com>
Cc: Tom Rini <trini@konsulko.com>
Cc: Marek Vasut <marex@denx.de>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
6 weeks agoconfigs: stm32f769-disco: support FRD400B25025-A-CTK display
Dario Binacchi [Tue, 1 Apr 2025 07:00:57 +0000 (09:00 +0200)]
configs: stm32f769-disco: support FRD400B25025-A-CTK display

Support FRIDA FRD400B25025-A-CTK display on stm32f769-disco board.

As reported in the section 8.3 (i. e. Board revision history) of document
UM2033 (i. e. Discovery kit with STM32F769NI MCU) these are the changes
related to the board revision addressed by the patch:
- Board MB1166 revision A-09:
- LCD FRIDA FRD397B25009-D-CTK replaced by FRIDA FRD400B25025-A-CTK

This means that the MB1166-A09 is using an NT35510 panel controller,
unlike the previous versions which use an OTM8009A controller.
Therefore, let's add support for NT35510 panel handling to the
stm32f769-disco board configurations.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
6 weeks agovideo: support FRIDA FRD400B25025-A-CTK
Dario Binacchi [Tue, 1 Apr 2025 07:00:56 +0000 (09:00 +0200)]
video: support FRIDA FRD400B25025-A-CTK

[backport from Linux commits 9b26d5c044d6a29ebfb1845408e0f2a7c5f89818
 and 219a1f49094f50bf9c382830d06149e677f76bed]

The patch adds the FRIDA FRD400B25025-A-CTK panel, which belongs to the
Novatek NT35510-based panel family.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
6 weeks agoARM: dts: add stm32f769-disco-mb1166-reva09
Dario Binacchi [Tue, 1 Apr 2025 07:00:55 +0000 (09:00 +0200)]
ARM: dts: add stm32f769-disco-mb1166-reva09

[backport from Linux commit db4fc2c79c533986795a7750e9a12caf9d620b48]

As reported in the section 8.3 (i. e. Board revision history) of document
UM2033 (i. e. Discovery kit with STM32F769NI MCU) these are the changes
related to the board revision addressed by the patch:
- Board MB1166 revision A-09:
  - LCD FRIDA FRD397B25009-D-CTK replaced by FRIDA FRD400B25025-A-CTK

The patch adds the DTS support for the new display which belongs to the
the Novatek NT35510-based panel family.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
6 weeks agoARM: dts: stm32: add bootph-all for dsi node in stm32f769-disco-u-boot
Dario Binacchi [Tue, 1 Apr 2025 07:00:52 +0000 (09:00 +0200)]
ARM: dts: stm32: add bootph-all for dsi node in stm32f769-disco-u-boot

Add bootph-all for dsi node in stm32f769-disco-u-boot.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
6 weeks agoARM: stm32: env: Enable scan and start for AB schema on STM32MP15 DHSOM
Pascal Zimmermann [Thu, 27 Mar 2025 14:38:43 +0000 (15:38 +0100)]
ARM: stm32: env: Enable scan and start for AB schema on STM32MP15 DHSOM

For the STM32MP15 DHSOM, change the default environment so an AB schema
on a device can be detected.

For this the define "SCAN_DEV_FOR_BOOT_PARTS" is overwritten and
appended.

The detection works by looking for the partitions with specific lables.
The name of those partitions are in the variables and its defaults:
* dh_ab_partname_primary=rootfs-a
* dh_ab_partname_secondary=rootfs-b

To prevent being hanging at bootcmd, enable "CONFIG_BOOT_RETRY" and
"CONFIG_RESET_TO_RETRY", but the timer will only be activated, if the AB
partitions are detected.

Signed-off-by: Pascal Zimmermann <pzimmermann@dh-electronics.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
6 weeks agoconfig_distro_bootcmd: make possible to substitute 'part list' in distro_bootcmd
Pascal Zimmermann [Thu, 27 Mar 2025 14:38:42 +0000 (15:38 +0100)]
config_distro_bootcmd: make possible to substitute 'part list' in distro_bootcmd

Make it possible to substitute the 'part list' command inside
'scan_dev_for_boot_part' with a custom board specific implementation.

For this the new define 'SCAN_DEV_FOR_BOOT_PARTS' is introduced.

Signed-off-by: Pascal Zimmermann <pzimmermann@dh-electronics.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
6 weeks agomtd: ubi: Put MTD device after it is not used
Alexander Vickberg [Thu, 10 Apr 2025 11:37:40 +0000 (13:37 +0200)]
mtd: ubi: Put MTD device after it is not used

The MTD device reference is dropped via put_mtd_device, however its
field ->index is read and passed to ubi_msg. To fix this, the patch
moves the reference dropping after calling ubi_msg.

Signed-off-by: Pan Bian <bianpan2016@163.com>
Reviewed-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Upstream Linux commit: b95f83ab762dd6211351b9140f99f43644076ca8

Signed-off-by: Alexander Vickberg <wickbergster@gmail.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
6 weeks agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Sun, 4 May 2025 19:44:01 +0000 (13:44 -0600)]
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh

- Improvements to the Renesas Ethernet AVB MAC driver

6 weeks agorenesas_rzg2l_smarc_defconfig: Enable networking support
Paul Barker [Wed, 19 Mar 2025 12:04:00 +0000 (12:04 +0000)]
renesas_rzg2l_smarc_defconfig: Enable networking support

For Ethernet to work on the RZ/G2L board, we need to enable support for
the ksz9131 PHY and enable random MAC address generation (as no MAC
address is programmed into the board).

We also enable the `dhcp`, `mii` and `ping` commands so that Ethernet
functionality can be tested and used to boot Linux.

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
6 weeks agonet: ravb: Add RZ/G2L Support
Paul Barker [Wed, 19 Mar 2025 12:03:59 +0000 (12:03 +0000)]
net: ravb: Add RZ/G2L Support

The Renesas R9A07G044L (RZ/G2L) SoC includes two Gigabit Ethernet
interfaces which can be supported using the ravb driver. Some RZ/G2L
specific steps need to be taken during initialization due to differences
between this SoC and previously supported SoCs. We also need to ensure
that the module reset is de-asserted after the module clock is enabled
but before any Ethernet register reads/writes take place.

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
6 weeks agonet: ravb: Add optional reset deassertion
Paul Barker [Wed, 19 Mar 2025 12:03:58 +0000 (12:03 +0000)]
net: ravb: Add optional reset deassertion

In order to add support for the Renesas RZ/G2L Ethernet IP in a
subsequent patch, we introduce optional de-assertion and re-assertion of
a reset signal in ravb_probe() and ravb_remove().

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
6 weeks agonet: ravb: Refactor out R-Car specific code
Paul Barker [Wed, 19 Mar 2025 12:03:57 +0000 (12:03 +0000)]
net: ravb: Refactor out R-Car specific code

In order to add support for the Renesas RZ/G2L Ethernet IP in a
subsequent patch, we move all R-Car specific code into new functions and
introduce a device_ops function pointer table.

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
6 weeks agonet: ravb: Fix RX error handling
Marek Vasut [Sun, 20 Apr 2025 16:35:33 +0000 (18:35 +0200)]
net: ravb: Fix RX error handling

Correctly handle RX errors in ravb_recv() by returning 0 instead
of -EAGAIN on RX error.

In case the RAVB driver detects an RX error in ravb_recv(), it must
not return the -EAGAIN, but instead must return 0. Both error codes
are handled in eth-uclass.c eth_rx() and -EAGAIN is rewritten to 0
at the end of eth_rx(), but negative return code from the .recv()
callback does not trigger .free_pkt() callback, which would clean
up and re-enqueue the descriptor which holds the currently received
corrupted packet. The .free_pkt() must be called for this descriptor,
otherwise the follow up received data become corrupted too, even if
those packets are correctly received. Returning 0 from the .recv()
callback assures the corrupted packet is not processed by the network
stack, but is skipped instead.

For TFTP loading, an RX error produces the timeout "T" output and
resumes the TFTP loading operation shortly afterward, without any
data corruption.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
6 weeks agoMerge tag 'u-boot-imx-master-20250503' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Sun, 4 May 2025 14:51:43 +0000 (08:51 -0600)]
Merge tag 'u-boot-imx-master-20250503' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

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

- Add i.MX95 support.
- Enable BOOTAUX on the i.MX8M Beacon boards.

6 weeks agoarm64: imx: imx8mp-beacon: Enable BOOTAUX
Adam Ford [Fri, 2 May 2025 10:58:48 +0000 (05:58 -0500)]
arm64: imx: imx8mp-beacon: Enable BOOTAUX

In order to run binaries targeting the Cortex-M7, BOOTAUX is
required.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 weeks agoarm64: imx: imx8mn-beacon: Enable BOOTAUX
Adam Ford [Fri, 2 May 2025 10:58:47 +0000 (05:58 -0500)]
arm64: imx: imx8mn-beacon: Enable BOOTAUX

In order to run binaries targeting the Cortex-M7,
BOOTAUX is required.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 weeks agoarm64: imx: imx8mm-beacon: Enable BOOTAUX
Adam Ford [Fri, 2 May 2025 10:58:46 +0000 (05:58 -0500)]
arm64: imx: imx8mm-beacon: Enable BOOTAUX

In order to run binaries targeting the Cortex-M4,
BOOTAUX is required.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 weeks agoMakefile: add some files to CLEAN_FILES
Alice Guo [Mon, 28 Apr 2025 10:37:44 +0000 (18:37 +0800)]
Makefile: add some files to CLEAN_FILES

When building the flash.bin of i.MX95 with binman,
mkimage.imx-boot.spl, mkimage.imx-boot.u-boot,
mkimage-out.imx-boot.spl and mkimage-out.imx-boot.u-boot are created.
Add these files to CLEAN_FILES so that they can be removed when running
"make clean".

Signed-off-by: Alice Guo <alice.guo@nxp.com>
6 weeks agoimx95_evk: add i.MX95 19x19 EVK board basic support
Ye Li [Mon, 28 Apr 2025 10:37:43 +0000 (18:37 +0800)]
imx95_evk: add i.MX95 19x19 EVK board basic support

This patch adds i.MX95 19x19 EVK board basic support.

Messaging unit for EdgeLock Secure Enclave, messaging unit for System
Manager, uSDHC for SD Card, gpio, lpuart are supported now.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
6 weeks agodoc: imx: add document for i.MX95 Image Container Format
Alice Guo [Mon, 28 Apr 2025 10:37:42 +0000 (18:37 +0800)]
doc: imx: add document for i.MX95 Image Container Format

This patch add a document for i.MX95 Image Container Format.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
6 weeks agoimx: container: add V2X container support for i.MX95
Ye Li [Mon, 28 Apr 2025 10:37:41 +0000 (18:37 +0800)]
imx: container: add V2X container support for i.MX95

This patch adds V2X container support for i.MX95. Since V2X container
may not be included in ahab-container.img of i.MX95, check if V2X
container exists in order to get the correct image end.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
6 weeks agotools: imx8image: add i.MX95 support
Alice Guo [Mon, 28 Apr 2025 10:37:40 +0000 (18:37 +0800)]
tools: imx8image: add i.MX95 support

i.MX95 uses binman to invoke mkimage to create image container. 2 image
containers are needed currently. The first one is composed of
ahab-container.img, LPDDR firmware images, OEI images, System Manager
image and u-boot-spl.bin. The second one is consisted of ARM Trusted
firmware and u-boot.bin.

Because DDR OEI image and LPDDR firmware images have to be packaged
together and named as m33-oei-ddrfw.bin by binman, so imx9_image.sh does
not check if m33-oei-ddrfw.bin exists.

When using "make imx95_19x19_evk_defconfig; make", imx9_image.sh will
delete the line for u-boot.bin in container.cfg. In fact, binman is
always called after the u-boot.bin is built, so imx9_image.sh does not
check if u-boot.bin exists.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
6 weeks agobinman: add a new entry type for packing DDR PHY firmware images
Alice Guo [Mon, 28 Apr 2025 10:37:39 +0000 (18:37 +0800)]
binman: add a new entry type for packing DDR PHY firmware images

i.MX95 needs to combine DDR PHY firmware images and their byte counts
together, so add a new entry type nxp-header-ddrfw for this requirement.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
6 weeks agoimx: Kconfig: IMX8_ROMAPI is not configured for i.MX95
Alice Guo [Mon, 28 Apr 2025 10:37:38 +0000 (18:37 +0800)]
imx: Kconfig: IMX8_ROMAPI is not configured for i.MX95

i.MX95 only supports low power boot, which means A55 is kicked by M33.
There is no ROM runs on A55 in such case so that deselect IMX8_ROMAPI
for i.MX95.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
6 weeks agoimx9: add i.MX95 Kconfig and Makefile
Ye Li [Mon, 28 Apr 2025 10:37:37 +0000 (18:37 +0800)]
imx9: add i.MX95 Kconfig and Makefile

This patch adds i.MX95 Kconfig and Makefile. i.MX95 uses SCMI.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
6 weeks agospl: imx: use trampoline buffer to load images to secure region
Ye Li [Mon, 28 Apr 2025 10:37:36 +0000 (18:37 +0800)]
spl: imx: use trampoline buffer to load images to secure region

When SPL loading image to secure region, for example, ATF and tee to
DDR secure region. Because the USDHC controller is non-secure master,
it can't access this region and will cause loading issue.

So use a trampoline buffer in non-secure region, then use CPU to copy the
image from trampoline buffer to destination secure region.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
6 weeks agocpu: imx95: add i.MX95 support
Alice Guo [Mon, 28 Apr 2025 10:37:35 +0000 (18:37 +0800)]
cpu: imx95: add i.MX95 support

This patch is used to add the imx type string of i.MX95 ao that the
i.MX95 CPU info can be printed.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
6 weeks agoimx9: scmi: add i.MX95 SoC and clock related code
Peng Fan [Mon, 28 Apr 2025 10:37:34 +0000 (18:37 +0800)]
imx9: scmi: add i.MX95 SoC and clock related code

This patch adds i.MX95 SoC and clock related code. Because they are
based on SCMI, put them in the scmi subfolder.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Ji Luo <ji.luo@nxp.com>
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
6 weeks agoscmi_protocols: update struct scmi_base_discover_list_protocols_out
Ye Li [Mon, 28 Apr 2025 10:37:33 +0000 (18:37 +0800)]
scmi_protocols: update struct scmi_base_discover_list_protocols_out

@protocols is an array of protocol identifiers that are implemented,
excluding the Base protocol. Four protocol identifiers are packed into
each array element. The number of elements of @protocols is specified by
callee-side.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
6 weeks agosandbox: add SCMI clock control permissions to sandbox
Alice Guo [Mon, 28 Apr 2025 10:37:32 +0000 (18:37 +0800)]
sandbox: add SCMI clock control permissions to sandbox

This patch is used to add SCMI clock control permissions to sandbox for
testing.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
6 weeks agoclk: scmi: check the clock state/parent/rate control permissions
Alice Guo [Mon, 28 Apr 2025 10:37:31 +0000 (18:37 +0800)]
clk: scmi: check the clock state/parent/rate control permissions

Clock driver based on SCMI clock management protocol in Linux checks
clock state, parent and rate control permissions. To be consistent with
the kernel driver, add this check here. CLOCK_GET_PERMISSIONS is from
ARM System Control and Management Interface Platform Design Document 3.2.

When using common clock framework (CCF), use the clock signal ID to get
the clock registered by clk_register() in scmi_clk_probe(), and then
obatin the struct clk_scmi variable with container_of().

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
6 weeks agoclk: scmi: add the command CLOCK_PARENT_SET
Peng Fan [Mon, 28 Apr 2025 10:37:30 +0000 (18:37 +0800)]
clk: scmi: add the command CLOCK_PARENT_SET

This patch adds the command CLOCK_PARENT_SET that can be used to set the
parent of a clock. ARM SCMI Version 3.2 supports to change the parent of
a clock device.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Marek Vasut <marex@denx.de>
6 weeks agoscmi_protocols: add SCMI Performance domain management protocol message IDs
Peng Fan [Mon, 28 Apr 2025 10:37:29 +0000 (18:37 +0800)]
scmi_protocols: add SCMI Performance domain management protocol message IDs

SCMI Performance domain management protocol is intended for performance
management of groups of devices or APs that run in the same performance
domain. The functionality provided by the callee-side can be used by
passing the corresponding message_id.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Marek Vasut <marex@denx.de>
6 weeks agoscmi_protocols: add SCMI misc protocol protocol_id and message_id for getting the...
Peng Fan [Mon, 28 Apr 2025 10:37:28 +0000 (18:37 +0800)]
scmi_protocols: add SCMI misc protocol protocol_id and message_id for getting the ROM passover data

SCMI misc protocol is intended for miscellaneous functions which are
device specific and are usually defined to access bit fields. It is i.MX
specific. This patch adds SCMI misc protocol protocol_id and message_id
for getting the ROM passover data.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Marek Vasut <marex@denx.de>
6 weeks agofirmware: scmi_agent: add SCMI pin control protocol support
Alice Guo [Mon, 28 Apr 2025 10:37:27 +0000 (18:37 +0800)]
firmware: scmi_agent: add SCMI pin control protocol support

This patch adds SCMI pin control protocol support to make the pin
controller driver based on SCMI, such as
drivers/pinctrl/nxp/pinctrl-imx-scmi.c, can be bound to the SCMI agent
device whose protocol id is 0x19.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
6 weeks agopinctrl: nxp: add a pin controller driver based on SCMI pin control protocol
Alice Guo [Mon, 28 Apr 2025 10:37:26 +0000 (18:37 +0800)]
pinctrl: nxp: add a pin controller driver based on SCMI pin control protocol

This patch provides a pinctrl driver based on SCMI pin control protocol.
Currently, only the PINCTRL_CONFIG_SET command is implemented.

Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
6 weeks agofirmware: scmi: use scmi_proto_driver_get() function to get SCMI protocol driver
Alice Guo [Mon, 28 Apr 2025 10:37:25 +0000 (18:37 +0800)]
firmware: scmi: use scmi_proto_driver_get() function to get SCMI protocol driver

If there is a SoC specific SCMI protocol driver, using
scmi_proto_driver_get() function can avoid to add SoC specific code to
scmi_agent-uclass.c.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
6 weeks agofirmware: scmi: support to manage SCMI protocol drivers with a linker-genetated array
Alice Guo [Mon, 28 Apr 2025 10:37:24 +0000 (18:37 +0800)]
firmware: scmi: support to manage SCMI protocol drivers with a linker-genetated array

U_BOOT_SCMI_PROTO_DRIVER macro is used to add a SCMI protocol driver to
scmi_proto_driver list. scmi_proto_driver_get() function can be used to
match a SCMI protocol id and its driver.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
6 weeks agoMerge patch series "k3-j784s4*: Enable ESMs and related PMIC"
Tom Rini [Fri, 2 May 2025 20:24:21 +0000 (14:24 -0600)]
Merge patch series "k3-j784s4*: Enable ESMs and related PMIC"

Udit Kumar <u-kumar1@ti.com> says:

This series enables the ESMs and the associated PMIC. Programming these bits is
a requirement to make the watchdog actually reset the board.

Series supports WDT reset on all TI platforms based upon J784S4 SOC
including cut down (J742S2).

Bootlogs for reset

AM69: https://gist.github.com/uditkumarti/dca2171aafd6d50c82159346f9a0102f#file-am69-L2466

J784S4: https://gist.github.com/uditkumarti/dca2171aafd6d50c82159346f9a0102f#file-j784s4-L2704

J742S2: https://gist.github.com/uditkumarti/dca2171aafd6d50c82159346f9a0102f#file-j742s2-L2614

Link: https://lore.kernel.org/r/20250427070323.590449-1-u-kumar1@ti.com
6 weeks agoMerge patch series "board: beagle: beagley-ai: Cleanups and stdboot"
Tom Rini [Fri, 2 May 2025 20:23:51 +0000 (14:23 -0600)]
Merge patch series "board: beagle: beagley-ai: Cleanups and stdboot"

Nishanth Menon <nm@ti.com> says:

Just happened to get a BeagleY-AI at desk and happened to test master
branch (7dd49a9264a6 drivers: scsi: Add 'erase' support), noticed a few
issues which were rather easy to solve.. so, here we go:

Link: https://lore.kernel.org/r/20250425173120.141503-1-nm@ti.com
6 weeks agoarm: dts: k3: binman: Fix DM firmware selection
Andrew Davis [Fri, 25 Apr 2025 22:54:03 +0000 (17:54 -0500)]
arm: dts: k3: binman: Fix DM firmware selection

Just like TF-A and OP-TEE, the documentation states a custom path for DM
can be provided at build time by setting TI_DM. This should then set
ti-dm-path which updates ti-dm node filenames in binman.

Two issues prevent this from functioning for most K3 boards. One is when
then DM firmware name is inside a blob-ext node instead of a ti-dm node.

The second is when the filename in the ti-dm node is a pointer to a
blob-ext node. In this case even though the filename is updated, the
filename in the blob-ext is not, so build can fail if the default
file in the blob-ext cannot be found, even if the updated ti-dm file
does exist.

Fix both of these for all K3 by removing any indirect ti-dm nodes and
making sure all DM nodes are labeled with "ti-dm".

Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
6 weeks agoarm: mach-k3: use CFG_MAX_MEM_SIZE
Bryan Brattlof [Fri, 25 Apr 2025 17:02:06 +0000 (12:02 -0500)]
arm: mach-k3: use CFG_MAX_MEM_SIZE

Rather than hard coding the maximum memory size, lets just define the
CFG_MAX_MEM_SIZE so get_effective_memsize() will return the correct
value without modification.

Signed-off-by: Bryan Brattlof <bb@ti.com>
6 weeks agoboard: ti: am33xx: Add support for BeagleBoard Green Eco
Kory Maincent [Fri, 25 Apr 2025 15:59:25 +0000 (17:59 +0200)]
board: ti: am33xx: Add support for BeagleBoard Green Eco

SeeedStudio BeagleBone Green Eco (BBGE) is a clone of the BeagleBone Green
(BBG). It has minor differences from the BBG, such as a different PMIC,
a different Ethernet PHY, and a larger eMMC.

The PMIC is not yet supported in mainline, but the work is ongoing.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
6 weeks agoconfigs: am64x_evm_a53: Enable MMC UHS modes
Judith Mendez [Thu, 24 Apr 2025 19:33:31 +0000 (14:33 -0500)]
configs: am64x_evm_a53: Enable MMC UHS modes

Enable UHS modes for SD by enabling configs for voltage regulator
drivers, IO voltage switching, and configs to support UHS modes.

The am64x SoC has an internal LDO which does voltage switching,
but the MMC_IO_VOLTAGE config is still required to be able to
switch voltage for SD.

While we are here, am64x HS400 mode has been descoped as per
datasheet [0] even though we still initialize to HS200, clean
this up by switching to MMC_HS200_SUPPORT config options.

[0] https://www.ti.com/lit/gpn/am6442

Signed-off-by: Judith Mendez <jm@ti.com>
6 weeks agoconfigs: j784s4_evm_r5: Enable ESM related configs
Andrew Halaney [Sun, 27 Apr 2025 07:03:23 +0000 (12:33 +0530)]
configs: j784s4_evm_r5: Enable ESM related configs

Like other TI platforms, let's enable the ESM. This allows the ESM to be
programmed during boot, and the PMIC associated with the ESM output,
enabling blocks like the RTI watchdogs to actually cause the system to
reset.

Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
Signed-off-by: Udit Kumar <u-kumar1@ti.com>
6 weeks agoboard: ti: j784s4: Initialize the ESM & PMIC ESM
Keerthy [Sun, 27 Apr 2025 07:03:22 +0000 (12:33 +0530)]
board: ti: j784s4: Initialize the ESM & PMIC ESM

Initialize the ESM & PMIC ESM. This allows things like
the watchdog to reset the board when tripped.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
6 weeks agoarm: dts: k3-am69-r5-evm: Add the PMIC ESM node
Andrew Halaney [Sun, 27 Apr 2025 07:03:21 +0000 (12:33 +0530)]
arm: dts: k3-am69-r5-evm: Add the PMIC ESM node

Add the PMIC ESM node which is responsible for triggering the PMIC
reset.

Suggested-by: Udit Kumar <u-kumar1@ti.com>
Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
6 weeks agoarm: dts: k3-j784s4-r5-evm: Add the PMIC ESM node
Neha Malcom Francis [Sun, 27 Apr 2025 07:03:20 +0000 (12:33 +0530)]
arm: dts: k3-j784s4-r5-evm: Add the PMIC ESM node

Add the PMIC ESM node which is responsible for triggering the PMIC
reset.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
6 weeks agodoc: beagle: Add BeagleY-AI documentation
Nishanth Menon [Fri, 25 Apr 2025 17:31:19 +0000 (12:31 -0500)]
doc: beagle: Add BeagleY-AI documentation

Document the BeagleY-AI usage, build and basic debug hints

Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
6 weeks agoconfigs: am67a_beagley_ai_a53: Enable additional features
Nishanth Menon [Fri, 25 Apr 2025 17:31:18 +0000 (12:31 -0500)]
configs: am67a_beagley_ai_a53: Enable additional features

Enable basic EFI debug features, switch over to stdboot, enable GPIO,
LED and PMIC used on this platform. And enable UHS mode support for SD
cards in U-Boot.

Unlike other BeagleBoard products, BeagleY-AI does not have
alternative onboard non-volatile memories, so capsule support does not
make sense.

Acked-by: Andrew Davis <afd@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
6 weeks agoconfigs:am67a_beagley_ai*: Drop un-necessary config options
Nishanth Menon [Fri, 25 Apr 2025 17:31:17 +0000 (12:31 -0500)]
configs:am67a_beagley_ai*: Drop un-necessary config options

Drop SPI, EMMC, GPIO expanders that come with EVM etc.

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
6 weeks agoconfigs: am67a_beagley_ai*: Use saveddefconfig
Nishanth Menon [Fri, 25 Apr 2025 17:31:16 +0000 (12:31 -0500)]
configs: am67a_beagley_ai*: Use saveddefconfig

Drop using j722s_evm defconfig since the evm has numerous features that
we do not need on BeagleY-AI platform. As new peripherals get added to
EVM support, we end up having to cleanup after in beagle configurations.

Instead of doing that, just split up BeagleY's configuration
independently out.

NOTE: no cleanup has been done to this configuration to allow for
reproducibility. The cleanups are done in follow on patches

Acked-by: Andrew Davis <afd@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
6 weeks agobeagle: beagley-ai: env: Enable DFU env options
Nishanth Menon [Fri, 25 Apr 2025 17:31:15 +0000 (12:31 -0500)]
beagle: beagley-ai: env: Enable DFU env options

Just enable dfu options, We have MMC and RAM as options here.

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
6 weeks agobeagle: beagley-ai: env: Setup scripts for LED control
Nishanth Menon [Fri, 25 Apr 2025 17:31:14 +0000 (12:31 -0500)]
beagle: beagley-ai: env: Setup scripts for LED control

Most of the users of BeagleY-AI are headless OR do not use serial port.
In such cases, it is very useful for the device to provide some level of
indication to know what state their board is at.

Unfortunately, with a single LED (ignoring the :heartbeat), the
options are limited. This is a precursor patch to actually enabling
the LED options that will use the same in the follow on patches.

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
6 weeks agobeagle: beagley-ai: env: Set up the boot devices and boot methods
Nishanth Menon [Fri, 25 Apr 2025 17:31:13 +0000 (12:31 -0500)]
beagle: beagley-ai: env: Set up the boot devices and boot methods

We just have a single MMC on BeagleY-AI. So drop all other boot options,

In the meanwhile, we also will use efiboot and standard boot methods
consistent with other K3 Beagle products.

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
6 weeks agoarch: arm: dts: k3-am67a-beagley-ai-u-boot: Mark main_gpio1 as bootph-all
Nishanth Menon [Fri, 25 Apr 2025 17:31:12 +0000 (12:31 -0500)]
arch: arm: dts: k3-am67a-beagley-ai-u-boot: Mark main_gpio1 as bootph-all

main_gpio1 controls the voltage for the SDcard from 3.3v to 1.8v.
This is required for proper operation of SDcard through various boot
stages.

Fixes the following seen in the boot log:
failed to set vqmmc-voltage to 3.3V

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
6 weeks agoboard: beagle: beagley-ai: Add pattern match for MAINTAINERS
Nishanth Menon [Fri, 25 Apr 2025 17:31:11 +0000 (12:31 -0500)]
board: beagle: beagley-ai: Add pattern match for MAINTAINERS

just use beagley_ai as pattern match for the files and folders involved.

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
6 weeks agoMerge patch series "video: Enhancements related to truetype and console"
Tom Rini [Fri, 2 May 2025 19:57:26 +0000 (13:57 -0600)]
Merge patch series "video: Enhancements related to truetype and console"

Simon Glass <sjg@chromium.org> says:

This series includes some precursor patches needed for forthcoming expo
enhancements.

- truetype support for multiple lines
- make white-on-black a runtime option
- support drawing a rectangle

6 weeks agovidconsole: Avoid kerning against an unrelated character
Simon Glass [Tue, 1 Apr 2025 17:29:44 +0000 (06:29 +1300)]
vidconsole: Avoid kerning against an unrelated character

When the cursor position changes, kerning should not be used for the
next character, since it can make the first displayed character shuffle
left or right a bit.

Clear the kern character when setting the position.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 weeks agovideo: Add a function to draw a rectangle
Simon Glass [Tue, 1 Apr 2025 17:29:43 +0000 (06:29 +1300)]
video: Add a function to draw a rectangle

Provide a way to draw an unfilled box of a certain width. This is useful
for grouping menu items together.

Add a comment showing how to see the copy-framebuffer, for testing.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 weeks agovideo: Allow console output to be silenced
Simon Glass [Tue, 1 Apr 2025 17:29:42 +0000 (06:29 +1300)]
video: Allow console output to be silenced

When using expo we want to be able to control the information on the
display and avoid other messages (such as USB scanning) appearing.

Add a 'quiet' flag for the console, to help with this.

The test is a little messy since stdio is still using the original
vidconsole create on start-up. So take care to use the same.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 weeks agotest: video: Export the video-checking functions
Simon Glass [Tue, 1 Apr 2025 17:29:41 +0000 (06:29 +1300)]
test: video: Export the video-checking functions

We want to check the display contents in expo tests, so move the two
needed functions to a new header file.

Rename them to have a video_ prefix.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 weeks agovideo: Add a way to write a partial string to the console
Simon Glass [Tue, 1 Apr 2025 17:29:40 +0000 (06:29 +1300)]
video: Add a way to write a partial string to the console

When writing multiple lines of text we need to be able to control which
text goes on each line. Add a new vidconsole_put_stringn() function to
help with this.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 weeks agovideo: truetype: Support a limit on the width of a line
Simon Glass [Tue, 1 Apr 2025 17:29:39 +0000 (06:29 +1300)]
video: truetype: Support a limit on the width of a line

Expo needs to be able to word-wrap lines so that they are displayed as
the user expects. Add a limit on the width of each line and support this
in the measurement algorithm.

Add a log category to truetype while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 weeks agovideo: truetype: Support newlines in the measured string
Simon Glass [Tue, 1 Apr 2025 17:29:38 +0000 (06:29 +1300)]
video: truetype: Support newlines in the measured string

It is useful to be able to embed newline characters in the string and
have the text measured into multiple lines. Add support for this.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 weeks agovideo: truetype: Fill in the measured line
Simon Glass [Tue, 1 Apr 2025 17:29:37 +0000 (06:29 +1300)]
video: truetype: Fill in the measured line

Create a measured line for the (single) line of text.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 weeks agovideo: Begin support for measuring multiple lines of text
Simon Glass [Tue, 1 Apr 2025 17:29:36 +0000 (06:29 +1300)]
video: Begin support for measuring multiple lines of text

Update the vidconsole API so that measure() can measure multiple lines
of text. This will make it easier to implement multi-line fields in
expo.

Tidy up the function comments while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 weeks agovideo: Add a test for font measurement
Simon Glass [Tue, 1 Apr 2025 17:29:35 +0000 (06:29 +1300)]
video: Add a test for font measurement

Add a simple test which measures a line of text using a Truetype font.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 weeks agosandbox: Select white-on-black
Simon Glass [Tue, 1 Apr 2025 17:29:34 +0000 (06:29 +1300)]
sandbox: Select white-on-black

Use white on black for the expo menu as it is easier on the eyes.

Signed-off-by: Simon Glass <sjg@chromium.org>