29054 Commits
Author SHA1 Message Date
vhaudiquet 055563bd92 krane: restore CONFIG_USB dropped by the R35 defconfig edit; rotate 270
The R35 rotation edit used PUT 77.=77 against a stale line number and
overwrote CONFIG_USB=y with a duplicate VIDEO block, leaving the USB
menuconfig unset: no USB controller, no usb command, no keyboard.
Restore CONFIG_USB=y (deduplicate VIDEO) and verify the full USB set
in .config after the defconfig re-run.

Also flip the console rotation from 1 (90 degrees clockwise) to 3
(270 degrees clockwise): rot=1 read upside down on the device with
the keyboard attached.
2026-08-30 20:46:36 +02:00
vhaudiquet 69787732b4 krane: rotate the console 90 degrees clockwise for landscape use
The BOE TV101WUM-NL6 panel is mounted rotated 270 degrees in the
krane chassis (rotation property on the panel node in the upstream
DT). With the keyboard attached the tablet is used in landscape, so
set video rot=1 and enable CONFIG_CONSOLE_ROTATION: the uclass then
binds the rotated vidconsole1 driver, which writes glyphs rotated by
90 degrees clockwise into the native 1200x1920 portrait scanout and
uses the swapped console geometry (240 columns x 75 rows).

The framebuffer geometry and the depthcharge scanout path are
unchanged; only the console text placement rotates.
2026-08-30 20:07:22 +02:00
vhaudiquet 8cda58518b WIP (temporary): framebuffer text logger and abort dump for bring-up 2026-08-30 17:50:00 +02:00
vhaudiquet 0de89a3ebc WIP (temporary): probe step checkpoints in scanout driver 2026-08-30 17:37:24 +02:00
vhaudiquet e66ab84fa7 WIP (temporary): bind/probe checkpoints in scanout driver and video uclass 2026-08-30 16:10:36 +02:00
vhaudiquet 46283a7722 WIP (temporary): cyan band after video_clear in video_post_probe 2026-08-30 14:47:16 +02:00
vhaudiquet 1fb1f5f95e WIP (temporary): post-clear white-band checkpoint in video_post_probe 2026-08-30 13:26:41 +02:00
vhaudiquet f0470c9be5 video: add MT8183 scanout driver for firmware-initialized displays
Add a display driver for the MT8183 kukui family of ChromeOS devices
(e.g. the Lenovo IdeaPad Duet, google,krane), where the display
pipeline is already initialized and running when the payload is
handed off by depthcharge. depthcharge's display_cleanup() stops the
overlay engines and turns the backlight off before the jump, so the
driver only revives the pipeline: it re-enables the OVL0 engines
(OVL_EN @ +0x000c and OVL0_2L_EN @ +0x100c, offsets from depthcharge's
device-era mtk_ddp.c), drives the backlight GPIOs high (DISP_PWM,
pin 43, and EN_LCD_BL, pin 176, through the GPIO controller dout block
at 0x10005000+0x100), and renders the console into the live scanout
surface.

The geometry comes from the coreboot table framebuffer record, which
sits at the fixed kukui address 0xffed9000; when its physical_address
is 0 (what upstream coreboot 4.14 publishes on kukui), the live
scanout address is taken from the OVL layer 0 address register
(+0x0f40), which the firmware leaves in place across the handoff.

The driver binds to the existing ovl0 device tree node
(mediatek,mt8183-disp-ovl) and requires no display initialization.
2026-08-30 01:27:34 +02:00
Tom Rini c2ac5fc4e3 Merge tag 'net-20260813' of https://git.u-boot-project.org/u-boot/custodians/u-boot-net
Pull request net-20260813.

net:
- phy: dp83867: enable extended read / write for driver
- phy: fix duplicate eth_phy binding
- Drop unnecessary device_set_name
- dwc_eth_xgmac: Return -ENODEV when phy_connect() fails
- nfs: clean up bounds checks in nfs_readlink_reply()
- rtl8169: add support for RTL8126A and RTL8127A
- srand_mac(): fix -ENODEV crash with CONFIG_DM_RNG

