summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2026-01-22power: regulator: common: fix compilation issueJulien Stephan
If CONFIG_DM_GPIO is not enabled, compilation fails with the following errors: aarch64-none-linux-gnu-ld: drivers/power/regulator/regulator_common.o: in function `regulator_common_of_to_plat': <...>/u-boot/drivers/power/regulator/regulator_common.c:30: undefined reference to `gpio_request_by_name' aarch64-none-linux-gnu-ld: drivers/power/regulator/regulator_common.o: in function `regulator_common_get_enable': <...>/u-boot/drivers/power/regulator/regulator_common.c:57: undefined reference to `dm_gpio_get_value' aarch64-none-linux-gnu-ld: drivers/power/regulator/regulator_common.o: in function `regulator_common_set_enable': <...>/u-boot/drivers/power/regulator/regulator_common.c:92: undefined reference to `dm_gpio_set_value' make: *** [Makefile:2029: u-boot] Error 139 Since the enable gpio is optional we can conditionally skip these calls. Reviewed-by: Tanmay Kathpalia <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Julien Stephan <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-01-22power: regulator: common: use dm_gpio_is_valid helperJulien Stephan
Use dm_gpio_is_valid() helper function instead of manually checking the gpio. Reviewed-by: Peng Fan <[email protected]> Reviewed-by: Tanmay Kathpalia <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Julien Stephan <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-01-22power: regulator: common: remove unnecessary debug traceJulien Stephan
Drop the ftrace like debug() that checkpatch --strict complains about: WARNING: Unnecessary ftrace-like logging - prefer using ftrace Reviewed-by: Peng Fan <[email protected]> Reviewed-by: Tanmay Kathpalia <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Julien Stephan <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-01-21pinctrl: mediatek: mt8365: add PUPD registersDavid Lechner
Add pull-up/pull-down (PUPD) register definitions for mt8365. Signed-off-by: David Lechner <[email protected]>
2026-01-21clk: mtk: use IS_ERR_VALUE() to check rate return valuesDavid Lechner
Replace casting with long to IS_ERR_VALUE() macro to check for error return values from rate calculation functions. This is the recommended way to check the return value from clock rate functions. Signed-off-by: David Lechner <[email protected]>
2026-01-21pinctrl: mediatek: fix failing to get sysconDavid Lechner
Replace uclass_get_device_by_ofnode() with syscon_regmap_lookup_by_phandle() to get the "mediatek,pctl-regmap" syscon device. Depending on probe order, uclass_get_device_by_ofnode() may fail, but syscon_regmap_lookup_by_phandle() has logic in it to handle that case correctly. The previous implementation could read more than one syscon if the "mediatek,pctl-regmap" property had more than one phandle, but the one board with a devicetree that does that is not supported in U-Boot yet, so we can save that for later (it may never be needed). Fixes: 424ceba18bfb ("pinctrl: mediatek: support mediatek,pctl-regmap property") Signed-off-by: David Lechner <[email protected]>
2026-01-21clk: mediatek: fix mux clocks with mapped parent IDsDavid Lechner
Pass the unmapped parent ID when setting parent for mux clocks. For technical reasons, some Mediatek clock driver have a mapping between the clock IDs used in the devicetree and ID used in the generic clock framework. The mtk_clk_mux_set_parent() function is comparing the passed mapped parent ID against the unmapped IDs in the chip-specific data structures. Before this change, we were passing the mapped parent ID. When there is a mapping, this resulted in buggy behavior (usually just incorrectly failing to find a match and returning an error). We need to pass the unmapped ID of the parent clock instead for the matching to work correctly. Since the reverse lookup is a bit verbose, a helper function is added to keep the code clean. Fixes: b1358915728b ("clk: mediatek: add of_xlate ops") Signed-off-by: David Lechner <[email protected]>
2026-01-21pinctrl: mediatek: ignored error return from pupd/r1/r0David Lechner
Ignore the error return value from mtk_pinconf_bias_set_pupd_r1_r0(). The PUPD/R1/R0 registers only include a small subset of the pins, so it is normal for this function to return an error for most pins. Therefore, this error should not be propagated. This fixes not all pins in a pinmux group being configured in some cases because the propagated error caused the configuration loop to exit early. The rest of the function is refactored to return early on errors to improve readability. Signed-off-by: David Lechner <[email protected]>
2026-01-21pinctrl: mediatek: set array size for reg_calsDavid Lechner
Set the size of the reg_cals arrays to PINCTRL_PIN_REG_MAX to in all affected mediatek pinctrl drivers. This is needed to avoid potential out-of-bounds accesses when they is used in mtk_hw_pin_field_get(). All array members need to be initialized since the code loops from 0 to PINCTRL_PIN_REG_MAX - 1. mt7622_reg_cals was already defined this way, but the others were not. Signed-off-by: David Lechner <[email protected]>
2026-01-21Merge patch series "clk: clk-uclass: debug message improvements"Tom Rini
David Lechner <[email protected]> says: I needed to debug some clock issues and found some places where pointer addresses were being printed when names were available. The addresses are not very helpful, but the names are. So here a couple of patches to improve that. Link: https://lore.kernel.org/r/[email protected]
2026-01-21clk: clk-uclass: used dev name in debug messageDavid Lechner
Consistently use the device name in debug messages. The clk-uclass file previously had a mix of printing the dev pointer and the device name. Changing all to use the device name makes the debug messages more useful. Signed-off-by: David Lechner <[email protected]>
2026-01-21clk: clk-uclass: fix format specifier for ofnode nameDavid Lechner
Change the format specifier from %p to %s when printing the ofnode name so that the actual name is printed instead of the pointer address. Signed-off-by: David Lechner <[email protected]>
2026-01-21arm: Remove remainder of ARCH_ORION5XTom Rini
With commit 5663b137e682 ("arm: Remove edminiv2 board") the last ARCH_ORION5X platform was removed. Remove the rest of the architecture code which is now unused. Reviewed-by: Tony Dinh <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-01-19Merge tag 'xilinx-for-v2026.04-rc1-v2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze AMD/Xilinx/FPGA changes for v2026.04-rc1 v2 microblaze: - Fix spl_boot_list order versal2: - Fix EMMC distro boot setup - Align distro boot variables with memory layout zynqmp-phy: - Sync with Linux kernel driver zynqmp: - Add verify_auth command - DT sync - Add placing variables to FAT/EXT4 - Enable PCIe driver by default pcie - xilinx-nwl: - Fix Link down crash ufs: - Align clock/reset with DT binding # -----BEGIN PGP SIGNATURE----- # # iHUEABYIAB0WIQSXAixArPbWpRanWW+rB/7wTvUR9QUCaW3p3wAKCRCrB/7wTvUR # 9VkwAP4jPRALpM34VpTimNe/iwigIx8hAHxbvkUU0oJ/DW6W8AEAhCSL+ydgreuv # kKCyNiOF1sm8IrOh4TdtMIFn37d4Dwg= # =AkKK # -----END PGP SIGNATURE----- # gpg: Signature made Mon 19 Jan 2026 02:22:55 AM CST # gpg: using EDDSA key 97022C40ACF6D6A516A7596FAB07FEF04EF511F5 # gpg: Can't check signature: No public key
2026-01-17Merge tag 'u-boot-imx-master-20260117' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/29031 - Fix interrupt storms in Linux on the imx93_frdm board. - Defconfig update for tqma6 board. - Miscellaneous cleanups/improvements for imx93_evk. - Allow booting from both USB controlles on i.MX6 DHSOM. - Handle third MAC address for SMARC i.MX95
2026-01-17misc: ele_api: Add Voltage change start and finish APIsYe Li
On GDET enabled part, need to call voltage change start and finish APIs when adjust the voltage more than 100mv. Otherwise GDET will be triggered and system is reset Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-01-17Merge branch 'master' of git://source.denx.de/u-boot-usbTom Rini
- Add the "apple,t8103-dwc3" compatible to the xhci-dwc3 glue
2026-01-16Merge branch 'qcom-main' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-snapdragon We have been getting a lot more patches from Qualcomm engineers, largely focusing on IoT, router, and automotive platforms (those with QCS, IPQ, and SA prefixes specifically). Quite a variety of changes here: - Watchdog overflow fix - Hardcoded fastboot buffer addresses for a few board (hoppefully temporary until fastboot is updated to read $fastboot_addr_r) - Enable memory protection (MMU_MGPROT) for ARCH_SNAPDRAGON - pinctrl support for the QCS615 soc - various USB/phy fixes including phy config for msm8996/qcs615 - mmc and i2c clock configuration fixes - significant fixes for rpmh and regulator drivers - added config fragment for pixel devices - sa8775p clock fixes - support for "flattened" dwc3 DT that recently landed upstream for sc7280 (qcs6490) and a few other platforms
2026-01-16usb: dwc3-generic: support Qualcomm flattened DTCasey Connolly
Qualcomm devicetrees are moving away from having a glue node with dwc3 as a subnode and now may just have a single flattened node. Rockchip already have a glue_get_ctrl_dev op which returns the node for the glue device itself, commonise this and reuse it for the new Qualcomm node. Lastly adjust the qscratch base address since it now requires an offset from the dwc3 base. Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-16Merge tag 'u-boot-dfu-20260116' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu u-boot-dfu-20260116 CI: https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/29018 Android: * Fix missing dependency for BOOTMETH_ANDROID * Add bootconfig support * Add 'get ramdisk' command to abootimg DFU: * Improve error handling in dfu_fill_entity() USB Gadget: * ci_udc: Ensure ci_ep->desc is valid before using it * ci_udc: Add additional debug prints
2026-01-16Merge patch series "video: simple_panel support for am335x evm panel"Tom Rini
Markus Schneider-Pargmann (TI.com) <[email protected]> says: This series adds the capability to define hardcoded panel settings to the simple_panel driver similar to the Linux Kernel and adds the panel used on am335x evm. panel-uclass.c is extended to support get_modes() for panels and drm_display_mode conversion. In a second step the tilcdc is extended to support OF graph to be able to connect to the simple panel devicetree node. Link: https://lore.kernel.org/r/20260105-topic-am33-evm-lcd-v2026-01-v4-0-7617591b8159@baylibre.com
2026-01-16video: ti: am335x: Support OF graphMarkus Schneider-Pargmann (TI.com)
Add support for OF graph parsing. When using OF graph the default tilcdc_panel_info is used which is the same as defined in Linux. Signed-off-by: Markus Schneider-Pargmann (TI.com) <[email protected]>
2026-01-16video: simple_panel: Add tfc_s9700rtwv43tr_01bMarkus Schneider-Pargmann (TI.com)
Add timing data for tfc_s9700rtwv43tr_01b from Linux to the simple-panel driver. To support hardcoded timing data as Linux does, add a new struct simple_panel_drv_data which holds a struct display_timing pointer as well. The hardcoded timing data is preferred over DT parsing. Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Markus Schneider-Pargmann (TI.com) <[email protected]>
2026-01-16panel: Lightweight support of get_modes()Markus Schneider-Pargmann (TI.com)
Linux uses get_modes() to fetch all available panel modes from the driver. This is also used to fetch the modes from Linux's simple panel implementation where a list of drm_display_mode structs is used to define the different possible panels. To make our work easier, create a compatible way of fetching and defining these modes in u-boot. get_modes() fetches the available modes from the panel driver. The get_display_timing() call maps the drm_display_mode properties to the display_timing struct. This call now uses whatever panel operation is available, get_display_timing() or get_modes(). Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Markus Schneider-Pargmann (TI.com) <[email protected]>
2026-01-16usb: xhci-dwc3: Add "apple,t8103-dwc3" compatibleJanne Grunau
The Linux support for dwc3 on Apple silicon SoCs switched to using a apple specific glue driver [1] that uses it own compatible string. The glue driver handles platform specific requirements on the interaction between dwc3 and the USB2/USB3 PHY and reset-controller for USB role switches and plug events. To keep USB working as before when the nodes still carried "snps,dwc3" as compatible add "apple,t8103-dwc3" to the of match table. Eventually it is probably advisable to add a dwc3-apple glue driver and write code for the currently empty Apple Type-C PHY driver in phy-apple-atc.c. Link: https://lore.kernel.org/asahi/[email protected]/ [1] Reviewed-by: Neal Gompa <[email protected]> Reviewed-by: Mark Kettenis <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
2026-01-15net: phy: micrel_ksz90x1: support forced GIGE master for KSZ9031Markus Niebel
The micrel KSZ9031 phy has a optional clock pin (CLK125_NDO) which can be used as reference clock for the MAC unit. The clock signal must meet the RGMII requirements to ensure the correct data transmission between the MAC and the PHY. The KSZ9031 phy does not fulfill the duty cycle requirement if the phy is configured as slave. For a complete describtion look at the errata sheets: DS80000691D or DS80000692D. The errata sheet recommends to force the phy into master mode whenever there is a 1000Base-T link-up as work around. Only set the "micrel,force-master" property if you use the phy reference clock provided by CLK125_NDO pin as MAC reference clock in your application. Attention: this workaround is only usable if the link partner can be configured to slave mode for 1000Base-T. This follows linux implementation in commit e1b505a60366 ("net: phy: micrel: add 125MHz reference clock workaround") Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Max Merchel <[email protected]>
2026-01-15net: phy: micrel_ksz90x1: disable asymmetric pause for KSZ9031 and KSZ9021Markus Niebel
Disable the support due to chip errata and call genphy_config_aneg instead of genphy_config. For a complete describtion look at the KSZ9031 errata sheets: DS80000691D or DS80000692D. Micrel KSZ9021 has no errata, but has the same issue with Asymmetric Pause. This patch apply the same workaround as the one for KSZ9031. This follows linux implementation in commits 3aed3e2a143c ("net: phy: micrel: add Asym Pause workaround") 407d8098cb1a ("net: phy: micrel: add Asym Pause workaround for KSZ9021") Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Max Merchel <[email protected]>
2026-01-15net: phy: marvell10g: Fix PHY mode bitmap handlingMarek Vasut
Replace PHY interface mode bitmap handling with comparison test to match U-Boot PHY subsystem behavior. U-Boot currently implements only single PHY interface mode for each PHY. Linux currently uses bitmap of PHY interface modes for each PHY. The reason why in Linux uses bitmap of supported interface modes is so that Linux can select the best serdes mode switching behavior for the PHY. For example if the host only supports 10gbase-r serdes mode, then the PHY must always talk to the host in 10gbase-r mode, even if the RJ-45 copper speed was autonegotiated to lower speed (i.e. 1Gbps). If the host supports both 10gbase-r and sgmii serdes modes, we want the PHY to switch to sgmii if the RJ-45 speed is 1000/100/10, and to switch to 10gbase-r if the RJ-45 speed is 10000. U-Boot does not implement this functionality yet, therefore remove modes which cannot be currently supported and switch mv_test_bit() to plain mode comparison. Fixes: b6fcab0728cb ("net: phy: marvell10g: Adapt Marvell 10G PHY driver from Linux") Signed-off-by: Marek Vasut <[email protected]>
2026-01-15net: add Microsemi/Microchip MDIO driverRobert Marko
Add Microsemi/Microchip MDIO driver for interfaces found in their network switches. Driver is based on the Linux version. Signed-off-by: Robert Marko <[email protected]> Acked-by: Jerome Forissier <[email protected]>
2026-01-15dfu: Report error codesSean Anderson
A lot of things can go wrong while parsing dfu_alt_info. Make sure to pass the real error codes all the way up instead of replacing them with an unhelpful -1. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2026-01-14clk: qcom: sa8775p: Fix USB clock configuration and add resetsBalaji Selvanathan
Correct USB30 primary clock RCG configuration and add missing USB3_PRIM_PHY_AUX_CMD_RCGR RCG configuration. Above taken from Linux commit 08c51ceb12f7 ("clk: qcom: add the GCC driver for sa8775p") Add missing USB3_PRIM_PHY_PIPE_CLK gate clock definition. Extend reset map with USB-related BCR entries and video BCR for comprehensive reset control support. Signed-off-by: Balaji Selvanathan <[email protected]> Link: https://patch.msgid.link/[email protected] [casey: indentation fix] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14clk: qcom: sa8775p: Add QUP serial engine clock supportSwathi Tamilselvan
Add clock gate definitions and entries for QUP (Qualcomm Universal Peripheral) serial engine clocks across all four wrappers on SA8775P. This enables proper clock management for I2C, SPI, and UART peripherals connected to the QUP blocks. This resolves the "unknown clock ID 133" error for UART10 and provides complete QUP clock infrastructure for the platform. Signed-off-by: Swathi Tamilselvan <[email protected]> Signed-off-by: Balaji Selvanathan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14power: regulator: qcom-rpmh: correctly map pmic modeCasey Connolly
Currently we don't properly map between the regulator mode ID enum and the appropriate register values in the mode map, as a result we always unintentionally vote for retention mode if we actually attempt to set it. In the set_mode path we did find the appropriate entry in the mode map but we wrote the id instead of the register values. Clean this up and properly map id -> mode and vice versa. Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14power: regulator: qcom-rpmh: read votes from rpmhCasey Connolly
Make use of the new RPMh read support to fetch regulator values that may have been voted on by a previous bootloader stage. This allows commands like "regulator status" to report the actual votes programmed into hardware (though not necessarily the actual states of the regulators once the votes have been aggregated). Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14soc/qcom: rpmh: add RPMh readCasey Connolly
Implement support for RPMh reads, these allow reading out the current votes for RPMh controlled resources such as regulators and interconnects. Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14soc/qcom: rpmh: correctly wait for TCS flushCasey Connolly
Several bugs were discovered in the rpmh-rsc driver which collectively meant we were never actually waiting for the TCS to flush, these were likely missed because U-Boot runs single threaded and the RPMh had typically processed the single command we sent by the time we went to send the next one. However a future patch will implement rpmh read support which requires us to properly wait for the RPMh command response so we can return the value. Fix these issues so we correctly ensure the TCS is done before returning. Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14soc/qcom: rpmh: document rsc registersCasey Connolly
Add some comments explaining a few of the RSC registers Reviewed-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14soc: qcom: rpmh-rsc: reclaim the TCS to avoid spurious irq in LinuxNeil Armstrong
If we don't reclaim and clear the IRQ bits, we might get a spurious interrupt from this TCS in Linux: WARNING: CPU: 0 PID: 0 at drivers/soc/qcom/rpmh-rsc.c:451 tcs_tx_done+0x98/0x270 ... Call trace: tcs_tx_done+0x98/0x270 (P) __handle_irq_event_percpu+0x60/0x220 handle_irq_event+0x54/0xc0 handle_fasteoi_irq+0xa8/0x1c0 handle_irq_desc+0x3c/0x68 generic_handle_domain_irq+0x24/0x40 gic_handle_irq+0x5c/0xd0 ... Signed-off-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14i2c: geni: bail when clocks can't be enabledCasey Connolly
Failing to enable clocks will lead to bus hangs and the board crashing in some cases, let's actually deal with this error and fail probe rather than hoping the clocks are already enabled. Reviewed-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14clk/qcom: sc7280: add more QUP clocksCasey Connolly
Add more clocks for UART2, i2c9 and a few others. This is enough to get the rubikpi 3 working. Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14spmi: msm: refine handling of multiple APID mappingsAswin Murugan
PMIC Arbiter may expose multiple owned and non-owned APIDs per SID/PID. - Keep current mapping if it is OWNED and a NON-OWNED appears. - Always update when a NEW OWNED APID appears (make writable). - If current is NON-OWNED and a new NON-OWNED appears, update to it (remain read-only). This avoids write-access violations when not using the newly discovered owned channels. Signed-off-by: Aswin Murugan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14mmc: msm_sdhci: Add DLL control hook to disable DLL below 100 MHzSumit Garg
Introduce an SDHCI ops hook (config_dll) for MSM SDHCI and implement a minimal DLL control routine that ensures the core DLL is disabled when the bus clock is at or below 100 MHz. This approach mirrors the Linux MSM SDHCI driver. Signed-off-by: Sumit Garg <[email protected]> Signed-off-by: Loic Poulain <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14clk/qcom: qcm2290: Add SDCC1 apps clock frequency tableLoic Poulain
Add support for configuring the SDCC1 apps clock on QCM2290 by introducing a frequency table and enabling dynamic rate setting. Previously, the clock was assumed to be fixed at 384 MHz by firmware, which limited flexibility and correctness when selecting optimal rates for SD/MMC operations. Suggested-by: Sumit Garg <[email protected]> Signed-off-by: Loic Poulain <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14mmc: msm_sdhci: Fix incorrect divider calculation for SDCLKLoic Poulain
When 'max-clk' is not specified, the SDHCI core retrieves the base clock from the SDHCI_CAPABILITIES register (bits [15:8]). However, this field is unreliable on MSM SDHCI controllers, as noted by the Linux driver using the SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN flag. In addition, the field is only 8 bits wide and cannot represent base clocks above 255 MHz. On platforms like Agatti/QCM2290, the firmware sets the SDHCI clock to 384 MHz, but the capabilities register reports 200 MHz. As a result, the core calculates a divider of 4, producing a 96 MHz SDCLK instead of the intended ~52 MHz. This overclocking can cause sporadic CRC errors with certain eMMC. To fix this, use the actual clock rate reported by the SDHCI core clock instead of relying on the capabilities register for divider calculation. Signed-off-by: Loic Poulain <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14phy: Add MSM8996 support to Qualcomm QUSB2 phyBiswapriyo Nath
This change is imported from Linux driver and tested with SM6125 SoC. Note, the msm8996_phy_cfg struct is same as sdm660_phy_cfg but qusb2_phy_cfg::se_clk_scheme_default differs only. Signed-off-by: Biswapriyo Nath <[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-01-14phy: qcom: snps-femto-v2: assert reset in probeCasey Connolly
The power on function for the phy only deasserts the reset, so the phy might be in a weird state that we don't clean up properly. Assert the reset in probe() so that when we power on we will have the phy in a clean state. Reviewed-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14smem: msm: Fix memory-region lookup, direct <reg> mapping and update SMEM ↵Aswin Murugan
host count The SMEM driver was failing to resolve memory regions on some boards because `dev_of_offset()` + `fdtdec_lookup_phandle()` did not yield a valid DT node. Modernize the code to use driver-model/ofnode accessors and make the probe robust for both DT styles (direct `reg` vs `memory-region` phandle). - qcom_smem_map_memory(): * Drop fdtdec path; use dev_read_phandle_with_args() + ofnode_read_resource(). * Use dev_read_phandle_with_args() + fnode_read_resource(). - qcom_smem_probe(): * Try dev_read_addr_size() first (map via <reg>), else fall back to qcom_smem_map_memory() with "memory-region". * Check "qcom,rpm-msg-ram" presence to add second region. - Additionally, SMEM_HOST_COUNT is increased to support newer SMEM versions that include more remote processors. This avoids failures during processor ID checks. Signed-off-by: Aswin Murugan <[email protected]> Reviewed-by: Varadarajan Narayanan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14pinctrl: qcom: add PINCTRL_QCOM_GENERIC to enable all drivers by defaultAswin Murugan
Introduce a new Kconfig option PINCTRL_QCOM_GENERIC that, when selected, enables all Qualcomm pinctrl drivers by default. This simplifies defconfigs for platforms supporting multiple SoCs and avoids manual driver selection. Individual drivers can still be disabled if required. Signed-off-by: Aswin Murugan <[email protected]> Reviewed-by: Casey Connolly <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14pinctrl: qcom: add driver for QCS615 SoCAswin Murugan
Add pinctrl driver for QCS615. Driver code is based on the similar U-Boot and Linux drivers. Signed-off-by: Aswin Murugan <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-01-14regulator: qcom-rpmh-regulator: add support for PM8150 PM8350 PM7325Aswin Murugan
Add the PM8150, PM8350, and PM7325 regulator data found on Qualcomm platforms. These regulator tables are imported from the Linux driver to enable support for these PMICs in U-Boot. Signed-off-by: Aswin Murugan <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>