Commit Graph
106429 Commits
Author SHA1 Message Date
Casey ConnollyandTom Rini 83f6cbb871 get_maintainer.pl: tighten up git contributors cc list
get_maintainer in U-Boot is configured to include contributors and patch
reviewers from the git history in the CC list, going back 1 year if they
have contributed more than 5% of the patches.

This is well suited to some core U-Boot code that has a long history and
doesn't get much love from any dedicated maintainer but for newer code
and board code in general as well as defconfigs it can be frustrating
for some contributors who do not wish to be CC'd on patches as well as a
general issue when dead emails are included.

While it would be desirable to just remove the --git flag and encourage
those interested to configure lei or just add themselves to MAINTAINERS
it perhaps makes more sense to phase it out gradually.

As a first step, reduce the time period that will be checked in the git
history from 1 year to 6 months, this still offers plenty of leeway for
contributions to the last 1/2 U-Boot releases. In addition, bump up the
required percentage of contributions from 5% to 15% and reduce the limit
on the number of "git maintainers" (i.e. unique S-o-b/A-b/R-b tags) from
5 to 2.

These changes should reduce the size of CC lists while still including
recent active contributors.

Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
2026-07-13 17:06:40 -06:00
Dario BinacchiandTom Rini 8d50a5ce72 test: cmd: part: fix integer handling in setup_gpt_partitions()
Coverity reports an INTEGER_OVERFLOW issue because ut_asserteq() compares
an unsigned int (mmc_dev_num) with ret, which can hold a negative error
code.

Addresses-Coverity-ID: CID 646439: Integer handling issues  (INTEGER_OVERFLOW)
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2026-07-13 17:06:37 -06:00
Shiva TripathiandTom Rini ab2266aff3 tools: binman: ti_board_cfg: Add configurable sw-rev support
The software revision field in the combined board config binary header
was hardcoded to 1, preventing independent control from SBL SWREV
configured via ti-secure-rom's sw-rev property.

Add support for the optional 'sw-rev' DTS property in ti_board_config
nodes, which sets the SWREV byte in the header. Defaults to 1 for
backward compatibility.

Signed-off-by: Shiva Tripathi <s-tripathi1@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2026-07-13 17:06:33 -06:00
James HilliardandTom Rini 58c2284a1a cmd: fdt: keep control FDT during checksign
The fdt checksign command accepts an optional address for an FDT
containing public keys. It currently installs that blob as gd->fdt_blob
before verifying the FIT configuration.

This breaks verification with DM-backed crypto drivers which have not
probed yet, since the later probe path expects gd->fdt_blob to remain
U-Boot's control FDT. For example, an ECDSA verifier can be bound from
the control FDT but fail to probe after fdt checksign points
gd->fdt_blob at the key-only DTB.

Add a FIT config verification helper that takes the key blob explicitly
and use it from fdt checksign. This keeps gd->fdt_blob unchanged while
still allowing the command to verify against an external key DTB.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
2026-07-13 17:06:29 -06:00
Tom Rini 02f8b8ab6d Gitlab CI: Switch to git.u-boot-project.org
Now that we have everything available on git.u-boot-project.org, switch
URLs to that location.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
2026-07-13 07:35:20 -06:00
Tom Rini 6741b0dfb4 Merge patch series "fs: btrfs: add support for readdir"
Alexey Charkov <alchark@flipper.net> says:

Btrfs in U-boot currently uses a custom callback for ls and doesn't
expose the standard opendir/readdir/closedir interface, making it harder
to use in generic code. One area where this would be useful is in
discovering BLS type 1 entries [1] on a Btrfs filesystem.

Add support for the standard interface, and implement ls in terms of it.

[1] https://lore.kernel.org/u-boot/20260604-bls-v1-0-4ce6d1ee4711@flipper.net/
Link: https://lore.kernel.org/r/20260626-btrfs-readdir-v2-0-7dd43f72d1b4@flipper.net
2026-07-10 15:55:23 -06:00
Alexey CharkovandTom Rini 31cf3f1778 fs: btrfs: use fs_ls_generic() and drop custom implementation
Now that generic callbacks for opendir/readdir/closedir are implemented,
the custom btrfs_ls() implementation is no longer needed, along with the
btrfs_iter_dir() callback iterator.

Use fs_ls_generic() instead.