net-legacy:
- Fix out-of-bounds write in IP fragment reassembly
- test: net: add regression test for IP reassembly overflow

net-lwip:
- Add tftpsrv command
- Handle chained pbufs in transmit path
- sntp: fix netif leak when ntpserverip is unset
- wget: free mbedtls x509 cert context to avoid memory leak
- Fix DHCP fine timer interval
2026-08-13 08:58:29 -06:00
Michal Simek fafbcbdc97 ufs: amd-versal2: Remove ZYNQMP_FIRMWARE dependency
There are EEMI firmware hooks available but they are also IO versions of it
that's why remove ZYNQMP_FIRMWARE depency from UFS driver.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://patch.msgid.link/85cbacdc7492890c76396974d24fff607c2088ad.1785394153.git.michal.simek@amd.com
2026-08-12 06:55:15 +02:00
Michal Simek f2294a98b2 xilinx: versal2: Clean UFS firmware interface
The M-PHY and SRAM readiness poll loops move out of the UFS controller
driver and into the firmware backend, exposed as blocking waits with
a caller-owned timeout budget. This keeps the UFS driver backend-agnostic
and lets an other backends offload the wait to the platform in a single
call instead of round-tripping every poll.

set_sram_bypass() now performs the SRAM_CSR read-modify-write in the
firmware layer.

Hook up functions are also update to reflect their usage.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://patch.msgid.link/26bc9aa2c02921690e126ab3401f7974ef04ad6e.1785394153.git.michal.simek@amd.com
2026-08-12 06:55:15 +02:00
Michal Simek 9e8a0f54b0 ufs: amd-versal2: Perform controller reset in the init callback
Move the controller/PHY reset and SRAM-bypass sequence from
hce_enable_notify(PRE_CHANGE) into ufs_versal2_init().
The reset sequence releases the host controller from reset, and the UFS
core reads the capability and version registers right after .init() and
before ufshcd_hba_enable() (the only caller of hce_enable_notify()).
Doing the reset in .init() ensures those registers are read after the
controller is out of reset, and keeps the driver aligned with Linux.
ufs_versal2_phy_init() stays in POST_CHANGE.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://patch.msgid.link/6b4cbfa6cc58bef86da86971e4b27726a4e510f0.1785394153.git.michal.simek@amd.com
2026-08-12 06:55:14 +02:00
Michal Simek 661b6e44a4 xilinx: versal2: Add PM UFS firmware interface
Add firmware interface for UFS access but also keep IO interface when
firmware is not enabled.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://patch.msgid.link/6419fe4f6f1f451aee624c7762b7aa690d50e498.1784870711.git.michal.simek@amd.com
2026-08-12 06:55:14 +02:00
Michal Simek 63c228d0a0 firmware: zynqmp: Remove duplicated sys_proto.h header
asm/arch/sys_proto.h is included twice that's why remove one.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://patch.msgid.link/cd3c11a7e09ed8db3945910cdfed0eb860dcd61e.1784870326.git.michal.simek@amd.com
2026-08-12 06:55:14 +02:00
Suraj KakadeandMichal Simek 93332d403a spi: zynqmp_gqspi: fix quad mode bus conflict
Starting the GENFIFO after each CMD and ADDR entry creates a gap
between the address phase (TX) and data phase (RX). For read commands
without dummy cycles, the controller is still driving DQ2/DQ3 HIGH
when the flash switches to output mode, causing a bus conflict.

Split the GENFIFO helper into a write-only variant and a
start-and-wait variant. Queue CMD, ADDR and dummy entries without
starting the GENFIFO. The data phase appends its entry and starts
the queued sequence, keeping the address-to-data transition
continuous.

Since genfifo_cmd() no longer triggers after each entry, operations
without a data phase have no trigger path. Call start_gen_fifo()
from exec_op() before deasserting chip select to execute the queued
CMD and ADDR entries.

