summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-07-09MAINTAINERS: remove redundant entries for ARM ROCKCHIPQuentin Schulz
The ARM ROCKCHIP entry already specifies an N: rockchip so we don't need to repeat a path with F: if it has rockchip in the path, so drop it. Note that for some reason get_maintainer.pl doesn't return the exact same list before and after this patch. Reviewed-by: Heiko Stuebner <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Quentin Schulz <[email protected]>
2026-07-09Merge tag 'ubi-updates-for-2026.10-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-ubi ubi updates for 2026.10-rc1 - fs: ubifs: fix ubifs_finddir() from Patrick Fixes: 0cab29ff467e ("fs: ubifs: Fix and rework error handling in ubifs_finddir") fix test -e - cmd: ubi: rework from Weijie - env: ubi: add support to create environment volume if it does not exist - cmd: ubi: allow creating volume with all free spaces in ubi_create_vol - cmd: ubi: export more APIs to public - cmd: ubi: reorganize command messages - cmd: ubi: change all positive error return value to negative - cmd: ubi: change the type of parameter dynamic to bool - cmd: ubifs: mark string parameters with const - cmd: ubi: use void * for buf parameter in ubi_volume_read - cmd: ubi: mark read-only function parameters with const - ubi: remove unnecessary extern directive from function prototypes
2026-07-09cmd: kconfig: i2c: add missing I2C API dependencyJulien Stephan
CMD_I2C relies on either the Driver Model I2C API or the legacy I2C API, but its Kconfig currently does not enforce either dependency. As a result, enabling CMD_I2C without DM_I2C or SYS_I2C_LEGACY can lead to link errors due to unresolved i2c_* symbols. Require either DM_I2C or SYS_I2C_LEGACY to prevent unsupported configurations while preserving support for legacy platforms. Signed-off-by: Julien Stephan <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2026-07-08Merge patch series "pinctrl: add support of Airoha SoCs"Tom Rini
Mikhail Kshevetskiy <[email protected]> says: This patch series add pin controller and gpio driver support for EN7523/ AN7581/AN7583 SoCs. The driver based on official linux airoha pinctrl and gpio driver with Matheus Sampaio Queiroga changes. The original Matheus Sampaio Queiroga driver can be taken from the repo: https://sirherobrine23.com.br/airoha_en7523/kernel/src/branch/airoha_en7523_pinctrl Additionally in the EN7523 case the patches removes existing gpio dts nodes and replaces them with pinctrl node. It should not be very dangerous, because: * No official EN7523 gpio support present in U-Boot * Legacy Linux EN7523 GPIO driver is mostly abandoned * The same driver is planned for upstream linux/openwrt This patchset includes bitfield.h patches created for Linux kernel by Geert Uytterhoeven. It suits U-Boot fine. I preserve original author and original commit messages. Please note me, if there is a better way. The patches were tested on EN7523/AN7581/AN7583 boards. Link: https://lore.kernel.org/r/[email protected]
2026-07-08arm: dts: en7523: add pinctrl/gpio support, drop legacy gpio supportMikhail Kshevetskiy
This patch adds pinctrl/gpio dts nodes for airoha pinctrl driver. It also removes legacy gpio nodes. It should not be very dangerous, because: * No official EN7523 gpio support present in U-Boot * The same driver is planned for upstream linux/openwrt Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: David Lechner <[email protected]>
2026-07-08configs: airoha: en7523: enable pinctrl/gpio supportMikhail Kshevetskiy
This enables EN7523 pin controller and gpio driver. Defconfig was minimized with 'make savedefconfig'. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: David Lechner <[email protected]>
2026-07-08configs: airoha: an7581: enable pinctrl/gpio supportMikhail Kshevetskiy
This enables AN7581 pin controller and gpio driver. Defconfig was minimized with 'make savedefconfig'. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: David Lechner <[email protected]>
2026-07-08pinctrl: airoha: add pin controller and gpio driver for EN7523 SoCMikhail Kshevetskiy
This patch adds U-Boot pin controller and gpio driver for Airoha EN7523 SoC. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: David Lechner <[email protected]>
2026-07-08pinctrl: airoha: add pin controller and gpio driver for AN7583 SoCMikhail Kshevetskiy
This patch adds U-Boot pin controller and gpio driver for Airoha AN7583 SoC. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: David Lechner <[email protected]>
2026-07-08pinctrl: airoha: add pin controller and gpio driver for AN7581 SoCMikhail Kshevetskiy
This patch adds U-Boot pin controller and gpio driver for Airoha AN7581 SoC. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: David Lechner <[email protected]>
2026-07-08pinctrl: airoha: add shared pinctrl codeMikhail Kshevetskiy
This patch introduce shared Airoha pinctrl code. Also it sorts contents of pinctrl makefile. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: David Lechner <[email protected]>
2026-07-08pinctrl: sort and format the contents of the makefileMikhail Kshevetskiy
sorting rules: * rules for generic pinctrl files placed first, * obj-y rules, * obj-$(CONFIG_ARCH_something) rules * obj-$(CONFIG_PINCTRL_something) rules Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: David Lechner <[email protected]>
2026-07-08pinctrl: add more pinconf/pinctrl definitionsMikhail Kshevetskiy
These pinconf/pinctrl definitions will be used by the next patches. The definitions was taken from public headers of linux-7.0. It's used by several linux pinctrl drivers, so it might be helpful for U-Boot as well. Pinconf definitions are placed near the corresponding U-Boot definitions in file include/dm/pinctrl.h. Pin/group/function definitions stored within the same path as in linux (include/linux/pinctrl/pinctrl.h). Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: David Lechner <[email protected]>
2026-07-08board: renesas: gen5-cm33: Convert to common field_{get, prep}() helpersMikhail Kshevetskiy
Drop the driver-specific field_get() and field_prep() macros, in favor of the globally available variants from <linux/bitfield.h>. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-07-08clk: renesas: rcar-cpg-lib: Convert to common field_{get, prep}() helpersMikhail Kshevetskiy
Drop the driver-specific field_get() and field_prep() macros, in favor of the globally available variants from <linux/bitfield.h>. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-07-08mtd: nand: raw: sunxi: Convert to common field_{get, prep}() helpersMikhail Kshevetskiy
Drop the driver-specific field_get() and field_prep() macros, in favor of the globally available variants from <linux/bitfield.h>. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-07-08net: hifemac: Convert to common field_{get, prep}() helpersMikhail Kshevetskiy
Drop the driver-specific field_get() and field_prep() macros, in favor of the globally available variants from <linux/bitfield.h>. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-07-08power: domain: renesas-r8a78000: Convert to common field_{get, prep}() helpersMikhail Kshevetskiy
Drop the driver-specific field_get() and field_prep() macros, in favor of the globally available variants from <linux/bitfield.h>. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-07-08watchdog: renesas_wwdt: Convert to common field_{get, prep}() helpersMikhail Kshevetskiy
Drop the driver-specific field_get() and field_prep() macros, in favor of the globally available variants from <linux/bitfield.h>. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-07-08bitfield: Add non-constant field_{prep, get}() helpersGeert Uytterhoeven
The existing FIELD_{GET,PREP}() macros are limited to compile-time constants. However, it is very common to prepare or extract bitfield elements where the bitfield mask is not a compile-time constant. To avoid this limitation, the AT91 clock driver and several other drivers already have their own non-const field_{prep,get}() macros. Make them available for general use by adding them to <linux/bitfield.h>, and improve them slightly: 1. Avoid evaluating macro parameters more than once, 2. Replace "ffs() - 1" by "__ffs()", 3. Support 64-bit use on 32-bit architectures, 4. Wire field_{get,prep}() to FIELD_{GET,PREP}() when mask is actually constant. This is deliberately not merged into the existing FIELD_{GET,PREP}() macros, as people expressed the desire to keep stricter variants for increased safety, or for performance critical paths. Yury: use __mask within new macros. Signed-off-by: Geert Uytterhoeven <[email protected]> Acked-by: Alexandre Belloni <[email protected]> Acked-by: Jonathan Cameron <[email protected]> Acked-by: Crt Mori <[email protected]> Acked-by: Nuno Sá <[email protected]> Acked-by: Richard Genoud <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Reviewed-by: Yury Norov (NVIDIA) <[email protected]> Signed-off-by: Yury Norov (NVIDIA) <[email protected]> [Linux commit: c1c6ab80b25c8db1e2ef5ae3ac8075d2c242ae13] Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: David Lechner <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-07-08bitfield: Add less-checking __FIELD_{GET,PREP}()Geert Uytterhoeven
The BUILD_BUG_ON_MSG() check against "~0ull" works only with "unsigned (long) long" _mask types. For constant masks, that condition is usually met, as GENMASK() yields an UL value. The few places where the constant mask is stored in an intermediate variable were fixed by changing the variable type to u64. However, for non-constant masks, smaller unsigned types should be valid, too, but currently lead to "result of comparison of constant 18446744073709551615 with expression of type ... is always false"-warnings with clang and W=1. Hence refactor the __BF_FIELD_CHECK() helper, and factor out __FIELD_{GET,PREP}(). The later lack the single problematic check, but are otherwise identical to FIELD_{GET,PREP}(), and are intended to be used in the fully non-const variants later. Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Yury Norov (NVIDIA) <[email protected]> [Linux commit: 2a6c045640c38a407a39cd40c3c4d8dd2fd89aa8] Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: David Lechner <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Scott Wood <[email protected]> Acked-by: Gerald Van Baren <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Masahiro Yamada <[email protected]>
2026-07-08bitops: import BITS_PER_TYPE() macro from linuxMikhail Kshevetskiy
This macro will be used by include/linux/bitfield.h header. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: David Lechner <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-07-08board: renesas: gen5-cm33: #undef field_{get, prep}() before definitionMikhail Kshevetskiy
Prepare for the advent of globally available common field_get() and field_prep() macros by undefining the symbols before defining local variants. This prevents redefinition warnings from the C preprocessor when introducing the common macros later. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-07-08clk: renesas: #undef field_{get, prep}() before definitionMikhail Kshevetskiy
Prepare for the advent of globally available common field_get() and field_prep() macros by undefining the symbols before defining local variants. This prevents redefinition warnings from the C preprocessor when introducing the common macros later. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-07-08mtd: nand: raw: sunxi: #undef field_{get, prep}() before definitionMikhail Kshevetskiy
Prepare for the advent of globally available common field_get() and field_prep() macros by undefining the symbols before defining local variants. This prevents redefinition warnings from the C preprocessor when introducing the common macros later. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-07-08net: hifemac: #undef field_{get, prep}() before definitionMikhail Kshevetskiy
Prepare for the advent of globally available common field_get() and field_prep() macros by undefining the symbols before defining local variants. This prevents redefinition warnings from the C preprocessor when introducing the common macros later. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-07-08power: domain: renesas-r8a78000: #undef field_{get, prep}() before definitionMikhail Kshevetskiy
Prepare for the advent of globally available common field_get() and field_prep() macros by undefining the symbols before defining local variants. This prevents redefinition warnings from the C preprocessor when introducing the common macros later. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-07-08watchdog: renesas_wwdt: #undef field_{get, prep}() before definitionMikhail Kshevetskiy
Prepare for the advent of globally available common field_get() and field_prep() macros by undefining the symbols before defining local variants. This prevents redefinition warnings from the C preprocessor when introducing the common macros later. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-07-08Merge tag 'xilinx-for-v2026.10-rc1-v3' of ↵Tom Rini
https://git.u-boot-project.org/u-boot/custodians/u-boot-amd AMD/Xilinx/FPGA changes for v2026.10-rc1 v3 AMD: - Firmware interface decoupling (part 1) ZynqMP: - DT updates - Add TCG variant detection Versal/Versal2: - Drop DDR MMU mapping and map it dynamically tools: - Add register initialization to mkimage MAINTAINERS: - Clean Zynq/ZynqMP fragments ufs: - Fix driver reregistration fpga: - altera: Simplify driver conditional compilation selection
2026-07-08env: ubi: add support to create environment volume if it does not existWeijie Gao
When U-Boot is booting from a fresh device, the environment volume may not exist in the factory UBI image. This is a common case where factory UBI image contains only volumes with valid data. With the current design, even if the volume is created manually, the environment will still be unusable (e.g., saveenv) before a reboot. This patch adds support to automatically create missing volumes before loading environment. This will make environment available at first boot. There are two options: CONFIG_ENV_UBI_VOLUME_CREATE: whether to enable volume creation CONFIG_ENV_UBI_VOLUME_STATIC: create static volume (default is dynamic) Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2026-07-08cmd: ubi: allow creating volume with all free spaces in ubi_create_volWeijie Gao
Although the ubi command itself supports creating volume with all free spaces, the api ubi_create_vol() does not. Since negative size is invalid, this patch replaces negative size with all free space size in ubi_create_vol(). Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2026-07-08cmd: ubi: export more APIs to publicWeijie Gao
Export the following functions to public: - ubi_detach(): this is paired with ubi_part(). One may call this function to completely clean up the ubi subsystem after using ubi_part(). - ubi_{create,find,remove}_vol: this is a set of functions for volume management. The original ubi_remove_vol is renamed to __ubi_remove_vol to allow the new ubi_remove_vol() being used as a wrapper for __ubi_remove_vol() with volume name. Also, comments are added for all exported functions. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2026-07-08cmd: ubi: reorganize command messagesWeijie Gao
This patch moves normal subcommand messages into the main command function. This will allow current and potential api functions being called with clean output on success. A new function ubi_require_volume() is added for finding and printing error message if volume not found. The original ubi_find_volume() will be silent for being an api function. To avoid ubi_require_volume() being called twice for volume read/remove, some changes are required: - The parameter of ubi_remove_vol() is changed to accept 'struct ubi_volume *' directly. - The original ubi_volume_read() is renamed to __ubi_volume_read, with its first parameter changed to accept also 'struct ubi_volume *' directly. - A new ubi_volume_read() is added to wrap __ubi_volume_read() to accept volume name as its first parameter. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2026-07-08cmd: ubi: change all positive error return value to negativeWeijie Gao
Change all return value using errno codes to negative. This makes it consistent with the linux ubi layer. Also, to follow the standard definition of U-Boot command, in the do_ubi() command handler, the return value is converted to CMD_RET_FAILURE for error returning, and CMD_RET_USAGE for incorrect usage. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2026-07-08cmd: ubi: change the type of parameter dynamic to boolWeijie Gao
This patch changes the type of the 'dynamic' parameter of ubi_create_vol() to bool as it's used as a boolean. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2026-07-08cmd: ubifs: mark string parameters with constWeijie Gao
File name and volume name should be const as they will not be modified in these functions. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2026-07-08cmd: ubi: use void * for buf parameter in ubi_volume_readWeijie Gao
Use void * to avoid explicit type casting as what ubi_volume_write has done already. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2026-07-08cmd: ubi: mark read-only function parameters with constWeijie Gao
Parameters like part/volume name and buffer for writing are not being modified by the callee functions and should be marked const. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2026-07-08ubi: remove unnecessary extern directive from function prototypesWeijie Gao
The extern directive is unnecessary for function declaration and should be removed. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2026-07-08fs: ubifs: fix ubifs_finddir() result checkPatrick Delaunay
ubifs_finddir() can return a negative error code (-ENOMEM or PTR_ERR(dent)) and returns 1 when the name is found in the directory. Fix the result check accordingly. This fixes file existence detection (for "test -e") when U-Boot uses UBIFS through ops ubifs_exists(). Since this function is also called before other file operations, commands such as "load" could be executed on a non-existing file without reporting an error. Fixes: 0cab29ff467e ("fs: ubifs: Fix and rework error handling in ubifs_finddir") Signed-off-by: Patrick Delaunay <[email protected]>
2026-07-08i2c: designware: fix i2c probe errorCoben Han
Probing i2c slave device just needs its device address. A certain type of chipsets such as RTC S35390A have no offset, which means address length should be 0. But the current designware_i2c_probe_chip function requires offset 0 and its length 1. This causes the designware-i2c to be initialized again and again. Furthermore, after booting into kernel, the designware-i2c kernel driver complains its controller timeout. This patch fixes this misbehaviour in such way that only device address is issued, no reinitialization needs when target device not detected, the designware-i2c kernel driver continues working. Signed-off-by: Coben Han <[email protected]>
2026-07-08i2c: nx: Add LicensePeng Fan
Add License information for nx_i2c driver. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2026-07-08i2c: nx: Use dev_read_addr_ptr()Peng Fan
Use dev_read_addr_ptr() which supports both live device tree and flat DT backends, avoiding direct dependency on devfdt_* helpers. No functional changes. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2026-07-08arm: dts: zynqmp: Fix space indentation to use tabsMichal Simek
Fix indentation issues where spaces were used instead of tabs in several ZynqMP device tree overlay files. Device tree files should use tabs for indentation to maintain consistency with the kernel coding style. Reviewed-by: Tomas Melin <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://patch.msgid.link/0dc7b65ebd48676719ace15a505ecec2f324822a.1782726386.git.michal.simek@amd.com
2026-07-08arm64: xilinx: Add missing newline in kr260-revAMichal Simek
Add missing newline available in Linux already. Reviewed-by: Tomas Melin <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://patch.msgid.link/ab6f006ee87efb54ee17f24a12c9f31aafc2f2ae.1782726386.git.michal.simek@amd.com
2026-07-08arm64: zynqmp: Disable ina226 iio-hwmon nodesMichal Simek
ina226 IIO driver doesn't need to be enabled by default in Linux that's why disable iio-hwmon nodes to avoid warnings about it. Reviewed-by: Tomas Melin <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://patch.msgid.link/deb2e92d5030a31dbb91b36fa77de3ad2de38a71.1782726386.git.michal.simek@amd.com
2026-07-08arch: arm: dts: Add RTC clock nodes for ZynqMP platformHarini T
Add fixed RTC clock nodes at 32.768 kHz for ZynqMP. The RTC driver uses this clock to calculate the calibration value, replacing the deprecated calibration device tree property. Signed-off-by: Harini T <[email protected]> Reviewed-by: Tomas Melin <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://patch.msgid.link/8838c8c4fcd0dfe151bcee2a6c4da51df81e23cb.1782726386.git.michal.simek@amd.com
2026-07-08arm64: versal-net: Add mmc_get_env_dev() and deduplicate MMC handlingMichal Simek
The SD and eMMC cases in boot_targets_setup() duplicated the MMC device lookup, and versal-net relied on the weak mmc_get_env_dev() default instead of selecting the device matching the boot mode (unlike versal and zynqmp). Factor the lookup into mmc_get_bootseq(), mirroring spi_get_bootseq(): it maps the boot mode to the MMC node and returns the device sequence, optionally handing back the mode banner so only boot_targets_setup() prints it. mmc_get_env_dev() is now provided as a thin wrapper, and the SD/eMMC cases call the helper instead of open-coding the lookups. The local udevice pointer in boot_targets_setup() is no longer needed. Signed-off-by: Michal Simek <[email protected]> Link: https://patch.msgid.link/7750a79c17146c66adeb83ad6d1bfa78b22ec8fa.1782219202.git.michal.simek@amd.com
2026-07-08arm64: versal-net: Look up eMMC device in boot_targets_setup()Michal Simek
The EMMC_MODE case set bootseq from dev_seq(dev) without ever assigning dev, so it used an uninitialized pointer and produced a bogus device sequence in boot_targets. eMMC is wired to the SD1 controller (mmc@f1050000, see versal-net-mini-emmc.dts). Look that device up like the SD cases do before using its sequence number. Signed-off-by: Michal Simek <[email protected]> Link: https://patch.msgid.link/bf779dcdd30c900d7614c0fa8382cb3f4cb57c20.1782219202.git.michal.simek@amd.com
2026-07-08arm64: versal-net: Do not print bootmode from spi_get_env_dev()Michal Simek
spi_get_bootseq() printed the QSPI/OSPI mode banner, which is noise when called from spi_get_env_dev() during environment setup. The banner is only meaningful for the "Bootmode:" announcement in boot_targets_setup(). Make spi_get_bootseq() a pure lookup that returns the banner string through an optional output argument instead of printing it. spi_get_env_dev() passes NULL and stays silent, while boot_targets_setup() prints the returned mode name as before. Signed-off-by: Michal Simek <[email protected]> Link: https://patch.msgid.link/ae257af9d2fe026306b32c647e406450319a3c7a.1782219202.git.michal.simek@amd.com