Signed-off-by: Alexey Charkov <alchark@flipper.net>
Reviewed-by: Qu Wenruo <wqu@suse.com>
2026-07-10 15:55:01 -06:00
Alexey CharkovandTom Rini 5f064aef5d fs: btrfs: implement opendir(), readdir() and closedir()
Add support for generic directory iteration with opendir(), readdir() and
closedir() in the btrfs filesystem driver.

Signed-off-by: Alexey Charkov <alchark@flipper.net>
Reviewed-by: Qu Wenruo <wqu@suse.com>
2026-07-10 15:55:01 -06:00
Naveen Kumar ChaudharyandTom Rini e0d10a4b85 cmd: x86: zboot: remove duplicate zboot_setup() call in do_zboot_setup
do_zboot_setup() invokes zboot_setup() twice: once with proper error
reporting, and again immediately afterwards with no diagnostic. The
second call re-runs the entire boot parameter setup on the
already-populated zero page, which is at best wasted work and at
worst leaves the structure in an unexpected state.

Drop the stray second invocation; the first call already covers both
success and failure handling.

Fixes: cb19931ee5 ("x86: zboot: Drop intermediate zboot_setup() function")
Signed-off-by: Naveen Kumar Chaudhary <naveen.osdev@gmail.com>
2026-07-10 15:52:59 -06:00
Naveen Kumar ChaudharyandTom Rini bd93d8ea10 cmd: upl: fix off-by-one argc check in do_upl_read
do_upl_read() guards against missing arguments with "argc < 1", but
argc always counts argv[0] (the command name) so that condition is
never true. The function then unconditionally dereferences argv[1],
which is out of bounds when the user runs "upl read" with no address
argument and feeds garbage into hextoul()/map_sysmem().

Use "argc < 2" so the address argument is actually required.

Fixes: 264f4b0b34 ("upl: Add a command")
Signed-off-by: Naveen Kumar Chaudhary <naveen.osdev@gmail.com>
2026-07-10 15:52:36 -06:00
Naveen Kumar ChaudharyandTom Rini b81e716b26 cmd: ini: avoid NULL deref when loadaddr/filesize env vars are unset
When the user runs "ini <section>" without explicit address or size
arguments, do_ini() falls back to env_get("loadaddr") and
env_get("filesize") and passes the results straight to hextoul().
env_get() returns NULL for an undefined variable and hextoul() does
not tolerate a NULL pointer, so on a board without these variables
set the command dereferences NULL.

Fetch the strings into locals first, reject the NULL case with
CMD_RET_USAGE, and only then convert to numeric values.

Fixes: c167cc0203 ("Add a new "ini" command")
Signed-off-by: Naveen Kumar Chaudhary <naveen.osdev@gmail.com>
2026-07-10 15:52:16 -06:00
Naveen Kumar ChaudharyandTom Rini 9df08fb181 cmd: host: fix duplicate device_unbind and wrong error message in unbind
do_host_unbind()'s error handler for device_unbind() prints the
misleading message "Cannot attach file" and then calls device_unbind()
a second time on the same device, both of which look like copy-paste
mistakes left over from neighbouring code.

Remove the duplicate device_unbind() call and report the correct
failure with the device name.

Fixes: 952018117a ("dm: sandbox: Switch over to using the new host uclass")
Signed-off-by: Naveen Kumar Chaudhary <naveen.osdev@gmail.com>
2026-07-10 15:51:21 -06:00
Naveen Kumar ChaudharyandTom Rini dc3606a961 cmd: clone: report destination block number on dest write error
The error path of the destination blk_dwrite() prints srcblk, which
refers to the source device's block counter and is unrelated to the
write that just failed. This produces misleading diagnostics that
point at the wrong block on the wrong device when a clone aborts on
a write error.

Print destblk so the message identifies the block that actually
failed, mirroring the existing "Src read error @blk %ld" message
above which correctly uses srcblk.

Fixes: 4a4830cf91 ("cmd: add clone command")
Signed-off-by: Naveen Kumar Chaudhary <naveen.osdev@gmail.com>
2026-07-10 15:50:48 -06:00
Richard Genoud (TI)andTom Rini b1d083e444 remoteproc: k3-r5: Fix crash when issuing rproc init
Prevent NULL pointer dereference with lockstep mode.

Since commit 21d03d60e909 ("j7200 defconfig: add rproc commands"),
issuing rproc init command with cluster configured in lockstep results
in a NULL pointer dereference.

