summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2026-04-30clk: stm32: Add STM32MP23 supportPatrice Chotard
Add STM32MP23 support. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Raphaël Gallais-Pou <[email protected]>
2026-04-30spi: add STM32MP23 OSPI supportPatrice Chotard
Add STM32MP23 OSPI support. Signed-off-by: Patrice Chotard <[email protected]>
2026-04-30video: stm32: dsi: fix unchecked return valuesRaphael Gallais-Pou
Fix the following errors yielded by Coverity Scan: CID 644836: Error handling issues (CHECKED_RETURN) Calling device_chld_unbind without checking return value (as is done elsewhere 6 out of 7 times) CID 644834: Error handling issues (CHECKED_RETURN) Calling device_chld_remove without checking return value (as is done elsewhere 4 out of 5 times). Link: https://lore.kernel.org/r/20260309212331.GF1388590@bill-the-cat/ Fixes: a6d047c0a86b ("video: stm32: remove all child of DSI bridge when its probe failed") Signed-off-by: Raphael Gallais-Pou <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2026-04-29power: pmic: mtk-pwrap: add MT8195 supportJulien Stephan
Add mt8195 support. Support comes directly from commit e88edc977b00 ("soc: mediatek: pwrap: add pwrap driver for MT8195 SoC") from the Linux Kernel. Signed-off-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-29power: pmic: mtk-pwrap: use tabs for alignmentJulien Stephan
Fix mt8188_regs definition to use tabs instead of spaces for alignment to be consistent with other definitions. Reviewed-by: Macpaul Lin <[email protected]> Signed-off-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-29power: pmic: mtk-pwrap: use pmic compatible to select child infoDavid Lechner
Change the logic for selecting pmic_children_info to use the compatible string from the devicetree instead of expecting the pwrap (part of the MCU) to correspond to the separate PMIC chip. In addition to being more correct, it also saves a few lines of code for each MCU type that is added by dropping the enum and type field. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-29power: pmic: mtk-pwrap: remove interrupt related codeDavid Lechner
Remove the interrupt related code in mtk-pwrap driver. This was just enabling interrupts without any handler. Even if we did have a handler, the only thing we could do is log a message. Since U-Boot isn't long running, this likely wouldn't be very useful. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-29power: pmic: mtk-pwrap: drop PWRAP_SLV_CAP_DUALIO on mt6359David Lechner
Drop the PWRAP_SLV_CAP_DUALIO flag from the mt6359 PMIC definition. The mt6359p variant of the PMIC does support dual I/O. Prior to this change, the driver would attempt to write to the PWRAP_DEW_DIO_EN register, which was not defined, so would write register 0 (DONE2). Reviewed-by: Julien Stephan <[email protected]> Reviewed-by: Macpaul Lin <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-29power: pmic: mtk-pwrap: add init capability flagDavid Lechner
Add a PWRAP_CAP_INIT capability flag to specify if it is safe to call pwrap_init() or not. Not all targets define the registers accessed by pwrap_init(). In that case, it is expected that an earlier bootloader has already initialized the PMIC. If not, we now return an error instead of trying to access undefined registers. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-29power: pmic: mtk-pwrap: add PWRAP_CAP_WDT_SRC flagDavid Lechner
Add a PWRAP_CAP_WDT_SRC flag to indicate if a PMIC wrapper has a WDT_SRC or not. Then use this to conditionally enable the watchdog timer. Prior to this change, since the register was not defined, it defaulted to 0, so the wrong register (DONE2) was being written to. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-29power: pmic: mtk-pwrap: fix file descriptionDavid Lechner
Fix the comment at the start of the file to accurately describe what this file does. The old description was likely copied from the related regulator driver. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-28spi: mtk_snor: Remove status register write procedure in probe()Meiker Gao
Remove status register write procedure in probe(). This is handled in spi-nor-core by the SPI_NOR_HAS_LOCK flag. Signed-off-by: Meiker Gao <[email protected]> Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-28spi: mtk_snor: fix zeroed data in DMA read bounce pathMacpaul Lin
Implement proper bounce buffer handling for the read path to fix zeroed data when using DMA. In the bounce path, map the bounce buffer with dma_map_single(), perform DMA using bounce_dma, then copy data from the bounce buffer to the user buffer, and finally unmap with dma_unmap_single(). Signed-off-by: Macpaul Lin <[email protected]> Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-28spi: mtk_snor: support newer SOCsNoah.Shen
Add support for some newer SOCs. New compatible strings are added to the lookup table. Some SOCs also need a extra bit clocked out as a hardware quirk, so a new capability structure and code is added to support that. Signed-off-by: Noah.Shen <[email protected]> Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-28spi: mtk-snor: add bounds checking in mtk_snor_cmd_program()Noah.Shen
Add bounds checking of the various lengths in mtk_snor_cmd_program() to prevent reading or writing registers out of bounds. Signed-off-by: Noah.Shen <[email protected]> Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-28spi: mtk_snor: check return value of mtk_snor_cmd_exec()Noah.Shen
Always check the return value of mtk_snor_cmd_exec() and propagate the error. Signed-off-by: Noah.Shen <[email protected]> Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-28spi: mtk_snor: conditionally copy tx/rx dataNoah.Shen
Only write out data for OUT command and read in data for IN commands. Signed-off-by: Noah.Shen <[email protected]> Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-28spi: mtk_snor: avoid alloc in mtk_snor_cmd_program()Noah.Shen
Rework mtk_snor_cmd_program() to avoid allocating a temporary buffer for tx data. This improves performance a bit by avoiding the need to allocate memory and copy data an extra time. Signed-off-by: Noah.Shen <[email protected]> Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-28spi: mtk_snor: clean up commentsNoah.Shen
Avoid use of C++-style comments and fix multi-line comment style. Signed-off-by: Noah.Shen <[email protected]> Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-28mmc: mtk-sd: fix msdc cmd ready checkht.lin
Correct the check condition in msdc_cmd_is_ready() for MSDC_PS_DAT0 polling. Without this change, it may not be able to detect if the SD controller is busy correctly for issuing the command. Fixes: d24b69395949 ("mmc: mtk-sd: add SD/MMC host controller driver for MT7623 SoC") Signed-off-by: ht.lin <[email protected]> Reviewed-by: Julien Stephan <[email protected]> Tested-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-28mmc: mtk-sd: enable async_fifo_crcsts on mt8189David Lechner
Enable the async_fifo_crcsts option for mediatek,mt8189-mmc compatible. Without this option, writing will fail in HS200 mode. Fixes: b3d16267b509 ("mmc: mtk-sd: add mediatek,mt8189-mmc compatible") Reviewed-by: Julien Stephan <[email protected]> Tested-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-28mmc: mtk-sd: enable DMA on mediatek,mt8189-mmcDavid Lechner
Enable DMA on mediatek,mt8189-mmc compatible. The issue that was preventing DMA from working correctly was fixed by the get_effective_memsize() implementation in commit a7c682565b4b ("arm: mediatek: add support of MT8189 SoC family"). Reviewed-by: Julien Stephan <[email protected]> Tested-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-27Merge patch series "scsi: Replace SYNC_CACHE with FUA for scsi write"Tom Rini
Balaji Selvanathan <[email protected]> says: This series replaces the SYNC_CACHE approach with FUA (Force Unit Access) to prevent data loss during board resets while avoiding system hangs during large sparse image flashing operations. The previous SYNC_CACHE implementation caused timeouts and hangs when flashing large sparse images because it issued cache sync commands after every write operation. The FUA approach achieves the same data integrity goal by setting the FUA bit in WRITE10 commands. Link: https://lore.kernel.org/r/[email protected]
2026-04-27scsi: Enable FUA bit in WRITE10 commandsAswin Murugan
Enable the Force Unit Access (FUA) bit in SCSI WRITE10 commands to ensure writes bypass the device's volatile cache and go directly to non-volatile storage. This provides write-through behavior that prevents data loss during board resets. Reviewed-by: Varadarajan Narayanan <[email protected]> Signed-off-by: Aswin Murugan <[email protected]> Signed-off-by: Balaji Selvanathan <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-27Revert "scsi: sync cache on write"Balaji Selvanathan
While the SYNC_CACHE approach prevents data loss during board resets, it causes system hangs during large sparse image flashing operations. This will be replaced with a FUA (Force Unit Access) approach in future commit, which achieves the same data integrity goal more efficiently. This reverts commit ffe4e6ab42d2534302be825e49a2d085acf80f30. Signed-off-by: Balaji Selvanathan <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-27Merge patch series "net: migrate NO_NET out of the networking stack choice"Tom Rini
Quentin Schulz <[email protected]> says: This migrates the net options away from the main Kconfig to net/Kconfig, rename the current NET option to NET_LEGACY to really highlight what it is and hopefully encourage more people to use lwIP, add a new NET menuconfig (but keep NO_NET as an alias to NET=n for now) which then allows us to replace all the "if legacy_stack || lwip_stack" checks with "if net_support" which is easier to read and maintain. The only doubt I have is wrt SYS_RX_ETH_BUFFER which seems to be needed for now even when no network is configured? Likely due to include/net-common.h with PKTBUFSRX? No change in behavior is intended. Only change in defconfig including other defconfigs where NO_NET=y or NET is not set, in which case NO_NET is not set or NET=y should be set in the top defconfig. Similar change required for config fragments. See commit log in patch adding NET menuconfig for details. This was tested based on 70fd0c3bb7c2 ("x86: there is no CONFIG_UBOOT_ROMSIZE_KB_12288"), from within the GitLab CI container trini/u-boot-gitlab-ci-runner:noble-20251013-23Jan2026 and set up similarly as in "build all platforms in a single job" GitLab CI job. #!/usr/bin/env bash set -o pipefail set -eux ARGS="-BvelPEWM --reproducible-builds --step 0" ./tools/buildman/buildman -o ${O} --force-build $ARGS -CE $* ./tools/buildman/buildman -o ${O} $ARGS -Ssd $* O=../build/u-boot/ ../u-boot.sh -b master^..b4/net-kconfig |& tee ../log.txt I can't really decipher the log.txt, but there's no line starting with + which would be an error according to tools/buildman/builder.py help text. Additionally, because I started the script with set -e set and because buildman has an exit code != 0 when it fails to build a board, and I have the summary printed (which is the second buildman call), I believe it means all builds passed. The summary is the following: aarch64: (for 537/537 boards) all +0.0 rodata +0.0 uniphier_v8 : all +1 rodata +1 u-boot: add: 0/0, grow: 1/0 bytes: 1/0 (1) function old new delta data_gz 10640 10641 +1 arm: (for 733/733 boards) all -0.0 rodata -0.0 uniphier_v7 : all -1 rodata -1 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-1 (-1) function old new delta data_gz 11919 11918 -1 opos6uldev : all -3 rodata -3 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-3 (-3) function old new delta data_gz 18778 18775 -3 uniphier_ld4_sld8: all -3 rodata -3 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-3 (-3) function old new delta data_gz 11276 11273 -3 stemmy : all -20 rodata -20 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-20 (-20) function old new delta data_gz 15783 15763 -20 As far as I could tell this data_gz is an automatically generated array when CONFIG_CMD_CONFIG is enabled. It is the compressed .config stored in binary form. Because I'm changing the name of symbols, replacing a menu with a menuconfig, additional text makes it to .config and the "# Networking" section in .config disappears. Here is the diff for the 5 defconfigs listed above, generated with: for f in build/*-m; do diff --unified=0 $f/.config $(dirname $f)/$(basename -a -s '-m' $f)/.config done (-m is the build directory for master, and without the suffix, it's the top commit of this series) """ --- build/opos6uldev-m/.config 2026-04-20 10:53:49.804528526 +0200 +++ build/opos6uldev/.config 2026-04-20 11:03:37.430242767 +0200 @@ -970,4 +969,0 @@ - -# -# Networking -# @@ -975,0 +972 @@ +CONFIG_NET_LEGACY=y --- build/stemmy-m/.config 2026-04-20 11:01:33.653698123 +0200 +++ build/stemmy/.config 2026-04-20 11:04:53.452577311 +0200 @@ -733,4 +732,0 @@ - -# -# Networking -# @@ -738,2 +733,0 @@ -# CONFIG_NET is not set -# CONFIG_NET_LWIP is not set --- build/uniphier_ld4_sld8-m/.config 2026-04-20 11:00:41.605469071 +0200 +++ build/uniphier_ld4_sld8/.config 2026-04-20 11:04:22.226439899 +0200 @@ -997,4 +996,0 @@ - -# -# Networking -# @@ -1002,0 +999 @@ +CONFIG_NET_LEGACY=y --- build/uniphier_v7-m/.config 2026-04-20 10:53:04.019307319 +0200 +++ build/uniphier_v7/.config 2026-04-20 11:03:01.688085486 +0200 @@ -1004,4 +1003,0 @@ - -# -# Networking -# @@ -1009,0 +1006 @@ +CONFIG_NET_LEGACY=y --- build/uniphier_v8-m/.config 2026-04-20 10:43:05.614441175 +0200 +++ build/uniphier_v8/.config 2026-04-20 10:41:03.214852130 +0200 @@ -875,4 +874,0 @@ - -# -# Networking -# @@ -880,0 +877 @@ +CONFIG_NET_LEGACY=y """ This is fine: - Networking menu doesn't exist anymore so "#\n# Networking\n#\n" won't be in .config anymore. - opos6uldev, uniphier_ld4_sld8, uniphier_v7 and uniphier_v8 all have (old) CONFIG_NET enabled, (new) CONFIG_NET will still be set but CONFIG_NET_LEGACY also needs to be defined now to reflect the stack choice (even if default), - stemmy has CONFIG_NO_NET set, which means CONFIG_NET and CONFIG_NET_LWIP are not reachable anymore hence why they don't need to be part of .config, GitLab CI was run on this series (well, not exactly, but it's only changes to the git logs that were made): https://source.denx.de/u-boot/contributors/qschulz/u-boot/-/pipelines/29849 It passes. Link: https://lore.kernel.org/r/[email protected]
2026-04-27simplify NET_LEGACY || NET_LWIP condition with NET conditionQuentin Schulz
Since the move to make NET a menuconfig and NO_NET a synonym of NET=n, when NET is enabled, NET_LEGACY || NET_LWIP is necessarily true, so let's simplify the various checks across the codebase. SPL_NET_LWIP doesn't exist but SPL_NET_LEGACY is an alias for SPL_NET so the proper symbol is still defined in SPL whenever needed. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Peter Robinson <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-04-27rename NET to NET_LEGACYQuentin Schulz
Highlight that NET really is the legacy networking stack by renaming the option to NET_LEGACY. This requires us to add an SPL_NET_LEGACY alias to SPL_NET as otherwise CONFIG_IS_ENABLED(NET_LEGACY) will not work for SPL. The "depends on !NET_LWIP" for SPL_NET clearly highlights that it is using the legacy networking app so this seems fine to do. This also has the benefit of removing potential confusion on NET being a specific networking stack instead of "any" network stack. Signed-off-by: Quentin Schulz <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Reviewed-by: Peter Robinson <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-04-27virtio: add support for SIZE_MAX & SEG_MAX featuresChristian Pötzsch
Some virtio implementations may forward the virtio requests directly to the underlying hw. The hw may have some restrictions in how many and how big the requests can be. Therefore, the corresponding virtio device will announce this limitations with the SIZE_MAX & SEG_MAX feature. Add support for those features. Split an io request into multiple virtio requests if more than seg_max segments would be used. Also split a single buffer request into multiple segments if the buffer is bigger then size_max. Signed-off-by: Christian Pötzsch <[email protected]> Signed-off-by: Adam Lackorzynski <[email protected]>
2026-04-27pci: correct PCI device enumeration to include all functions on device 0Maximilian Brune
Currently the implementation does not just skip all devices beside device 0, it also skips all functions (besides 0) on device 0. This broke basically all AMD platforms, since they have a lot of internal SOC devices behind these functions. This was detected, because the XHCI controller and therefore the USB devices were not found by u-boot on AMD/crater platform. PCI_MASK_BUS() returns both device and function bits, so it skips any bdf where either device > 0 or function > 0. Using PCI_DEV() extracts only the device number, matching the intent in only_one_child(). It therefore now checks all functions on device 0 (Linux does the same). I build tested u-boot as coreboot payload and run it on a recent x86 AMD platform. Devices like the XHCI controller are now found again. Fixes: fbde868ba4aa ("pci: skip unnecessary PCIe scanning") Signed-off-by: Maximilian Brune <[email protected]> Reviewed-by: Simon Glass <[email protected]> CC: Tom Rini <[email protected]> CC: Andrew Goodbody <[email protected]> CC: George McCollister <[email protected]> CC: Simon Glass <[email protected]>
2026-04-27Merge branch 'casey/qcom-main-13Apr2026' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-snapdragon Various Qualcomm additions this cycle: * USB superspeed support for 1 platform * Initial support for the Milos platform and the Fairphone Gen 6 (chainloaded from ABL) * Improved support for booting with OP-TEE on supported platforms * Initial basic power domain support Notably there is a generic change to the device core, missing power domains will no longer cause a device to fail probe and instead will just print a warning. This shouldn't affect any existing platforms.
2026-04-27Merge tag 'u-boot-ufs-20260427' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-ufs - Update line reset configuration for rcar-gen5 - core: Fix heap corruption due to out of bounds write - rockchip: Make use of controller resets
2026-04-27Merge tag 'u-boot-amlogic-next-20260427' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-amlogic - enable EFI Capsule on Disk (+ sysreset fixup/cleanup) - do not fail when setting SD_EMMC_x_CLK0 on GX/G12
2026-04-27gpio: qcom: Support GPIOs on PM7550 PMICLuca Weiss
The GPIOs on PM7550 work fine using the qcom_spmi_gpio driver and enables the use of the Volume Up button on the Fairphone (Gen. 6) smartphone. Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Luca Weiss <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27regulator: qcom-rpmh-regulator: add support for PM7550 regulatorsLuca Weiss
Add the PM7550 regulator data found on Qualcomm Milos devices. The tables are imported from the Linux driver (tag v7.0-rc4). The SMPS regulators were not added now. Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Luca Weiss <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27phy: qcom: Add Milos to QMP UFS PHY driverLuca Weiss
Import the configuration for the Milos SoC from Linux (tag v7.0-rc4). Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Luca Weiss <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27clk/qcom: Add Milos clock driverLuca Weiss
Add Clock driver for the GCC block found in the Milos SoC. The qcom-snps-eusb2-hsphy driver requires the TCXO frequency ("ref" clock), so we need to pass that as well. Signed-off-by: Luca Weiss <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27drivers: pinctrl: Add Qualcomm Milos TLMM driverLuca Weiss
Add support for TLMM pin controller block (Top Level Mode Multiplexer) on Milos SoC, with support for special pins. Correct pin configuration is required for working debug UART and eMMC/SD cards. Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Luca Weiss <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27clk: qcom: sc7280: add missing SDCC1 clocksAjit Singh
Add GCC_SDCC1_AHB_CLK and GCC_SDCC1_APPS_CLK gate clocks. Required on platforms where SDCC1 is used for eMMC. Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=a3cc092196ef63570c8744c3ac88c3c6c67ab44b Signed-off-by: Ajit Singh <[email protected]> Reviewed-by: Casey Connolly <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27tee: optee: Export OP-TEE message UID check APISumit Garg
OP-TEE message UID check API can be useful to know whether OP-TEE is enabled on not assuming the corresponding SMC call is properly handled if OP-TEE is not supported. This API can be used by platform code to know OP-TEE presence and on that basis OP-TEE DT node can be added as part of DT fixups for the OP-TEE driver probe to happen for both U-Boot and Linux. Signed-off-by: Sumit Garg <[email protected]> Reviewed-by: Casey Connolly <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27sysreset: Implement PSCI based reset to EDL mode for QCOM SoCsVaradarajan Narayanan
Implement request_arg() sysreset_op for QCOM SoCs that use PSCI to reset to EDL (Emergency Download) mode. Reviewed-by: Casey Connolly <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Varadarajan Narayanan <[email protected]> Link: https://patch.msgid.link/[email protected] [casey: add missing ARM_SMCCC depends to kconfig to fix CI allyesconfig] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27drivers: sysreset: Add sysreset op that can take argumentsVaradarajan Narayanan
Add a 'request_arg' op to struct sysreset_ops to enable sysreset drivers to receive arguments given to the 'reset' command. Process the request_arg() op before the usual request() op. Reviewed-by: Casey Connolly <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Varadarajan Narayanan <[email protected]> Reviewed-by: Tom Rini <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27drivers: phy: qcom: Add QMP USB3-DP Combo PHY driverBalaji Selvanathan
Add support for the Qualcomm QMP USB3-DP Combo PHY found on SC7280 and QCM6490 platforms. This driver currently implements USB3 super-speed functionality of the combo PHY. The QMP Combo PHY is a dual-mode PHY that can operate in either USB3 mode or DisplayPort mode. This initial implementation focuses on USB3 mode to enable Super-Speed USB support. Taken from Linux commit 3d25d46a255a ("pmdomain: qcom: rpmhpd: Add rpmhpd support for SM8750") This patch is dependent on this patch: https://lore.kernel.org/u-boot/[email protected]/ Enabled and tested the driver on Qualcomm RB3 Gen2 (QCS6490) board. Signed-off-by: Balaji Selvanathan <[email protected]> Reviewed-by: Varadarajan Narayanan <[email protected]> Link: https://patch.msgid.link/[email protected] [casey: fix unused variable warning] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27drivers: usb: dwc3: Add delay after core soft resetBalaji Selvanathan
Add a 100 ms delay after clearing the core soft reset bit to ensure the DWC3 controller has sufficient time to complete its reset sequence before subsequent register accesses. Without this delay, USB initialization can fail on some Qualcomm platforms, particularly when using super-speed capable PHYs like the QMP USB3-DP Combo PHY on SC7280/QCM6490. Taken from Linux commit f88359e1588b ("usb: dwc3: core: Do core softreset when switch mode") Signed-off-by: Balaji Selvanathan <[email protected]> Reviewed-by: Varadarajan Narayanan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27drivers: clk: qcom: sc7280: Add USB3 PHY pipe clockBalaji Selvanathan
Add support for GCC_USB3_PRIM_PHY_PIPE_CLK which is required by the USB3 PHY on SC7280/QCM6490 platforms. Signed-off-by: Balaji Selvanathan <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Casey Connolly <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27power-domain: Add warning when power-domain driver is missingAswin Murugan
Update dev_power_domain_ctrl() to log a warning if the power-domain driver is not found (-ENODEV). Return 0 in this case to allow continued execution, while preserving error handling for other failures. Reviewed-by: Varadarajan Narayanan <[email protected]> Signed-off-by: Aswin Murugan <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27power-domain: Add QCOM RPMH Power Domain Driver SupportBalaji Selvanathan
Added support for Qualcomm RPMH power domain driver, responsible for managing power domains on Qualcomm SoCs. This is a port of the Linux RPMHPD driver [1] and sa8775p related changes. The power domain driver currently has support to power on and off MMCX power domain of sa8775p; support for other soc entries power domains are stubbed, in future, the required soc support can be added. [1]: https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pmdomain/qcom/rpmhpd.c?id=3d25d46a255a83f94d7d4d4216f38aafc8e116b Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Balaji Selvanathan <[email protected]> Signed-off-by: Aswin Murugan <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27pinctrl: qcom: Add pingroup definitions for SC7280Aswin Murugan
Added pingrp support to sc7280 pinctrl driver based on the similar U-Boot and Linux drivers. Signed-off-by: Aswin Murugan <[email protected]> Reviewed-by: Varadarajan Narayanan <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-26usb: gadget: rcar: Add support for RZ/G2L (R9A07G044)Michele Bisogno
The Renesas RZ/G2L (and RZ/G2LC) USBHS controller requires the CNEN bit in the SYSCFG register to be set for function operation. Additionally, its CFIFO is byte-addressable. Introduce a new renesas_usbhs_driver_param structure for the RZ/G2L SoC and link it via the udevice_id data pointer. Update usbhs_probe() to accept the udevice pointer to retrieve these parameters during initialization. This alignment follows the logic used in the Linux kernel renesas_usbhs driver. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Michele Bisogno <[email protected]>
2026-04-26usb: gadget: rcar: Add support for reset controllerMichele Bisogno
Some Renesas SoCs, such as the RZ/G2L, require the USBHS core to be explicitly deasserted from reset before register access is possible. Update the OTG probe to handle a bulk reset controller. To maintain hardware stability, the reset is deasserted after clocks are enabled in probe(), and asserted before clocks are disabled in remove(). Update the error paths in probe to ensures clocks are disabled if the reset initialization fails. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Michele Bisogno <[email protected]>