summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2026-03-04treewide: Remove Timesys from ADI ADSP maintenancePhilip Molloy
After years of developing the ADI ADSP platform, Timesys was purchased by another company and is no longer contracted to maintain the platform. Signed-off-by: Philip Molloy <[email protected]> Reviewed-by: Greg Malysa <[email protected]>
2026-03-04Merge tag 'u-boot-ufs-20260304' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-ufs A few fixes/missing changes for UFS: - remove unused ufs_post_bind() declaration - Disable UTP command timeout in slow mode - Missing MediaTek UFS PHY Driver to be used with the UFS driver
2026-03-03Merge tag 'u-boot-dfu-next-20260303' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu into next u-boot-dfu-next-20260303 CI: https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/29417 Fastboot: * mmc: make boot partition offset configurable for bootloader offsets * arch: imx8qxp: Override weak fb_mmc_get_boot_offset
2026-03-03drivers: cpu: fix syntax error in Kconfig documentationHugo Villeneuve
Replace then -> they so that the sentence makes sense. Signed-off-by: Hugo Villeneuve <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-03-03dm: core: Don't allow ofnode_to_fdt() to return NULLRomain Gantois
The ofnode_to_fdt() function may return a NULL pointer in multiple cases. Or, this function's return value is often passed directly to functions such as fdt_getprop() which end up dereferencing it, thus causing a NULL pointer exception. Don't allow ofnode_to_fdt() to return NULL, to avoid a NULL pointer dereference. Reviewed-by: Raphaël Gallais-Pou <[email protected]> Signed-off-by: Romain Gantois <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-03-03usb: gadget: Mark udc_disconnect as staticTom Rini
With the last external callers of udc_disconnect long removed, mark this function as static now and remove it from headers. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2026-03-02drivers: ufs: remove unused ufs_post_bind() declarationJulien Stephan
Commit 067c1b033282 ("ufs: Call ufs_scsi_bind() from uclass .post_bind") inlined ufs_scsi_bind() into ufs_post_bind() as trivial device_bind_driver() call. ufs_scsi_bind() is no longer referenced anywhere in the codebase, so drop its declaration from include/ufs.h. Drivers used to include <ufs.h> to include prototype of ufs_scsi_bind() function, so we can now safely remove such includes. Fixes: 067c1b033282 ("ufs: Call ufs_scsi_bind() from uclass .post_bind") Signed-off-by: Julien Stephan <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2026-03-02phy: Add MediaTek UFS PHY DriverIgor Belwon
This UFS M-PHY driver can be used on recent MediaTek SoCs as the primary PHY for the UFS controller. Signed-off-by: Igor Belwon <[email protected]> Link: https://patch.msgid.link/20251011-mtk-ufs-uboot-v1-1-a05f991ee150@mentallysanemainliners.org Signed-off-by: Neil Armstrong <[email protected]>
2026-03-02ufs: Disable UTP command timeout in slow modePadmarao Begari
When the UFS controller is operating in slow (PWM) mode, the driver is disabled the timeout for UTP send commands. In high-speed mode, the timeout remains enabled to detect stalled or failed transfers. This change ensures reliable operation in slow mode, where command completion may take longer and timeouts are not required. Signed-off-by: Padmarao Begari <[email protected]> Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/e6deb9086afab9d2bdd53db8ecbc7db93af5204d.1764169598.git.michal.simek@amd.com Signed-off-by: Neil Armstrong <[email protected]>
2026-02-28pinctrl: nxp: imx9: Guard pinctrl match table with CONFIG_IMX9[X]Peng Fan
The i.MX9 pinctrl match table currently lists all SoC compatibles unconditionally, which may lead to unused entries being included when building for specific SoC variants. Guard each compatible entry with the corresponding CONFIG_IMX9[X] option so only the required SoC entries are compiled in, which reduces unnecessary data. Signed-off-by: Peng Fan <[email protected]>
2026-02-28pinctrl: nxp: imx91: Support print pin muxingPeng Fan
Add support for printing pin names and current mux configuration on i.MX91 when CMD_PINMUX is enabled by adding full pin descriptor table for i.MX91 pads. Signed-off-by: Peng Fan <[email protected]>
2026-02-28pinctrl: nxp: imx93: Support print pin muxingPeng Fan
Add support for printing pin names and current mux configuration on i.MX93 when CMD_PINMUX is enabled. - A full pin descriptor table for i.MX93 pads. - Implementation of get_pins_count(), get_pin_name(), and get_pin_muxing() in the i.MX9 pinctrl driver. There is no good way to add real mux names, so just dump the function ID from the mux register. Signed-off-by: Peng Fan <[email protected]>
2026-02-28pinctrl: nxp: imx93: Rename to imx9Peng Fan
We are going to add pinctrl data support for both i.MX93 and i.MX91. Since these SoCs share the same pinctrl driver structure, rename pinctrl-imx93.c to a more generic pinctrl-imx9.c and update all related variable and function names accordingly. This prepares the driver for supporting additional i.MX9 family SoCs. Signed-off-by: Peng Fan <[email protected]>
2026-02-28pinctrl: nxp: imx8m: Guard pinctrl match table with CONFIG_IMX8M[X]Peng Fan
The i.MX8M pinctrl match table currently lists all SoC compatibles unconditionally, which may lead to unused entries being included when building for specific SoC variants. Guard each compatible entry with the corresponding CONFIG_IMX8M[X] option so only the required SoC entries are compiled in, which reduces unnecessary data. Signed-off-by: Peng Fan <[email protected]>
2026-02-28pinctrl: nxp: imx8mq: Support print pin muxingPeng Fan
Add support for printing pin names and current mux configuration on i.MX8MQ when CMD_PINMUX is enabled by adding full pin descriptor table for i.MX8MQ pads. Signed-off-by: Peng Fan <[email protected]>
2026-02-28pinctrl: nxp: imx8mm: Support print pin muxingPeng Fan
Add support for printing pin names and current mux configuration on i.MX8MM when CMD_PINMUX is enabled by adding full pin descriptor table for i.MX8MM pads. Signed-off-by: Peng Fan <[email protected]>
2026-02-28pinctrl: nxp: imx8mn: Support print pin muxingPeng Fan
Add support for printing pin names and current mux configuration on i.MX8MN when CMD_PINMUX is enabled by adding full pin descriptor table for i.MX8MN pads. Signed-off-by: Peng Fan <[email protected]>
2026-02-28pinctrl: nxp: imx8mp: Support print pin muxingPeng Fan
Add support for printing pin names and current mux configuration on i.MX8MP when CMD_PINMUX is enabled. - imx_pinctrl_pin_desc structure and PINCTRL_PIN()/IMX_PINCTRL_PIN() helpers for defining pin descriptors. - A full pin descriptor table for i.MX8MP pads. - Implementation of get_pins_count(), get_pin_name(), and get_pin_muxing() in the i.MX8M pinctrl driver. There is no good way to add real mux names, so just dump the function ID from the mux register. Signed-off-by: Peng Fan <[email protected]>
2026-02-28pinctrl: nxp: Kconfig: Typo fixPeng Fan
PINCTRL_IMX93 is for i.MX9[3,1], not for i.MX8M, correct the typo. Signed-off-by: Peng Fan <[email protected]>
2026-02-28mmc: fsl_esdhc_imx: Skip voltage switching for fixed 1.8V regulatorKory Maincent
When using a fixed 1.8V regulator for vqmmc (indicated by vs18_enable), attempting to change the voltage produces spurious errors since the regulator cannot be adjusted. The driver currently attempts the voltage change, receives -ENOSYS from the regulator subsystem, and reports: Setting to 1.8V error: -38 esdhc_set_voltage error -5 Fix this by checking vs18_enable early in esdhc_set_voltage() and returning -ENOTSUPP for all voltage switch requests, not just 3.3V. This prevents unnecessary regulator operations and eliminates the error messages when the hardware is correctly configured with a fixed 1.8V supply. Signed-off-by: Kory Maincent <[email protected]>
2026-02-28video: imx: ipuv3: use clock frameworkBrian Ruley
Clocks are now configurable via the common clock framework, however, users have the option use the legacy clocks if desired. The intent is to keep the changes minimal for this old SoC. Signed-off-by: Brian Ruley <[email protected]>
2026-02-28video: imx: ipuv3: move clock code to legacyBrian Ruley
In preparation for CCF migration for IPUv3 separate existing clock code to legacy files. These will be used by i.MX5 that currently does not support the CCF. No functional change. Signed-off-by: Brian Ruley <[email protected]>
2026-02-28pwm: pwm-imx: enable ipg or per clks only if CONFIG_CLK enabledBrian Ruley
This caused linker errors in cases where IPUv3 was enabled (which defines its own clocks). Fixes: bfc778cb93a ("driver: pwm: pwm-imx: get and enable per/ipg clock using dm") Signed-off-by: Brian Ruley <[email protected]>
2026-02-28clk: imx6q: add ipu and ldb clocks and dependenciesBrian Ruley
This is required for the IPUv3 driver to migrate to CCF, changes are largely based on the Linux kernel equivalent. Add new gate2_flags function (also present in the Linux code) to set required flags. Add usboh clock to get rid of error. Signed-off-by: Brian Ruley <[email protected]>
2026-02-28clk: imx6q: apply clang-formatBrian Ruley
Reduces the number of checkpatch warnings in the following commits. Signed-off-by: Brian Ruley <[email protected]>
2026-02-28imx: scu_api: implement sc_misc_get_boot_typeHeiko Schocher
add function sc_misc_get_boot_type() which returns the boot type. Signed-off-by: Heiko Schocher <[email protected]> Signed-off-by: Walter Schweizer <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-02-26iommu: Validate device tree node in dev_iommu_enablePeng Fan
Similar to pinctrl_select_state(), add dev_has_ofnode() check before doing the real work. Device(scmi_base.0) does not have a real device node, ofnode_null() is assigned as the device tree node for scmi base protocol device: 'commit 7eb4eb541c14 ("firmware: scmi: install base protocol to SCMI agent")' However with recent update in 'commit 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c")', SPL panic in fdt_check_node_offset_()->fdt_next_tag(), because offset is -1 and SPL_OF_LIBFDT_ASSUME_MASK is 0xFF. So need to validate device tree node. Reported-by: Ye Li <[email protected]> Closes: https://lore.kernel.org/u-boot/[email protected]/ Signed-off-by: Peng Fan <[email protected]>
2026-02-26power: domain: Validate device tree node in dev_power_domain_ctrlPeng Fan
Similar to pinctrl_select_state(), add dev_has_ofnode() check before doing the real work. Device(scmi_base.0) does not have a real device node, ofnode_null() is assigned as the device tree node for scmi base protocol device: 'commit 7eb4eb541c14 ("firmware: scmi: install base protocol to SCMI agent")' However with recent update in 'commit 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c")', SPL panic in fdt_check_node_offset_()->fdt_next_tag(), because offset is -1 and SPL_OF_LIBFDT_ASSUME_MASK is 0xFF. So need to validate device tree node. Reported-by: Ye Li <[email protected]> Closes: https://lore.kernel.org/u-boot/[email protected]/ Signed-off-by: Peng Fan <[email protected]>
2026-02-26firmware: scmi: Validate device tree node before setup channelPeng Fan
SCMI base protocol device does not have a device tree, it should use and need to use the agent base channel. For scmi_base.[x], there is no real device tree node for it. ofnode_null() is assigned as the device tree node for scmi base protocol device: commit 7eb4eb541c14 ("firmware: scmi: install base protocol to SCMI agent") However with recent update in commit 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c"), SPL panic in fdt_check_node_offset_()->fdt_next_tag(), because offset is -1 and SPL_OF_LIBFDT_ASSUME_MASK is 0xFF. So add a check in x_get_channel() to validate the protocol devices' ofnode. Reported-by: Ye Li <[email protected]> Closes: https://lore.kernel.org/u-boot/[email protected]/ Signed-off-by: Peng Fan <[email protected]>
2026-02-26mmc: mtk-sd: add mediatek,mt8189-mmc compatibleDavid Lechner
Add support for MediaTek MT8189 MMC controller. According to [1], this is similar to, but not quite the same as mediatek,mt8196-mmc. Link: https://lore.kernel.org/linux-mediatek/[email protected]/ [1] Signed-off-by: David Lechner <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-02-25Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-samsungTom Rini
- Assorted platform and video driver updates
2026-02-25power: regulator: Kconfig: add SPL_DM_REGULATOR_FAN53555Heinrich Schuchardt
Symbol CONFIG_SPL_DM_REGULATOR_FAN53555 is selected by SPL_DM_PMIC_FAN53555 and used in a Makefile. But the symbol definition is missing. Add the missing configuration symbol. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Peng Fan <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-02-25power: pmic: mtk-pwrap: add MediaTek PMIC Wrapper driverJulien Masson
Add support for the PMIC wrapper (pwrap) IP block found on MediaTek MT8365 and similar SoCs. On these SoCs the PMIC is connected via SPI. The SPI controller is not directly visible to the CPU, but only through the PMIC wrapper inside the SoC. Signed-off-by: Julien Masson <[email protected]> Co-developed-by: Macpaul Lin <[email protected]> Signed-off-by: Macpaul Lin <[email protected]> Co-developed-by: Bo-Chen Chen <[email protected]> Signed-off-by: Bo-Chen Chen <[email protected]> Signed-off-by: David Lechner <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-02-25power: regulator: mt6359: add driver for MT6359PBo-Chen Chen
Add a new regulator driver for MT6359P and similar PMIC chips. The MT6359P is a eco version for MT6359 regulator. For the MT8391 platform, we use the MT6359P (MT6365) as the main PMIC. The MT6359 and MT6359P have different register maps. Therefore, on the MT8391 platform, we only provide support for the MT6359P. If support for the MT6359 PMIC it can be added later. Signed-off-by: Bo-Chen Chen <[email protected]> Signed-off-by: David Lechner <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-02-25power: regulator: add MediaTek MT6357 driverJulien Masson
Add a driver for the power regulators of the MediaTek MT6357 PMIC chip. Signed-off-by: Julien Masson <[email protected]> Co-developed-by: Macpaul Lin <[email protected]> Signed-off-by: Macpaul Lin <[email protected]> Signed-off-by: David Lechner <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-02-25phy: samsung: add support for exynos7870 USB PHYKaustabh Chakraborty
The USB PHY used by the Exynos7870 SoC has a single USB 2.0 interface. Add its dedicated variant enum, compatible, and init/exit functions. The PHY enable bit of Exynos7870's PHY is different in contrast to that of Exynos850 and most Exynos PHYs. To allow this change, a simple if condition is added in exynos_usbdrd_phy_isol() which changes the bitmask. Since the variant enum is required, the function argument is changed to accept the driver data itself. Reviewed-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2026-02-25phy: samsung: add enum for variants based on SoCsKaustabh Chakraborty
The variant enum is used to uniquely identify which SoC the PHY block belongs to. It is initially set in the match table, along with the compatible string, it gets copied to driver data struct during probe. SoC specific functions must only be called if the respective variant enum is set. Add switch-case blocks wherever required. Reviewed-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2026-02-24reset: stm32mp21: add stm32mp21 reset driverPatrice Chotard
Implement STM32MP21 reset drivers using stm32-core-reset API. Signed-off-by: Gabriel Fernandez <[email protected]> Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2026-02-24clk: stm32mp21: Add clock driver supportPatrice Chotard
Add clock driver support for STM32MP21 SoCs. Signed-off-by: Nicolas Le Bayon <[email protected]> Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2026-02-24pinctrl: pinctrl_stm32: prevent the use of the secure protected pinsFabien Dessenne
The hardware denies any access from the U-Boot non-secure world to the secure-protected pins. Hence, prevent any driver to configure such a pin. Identify the secure pins with "NO ACCESS" through the 'pinmux status -a' command. Use a driver data structure to identify which hardware versions support this feature. Signed-off-by: Fabien Dessenne <[email protected]> Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2026-02-24gpio: stm32-gpio: prevent the use of the secure protected pinsFabien Dessenne
The hardware denies any access from the U-Boot non-secure world to the secure-protected pins. Hence, prevent any driver to request such a pin. Signed-off-by: Fabien Dessenne <[email protected]> Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2026-02-23Merge patch series "net: mdio-mt7531-mmio: consolidate and improve probe"Tom Rini
Christian Marangi <[email protected]> says: This small series consolidate header usage of mdio-mt7531-mmio driver and improve usage in preparation for support of OF PHY autoprobe. This driver is still not used (as it will be used by AN7581/AN7583) in the OF mode (it's used by MT7988 for the MDIO functions) For OF PHY to be correctly autoprobed, the MDIO driver needs to attached to the MDIO node (the parent of the PHY nodes) With such change the MDIO driver can be binded with the MDIO node instead of the switch node as previously required. Link: https://lore.kernel.org/r/[email protected]
2026-02-23net: mdio-mt7531-mmio: improve parsing of switch register on probeChristian Marangi
The MDIO node is ALWAYS a parent of the MT7531 switch node and the MDIO registers are in the MT7531 register space (in the context of MT7988 it's all memory-mapped) With these assumption, we can simplify and permit better usage of PHY OF automatic probing by binding the mt7531-mdio-mmio driver with the MDIO node instead of the switch node. For OF PHY to be correctly autoprobed, the MDIO driver needs to attached to the MDIO node (the parent of the PHY nodes). The driver will reach the parent node (the switch node) and will parse the register address from there. Signed-off-by: Christian Marangi <[email protected]>
2026-02-23net: mdio-mt7531-mmio: use common header priv structChristian Marangi
Instead of having duplicate priv struct for mdio-mt7531-mmio driver in both driver and header, use the one exposed by the header directly. This make sure we have consistent priv struct if the driver will be updated in the future. Signed-off-by: Christian Marangi <[email protected]>
2026-02-23Merge tag 'v2026.04-rc3' into nextTom Rini
Prepare v2026.04-rc3
2026-02-20spi: add support for ISSI IS25WP02GG flashJeffrey Yu
This patch adds support for the ISSI IS25WP02GG QSPI NOR flash device. Tested on the Versal VMK180 board in dual-parallel QSPI configuration. Signed-off-by: jeffrey yu <[email protected]>
2026-02-20mtd: spi-nor-ids: Add Fujitsu MB85RS256TY FRAMChristoph Reiter
This part is an FRAM, but can be used through the spi-nor generic code. Signed-off-by: [email protected]
2026-02-19fastboot: mmc: make boot partition offset configurableAdrian Freihofer
i.MX8QXP rev C.0 requires boot container stored at offset 0KB for eMMC, while i.MX8QXP pre C.0 requires boot container stored at offset 32KB for eMMC. To use one U-Boot binary to support different chip revisions, introduce fb_mmc_get_boot_offset() to allow override the default offset when writing to eMMC boot partitions. This enables support for devices with non-standard boot partition layouts, such as those requiring an offset for correct bootloader placement. Signed-off-by: Adrian Freihofer <[email protected]> Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2026-02-18Merge patch series "bootcount: Small clean-up and fix, and dm_i2c ↵Tom Rini
single-word support" Niko Mauno <[email protected]> says: In this series, we first introduce a clean-up where we switch to use predefined bit masks instead of hard-coded values for count and magic halves in the single-word (32-bit) boot count scheme. Then we fix a case of missing boot count value masking in single-word scenario in bootcount.c, which allowed clobbering of the magic half when storing the value. With this change the clobbering preventing behavior becomes consistent with existing single word bootcount storing implementations in bootcount_at91.c and bootcount_davinci.c. Finally, we enable the DM I2C bootcount driver to work also in single word (4 byte) mode, in addition to the pre-existing half-word (2 byte) mode. By default the driver still operates in half word mode as so far, but can now be used alternatively in single word mode by adding 'size = <0x4>;' in the associated device tree node. Link: https://lore.kernel.org/r/[email protected]
2026-02-18bootcount: dm_i2c: Support also single word modeNiko Mauno
In addition to pre-existing half-word (2 byte) mode, add support for the driver to work also in single word (4 byte) mode by adding 'size = <0x4>;' in the device tree node. Signed-off-by: Niko Mauno <[email protected]>