This is because ti_sci_proc_request() is called on both cores on the
same cluster, without checking if they are populated.
To fix that, only request the core being probed, as there is no need to
request the other one.

Moreover, the old code was requesting both cores in lockstep mode, but
only releasing one:
it called k3_r5f_proc_request() with ti_sci_proc_release(), instead of
using k3_r5f_proc_request()/k3_r5f_proc_release() or
ti_sci_proc_request()/ti_sci_proc_release().

So, replacing k3_r5f_proc_request() by ti_sci_proc_request() restores
the intended behavior.

Fixes: 21d03d60e909 ("j7200 defconfig: add rproc commands")
Signed-off-by: Richard Genoud (TI) <richard.genoud@bootlin.com>
2026-07-10 15:46:11 -06:00
Anshul DalalandTom Rini 199a088b96 treewide: Kconfig: use bool instead of tristate
U-Boot does not support modules, so having tristate options is useless.

Therefore this patch does a blind replace of all tristate options to
bool tree-wide.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
Reviewed-by: Romain Gantois <romain.gantois@bootlin.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2026-07-10 15:45:57 -06:00
Tom Rini 9652e00aaa Merge tag 'u-boot-rockchip-2026.10-20260710' of https://git.u-boot-project.org/u-boot/custodians/u-boot-rockchip
CI: https://git.u-boot-project.org/u-boot/custodians/u-boot-rockchip/-/pipelines/597

- Add new rockchip custodian,
- Remove inactive rockchip custodian,
- Preemptively fix rk3528/rk356x DTS issue that will come with 7.1
  upstream DTS sync,
- Fix typo in doc,
- Fix variable used before being set in rockchip_nfc,
- Fix asm-operand-widths clang warning for RK3528, RK3576 and RK3588,
- Work around HW undefined state for NVMEs on RK3588 Jaguar,
- Added support for new devices:
  - LinkEase EasePi R1
  - 9Tripod X3568 v4
2026-07-10 10:04:04 -06:00
Coia PrantandQuentin Schulz b5deaa71fb board: rockchip: Add support for 9Tripod X3568 v4
The 9Tripod X3568 v4 is an RK3568-based SBC, just like the RK3568-EVB.
It always uses soldered connections between the X3568CV2/X3568CV3/X3568CV4 core board
and the X3568bv4 I/O board.

The differences between the core boards
- PCB size, layout
- CPU (RK3568B2/RK3568J)
- Memory type (DDR4/LPDDR4/LPDDR4X) and size
- eMMC size
- DSI/EDP resistor values
Although the components vary, they maintain full compatibility.

The X3568 board has multiple hardware revisions, and we currently support v4 (I/O board).

Specification:
- SoC: RockChip RK3568 ARM64 (4 cores)
- eMMC: 16-128 GB
- RAM: 2-16 GB
- Power: DC 12V 2A
- Ethernet: 2x YT8521SC RGMII (10/100/1000 Mbps)
- Wireless radio: 802.11b/g/n/ac/ax dual-band
- LED:
  Power: AlwaysOn
  User: GPIO
- Button:
  VOL+: SARADC/0 <35k µV>
  VOL-: SARADC/0 <450k µV>
  Power/Reset: PMIC RK809
- CAN
  CAN/1: 4-pin (PH 2.0)
- PWM
  PWM/4: Backlight DSI/0 DSI/1
  PWM/7: IR Receiver [may not install]
- UART:
  UART/2: Debug TTL - 1500000 8N1 (1.25mm)
  UART/3: TTL (PH 2.0)
  UART/4: TTL (PH 2.0)
  UART/8: AP6275S Bluetooth
  UART/9: TTL (PH 2.0)
- I2C:
  I2C/0: PMIC RK809
  I2C/1: Touchscreen DSI/0 DSI/1
  I2C/4: Camera
  I2C/5: RTC@51 PCF8563
- I2S:
  I2S/0: miniHDMI Sound
  I2S/1: RK809 Audio Codec
  I2S/3: AP6275S Bluetooth Sound
- SDMMC:
  SDMMC/0: microSD (TF) slot
  SDMMC/2: AP6275S SDIO WiFi card
