summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2025-07-30Merge patch series "Extend usb_onboard_hub driver to support Cypress HX3 hub ↵Tom Rini
family" Lukasz Czechowski <lukasz.czechowski@thaumatec.com> says: This patch series extends the usb_onboard_hub driver to allow for support of more types of onboard hub devices, and adds the Cypress HX3 hub family. First patch in the series updates the bind function, so that it no longer uses hardcoded compatible strings. Next patch simplifies the code, by removing unnecessary dm_gpio function call. Third patch updates the remove function, which allows the prevent issues with usb devices reenumeration, in case of calling "usb reset". Although the issue could still occur in case of invalid initial state of reset gpio, it is minimized with no impact on main usb_hub driver. Fourth patch extends the driver with support for multiple power supplies, the same way it is done in kernel driver. Finally, last patch provides hub data and of_match table entries for Cypress HX3 Link: https://lore.kernel.org/r/20250722-usb_onboard_hub_cypress_hx3-v4-0-91c3ee958c0e@thaumatec.com
2025-07-30usb: onboard-hub: Use devm API do automatically free the reset GPIOLukasz Czechowski
The reset GPIO is obtained during driver probing by the function devm_gpiod_get_optional, which means the GPIO will be automatically freed when the device is removed. Because of this, explicit call to free the reset GPIO in hub remove function is not needed. To support the Managed device resources, the DEVRES config must be enabled, otherwise the devres functions fall back to non-managed variants. Set the necessary dependency to DEVRES in Kconfig. Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Lukasz Czechowski <lukasz.czechowski@thaumatec.com>
2025-07-30watchdog: don't autostart watchdog on STM32MP architecturePatrice Chotard
On STM32MP reference boards, the watchdog is started by a previous boot stage (e.g. bootrom or secure OS), so the config flag WATCHDOG_AUTOSTART is not required. It's preferable to rely on the DT properties "u-boot,autostart" or "u-boot,noautostart", if needed. For backward compatibility on defconfigs that are based on SPL, thus cannot rely on a previous boot stage for starting the watchdog, enable WATCHDOG_AUTOSTART in their respective defconfig. The change in stm32mp15_dhsom.config is propagated to: - configs/stm32mp15_dhcom_basic.config - configs/stm32mp15_dhcor_basic.config and then to: - stm32mp15_dhcom_basic_defconfig - stm32mp15_dhcom_drc02_basic_defconfig - stm32mp15_dhcom_pdk2_basic_defconfig - stm32mp15_dhcom_picoitx_basic_defconfig - stm32mp15_dhcor_avenger96_basic_defconfig - stm32mp15_dhcor_basic_defconfig - stm32mp15_dhcor_drc_compact_basic_defconfig - stm32mp15_dhcor_testbench_basic_defconfig Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2025-07-30watchdog: stm32mp: check the watchdog statusClément Le Goffic
Add a mean to check the IWDG status based on the peripheral version. This is done by either checking the status bit ONF either by updating the reload register with the same value and check if the reload succeed. Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2025-07-30watchdog: arm_smc_wdt: get wdt status through SMCWD_GET_TIMELEFTAntonio Borneo
The optional SMCWD_GET_TIMELEFT command can be used to detect if the watchdog has already been started. See the implementation in OP-TEE secure OS [1]. At probe time, check if the watchdog is already started and then call wdt_set_force_autostart(). This will keep U-Boot pinging the watchdog even when the property 'u-boot,noautostart' is present. Link: https://github.com/OP-TEE/optee_os/commit/a7f2d4bd8632 [1] Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2025-07-30watchdog: wdt-uclass.c: add wdt_set_force_autostart() helperAntonio Borneo
The watchdog could have been already started by a previous boot stage (e.g. bootrom or secure OS). U-Boot has to start and kick the watchdog even when CONFIG_WATCHDOG_AUTOSTART is not enabled or when the DT property u-boot,noautostart is present. Add the helper wdt_set_force_autostart() that can be called by the driver's probe() when it detects that the watchdog has already been started and is running. Co-developed-by: Patrice Chotard <patrice.chotard@foss.st.com> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2025-07-29Merge patch series "bios_emulator: Fix two issues found by Smatch"Tom Rini
Andrew Goodbody <andrew.goodbody@linaro.org> says: Smatch found two issues in bios_emulator, a buffer overflow and missing parens for a macro. Fix them both. Link: https://lore.kernel.org/r/20250723-bios_emulator-v1-0-78b9ef7b9b4a@linaro.org
2025-07-29bios_emulator: Add parens to xorl macroAndrew Goodbody
The xorl macro lacked surrounding parens which meant that it could have unexpected results when used in expressions. Fix this by adding the surrounding parens to make its use predictable. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
2025-07-29bios_emulator: Fix buffer overflowAndrew Goodbody
Using strcpy to copy a 4 character string into a 4 byte field in a structure will overflow that field as it writes the terminating \0 into the following field. Correct this by using memcpy instead. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
2025-07-29Merge tag 'u-boot-marvell-20250729' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-marvell CI: https://dev.azure.com/sr0718/u-boot/_build/results?buildId=394&view=results - cmd: tlv_eeprom: Minor improvements (Hugo) - kirkwood: Enable bootstd and other modernization for ib62x0 board (Tony) - spi: mvebu: Correct dependencies on MVEBU_A3700_SPI (Tom) - ddr: marvell: a38x: Fix unsigned issues detected by smatch (Andrew)
2025-07-29Merge tag 'u-boot-at91-2025.10-b' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-at91 Second set of u-boot-at91 features for the 2025.10 cycle: This feature set includes the addition of new sama7d65 SoC and a new board named sama7d65-curiosity.
2025-07-29ddr: marvell: a38x: Fix unsigned issuesAndrew Goodbody
Cannot test an unsigned variable to be less than 0, it will always fail. Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org> Reviewed-by: Stefan Roese <stefan.roese@mailbox.org>
2025-07-29spi: mvebu: Correct dependencies on MVEBU_A3700_SPITom Rini
A dependency exposed by "make allyesconfig" is that the logic around this symbol was not quite correct. It needs to depend on ARCH_MVEBU and ARM64 and then select CLK_MVEBU. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Stefan Roese <sr@denx.de>
2025-07-27power: regulator: add AXP323 supportAndre Przywara
The X-Powers AXP323 is very close sibling to the AXP313A, only that it adds support for dual-phasing the first two DC/DC converters. We do not really care about this particular feature, so just add the new compatible string and tie it to the existing AXP313A support code. Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2025-07-27sunxi: mmc: add support for Allwinner A523 MMC mod clockAndre Przywara
The Allwinner A523 SoC has a slightly changed mod clock, where the P factor, formerly a shift value, is now a second divider value. Also the input clock is not PLL_PERIPH0 (600MHz) anymore, but PLL_PERIPH0_400M (for MMC0/1), so adjust the input rate calculation accordingly. MMC2 has a different set of parents, so the input clock is 800 MHz there. Adjust for all of this. Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2025-07-27pinctrl: sunxi: add Allwinner A523 pinctrl descriptionAndre Przywara
The new DT pinctrl binding would allow us to read the pinmux values from the DT, but it is actually easier to just continue with hardcoding the mux values in the driver, and matching them against the "function" name. Add the values for the primary and secondary pin controller on the A523. Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2025-07-27clk: sunxi: Add support for the A523 -R CCUAndre Przywara
Add a clock driver for the PRCM clock controller on the Allwinner A523 family of SoCs, often also used with an "r" prefix or suffix. This just describes the clock gates and reset lines for the few devices that we would need, most prominently the R_I2C device for the PMIC. Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2025-07-27clk: sunxi: Add support for the A523 CCUAndre Przywara
Add a clock driver for the main clock controller on the Allwinner A523 family of SoCs. As usual, this just describes the clock gates and reset lines for the few device that U-Boot cares about: USB, Ethernet, MMC, I2C, SPI. Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2025-07-26efi: Rename CONFIG_EFI to CONFIG_EFI_CLIENTSimon Glass
The generic name 'EFI' would be more useful for common EFI features. At present it just refers to the EFI app and stub, which is confusing. Rename it to EFI_CLIENT Signed-off-by: Simon Glass <sjg@chromium.org>
2025-07-25Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-samsungTom Rini
- Enhanced e850-96 support
2025-07-25clk: at91: sama7d65: add clock supportRyan Wanner
Add clock support for SAMA7D65 Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com> [romain.sioen@microchip.com: add Fractional PLL core output range] Signed-off-by: Romain Sioen <romain.sioen@microchip.com> [varshini.rajendran@microchip.com: adapt driver to upstream] Signed-off-by: Varshini Rajendran <varshini.rajendran@microchip.com>
2025-07-25clk: at91: Update MAX PLL and master clk IDRyan Wanner
Update the MAX PLL and master CLK ID to support sama7d65 SoC family. Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
2025-07-25usb: dwc3-generic: Add Exynos850 supportSam Protsenko
The only thing needed from DWC3 glue layer for Exynos850 is to enable USB clocks. The generic glue layer driver already does that. Add Exynos850 dwc3 compatible string to enable support for this chip. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2025-07-25phy: samsung: Add Exynos USB DRD PHY driverSam Protsenko
Add DM driver for Exynos USB PHY controllers. For now it only supports Exynos850 SoC. Only UTMI+ (USB 2.0) PHY interface is implemented, as Exynos850 doesn't support USB 3.0. Only two clocks are used for this controller: - phy: bus clock, used for PHY registers access - ref: PHY reference clock (OSCCLK) Ported from Linux kernel: drivers/phy/samsung/phy-exynos5-usbdrd.c Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org> Reviewed-by: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2025-07-24Merge tag 'u-boot-imx-master-20250724' 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/27149 - Add support for the NXP imx93 frdm board. - imx93_evk and phycore-imx93 cleanups. - Convert imx6dl-sielaff to OF_UPSTREAM and fix serial download mode boot. - Fix crash in imx power-domain. - Migrate Phytec imx8mm boards to standard boot. - Fix smatch warnings.
2025-07-24Merge patch series "Add support for K3 BIST"Tom Rini
Neha Malcom Francis <n-francis@ti.com> says: This series implements a driver for the BIST (Built-In Self Test) module for K3 devices. The BIST driver must ideally support triggering of BIST tests, both PBIST (Memory BIST) and LBIST (Logic BIST) on a core. Both tests are destructive in nature. Please see links [1] and [2] for further information regarding the two. At boot up, BIST is executed by hardware for the MCU domain automatically as part of HW POST. So BIST has been checked only for the MCU domain when U-Boot comes up in the usual U-Boot to Linux boot flow. To facilitate the use-case where some safe firmware is intended to be run on a safe core, it is best to have triggered the BIST tests on that core. As an example, we take triggering the BIST tests on the MAIN R52_x cores. The triggering patch is kept as DONOTMERGE. The general procedure for triggering BIST on a core is: 1. Power on the core under test following a sequence 2. Trigger the BIST test 3. Reset the core under test following a sequence BIST tests are triggered from A72 SPL where the DM (Device Manager firmware that handles power management) is already up and can perform these power sequences for us. Boot logs (with LOG_DEBUG and CONFIG_K3_BIST enabled) and DT node kept (already merged to ti-k3-dts-next [3]): https://gist.github.com/nehamalcom/3fed504d038b54e3e05ba3874d73d603 [1] https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/sdl/sdl_docs/userguide/j721e/modules/pbist.html#introduction [2] https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/sdl/sdl_docs/userguide/j721e/modules/lbist.html#introduction [3] https://lore.kernel.org/all/175205725858.918402.3771835070085533874.b4-ty@ti.com/ Link: https://lore.kernel.org/r/20250716062156.2564297-1-n-francis@ti.com
2025-07-24sandbox: eth-raw: Prevent possible buffer overflowAndrew Goodbody
Instead of strcpy which is unbounded use strlcpy to ensure that the receiving buffer cannot be overflowed. This issue found by Smatch. Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
2025-07-24drivers: misc: k3_bist: Add K3 BIST driverNeha Malcom Francis
Add a driver for the BIST module that support triggering of both PBIST (Memory BIST) and LBIST (Logic BIST) tests. Also expose the relevant operations and functions that would be required for an end user to trigger the tests. Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2025-07-24uclass: Cleanup uclass_find_next_deviceAndrew Goodbody
uclass_find_next_device always returns 0, so instead make it a void and update calling sites. Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
2025-07-24Merge tag 'xilinx-for-v2025.10-rc1-v2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze AMD/Xilinx/FPGA changes for v2025.10-rc1 v2 zynqmp: - Generate fit-dtb.blob all the time - Simplify power-domain driver bind zynqmp_mini: - Remove PSCI_RESET fpga: - Improve user feedback in case of FPGA bitstream load failure misc: - Fix kernel-doc in gpio zynq and axi_mrmac spi: - Revert fix in STIG mode [trini: Remove CONFIG_FPGA_VERSALPL=y from sandbox due to sandbox+clang+asan test problem] Signed-off-by: Tom Rini <trini@konsulko.com>
2025-07-24imx93: adc: local variable ret should not be unsignedAndrew Goodbody
Local variable ret is declared as unsigned but is used to receive the return value of functions that return int. ret is then tested for being negative which must always fail. Change ret to be an int. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
2025-07-24imx: power-domain: Fix crash due to uninitialized 'id' fieldFrieder Schrempf
In case of the i.MX8M power-domains (i.MX8MQ, MM, MN) there is only one power-domain for each device. Therefore the 'id' field in struct power_domain should always be zero. Currently if a power-domain is accessed after the initial bind, the 'id' field is left uninitialized. This didn't cause any problems until the following commits were introduced: 9086b64ca071 ("power-domain: Add support for refcounting (again)") a785ef24487b ("imx: power-domain: Enable refcounting on imx8mp") Now the 'id' field gets accessed in the power_domain_off() sequence and the invalid value causes "Synchronous Abort" failures. This was observed on a i.MX8MM board when running "usb start" and then "usb stop". Fix this issue by setting power_domain->id to '0' in imx8m_power_domain_of_xlate(). Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> Fixes: d08a194871fd ("imx: add support for i.MX8MQ power domain controller") Fixes: 9086b64ca071 ("power-domain: Add support for refcounting (again)") Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
2025-07-24firmware: zynqmp: Simplify power-domain driver bindMichal Simek
CONFIG_IS_ENABLED macro is covering CONFIG_POWER_DOMAIN or CONFIG_SPL_POWER_DOMAIN Kconfig symbols based on build target which simplify logic around binding power domain driver. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/c75627e92eeaffedf0f7e682edd4f6f39f0b5706.1752826352.git.michal.simek@amd.com
2025-07-24Revert "spi: cadence_qspi: Fix odd byte write issue in STIG mode"Prasanth Babu Mantena
The buffer that is being used to write into the flash needs to be handled properly with padding of 0xFF. The place that this is done can be at a more generic place like spi-nor core. This reverts commit cd9123507003e07b13e61d72e14e493bb338e827. Signed-off-by: Prasanth Babu Mantena <p-mantena@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com> Reviewed-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Link: https://lore.kernel.org/r/20250716070407.2082524-1-p-mantena@ti.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-07-24net: xilinx: Fix kernel-doc for axi_mrmac function parametersVenkatesh Yadav Abbarapu
The kernel-doc comment for the axi_mrmac_recv function was missing the colon (':') after the '@packetp' parameter tag. The kernel-doc comment for the axi_mrmac_free_pkt function was missing the colon (':') after the 'length' parameter tag. This caused a Sparse warnings regarding the 'packetp' and 'length' parameters not being described. Fix the formatting to align with kernel-doc standards and resolve the warning. drivers/net/xilinx_axi_mrmac.c:357: warning: Function parameter or member 'packetp' not described in 'axi_mrmac_recv' drivers/net/xilinx_axi_mrmac.c:411: warning: Function parameter or member 'length' not described in 'axi_mrmac_free_pkt' Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Link: https://lore.kernel.org/r/20250717044855.1359443-1-venkatesh.abbarapu@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-07-24gpio: zynq: Fix the documentation warning in zynq_gpio_get_bank_pinVenkatesh Yadav Abbarapu
The 'dev' parameter in the zynq_gpio_get_bank_pin function was not described in its kernel-doc comment block, leading to a Sparse warning. drivers/gpio/zynq_gpio.c:194: warning: Function parameter or member 'dev' not described in 'zynq_gpio_get_bank_pin' Add a description for the 'dev' parameter to satisfy the documentation requirements and improve code clarity for this function. Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Link: https://lore.kernel.org/r/20250717044632.1353588-1-venkatesh.abbarapu@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-07-24drivers: fpga: fix function declaration without a prototypePieter Van Trappen
As reported by clang 20.1, fix multiple of the following: drivers/fpga/ivm_core.c:593:23: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 593 | long int ispVMDataSize() | ^ | void Also fix the following warning from checkpatch.pl: WARNING: Prefer 'long' over 'long int' as the int is unnecessary Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch> Link: https://lore.kernel.org/r/20250708152455.1214487-6-vtpieter@gmail.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-07-24drivers: fpga: cleanup printf usagePieter Van Trappen
Remove `fpga_no_sup` to get rid of Werror=unused-function when all FPGA configurations are enabled. Swap all printf calls to log_* as this is now preferred and includes the calling __func__. Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch> Link: https://lore.kernel.org/r/20250708152455.1214487-5-vtpieter@gmail.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-07-24drivers: fpga: correct compiler errors and warningsPieter Van Trappen
Errors reported by GCC 14.2 when enabling FPGA commands and drivers. Also many style fixes as reported by checkpatch.pl on the diffs. Most changes in stratixII.c which has been reorganized as well to avoid the top function prototypes. No functional changes. Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch> Link: https://lore.kernel.org/r/20250708152455.1214487-4-vtpieter@gmail.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-07-24drivers: fpga: add Kconfig dependencyPieter Van Trappen
FPGA_SOCFPGA requires ARCH_SOCFPGA cause socfpga.c contains arch/arm/mach-socfpga/* include macros. Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch> Link: https://lore.kernel.org/r/20250708152455.1214487-3-vtpieter@gmail.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-07-24cmd: fpga: improve user feedback in case of bitstream load failurePieter Van Trappen
In cmd/fpga.c, change some `debug` calls to `log_err` for important user feedback and use CMD_RET_FAILURE in favor of CMD_RET_USAGE due to its long output which hides the actual, useful return message. Change the remaining `debug` calls to `log_debug`. Remove all 'fpga:' and __func__ strings as log_* has this covered. For `do_fpga_loads`, move up the `do_fpga_check_params` call for more consistent command output; use a constant instead of multiple '5' use. In drivers/fpga/zynq*.c, change 'up to' to 'above' which corrects this confusing/wrong statement. Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch> Link: https://lore.kernel.org/r/20250708152455.1214487-2-vtpieter@gmail.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-07-24Fix emmc error state after mmc write timeoutIulian Banaga
This is a fix for the sporadic mmc write failure: mmc write failed 0 blocks written: ERROR After this happens the emmc will remain in an error state where subsequent read/writes fail with a timeout. The mmc driver sends CMD25 - WRITE_MULTIPLE_BLOCK which can sporadically timeout. When this happens, the mmc driver aborts the transfer and returns the above error messages. But the emmc still remains in data transfer mode, since the timeout was decided by uboot, not by the emmc. Fix this by sending the STOP_TRANSMISSION command (CMD12) and waiting for the emmc to be in ready state again (CMD13). Transferring data blocks after a CMD25 can take anywhere between 5 and +15s on Samsung EMMCs and the current timeout is not enough. Increase the timeout by 2x to accommodate the long transfer times observed. Signed-off-by: Iulian Banaga <iulianeugen.banaga@mobileye.com> Acked-by: Jimmy Durand Wesolowski <jimmy.wesolowski@mobileye.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-07-24mmc: exynos_dw_mmc: add exynos5420 compatiblesJaehoon Chung
The exynos5420 DTSes in linux kernel uses the compatibles samsung,exynos5420-dw-mshc{,-smu} instead of just samsung,exynos-dwmmc. Match the additional compatibles in the driver to make it possible to use it with DTSes from Linux kernel. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> [ grimler: rebase after clksel reg abstraction and re-write commit message ] Signed-off-by: Henrik Grimler <henrik@grimler.se> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Anand Moon <linux.amoon@gmail.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-07-24mmc: s5p_sdhci: add samsung,exynos4210-sdhci compatibleHenrik Grimler
the Exynos4210 devices in u-boot uses samsung,exynos4412-sdhci as sdhci compatible in their DTSes, while the upstream DTSes uses samsung,exynos4210-sdhci. Add samsung,exynos4210-sdhci compatible string for s5p_sdhci driver as well so that it can be used with upstream DTSes. Signed-off-by: Henrik Grimler <henrik@grimler.se> Reviewed-by: Anand Moon <linux.amoon@gmail.com> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-07-24mmc: s5p_sdhci: remove duplicated card detect codeHenrik Grimler
The common sdhci infrastructure is already parsing the cd-gpios property, since commit 451931ea7002 ("mmc: sdhci: Read cd-gpio from devicetree"). The s5p code is therefore duplicated, and also broken since it assumes that the GPIO value is inverted, while the sdhci code correctly follows the ACTIVE_LOW/ACTIVE_HIGH flag specified in the device tree. This fix was originally authored by Simon Shields: https://github.com/fourkbomb/u-boot/commit/2eac9dea7903 The change has been tested on exynos4210-i9100, a device similar to exynos4210-trats. Signed-off-by: Henrik Grimler <henrik@grimler.se> Reviewed-by: Anand Moon <linux.amoon@gmail.com> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-07-23block: Remove blk_find_first/nextGreg Malysa
In [0], Andrew noted a code quality issue in the implementation of blk_find_first and blk_find_next. This led to the observation that the logic of these functions was also likely incorrect, and based on a quick check it seemed the functions were unused outside of test code, which did not exercise the potential failure case, so we felt they should be removed. In [1], a test patch which illustrates the failure in sandbox is provided for reference. Because a more thorough check agrees that these functions are unused, they are currently incorrect, and fixed/removable flags on block devices prior to probe are unreliable, just remove these functions instead of fixing them. All potential users should have used blk_first_device_err instead anyway. CI results at [2]. [0] https://patchwork.ozlabs.org/project/uboot/patch/20250714-blk-uclass-v1-1-d21428c5f762@linaro.org/ [1] https://gist.github.com/gmalysa/b05e73a5c14bc18c5741a0e0e06a2992 [2] https://gitlab.com/gmalysa/lnxdsp-u-boot/-/pipelines/1931210857 Signed-off-by: Greg Malysa <malysagreg@gmail.com> Reviewed-by: Andrew Goodbody <andrew.goodbody@linaro.org>
2025-07-23sysreset: psci: Fix SPL dependencyMichal Simek
SYSRESET_PSCI should select SPL_ARM_PSCI_FW only when SPL_SYSRESET is enabled/required. This change saves 1.6kB on Xilinx ZynqMP Kria platform. Signed-off-by: Michal Simek <michal.simek@amd.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2025-07-22fastboot: Fix off by 1 errorAndrew Goodbody
strlen only reports length of string not including terminating 0 byte but this has to be included in length of receiving buffer on copy so adjust length check to be correct. This issue found by Smatch. Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org> Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2025-07-22drivers: fastboot: Add support for SPI flash memoryAriel D'Alessandro
Fastboot currently supports MMC and NAND flash devices. Similarly, extend the support to SPI flash memories. Note that in this initial implementation, partitions on the device are not supported yet, but raw partitions can be set in U-Boot environment. To define a raw partition descriptor, add an environment variable similar to the MMC case: ``` fastboot_raw_partition_<raw partition name>=<offset> <size> ``` for example: ``` fastboot_raw_partition_boot=0x0 0x1000000 ``` Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2025-07-19Merge tag 'i2c-for-2025.10-take2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-i2c i2c updates for v2025.10 - i2c Kconfig updates from Tom - add some driver dependencies - added missing include delay.h in iproc_i2c.c - i2c: muxes: Add PCA9541 i2c arbitrator driver from Padmarao Begari - pca954x: add pca9545 support from Frank Wunderlich - cmd: i2c: fix build when CFG_SYS_I2C_NOPROBES defined with DM_I2C From Holger Brunck