summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
48 hoursMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-shHEADmasterTom Rini
Assorted fixes and tweaks, HUSH parser, preboot env variable, SMC command enablement, s_init and 32bit/64bit code clean up, DBSC and APMU remoteproc clean ups, UFS dev_phys_to_bus() remap support and SCIF R-Car Gen5 support.
2 daysMerge tag 'fsl-qoriq-for-2026.07-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq CI: https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq/-/pipelines/29808 - Add env variables to assist boot for various LS boards - Add gpio scmi driver - Fix setting the function for scmi pinctrl - Use standard device tree pin muxing format for scmi pinctrl - Fix protocol version fetch for non-CCF platforms in scmi clk
2 daysdrivers: net: fsl-mc: add the nowait option when applying the DPLIoana Ciornei
The process through which the MC firmware parses the DPL and initializes all the requested DPAA2 objects is a complex one which can take quite a bit of time. For the those circumstances in which a fast boot is required on DPAA2 based SoCs, add the 'nowait' optional parameter for the fsl_mc [lazy]apply dpl command. When this option is used, the Linux kernel fsl-mc bus must wait for the firmware to finish parsing the DPL before proceeding with probing all the DPAA2 objects. Signed-off-by: Ioana Ciornei <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2 daysdrivers: net: fsl-mc: cleanup the fsl_mc command help textIoana Ciornei
All the parameters that can be currently passed to the fsl_mc command are positional arguments which are mandatory. This is not perfectly clear when reading the help text because of the use of square brackets. Fix this by changing the square brackets, which are commonly used for optional parameters, with < .. >. Signed-off-by: Ioana Ciornei <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2 daysdrivers: net: fsl-mc: remove unused parameter from the wait_for_mc() functionIoana Ciornei
The first parameter of the wait_for_mc() function - booting_mc - is not used. Remove it. Signed-off-by: Ioana Ciornei <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2 dayspinctrl: scmi: Use standard device tree pin muxing formatDan Carpenter
In the original code, I wrote a custom pin muxing parser but the upstream device trees wouldn't accept something like that so it would have complicated mergine the device tree files. Use the standard device tree format with function and groups: pinmux1: pinmux1 { function = "f_gpio1"; groups = "grp_1", "grp_3"; }; Signed-off-by: Dan Carpenter <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2 daysfirmware: scmi: Fix setting the functionDan Carpenter
Set BIT(10) when the function needs to be set, otherwise the setting is ignored. Fixes: 0cb160f1b629 ("scmi: pinctrl: add pinctrl driver for SCMI") Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Peng Fan <[email protected]>
3 daysgpio: scmi: Add gpio_scmi driverDan Carpenter
This provides GPIO support over SCMI. It is built on top of the pinctrl-scmi driver. A typical device tree entry might look like this: gpio1 { compatible = "scmi-pinctrl-gpio"; gpio-controller; #gpio-cells = <2>; ngpios = <10>; gpio-ranges = <&scmi_pinctrl 0 8 4>, <&scmi_pinctrl 4 12 1>, <&scmi_pinctrl 5 15 1>, <&scmi_pinctrl 6 17 4>; pinctrl-names = "default"; pinctrl-0 = <&i2c2_pins>; }; In this GPIO driver the one thing which is different is that in the gpio-ranges the first numbers which represent how the pins are exposed to the users have to start at zero and it can't have gaps. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Peng Fan <[email protected]>
3 daysclk: scmi: Fix protocol version fetch for non-CCF platformsKamlesh Gurudasani
The SCMI clock protocol version was only being fetched when CLK_CCF was enabled. On non-CCF platforms, the probe function returned early without fetching the version, leaving priv->version as 0. This caused issues because code paths like scmi_clk_gate() and scmi_clk_get_permissions() depend on priv->version to determine which protocol message format to use, even in non-CCF mode. Fix this by moving the scmi_generic_protocol_version() call before the CLK_CCF check, ensuring the version is fetched for both CCF and non-CCF platforms. Tested on am62lx_evm. Fixes: ae7e0330ce22 ("clk: scmi: add compatibility with clock protocol 2.0") Signed-off-by: Kamlesh Gurudasani <[email protected]> Signed-off-by: Peng Fan <[email protected]>
3 daysufs: Remap CPU to bus addresses using dev_phys_to_bus()Marek Vasut
Use dev_phys_to_bus() to convert CPU addresses of DMA descriptors into bus addresses of DMA descriptors. This is necessary on hardware which does not have 1:1 mapping between CPU and memory addressed by the DMA. This has no impact on other hardware which does not need this conversion. Signed-off-by: Marek Vasut <[email protected]>
3 daysserial: sh: Handle HSCIF on all 64-bit R-Car SoCMarek Vasut
The HSCIF variant present on Renesas R-Car Gen5 SoC is compatible with the HSCIF variant present on Renesas R-Car Gen4 SoC. Enable HSSRR register programming for HSCIF present on all 64-bit R-Car SoCs, which covers R-Car Gen3, Gen4 and newly also Gen5. Signed-off-by: Marek Vasut <[email protected]>
3 daysremoteproc: renesas: apmu: Fix typo in Kconfig symbol help textMarek Vasut
Fix typo in Kconfig symbol help text, change incorrect A52 to correct R52. No functional change. Signed-off-by: Marek Vasut <[email protected]> Acked-by: Peng Fan <[email protected]>
3 daysMerge patch series "env: scsi: support SCSI env without partition UUID"Tom Rini
David Lechner <[email protected]> says: This is a series adding support for reading U-Boot env directly from SCSI devices that do not have a partition table, similar to how we can already do this for MMC devices. The motivation behind this is that MediaTek's BSP is already using the same disk images for both MMC and UFS devices, so we need to be able to read the env from SCSI devices without requiring a partition UUID. The series starts with cleaning up a few oddities we noticed in the existing code. Then some refactoring so that the env code manages calling scsi_scan() so that we don't have to duplicate that for the new code path. Then finally, the last few patches add and document the new functionality. Link: https://lore.kernel.org/r/[email protected]
3 daysscsi: move scsi_scan() call out of scsi_get_blk_by_uuid()David Lechner
Move scsi_scan() call out of scsi_get_blk_by_uuid(). The only caller, env_scsi_get_part(), should be managing this call since it may also want to use different ways to get the partition information in the future. Signed-off-by: David Lechner <[email protected]>
3 daysscsi: return ENODEV in scsi_get_blk_by_uuid()David Lechner
Change scsi_get_blk_by_uuid() to return -ENODEV instead of -1 on error. Other scsi_* functions return an error code rather than -1. 1 is EPERM, which doesn't make sense here. So we use ENODEV instead. The only caller only checks for !success, so changing the value has no effect on the caller. Signed-off-by: David Lechner <[email protected]>
4 daysdm: Respect dma-ranges sizeMarek Vasut
Rework dev_phys_to_bus() and dev_bus_to_phys() to respect the size of the area specified in dma-ranges DT property. The area outside of ranges is remapped 1:1, while the area in the ranges is remapped according to the description in the dma-ranges property. Adjust the test to test the area within the remapped range, not area outside the remapped range, which was incorrect. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Markus Schneider-Pargmann <[email protected]>
4 daysMerge tag 'mediatek-for-master-2026-04-07' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-mediatek This is the first wave of MediaTek changes for this merge window. We also expect to be sending another decent-sized pull request later for the backlog of patches that are currently waiting on dependencies or need little more time for review. * Fixes for cargo-culted issues in mach-mediatek init.c files. * Some consistency cleanups of recently added Genio boards (510/700/1200). * Some pinctrl improvements to support newer MediaTek SOCs (mt8189 compatible). * New devicetree and config for Genio 520/720 EVK boards (can boot to eMMC or SD). * New CPU-specific functions to read vendor-specific CPU info at runtime.
4 daysarm: mach-sc5xx: Align header paths with SYS_SOC conventionPhilip Molloy
Define CONFIG_SYS_SOC in the mach-sc5xx Kconfig. Follow the standard U-Boot include path convention by moving the SC5xx SoC headers from arch/arm/include/asm/arch-adi/sc5xx/ to the conventional arch/arm/include/asm/arch-sc5xx/ location. Update includes from <asm/arch-adi/sc5xx/*.h> to <asm/arch/*.h> across mach-sc5xx and board files. Signed-off-by: Philip Molloy <[email protected]>
4 daysglobal: Correct duplicate U_BOOT_DRIVER entry namesTom Rini
The U_BOOT_DRIVER macro creates a list of drivers used at link time, and all entries here must be unique. This in turn means that all entries in the code should also be unique in order to not lead to build failures later with unexpected build combinations. Typically, the problem we have here is when a driver is obviously based on another driver and didn't update this particular field and so while the name field reflects something unique the linker entry itself is not. In a few places this provides a more suitable string name as well, however. Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Svyatoslav Ryhel <[email protected]> # Tegra Reviewed-by: Peter Robinson <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
4 daysserial: omap: Fix "unused" warnings with SERIAL_PRESENT=n and OF_REAL=yTom Rini
The definition of our ID table (and of_to_plat function) is guarded with OF_REAL however the U_BOOT_DRIVER that would in turn use the table is guarded with SERIAL_PRESENT. To avoid a potential warning we must also guard both with SERIAL_PRESENT. Signed-off-by: Tom Rini <[email protected]>
4 daysserial: ns16550: Fix an "unused" warning with SERIAL_PRESENT=n and OF_REAL=yTom Rini
The definition of our ID table is guarded with OF_REAL however the U_BOOT_DRIVER that would in turn use the table is guarded with SERIAL_PRESENT. To avoid a potential warning we must also guard the ID table with SERIAL_PRESENT. Signed-off-by: Tom Rini <[email protected]>
4 daysinput: Correct dependencies for CROS_EC_KEYBTom Rini
The CROS_EC_KEYB functionality can only work with CROS_EC enabled, so express this dependency in Kconfig, for all build phases. Signed-off-by: Tom Rini <[email protected]>
4 daysclk: mediatek: mt8189: add some VLP clocksDavid Lechner
Add some VLP clocks needed by the PMIC on MT8189 and similar SoCs. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260323-mtk-mt8391-initial-support-v3-1-19dd92f4543f@baylibre.com Signed-off-by: David Lechner <[email protected]>
4 dayspinctrl: mediatek: mtk8189: set get_pinconf functionsDavid Lechner
Set the get_pinconf functions for the mt8189 pinctrl driver. This will append pinconf bias info to the output of the pinmux status command. This is useful for debugging pin configuration issues. Reviewed-by: Macpaul Lin <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
4 dayspinctrl: mediatek: print bias info along with pinmuxDavid Lechner
Add functionality to be able to print pin bias settings along with the pinmux setting. This can be useful to debug why pins might not be working correctly. Reviewed-by: Macpaul Lin <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
4 dayspinctrl: mediatek: mt8189: fix pinconf biasDavid Lechner
Fix setting pinconf bias for MT8189. Using mtk_pinconf_bias_set_v1() was wrong because MT8189 does not have PULLEN/PULLSEL registers. It has PU and PD registers for most pins. MSDC pins need special handling since they have PUPD/R1/R0 registers. I2C pins need special handling since they have PU/PD/RSEL registers. New groups are added for MSDC and I2C pins and the bias_set callback is now set appropriately for all groups. A new table is needed for the RSEL registers since those were missing. Some new macros are introduced to avoid repeating the same info many times in MTK_TYPED_PIN(). This also fixes the semantically incorrect use of DRV_GRPX for the IO_TYPE_GRPX field. Reviewed-by: Macpaul Lin <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
4 dayspinctrl: mediatek: add handling for RSEL registerDavid Lechner
Add a new PINCTRL_PIN_REG_RSEL register type and a new function mtk_pinconf_bias_set_pu_pd_rsel() to handle setting it. Some MediaTek SoCs have a pin configuration register called RSEL that sets the resistance value for bias pullup/pulldown. Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
5 daysMerge branch 'next'Tom Rini
7 daysnet: rswitch: Avoid NULL pointer dereference during PHY accessMarek Vasut
At the very early stage when PHY ID is being auto-detected, the PHY device is not yet instantiated and rswitch_etha .phydev is still NULL. Add missing check for this condition and perform C22 fallback access in this PHY ID auto-detection case. Signed-off-by: Marek Vasut <[email protected]>
8 daysRevert "usb: cdns3: use VBUS Valid to determine role for dr_mode OTG"Prasanth Babu Mantena
While USB DFU boot works with this patch, but the non USB boot modes like SD Boot and flash boot fails for J784S4 EVM device. So, Reverting this patch. This reverts commit bfb530e06ca6c19f66c079601e568c761a001993. Signed-off-by: Prasanth Babu Mantena <[email protected]>
8 daysspi: Correct dependency on SPI_MEM for many driversTom Rini
A large number of drivers "depends on" SPI_MEM but this is library type functionality and so must be select'd instead in order to ensure that drivers will build. Correct this usage and hide the symbol normally. Signed-off-by: Tom Rini <[email protected]>
8 daysmisc: Add missing dependency to CROS_EC_SANDBOXTom Rini
In order to build CROS_EC_SANDBOX we must also have the hashing API enabled, add that as a dependency. Signed-off-by: Tom Rini <[email protected]>
8 daysgpio: Correct dependencies for legacy CMD_PCA953XTom Rini
The legacy CMD_PCA953X command can only be built when the matching legacy driver is enabled, add that dependency to Kconfig. Signed-off-by: Tom Rini <[email protected]>
8 daysclk: Add missing dependency for SANDBOX_CLK_CCFTom Rini
In order to build SANDBOX_CLK_CCF we need for CLK_CCF to be enabled, add that as a select similar to other drivers. Signed-off-by: Tom Rini <[email protected]>
8 daysrtc: Update Kconfig dependenciesTom Rini
Update the dependencies for RTC drivers which did not express a requirement on DM_RTC, or in some cases on DM_RTC being disabled. In a few cases, when DM_RTC is disabled we also require DM_I2C to also be disabled or for POWER_LEGACY to be enabled. Signed-off-by: Tom Rini <[email protected]>
8 daysrtc: ds1337: Remove various legacy code and update dependenciesTom Rini
At this point there are no users of this driver which do not enable DM_RTC, so remove the legacy code and express the depdendency in Kconfig. We can further remove code related to RTC chips / options that are neither available in Kconfig nor set by any platforms. Signed-off-by: Tom Rini <[email protected]>
8 daysrtc: Remove legacy DS1338 supportTom Rini
The DS1338 RTC chip is supported in DM mode by the DS1307 driver, and at this point all users have been using this functionality. It was a function of Kconfig configuration that implied otherwise. Remove the unused legacy symbols. Signed-off-by: Tom Rini <[email protected]>
8 daysbootcount: Give i2c-eeprom a unique identifierTom Rini
Every U_BOOT_DRIVER entry must be unique and this driver was re-using the name of the bootcount_spi_flash driver. Change to bootcount_i2c_eeprom. Reviewed-by: Michael Trimarchi <[email protected]> Signed-off-by: Tom Rini <[email protected]>
9 daysMerge tag 'u-boot-imx-next-20260402' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/29745 - Migrate imx95-toradex-smarc to use upstream devicetree. - Force fsl crypto driver to select ARCH_MISC_INIT to avoid crashes when using CAAM. - Support upstream Linux reset-gpios property for the i.MX PCI driver. - Avoid duplication of DDR tables on i.MX8MP DHCOM SoM. - Several cleanups on tqma6 platform. - Convert i.MX8MP boards to DM_PMIC. - Add phyCORE-i.MX91 support. - Drop unnecessary BOARD_EARLY_INIT_F usage.
9 daysserial: pl011: Remove legacy serial driver optionsTom Rini
There are no longer any users of the legacy non-DM pl01x serial driver. This lets us remove both CONFIG_PL011_SERIAL as well as CONFIG_PL011_SERIAL_RLCR references. We still have SPL users of the non-DM portions of the code. Signed-off-by: Tom Rini <[email protected]>
9 daysspi: fsl_espi: fix din offsetTomas Alvarez Vanoli
In the case of SPI_XFER_BEGIN | SPI_XFER_END, the function creates a buffer of double the size of the transaction, so that it can write the data in into the second half. It sets the rx_offset to len, and in the while loop we are setting an internal "din" to buffer + rx_offset. However, at the end of each loop, the driver copies "buffer + 2 * cmd_len" back to the data_in pointer. This commit changes the source of the data to buffer + rx_offset. Signed-off-by: Tomas Alvarez Vanoli <[email protected]>
9 dayscrypto: fsl: Select ARCH_MISC_INIT for CAAM driverHeiko Schocher
The CAAM JR driver is initialized from arch_misc_init(). If ARCH_MISC_INIT is not enabled, the driver is never initialized, which can lead to crashes or hangs (e.g. during hash operations). Select ARCH_MISC_INIT when enabling FSL_CAAM to ensure proper initialization. Signed-off-by: Heiko Schocher <[email protected]> Suggested-by: Fabio Estevam <[email protected]> Reviewed-by: Peng Fan <[email protected]>
9 dayspci: imx: Properly support upstream Linux reset-gpios propertyKrzysztof Kozlowski
The driver requests explicitly "reset-gpio" property, not the one with "gpios" suffix but upstream Linux kernel deprecated it in 2021. Existing upstream Linux kernel DTS is being changed to "reset-gpios" property, thus update the driver to read that one too. Note that driver is probably broken already, because it parsed GPIO in standard way respecting the flags and on top of that applied the "reset-gpio-active-high" flag, thus "reset-gpio ACTIVE_LOW" with the "reset-gpio-active-high" property would be double inverted. Signed-off-by: Krzysztof Kozlowski <[email protected]>
11 daysnet: rswitch: Remap CPU to bus addresses using dev_phys_to_bus()Marek Vasut
Use dev_phys_to_bus() to convert CPU addresses of DMA descriptors into bus addresses of DMA descriptors. This is necessary on hardware which does not have 1:1 mapping between CPU and memory addressed by the DMA. This has no impact on other hardware which does not need this conversion. Signed-off-by: Marek Vasut <[email protected]>
11 daysnet: phy: dp83867: reset PHY on init to ensure clean statePranav Tilak
After a warm reboot, the PHY is left in power-down state (BMCR_PDOWN set) causing auto-negotiation to timeout when running the dhcp command. Fix this by calling phy_reset() in dp83867_config() which brings the PHY to a known clean state. The existing DP83867_SW_RESTART is removed as it is redundant after phy_reset(). Fixes: 721aed79126b ("net: phy: Add support for Texas Instruments DP83867") Signed-off-by: Pranav Tilak <[email protected]> Signed-off-by: Michal Simek <[email protected]>
11 daysnet: rswitch: Avoid NULL pointer dereference during PHY accessMarek Vasut
At the very early stage when PHY ID is being auto-detected, the PHY device is not yet instantiated and rswitch_etha .phydev is still NULL. Add missing check for this condition and perform C22 fallback access in this PHY ID auto-detection case. Signed-off-by: Marek Vasut <[email protected]>
11 daysnet: Correct dependencies for HIFEMAC_ETHTom Rini
The HIFEMAC_ETH functionality can only work with both DM_ETH_PHY and DM_MDIO enabled (it calls one of the functions that requires both), so express this dependency in Kconfig. Signed-off-by: Tom Rini <[email protected]>
11 daysrtl8169: add support for RTL8125dJaven Xu
This patch adds support for RTL8125d. Its chip version is 0x6a. Signed-off-by: Javen Xu <[email protected]> [jf: add missing comma] Signed-off-by: Jerome Forissier <[email protected]>
11 daysnet: Rework dependencies around NET/NET_LWIP and NETDEVICESTom Rini
Functionally, both networking stacks require DM_ETH. This is because they both also require some networking devices to be enabled. Express this more correctly by having both NET and NET_LWIP select NETDEVICES. In turn NETDEVICES no longer depends on NET or NET_LWIP as it's not prompted anymore. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Jerome Forissier <[email protected]>
11 daysphy: micrel: ksz90x1: Issue PHY soft reset during configurationBoon Khai Ng
- Add a call to phy_reset() in ksz9031_config() to ensure the PHY is properly reset during initialization. - This clears the power-down bit and ensures the PHY recovers correctly after Linux reboot. Tested on Agilex5 hardware with KSZ90X1 PHY. Signed-off-by: Boon Khai Ng <[email protected]>