- Camera: 1x CSI
- Video: miniHDMI / DSI0 (MIPI/LVDS) / DSI1 (MIPI/EDP)
- Audio: miniHDMI / MIC on-board / Speaker / SPDIF / 3.5mm Headphones / AP6275S Bluetooth
- USB:
  USB 2.0 HOST x2
  USB 2.0 HOST x3 (4-pin)
  USB 2.0 OTG x1 (shared with USB 3.0 OTG/HOST) [slot may not install]
  USB 3.0 HOST x1
  USB 3.0 OTG/HOST x1
- SATA: 1x SATA 3.0 with Power/4-pin [slot may not install]
- PCIe: 1x PCIe 3.0 x2 (x4 connector) [power/clock/slot may not install]

Link:
- https://appletsapi.52solution.com/media/X3568V4%E5%BC%80%E5%8F%91%E6%9D%BF%E7%A1%AC%E4%BB%B6%E6%89%8B%E5%86%8C.pdf
- https://blog.gov.cooking/archives/research-ninetripod-x3568-v4-and-flash.html

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Link: https://patch.msgid.link/20260709185101.2149485-1-coiaprant@gmail.com
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-10 10:52:20 +02:00
Jakob UnterwurzacherandQuentin Schulz 6037673a10 board: rockchip: set M.2 NVMe PERSTN low in spl_board_init on Jaguar
As it is, an NVMe's built-in PERSTN pull-up fights against the
SoC's built-in pull-down which results in an undefined logic state
on the Samsung SSD 980 and likely others.

Fix that by forcing PERSTN low as early as possible, which is SPL.

Both Linux and U-Boot (via "pci enum") set the pin high later
as needed and the NVMe is detected fine.

Oscillocope shots ("x" means undefined logic state at around 1.5V):

Before:

	3V3     ____|‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
	PERSTN  ____xxxxxxxxxxxxxxx_|‾‾‾‾‾
	PCICLK  ____∿∿∿∿∿∿∿∿∿∿∿∿___∿∿∿∿∿∿∿
                    ^U-Boot     ^ Linux

After:

	3V3     ____|‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
	PERSTN  ____x_______________|‾‾‾‾‾
	PCICLK  ____∿∿∿∿∿∿∿∿∿∿∿∿___∿∿∿∿∿∿∿
                    ^U-Boot     ^ Linux

With this change, the power-up sequence conforms to PCIe specs,
except a remaining short PERSTN glitch. The glitch is about 400ms
long. It could be shortened by moving the logic to TPL, but
completely fixing it is only possible in hardware.

Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Link: https://patch.msgid.link/20260625-pub-jaguar-puma-ringneck-tiger-v2025-07_nvme-v2-1-c57bf1020d63@cherry.de
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-10 10:45:05 +02:00
Quentin SchulzandQuentin Schulz 07ab38e11f rockchip: fix asm-operand-widths clang warning
CONFIG_COUNTER_FREQUENCY is currently 24000000 for all SoCs, meaning it
fits in a 32b type. For 64b SoCs, it's an issue since the registers are
64b.

clang complains that we're trying to fit a 32b value into a 64b
register:

arch/arm/mach-rockchip/rk3528/rk3528.c:98:45: error: value size does not match register size specified by the constraint and modifier [-Werror,-Wasm-operand-widths]
   98 |         asm volatile("msr cntfrq_el0, %0" : : "r" (CONFIG_COUNTER_FREQUENCY));
      |                                                    ^
include/generated/autoconf.h:372:34: note: expanded from macro 'CONFIG_COUNTER_FREQUENCY'
  372 | #define CONFIG_COUNTER_FREQUENCY 24000000
      |                                  ^
/home/qschulz/work/upstream/u-boot/arch/arm/mach-rockchip/rk3528/rk3528.c:98:32: note: use constraint modifier "w"
   98 |         asm volatile("msr cntfrq_el0, %0" : : "r" (CONFIG_COUNTER_FREQUENCY));
      |                                       ^~
      |                                       %w0

Even though cntfrq_el0[1] is only using the 32b LSB of its 64b, use the
'x' operand modifier[2] to force the value to be 64b and fix the
warning.

[1] https://developer.arm.com/documentation/ddi0601/2026-03/AArch64-Registers/CNTFRQ-EL0--Counter-timer-Frequency-Register?lang=en
[2] https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#AArch64-Operand-Modifiers

Suggested-by: Mark Kettenis <mark.kettenis@xs4all.nl>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Link: https://patch.msgid.link/20260423-rk35-cnt-freq-v1-1-8f07677be5ca@cherry.de
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 20:25:10 +02:00
Liangbin LianandQuentin Schulz 3a8b3cdd83 rockchip: rk3568: Add support for LinkEase EasePi R1
LinkEase EasePi R1 [1] is a high-performance mini router.