Fixes: 22cca1730e ("spi: zynqmp_gqspi: Add support for ZynqMP qspi driver")
Signed-off-by: Suraj Kakade <suraj.hanumantkakade@amd.com>
Signed-off-by: Padmarao Begari <padmarao.begari@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://patch.msgid.link/20260709083757.1851446-1-suraj.hanumantkakade@amd.com
2026-08-12 06:54:37 +02:00
Vincent JardinandPeng Fan 289b1bae1c pci: layerscape: fix pci_iommu_extra hotplug
We can have many pci hotplug groups, each introduced
by a "pci@<addr>" token such as,

  pci_iommu_extra=pci@0x3600000,1.0.0,hp,pci@0x3700000,1.0.0,hp,
                  pci@0x3800000,1.0.0,hp,pci@0x3900000,1.0.0,hp

Without this fix, we have the error:
  Added iommu map for hotplug 1.0.0
  ERROR: invalid action in extra iommu entry
  ERROR: invalid action in extra iommu entry
  ERROR: invalid action in extra iommu entry

Fixes: 2a5bbb13cc ("pci: layerscape: add a way of specifying additional iommu mappings")
Signed-off-by: Vincent Jardin <vjardin@free.fr>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-08-11 15:48:22 +08:00
Kumara Bhimeswararao MatsaandPeng Fan 607d45d1e3 power: pmic: tps65219: fail if regulators node is missing
The TPS65219 bind function continues when the regulators subnode is
missing. This causes pmic_bind_children() to be called with an invalid
ofnode and permits a misleading message indicating that the subnode
was found.

Return -ENXIO when the regulators subnode is absent, matching the
behavior of other TI PMIC drivers.

Signed-off-by: Kumara Bhimeswararao Matsa <bhimesh.matsa@gmail.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-08-11 15:47:25 +08:00
Michal SimekandPeng Fan fc55d1e910 firmware: scmi: Support probe vendor ID 0x81
Preparing to add the AMD/Xilinx SCMI vendor protocol driver, support probe
of SCMI vendor ID 0x81. Add the protocol ID, the per-agent protocol device
slot, the probe/lookup switch cases and the scmi command name, gated by a
Kconfig option for conditional compilation.