Specification:
- Rockchip RK3568
- 2GB/4GB LPDDR4 RAM
- 16GB on-board eMMC
- 1x M.2 key for 2280 NVMe (PCIe 3.0)
- 1x USB 3.0 Type-A
- 1x USB 2.0 Type-C (for USB flashing)
- 2x 1000 Base-T (native, RTL8211F)
- 2x 2500 Base-T (PCIe, RTL8125B)
- 1x HDMI 2.0 Output
- 12v DC Jack
- 1x Power key connected to PMIC
- 2x LEDs (one static power supplied, one GPIO controlled)

[1] https://doc.linkease.com/zh/guide/easepi-r1/hardware.html

Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
Link: https://patch.msgid.link/20260625125818.18914-2-jjm2473@gmail.com
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 20:11:03 +02:00
Johan JonkerandQuentin Schulz 3f6d1416a8 mtd: nand: raw: rockchip_nfc: fix oobfree length calculation
The oobfree[0].length calculation depends on the
rknand->metadata_size value, but this is calculated
after the function rk_nfc_ecc_init is called. Move this
calculation to a location before it's value is required.

Fixes: 1b3fcb3c04 ("mtd: nand: raw: rockchip_nfc: add layout structure")
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Tested-by: Hüseyin BIYIK <boogiepop@gmx.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Link: https://patch.msgid.link/12b6e0d5-637e-446e-9e4b-82c82e6fad40@gmail.com
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:49:22 +02:00
Tom Rini 5a7117b0a2 Merge tag 'i2c-updates-for-2026.10-rc1' of https://git.u-boot-project.org/u-boot/custodians/hs/u-boot-i2c
i2c updates for 2026.10-rc1

- i2c: designware: fix i2c probe error
  from Coben

  It would be good to have some Testers...

- i2c: nx_i2c: updates from Peng

  - Added License information
  - use dev_read_addr_ptr()

- cmd: kconfig: i2c: add missing I2C API dependency
  from Julien
2026-07-09 11:42:48 -06:00
Johan JonkerandQuentin Schulz 9b23812382 rockchip: doc: fix typo evb-rk3288-rk808_defconfig
Use correct defconfig name for evb-rk3288-rk808.

Fixes: f339d6a9c3 ("rockchip: Switch remaining rk3288 boards to upstream devicetree")
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Link: https://patch.msgid.link/d0f7ce27-ad87-4910-be25-e867b5af4956@gmail.com
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:03:39 +02:00
Jonas KarlmanandQuentin Schulz d4140de41e arm: dts: rockchip: Align OTP nodes for RK3528/RK356x with Linux v7.1
The <soc>-u-boot.dtsi OTP nodes for RK3528/RK356x use different names
compared to the OTP nodes that was merged in Linux v7.1. This causes
build issues when dts/upstream pulls in updated DTs, i.e.:

  ERROR (duplicate_label): /soc/nvmem@ffce0000: Duplicate label 'otp'
                           on /soc/nvmem@ffce0000 and /soc/efuse@ffce0000

  ERROR (duplicate_label): /nvmem@fe38c000: Duplicate label 'otp'
                           on /nvmem@fe38c000 and /efuse@fe38c000

Align the OTP node names in <soc>-u-boot.dtsi with the node names used
in upstream Linux v7.1 to avoid build issues when latest DTs are synced.

Also drop the unused RK356x id@a subnode as it has moved under a
nvmem-layout node in the merged upstream DT.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Link: https://patch.msgid.link/20260707100918.3057718-1-jonas@kwiboo.se
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:02:58 +02:00
Quentin Schulz 275e9e4827 MAINTAINERS: add myself as ARM ROCKCHIP maintainer
Kever has been pulled into different responsibilities at Rockchip and
this means he has less to no time for his maintainership in U-Boot as
has been seen for about a year now. Let's try to improve the situation
and have Rockchip-related things merged again by adding myself as
another maintainer.

Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260707-rk-custodian-v1-12-dbc9c696e613@0leil.net
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:01:43 +02:00
Quentin Schulz 9e3e58df50 MAINTAINERS: remove Philipp Tomsich from ARM ROCKCHIP maintainers
Philipp hasn't been active for years so we thank Philipp for his work
over the years and update the MAINTAINERS entry to reflect the reality.

Reviewed-by: Tom Rini <trini@konsulko.com>
Link: https://patch.msgid.link/20260707-rk-custodian-v1-11-dbc9c696e613@0leil.net
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:01:43 +02:00
Quentin Schulz 377c363127 MAINTAINERS: add rockusb to ARM ROCKCHIP
rockusb is a Rockchip feature, so let's match *anything* with that in
the path.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260707-rk-custodian-v1-10-dbc9c696e613@0leil.net
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:01:43 +02:00
Quentin Schulz 412f8f812a MAINTAINERS: add more Rockchip drivers to ARM ROCKCHIP
A few drivers are not using "rockchip" in their path so they aren't
currently detected by get_maintainer.pl as belonging to the ARM ROCKCHIP
entry, so let's fix that oversight by adding them individually. We could
use N: rk_ but I feel this isn't distinctive enough to avoid too many
false positive and I don't want to be keeping a list of things to not
match against.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260707-rk-custodian-v1-9-dbc9c696e613@0leil.net
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:01:43 +02:00
Quentin Schulz d801fcc7b2 MAINTAINERS: add N: rkmtd regex to ARM ROCKCHIP
rkmtd is a Rockchip feature, so let's match *anything* with that in the
path.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260707-rk-custodian-v1-8-dbc9c696e613@0leil.net
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:01:43 +02:00
Quentin Schulz 4582dc53b8 MAINTAINERS: add N: rv11 regex to ARM ROCKCHIP
Rockchip has an RV11xx SoC series (RV1103, RV1106, RV1126) so let's
match *anything* in U-Boot which contains this string in the path and
not only the U-Boot Device Trees.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260707-rk-custodian-v1-7-dbc9c696e613@0leil.net
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:01:43 +02:00
Quentin Schulz a961c89395 MAINTAINERS: add N: rk8 regex to ARM ROCKCHIP
Rockchip also manufactures PMICs and regulators typically under the
RK8xx naming scheme (e.g. RK806, RK808, RK860, etc.) so let's match
files with rk8 in their path.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260707-rk-custodian-v1-6-dbc9c696e613@0leil.net
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:01:43 +02:00
Quentin Schulz 85aacacfbf MAINTAINERS: add N: rk3 regex to ARM ROCKCHIP
Most Rockchip SoCs have their name start with rk3xxx. Historically, the
second digit is for the generation of SoC, e.g. rk31xx was before
rk32xx, itself before rk33xx and now rk35xx (and the expected rk36xx end
of this year). We won't talk about the rk30xx timeline but it's also
prefixed the same way. So let's match *anything* in U-Boot which
contains rk3 in the path to simplify the MAINTAINERS entry and hopefully
catch as much as possible.

board/firefly/ and board/pine64/ only contain subdirectories and each of
them have rk3 in their name.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260707-rk-custodian-v1-5-dbc9c696e613@0leil.net
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:01:43 +02:00
Quentin Schulz 7c5ba3733c MAINTAINERS: add N: px5 regex to ARM ROCKCHIP
PX5 is a Rockchip SoC, so let's match *anything* in U-Boot which
contains this string in the path. However, this matches a bit too much,
specifically the PPC-based kmsupx5_defconfig so we need to exclude it
explicitly.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260707-rk-custodian-v1-4-dbc9c696e613@0leil.net
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:01:43 +02:00
Quentin Schulz ff378e8046 MAINTAINERS: add N: px30 regex to ARM ROCKCHIP
PX30 is a Rockchip SoC, so let's match *anything* in U-Boot which
contains this string in the path.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260707-rk-custodian-v1-3-dbc9c696e613@0leil.net
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:01:42 +02:00
Quentin Schulz 3dcb974e35 MAINTAINERS: add rkmux.py to ARM ROCKCHIP
It is a tool to be used with Rockchip SoCs so let's add it to the
MAINTAINERS entry for ARM ROCKCHIP.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260707-rk-custodian-v1-2-dbc9c696e613@0leil.net
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:01:42 +02:00
Quentin Schulz 9b619dfaaf MAINTAINERS: remove redundant entries for ARM ROCKCHIP
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 <heiko@sntech.de>
Link: https://patch.msgid.link/20260707-rk-custodian-v1-1-dbc9c696e613@0leil.net
Signed-off-by: Quentin Schulz <u-boot@0leil.net>
2026-07-09 19:01:42 +02:00
Tom Rini 964a26cc6d Merge tag 'ubi-updates-for-2026.10-rc1' of https://source.denx.de/u-boot/custodians/u-boot-ubi
ubi updates for 2026.10-rc1