The same wiring has been done by commit 7830ccc77a ("firmware: scmi:
Support probe vendor ID 0x80 and 0x82").

Signed-off-by: Michal Simek <michal.simek@amd.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-08-11 15:44:32 +08:00
Desapogu JayaramuduandTom Rini 780808133b serial: coreboot: Accept DBG2 subtype 0x12
U-Boot running as a coreboot payload obtains serial console
information either from the coreboot table or from the ACPI DBG2
table.

When serial console support is disabled in coreboot, the coreboot
table does not contain serial information. In this case U-Boot falls
back to parsing the DBG2 table.

Some AMD platforms or any other platforms that uses memory-mapped I/O
advertise the debug UART using DBG2 subtype 0x0012 ("16550-compatible
with parameters defined in Generic Address Structure"). U-Boot
currently accepts only subtype 0x0000, causing DBG2 UART detection to
fail and leaving no console output.

Accept subtype 0x0012 as well and keep the existing handling logic.

Signed-off-by: Desapogu Jayaramudu <jayaramudu.desapogu@amd.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2026-08-10 14:22:09 -06:00
Marek VasutandTom Rini c882fc0fe4 mtd: cfi: Replace env_get_f() with env_get_yesno()
Simplify the code, replace env_get_f() with env_get_yesno(). The
env_get_yesno() internally calls env_get() which may fall back to
env_get_f() if the environment access is not initialized yet.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Stefan Roese <stefan.roese@mailbox.org>
2026-08-10 14:22:08 -06:00
Tom Rini 28515d7ff5 Merge branch 'main' of https://git.u-boot-project.org/u-boot/custodians/u-boot-usb
- MTU3 DT bindings alignment with Linux DT bindings.
2026-08-09 13:50:27 -06:00
Carlo CaioneandMarek Vasut 08b77aac33 usb: mtu3: add SPL support
MediaTek platforms may need the MTU3 controller before U-Boot proper is
available, but the driver is currently selected and built only with the
main U-Boot configuration symbols.

Add an explicit SPL controller option with host and gadget modes. Make
the driver build and its role checks phase-aware so each phase can select
the MTU3 role it needs without coupling it to the U-Boot proper controller
configuration.

The upstream binding locates the xHCI child registers through the parent
ranges property. Select SPL_OF_TRANSLATE for host mode so SPL can resolve
that address before mapping it.

Signed-off-by: Julien Masson <jmasson@baylibre.com>
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Reviewed-by: Marek Vasut <marek.vasut+usb@mailbox.org>
2026-08-09 13:26:42 +02:00
Carlo CaioneandMarek Vasut 0f8cbf3a0d usb: mtu3: support the upstream devicetree binding
The MTU3 glue driver expects a synthetic mediatek,ssusb child that
combines the device and xHCI register windows. Upstream devicetrees
instead put the device resources on the controller node and describe the
xHCI window with a standard child node, so U-Boot cannot use an upstream
topology.

Switch to the upstream layout. The controller owns the shared resources
and the device MAC, with the device register offsets relative to it as in
Linux. The gadget role binds as a node-less internal device, while the
host role binds to an enabled xHCI child and uses its own clocks,
supplies and register window. dr_mode selects the role and defaults to
otg, and the Kconfig choice constrains which role the build provides.
The legacy child layout is rejected explicitly so its combined register
window cannot be mistaken for the device MAC.

Convert the in-tree MT8183 and MT8512 devicetrees in the same commit so
neither platform is left without USB. MT8512 stays peripheral-only
because its xHCI host interrupt is not documented and the
mediatek,mtk-xhci binding requires it.

Reviewed-by: Marek Vasut <marek.vasut+usb@mailbox.org>
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-08-09 13:26:42 +02:00
Tuyen DangandMarek Vasut 844e134e9d ufs: rcar-gen5: Switch from FASTAUTO mode to FAST mode
Switch from FASTAUTO to FAST mode and lane 2 to achieve
higher throughput. Drop the 64bit address quirk.

Signed-off-by: Tuyen Dang <tuyen.dang.xa@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-08-07 21:58:59 +02:00
Marek Vasut 0806005382 mtd: spi: renesas: Add R-Car Gen5 DT compatible
Add device tree compatible string "renesas,rcar-gen5-rpc-if" to
the driver to match on upstream RPC DT node in R-Car Gen5 DTs.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-08-07 21:58:59 +02:00
Marek Vasut fb178839bf mtd: spi: renesas: Align macro prefixes
Remove the IF from RPCIF to align the register macros with each other.
No functional change.

Fixes: d516246324 ("mtd: spi: renesas: Configure RPC PHY timing registers")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-08-07 21:58:59 +02:00
Marek Vasut ded62933e0 mtd: rpc: renesas: Add R-Car Gen5 DT compatible
Add device tree compatible string "renesas,rcar-gen5-rpc-if" to
the driver to match on upstream RPC DT node in R-Car Gen5 DTs.
Adjust Kconfig to allow driver enablement on all 64bit R-Car.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-08-07 21:58:59 +02:00
Marek Vasut 740b825e55 mtd: rpc: renesas: Switch to dev_read_addr_name()
Simplify the DT register address parsing using dev_read_addr_name(),
switch away from raw fdt_*() functions. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-08-07 21:58:59 +02:00
Tom Rini f2dcc47efc Merge tag 'mediatek-for-main-2026-08-05' of https://git.u-boot-project.org/u-boot/custodians/u-boot-mediatek
* Clock fix for MT8188 (Genio 700/520)
* SPL support preparatory patch for MT8188.
* Compile error fix for when enabling LWIP network stack on some MediaTek targets.
* Fix a regression in clock driver binding from the previous PR.
* Add display-related clocks on MT8188.
* Another wave of clock driver refactoring and de-duplication.
2026-08-06 19:36:40 -06:00
Tom Rini fce4beb533 Merge branch 'main' of https://git.u-boot-project.org/u-boot/custodians/u-boot-riscv
CI: https://git.u-boot-project.org/u-boot/custodians/u-boot-riscv/-/pipelines/884

- board: MPFS: add hardware RNG support and fix RNG consumers
- board: sophgo: add support for Milk-V Duo 256M
2026-08-06 19:36:40 -06:00
Tom Rini 482f9d63b5 Merge tag 'u-boot-watchdog-20260803' of https://git.u-boot-project.org/u-boot/custodians/u-boot-watchdog
CI: https://git.u-boot-project.org/u-boot/custodians/u-boot-watchdog/-/pipelines/867

u-boot-watchdog changes 2026-08-03:

- cyclic: get rid of cyclic_get_list() helper (Rasmus)
- cyclic: return early from cyclic_run() if the list is empty (Rasmus)
- watchdog: ast2600: add AST2700 support (Ryan)
2026-08-06 19:36:40 -06:00
Tom Rini 292230b36a Merge branch 'main' of https://git.u-boot-project.org/u-boot/custodians/u-boot-sh
- R-Car Gen3 clean ups and size optimization.
- R-Car Gen4 proper PCIe clock generator driver.
- R-Car Gen5 support for newer SCP firmware version.
2026-08-06 19:36:40 -06:00
Julien StephanandDavid Lechner 6a77840b2f clk: mediatek: mt8188: fix top0 gate polarity
Gates in top0_cg_regs are active-high. The GATE_TOP0/GATE_TOP0E macros
set CLK_GATE_NO_SETCLR flags, which treat them as active-low. Enabling
the clock is currently disabling them.

Switch both macros to CLK_GATE_NO_SETCLR_INV to use the correct
active-high semantics.

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Fixes: 11f3cc4632 ("clk: mediatek: add MT8188 clock driver")
Link: https://patch.msgid.link/20260728-mt8188-clk-fix-top0-gate-polarity-v1-1-56bc92ba6055@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2026-08-05 15:05:37 -05:00
Jamie GibbonsandLeo Yu-Chi Liang d803fb548e mailbox: mpfs: add bounded wait for BUSY to clear before sending request
The MPFS mailbox driver currently checks the BUSY bit at the start of
mpfs_mbox_send() and immediately returns -EBUSY if the controller is
busy.

On MPFS, BUSY may be transiently asserted during early boot even though
no other U-Boot service is actively executing. In Linux, returning
-EBUSY here is retryable via the mailbox framework and scheduler, but in
U-Boot this results in a hard failure.

Replace the immediate BUSY check with a bounded wait using
regmap_read_poll_timeout(), waiting for the controller to become idle
before issuing a new request. This preserves the intent of the BUSY
check while avoiding spurious early-boot failures in U-Boot’s
synchronous, polled execution model.

The timeout is conservative and based on observed MPFS behaviour, where
BUSY clears within a few milliseconds.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
2026-08-05 10:16:07 -07:00
Jamie GibbonsandLeo Yu-Chi Liang 47cd1fd361 mailbox: mpfs-mbox: replace unbounded BUSY polling with bounded waits
The MPFS mailbox driver used unbounded polling loops and treated the
BUSY bit as a fatal condition in several paths. On MPFS, BUSY may be
transiently reasserted even after response data is written, which is
observable in U-Boot’s synchronous, polled execution model.

Replace the unbounded loops with a bounded
regmap_read_poll_timeout()-based helper that waits for the controller to
become idle.

This preserves existing behaviour while preventing infinite stalls
and avoiding spurious failures during early boot.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
2026-08-05 10:16:07 -07:00
Jamie GibbonsandLeo Yu-Chi Liang c58dc99616 rng: add Microchip PolarFire SoC hardware RNG driver
Add a U-Boot RNG driver for Microchip's PolarFire SoC (MPFS). The
hardware RNG is accessed indirectly via the MPFS system controller using
the mailbox interface.

The driver implements the UCLASS_RNG interface, requesting random data
from the system controller and returning it to the caller.

This allows use of the PolarFire SoC hardware RNG via the
standard 'rng' command and DM RNG API.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <leo.liang@sifive.com>
2026-08-05 10:16:07 -07:00
Jamie GibbonsandLeo Yu-Chi Liang 752704d854 misc: mpfs_syscontroller: bind RNG sub-device
The MPFS RNG driver is not described by the device tree and is instead
registered dynamically by the system controller. Explicitly bind the
MPFS RNG driver as a child device during system controller probe.

This ensures the RNG device is instantiated and available via UCLASS_RNG
without requiring a device tree node.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
2026-08-05 02:03:29 -07:00
Jamie GibbonsandLeo Yu-Chi Liang a5f93037f2 misc: mpfs_syscontroller: add mailbox RX helper for service responses
The MPFS system controller run_service() helper only submits the mailbox
request but does not read back the response data. However, the caller
must explicitly receive the response.

Add a public system controller helper to receive mailbox service
responses to populate the response buffer after issuing a system
controller request.

Without this, the drivers copy uninitialised stack data instead of
mailbox response data, resulting in deterministic output.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
2026-08-05 02:03:23 -07:00
Javen XuandJerome Forissier a1aaacc968 net: rtl8169: add support for RTL8126A and RTL8127A
RTL8126A and RTL8127A share most of the register layouts and quirks with
RTL8125 series, but require explicit desc type and CRC-drop setup during
init.

This patch adds PCI IDs and MAC versions. RTL8126A is 0x66 and RTL8127A
is 0x6e. And RTL8127A requires Tx Desc V3 format and an additional RADM
FIFO protection configuration according to vendor driver.

Signed-off-by: Javen Xu <javen_xu@realsil.com.cn>
2026-08-04 10:00:32 +02:00
Ryan ChenandStefan Roese d9ce7ed305 watchdog: ast2600: add AST2700 support
The AST2700 reuses the AST2600 watchdog block unchanged. Bind the
driver to the aspeed,ast2700-wdt compatible and enable WDT_AST2600
on the AST2700.

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
Reviewed-by: Stefan Roese <stefan.roese@mailbox.org>
2026-08-03 15:00:33 +02:00
Marek Vasut 7feb56b8ef pinctrl: renesas: Further minimize R8A77965 M3-N PFC tables
Reduce the PFC tables further by gating DRIF, MLB, TMU, TPU and SATA
behind PINCTRL_PFC_FULL, none of which are currently supported by
U-Boot. This helps reduce the size of the bootloader in 4 kiB range.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-08-02 22:15:37 +02:00
Marek Vasut 394e63e7c9 pinctrl: renesas: Further minimize R8A77960 M3-W and R8A77961 M3-W+ PFC tables
Reduce the PFC tables further by gating DRIF, MLB, TMU and TPU
behind PINCTRL_PFC_FULL, none of which are currently supported by
U-Boot. This helps reduce the size of the bootloader in 4 kiB range.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-08-02 22:15:37 +02:00
Marek Vasut 18b1ecb34a pinctrl: renesas: Further minimize R8A77951 H3 PFC tables
Reduce the PFC tables further by gating DRIF, MLB, TMU, TPU and SATA
behind PINCTRL_PFC_FULL, none of which are currently supported by
U-Boot. This helps reduce the size of the bootloader in 4 kiB range.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-08-02 22:15:37 +02:00
Marek Vasut 50d7330920 pci: pcie-rcar-gen4: Handle always on reference clock
The clock controller driver for the device which supplies reference
clock to the PCIe core and bus may not implement .enable / .disable
callbacks in case the clock supplied by the device are always on,
in which case the clk_prepare_enable() call returns -ENOSYS. This
is the case on e.g. 9FGV0441. Handle the -ENOSYS as a valid return
value and proceed with probing.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-08-02 22:15:37 +02:00
Marek Vasut 99203d9dac clk: rs9: Add Renesas 9-series PCIe clock generator driver
Add driver for Renesas 9-series PCIe clock generators. This driver
is designed to support 9FGV/9DBV/9DMV/9FGL/9DML/9QXL/9SQ series I2C
PCIe clock generators.

The driver is capable of configuring per-chip spread spectrum mode
and output amplitude, as well as per-output slew rate.

Losely based on Linux 7.1 commit
5ec820fc28d0 ("clk: rs9: Reserve 8 struct clk_hw slots for for 9FGV0841")

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-08-02 22:15:37 +02:00
Marek Vasut 202d31f930 clk: renesas: Add SDK SCP 4.36 map to Renesas R-Car R8A78000 X5H CPG clock driver
The SCMI IDs did not change between SDK SCP 4.32 and SDK SCP 4.36.
Add SDK SCP 4.36 as supported version and reuse SDK SCP 4.32 remap
table.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-08-02 22:15:37 +02:00
Carlo CaioneandMarek Vasut 9879c40f6d usb: mtu3: wait for TX FIFO to drain before disconnect
Fastboot unregisters the USB gadget from the completion callback of
its final OKAY response. MTU3 QMU can report that request complete
while bytes remain in the endpoint TX FIFO. Disabling the USB function
immediately can therefore disconnect the host before it receives the
response.

Before selecting the high-speed or SuperSpeed disconnect operation, poll
the FIFO state of enabled IN endpoints that have no pending requests.
Bound the wait to 1 ms. If a FIFO does not drain, reset its endpoint,
force the disconnect, and propagate -ETIMEDOUT through the gadget pullup
operation. Endpoints with pending requests are skipped so an ordinary
disconnect does not wait for an active transfer.

Fixes: e09b88cd08 ("usb: add MediaTek USB3 DRD driver")
Signed-off-by: Vitor Sato Eschholz <vsatoes@baylibre.com>
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Reviewed-by: Marek Vasut <marek.vasut+usb@mailbox.org>
2026-08-02 22:13:19 +02:00
Quentin SchulzandStefan Roese 93c1d38cd8 arm64: a37xx: pinctrl: fix info->dev used but never set
A bunch of code calls info->dev, mostly dev_* messages and devm_kzalloc.

The former can be passed a NULL device and _dev_printk handles this just
fine.
The latter ignores the dev argument whenever !CONFIG_IS_ENABLED(DEVRES)
which was true in most cases until we made CONFIG_DEVRES mandatory for
U-Boot proper in commit 217cf656e2 ("dm: core: Default to using DEVRES
outside of xPL"). Failing to set info->dev before it's used by
devm_kzalloc results in crashes, therefore let's set info->dev before it
can be used.

Reported-by: Ben Schneider <ben@bens.haus>
Closes: https://lore.kernel.org/u-boot/IRefanijM8fTzOXeGe-H5hmhRkm7pt4Q83BV6VcWKlWp0s4i8mYcONTQz-IVhvNWlGta4LtnfK7ti6gxlrqq8h8cotgG1S0Fs6_DviAHvyo=@bens.haus/
Fixes: 0871806629 ("pinctrl: armada-37xx: Add pin controller support for Armada 37xx")
Fixes: 217cf656e2 ("dm: core: Default to using DEVRES outside of xPL")
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Tested-by: Ben Schneider <ben@bens.haus>
Reviewed-by: Stefan Roese <stefan.roese@mailbox.org>
2026-07-30 21:04:16 +02:00
Tom Rini 100e12ea78 Merge tag 'mmc-for-2026.10-rc2' of https://git.u-boot-project.org/u-boot/custodians/u-boot-mmc
CI: https://git.u-boot-project.org/u-boot/custodians/u-boot-mmc/-/pipelines/781

- Enable MMC CMD23 for multi-block transfers
- Various fixes to mmc core
- Add PF9453 pmic/regulator driver
- Support SCP 4.36 map for renesas-r8a78000
2026-07-30 08:50:13 -06:00
James HilliardandTom Rini 94b349bd90 crypto: hash: use DM providers from hash command
The hash command currently always uses the software implementation for
the selected algorithm, even when driver-model hash providers are
available.

Add a hash_digest_wd_lookup() helper which probes UCLASS_HASH devices in
order and uses the first provider supporting the requested algorithm.
Continue past unavailable providers and unsupported operations, but
propagate a hard digest failure once a provider accepts the operation.
Remember probe failures so they are not silently hidden by software
fallback when no later provider succeeds.

Use the helper from the hash command and retain its software fallback
when no usable provider is present. Add sandbox tests covering provider
fallback and hard-error propagation.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
2026-07-29 14:53:46 -06:00