- fs: ubifs: fix ubifs_finddir() from Patrick
  Fixes: 0cab29ff46 ("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-09 08:02:23 -06:00
Julien StephanandHeiko Schocher 0ded029735 cmd: kconfig: i2c: add missing I2C API dependency
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 <jstephan@baylibre.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
2026-07-09 07:18:18 +02:00
Tom Rini c991faf4f7 Merge patch series "pinctrl: add support of Airoha SoCs"
Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu> 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/20260703115627.2317120-1-mikhail.kshevetskiy@iopsys.eu
2026-07-08 13:42:17 -06:00
Mikhail KshevetskiyandTom Rini c56c7298c4 arm: dts: en7523: add pinctrl/gpio support, drop legacy gpio support
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 <mikhail.kshevetskiy@iopsys.eu>
Reviewed-by: David Lechner <dlechner@baylibre.com>
2026-07-08 13:29:18 -06:00
Mikhail KshevetskiyandTom Rini 4c7f94a738 configs: airoha: en7523: enable pinctrl/gpio support
This enables EN7523 pin controller and gpio driver.
Defconfig was minimized with 'make savedefconfig'.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Reviewed-by: David Lechner <dlechner@baylibre.com>
2026-07-08 13:29:18 -06:00
Mikhail KshevetskiyandTom Rini 8f99a782fd configs: airoha: an7581: enable pinctrl/gpio support
This enables AN7581 pin controller and gpio driver.
Defconfig was minimized with 'make savedefconfig'.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Reviewed-by: David Lechner <dlechner@baylibre.com>
2026-07-08 13:29:18 -06:00
Mikhail KshevetskiyandTom Rini 5c07bb5896 pinctrl: airoha: add pin controller and gpio driver for EN7523 SoC
This patch adds U-Boot pin controller and gpio driver for Airoha EN7523 SoC.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Reviewed-by: David Lechner <dlechner@baylibre.com>
2026-07-08 13:29:18 -06:00
Mikhail KshevetskiyandTom Rini 56d820371f pinctrl: airoha: add pin controller and gpio driver for AN7583 SoC
This patch adds U-Boot pin controller and gpio driver for Airoha AN7583 SoC.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Reviewed-by: David Lechner <dlechner@baylibre.com>
2026-07-08 13:29:18 -06:00
Mikhail KshevetskiyandTom Rini 1c98e84c04 pinctrl: airoha: add pin controller and gpio driver for AN7581 SoC
This patch adds U-Boot pin controller and gpio driver for Airoha AN7581 SoC.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Reviewed-by: David Lechner <dlechner@baylibre.com>
2026-07-08 13:29:18 -06:00
Mikhail KshevetskiyandTom Rini dcdd7aa264 pinctrl: airoha: add shared pinctrl code
This patch introduce shared Airoha pinctrl code.
Also it sorts contents of pinctrl makefile.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Reviewed-by: David Lechner <dlechner@baylibre.com>
2026-07-08 13:29:18 -06:00
Mikhail KshevetskiyandTom Rini 05a8f13bbd pinctrl: sort and format the contents of the makefile
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 <mikhail.kshevetskiy@iopsys.eu>
Reviewed-by: David Lechner <dlechner@baylibre.com>
2026-07-08 13:29:18 -06:00
Mikhail KshevetskiyandTom Rini 7518f6fbc4 pinctrl: add more pinconf/pinctrl definitions
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 <mikhail.kshevetskiy@iopsys.eu>
Reviewed-by: David Lechner <dlechner@baylibre.com>
2026-07-08 13:29:18 -06:00
Mikhail KshevetskiyandTom Rini d26cb20e6b board: renesas: gen5-cm33: Convert to common field_{get, prep}() helpers
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 <mikhail.kshevetskiy@iopsys.eu>
2026-07-08 13:29:18 -06:00
Mikhail KshevetskiyandTom Rini 575717f4b6 clk: renesas: rcar-cpg-lib: Convert to common field_{get, prep}() helpers
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 <mikhail.kshevetskiy@iopsys.eu>
2026-07-08 13:29:18 -06:00