summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2025-02-18power: regulator: tps65941: Fix voltage calculation for ldoUdit Kumar
As per TRM[0] Section 8.7.1 "TPS6594-Q1 Registers", LDOx_Vout bit 6-1, define the NVM voltage settings. Along side table 8-4 of above TRM, shows voltage to value mapping. Driver wrongly using bits 5-1 to calculate voltage, and to convert voltage to value driver was using buck's calculation. So fix those calculation. [0]: https://www.ti.com/lit/ds/symlink/tps6594-q1.pdf Fixes: 5d7dbd22cf7d ("power: regulator: tps65941: use function callbacks for conversion ops") Signed-off-by: Udit Kumar <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2025-02-18tpm: unconstify tpm_tis_chip_dataIlias Apalodimas
The struct contains an iomem pointer that we later remap and update. Remove const from the struct definition. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-02-18Merge tag 'u-boot-at91-2025.07-a' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-at91 into next First set of u-boot-at91 features for the 2025.07 cycle: This feature set includes improvements on the atmel-quadspi driver, a fix for the nand driver, and improvements on the pinctrl driver to be able to use the Linux DT (also sync on the DT side as well).
2025-02-14spi: soft_spi: Add support for SPI_3WIREHironori KIKUCHI
When 3-wire mode is claimed on the bus, use the MOSI (output) pin to receive data. In this mode, since the transfer can only be either TX or RX, return -EINVAL if both are required at the same time. Signed-off-by: Hironori KIKUCHI <[email protected]>
2025-02-14Merge patch series "Introduce K3 remoteproc driver for M4 subsystem"Tom Rini
Judith Mendez <[email protected]> says: Some K3 devices like am62x and am64x have a M4 processor in the MCU voltage domain. This patch series introduces remoteproc M4 driver which will be used to load firmware into and start the M4 remote core. This series also adds support for R5F cores on am64x SoCs in patch 2 and sets up environment to load FW in remote cores in patch 3,4,5. This patch series also enables remoteproc drivers by default as per what remoteproc sybsystem is supported per SoC, thus all remoteproc options are now deleted in configs/* since they are no longer required. This patch series was tested on am64x EVM, am62x SK, am62ax SK, am62px SK boards. Any additional tested by's are welcome since I was not able to test any additional boards. Tested by running the following commands in u-boot prompt: => setenv dorprocboot 1 => run boot_rprocs Link: https://lore.kernel.org/r/[email protected]
2025-02-14remoteproc: Enable ARM64 remoteproc driver by default for K3 ARCHJudith Mendez
If SYS_K3_SPL_ATF is enabled, for K3 ARCH enable the remoteproc ARM64 driver by default so that it does not have to be defined in each board defconfig file. Signed-off-by: Judith Mendez <[email protected]> Reviewed-by: Andrew Davis <[email protected]>
2025-02-14remoteproc: k3-r5: Add support for R5F cores on AM64x SoCsHari Nagalla
AM64x SoCs have two R5F clusters in the main power domain. Extend support for R5F remote proc driver on AM64x with compatible strings. Signed-off-by: Hari Nagalla <[email protected]> Signed-off-by: Judith Mendez <[email protected]> Reviewed-by: Daniel Schultz <[email protected]> Reviewed-by: Andrew Davis <[email protected]>
2025-02-14remoteproc: k3-m4: Introduce K3 remote proc driver for M4 subsystemHari Nagalla
Some K3 devices like AM64, AM62 devices have a M4 processor in MCU voltage domain. Add a remote proc driver to support this subsystem to be able to load and boot the M4 core. Signed-off-by: Hari Nagalla <[email protected]> [Ryan: Fix implicitly include warning] Signed-off-by: Ryan Eatmon <[email protected]> [Judith: Cleanup driver, fix warnings, remove lreset logic] Signed-off-by: Judith Mendez <[email protected]> Tested-by: Daniel Schultz <[email protected]> Reviewed-by: Andrew Davis <[email protected]>
2025-02-14Kconfig: Move CONFIG_BOOTCOUNT_ALTBOOTCMD to KconfigTomas Peterka
Add CONFIG_BOOTCOUNT_ALTBOOTCMD so the developer is able to add custom altbootcmd via Kconfig when they enable BOOTCOUNT. With this now in Kconfig, we need to move it from environment files / config.h files and in to the defconfig file. This was done by generating u-boot-initial-env for all platforms before the Kconfig change, to extract altbootcmd values and then again after to compare the result. [trini: Perform migration to defconfigs, reword commit message] Signed-off-by: Tom Rini <[email protected]>
2025-02-12mtd: nand: raw: atmel: Fix pulse read timing for certain NAND flashesAlexander Dahl
From reading the S34ML02G1 and the SAM9X60 datasheets again, it seems like we have to wait tREA after rising RE# before sampling the data. Thus pulse time must be at least tREA. Without this fix we got PMECC errors when reading, after switching to ONFI timing mode 3 on SAM9X60 SoC with S34ML02G1 raw NAND flash chip. The approach to set timings used before worked on sam9g20 and sama5d2 with the same flash (S34ML02G1), probably because those have a slower mck clock rate and thus the resolution of the timings setup is not as tight as with sam9x60. The approach to fix the issue was carried over from at91bootstrap, and has been successfully tested in at91bootstrap, U-Boot and Linux. Link: https://github.com/linux4sam/at91bootstrap/issues/174 Cc: Li Bin <[email protected]> Signed-off-by: Alexander Dahl <[email protected]>
2025-02-12pinctrl: tegra20: adjust pin type detectionSvyatoslav Ryhel
Pin detection on t20 depends on node name. With recent changes in node naming, let's remove '_' to be safe about both '_' or '-' use. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-02-12pmic: palmas: bind sysreset to parent nodeSvyatoslav Ryhel
Bind SYSRESET child to parent node since it does not have its own node in the device tree. Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2025-02-12pmic: max77663: bind children to parent nodeSvyatoslav Ryhel
Bind GPIO and SYSRESET children to parent node since they do not have their own nodes in the device tree. Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2025-02-12Revert "drivers: gpio-uclass: support PMIC GPIO children"Svyatoslav Ryhel
Requesting of PMIC's GPIO child should be done by binding GPIO driver to PMIC's node is GPIO driver does not have its own node. This reverts commit c03cd98d1a163666b4addcdd9a34fc0c77dfd0a5. Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2025-02-12pinctrl: at91: Add support to align with Linux DevicetreeManikandan Muralidharan
U-Boot pinctrl driver expects a reg property explicitly unlike linux. To align the DT of U-boot with the Linux, reg property is also arrvied from child GPIO bank nodes when configured under the pinctrl node. Signed-off-by: Manikandan Muralidharan <[email protected]>
2025-02-12pinctrl: at91: Bind GPIO driver to the pinctrl DT nodeManikandan Muralidharan
In Linux DT,the pinctrl node acts as parent nodes with all other gpio banks as child nodes and a single driver in Linux handles both pinctrl settings and gpio requests.Current U-Boot DT maintains both pinctrl and gpio nodes as separate nodes and offers two different class of U-Boot drivers: UCLASS_PINCTRL which handles pin functions and UCLASS_GPIO which handles gpio requests. In order to align the DT of U-Boot with the DT of Linux, a hook is been added in the pinctrl driver to bind the gpio driver with the pinctrl driver so that when adding gpio nodes as subnodes to pinctrl node (as per the Linux ABI), the corresponding APIs will be redirected and handled by valid drivers attached to the pinctrl driver. Signed-off-by: Manikandan Muralidharan <[email protected]>
2025-02-12spi: atmel-quadspi: Improve probe debuggingAlexander Dahl
Report spi clk speed and make use of `log_ret()`. Signed-off-by: Alexander Dahl <[email protected]>
2025-02-12spi: atmel-quadspi: Add support for classic SPI modeAlexander Dahl
The qspi controller on sama5d2 and sam9x60 supports "classic" SPI mode without spi-mem enhancements and accelerations, very similar to the old SPI controller on sam9g20 or the modern flexcom controllers of the same SoC family. Register interface differs somewhat, especially because only one hardware controlled CS line is supported. Some fields are missing, some are in different registers, but in principal it works similar. So code is very much inspired by the old atmel-spi driver. Tested on sam9x60 with a non-mainline driver to configure an FPGA. Signed-off-by: Alexander Dahl <[email protected]>
2025-02-12spi: atmel-quadspi: Allow setting SMM to classic SPI modeAlexander Dahl
Switching between Serial Memory Mode (SMM) and (classic) SPI mode is a preparation for implementing .xfer() in the future. Signed-off-by: Alexander Dahl <[email protected]>
2025-02-12spi: atmel-quadspi: Remove default mode setting at probe timeAlexander Dahl
The Serial Memory Mode (SMM) is enabled with atmel_qspi_set_cfg() on each invocation of atmel_qspi_exec_op(). Setting SMM through atmel_qspi_init() at probe time is redundant. Removing the SMM setting at probe time should therefore 1) be safe to do and 2) allows for setting it to a different value in a future implementation of .xfer() which needs to disable SMM. Signed-off-by: Alexander Dahl <[email protected]>
2025-02-12spi: atmel-quadspi: Avoid overwriting MR register settingsAlexander Dahl
Port these commits: - v6.11-rc5-90-g329ca3eed4a9a ("spi: atmel-quadspi: Avoid overwriting delay register settings") - v6.12-rc1-1-g162d9b5d2308c ("spi: atmel-quadspi: Fix wrong register value written to MR"). - v6.13-rc2-27-gf663898d047a7 ("spi: atmel-quadspi: Factor out switching to Serial Memory Mode to function") Cc: Csókás Bence <[email protected]> Signed-off-by: Alexander Dahl <[email protected]>
2025-02-12spi: atmel-quadspi: Port collected fixes from Linux v5.10 and v5.15Alexander Dahl
Port changes from a 4 piece patch series from Linux kernel v5.10, merged with v5.10-rc1-83-gc732b7567d869 ("Merge series "spi: atmel-quadspi: Fix AHB memory accesses" from Tudor Ambarus …"). Port the single fix v5.15-rc1-14-g09134c5322df9 ("spi: Fixed division by zero warning"). Reduces differences between linux and u-boot driver. Cc: Tudor Ambarus <[email protected]> Cc: Yoshitaka Ikeda <[email protected]> Signed-off-by: Alexander Dahl <[email protected]>
2025-02-12spi: atmel-quadspi: Depend on SPI_MEMAlexander Dahl
Most other spi-mem drivers also depend on SPI_MEM. Fixes this build error: arm-v5te-linux-gnueabi-ld.bfd: drivers/spi/atmel-quadspi.o: in function `atmel_qspi_supports_op': /mnt/data/adahl/src/u-boot/drivers/spi/atmel-quadspi.c:460: undefined reference to `spi_mem_default_supports_op' make[1]: *** [/mnt/data/adahl/src/u-boot/Makefile:1821: u-boot] Error 1 Signed-off-by: Alexander Dahl <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-02-12spi: ca_sflash: Remove redundant dependencyAlexander Dahl
This is inside of an 'if DM_SPI' block, and thus always true. Signed-off-by: Alexander Dahl <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-02-11test: Keep track of suite durationSimon Glass
Show the time taken by each test suite with 'ut all' and the total time for all suites. Take care to remove any sandbox time-offset from the values. Fix the comment-format on timer_test_add_offset() while we are here. Signed-off-by: Simon Glass <[email protected]>
2025-02-11Merge tag 'u-boot-dfu-20250211' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu u-boot-dfu-20250211: CI: - https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/24556 Android: - Handle boot images with missing DTB Usb gadget: - Fix nullptr in g_dnl when serial# is unset - Add missing schedule() in f_mass_storage gadget - Add support for STih407 in dwc3-generic - Fix usb clocks on STih407 - Migrate STih407 to DM_USB_GADGET
2025-02-11usb: dwc3-generic: Add STih407 supportPatrice Chotard
Add STi glue logic to manage the DWC3 HC on STiH407 SoC family. It configures the internal glue logic and syscfg registers. Signed-off-by: Patrice Chotard <[email protected]> Cc: Marek Vasut <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2025-02-11usb: dwc3-generic: Reorder includePatrice Chotard
Reorder include following rules available here : https://docs.u-boot.org/en/latest/develop/codingstyle.html#include-files Remove useless include files. Signed-off-by: Patrice Chotard <[email protected]> Cc: Marek Vasut <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2025-02-11usb: dwc3: Remove dwc3 glue driver support for STiPatrice Chotard
STi will migrate to dwc3-generic driver, dwc3-sti-glue driver can be removed. Signed-off-by: Patrice Chotard <[email protected]> Cc: Marek Vasut <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2025-02-11usb: gadget: f_mass_storage: Add schedule() in sleep_thread()Patrice Chotard
In case "ums" command is used on platforms which don't implement g_dnl_board_usb_cable_connected() and USB cable is not connected, we stay inside sleep_thread() forever and watchdog is triggered. Add schedule() call to avoid this issue. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2025-02-10rtc: emul_rtc: Make emul_rtc_probe() staticMichal Simek
emul_rtc_probe() is not called from anywhere else that's why make it static. Issue is reported by build with W=1. Signed-off-by: Michal Simek <[email protected]>
2025-02-10net: designware: support phy io micro voltage setting.Michael Chang
Support phy io micro voltage setting for NPCM8XX rgmii interface. Signed-off-by: Michael Chang <[email protected]>
2025-02-10pinctrl: mediatek: support reading register base address by nameWeijie Gao
This patch add support to read register base address by name if provided. Also devfdt_get_addr_* is changed to dev_read_addr_* to support DT live tree. Signed-off-by: Weijie Gao <[email protected]>
2025-02-10pinctrl: mediatek: mt7988: remove _base from reg-namesWeijie Gao
The reg-names in mt7988.dtsi have no _base suffix. Remove the suffix will also make it match upstream linux format. Fixes: 8c2cb748ef5 (pinctrl: mediatek: mt7988: rename reg-names to upstream linux format) Signed-off-by: Weijie Gao <[email protected]>
2025-02-07Merge patch series "led: add function naming option from linux"Tom Rini
Heiko Schocher <[email protected]> says: In linux we have the option to create the name of a led optionally through the following properties: - function - color - function-enumerator This series adds support for parsing this properties if there is no label property. Link: https://lore.kernel.org/r/[email protected] [trini: Document name parameter in led.h]
2025-02-07led: add function naming option from linuxHeiko Schocher
in linux we have the option to create the name of a led optionally through the following properties: - function - color - function-enumerator This patch adds support for parsing this properties if there is no label property. The led name is created in led_post_bind() and we need some storage place for it. Currently this patch prevents to use malloc() instead it stores the name in new member : char name[LED_MAX_NAME_SIZE]; of struct led_uc_plat. While at it append led tests for the new feature. Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-02-06Merge tag 'xilinx-for-v2025.04-rc2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze AMD/Xilinx changes for v2025.04-rc2 fpga: - Cleanup help - Show xilinx only options on Xilinx devices ospi-versal: - Fix alignment issue - Fix cadence_qspi_flash_reset() prototype zynqmp: - Define usb_pgood_delay - Fix bootseq number versal: - Fix mini_ospi configuration versal2: - Enable OPTEE xilinx: - Enable some flashes - Clean up SYS_MALLOC_F_LEN Kconfig - Some binman fixes - DT updates - Enable mkfwumdata compilation - Enable meminfo command - Switch to LWIP and enable HTTPS
2025-02-06usb: gadget: g_dnl: Fix NULLPTR dereference when serial# is unsetMichael Ferolito
The current behaviour of this function will dereference a null pointer if the serial# environment variable is unset. This was discovered on a board where U-Boot did not have access to the first 256MB of ram, resulting in a board crash. In the event that U-Boot has full access to memory, it will still read from address 0, which is probably not optimal. This simple check is enough to fix it Signed-off-by: Michael Ferolito <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Kyungmin Park <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2025-02-05fpga: Avoid ignored-qualifiers warningAlexander Dahl
Fixes annoying warnings of the following type when built with W=1 (for each file including fpga.h): CC drivers/fpga/fpga.o In file included from /mnt/data/adahl/src/u-boot/include/xilinx.h:7, from /mnt/data/adahl/src/u-boot/drivers/fpga/fpga.c:10: /mnt/data/adahl/src/u-boot/include/fpga.h:61:1: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] 61 | const fpga_desc *const fpga_get_desc(int devnum); | ^~~~~ /mnt/data/adahl/src/u-boot/include/fpga.h:81:1: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] 81 | const fpga_desc *const fpga_validate(int devnum, const void *buf, | ^~~~~ /mnt/data/adahl/src/u-boot/drivers/fpga/fpga.c:36:1: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] 36 | const fpga_desc *const fpga_get_desc(int devnum) | ^~~~~ /mnt/data/adahl/src/u-boot/drivers/fpga/fpga.c:53:1: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] 53 | const fpga_desc *const fpga_validate(int devnum, const void *buf, | ^~~~~ Do some type and cast cleanup on that fpga_desc type while at it. Link: https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wignored-qualifiers Signed-off-by: Alexander Dahl <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-02-05spi: cadence_qspi: Add missing prototype for cadence_qspi_flash_resetVenkatesh Yadav Abbarapu
Add missing prototype to fix the sparse warning, warning: no previous prototype for 'cadence_qspi_flash_reset' [-Wmissing-prototypes]. Fixes: 6d234a79e9 ("cadence_qspi: Refactor the flash reset functionality") Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-02-05spi: cadence_qspi: Fix OSPI DDR mode alignment issuePadmarao Begari
If the least significant bit of the address is set to one when using the DDR protocol for data transfer then the results are indeterminate for few flash devices. To fix this the least significant bit of the address is set to zero. Signed-off-by: Padmarao Begari <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-02-04net: miiphybb: Update debug() printMarek Vasut
Update the debug() print, use __func__ to always print matching function name, and also print bus name in case there are multiple busses. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2025-02-04net: miiphybb: Convert ifdef DEBUG to debug()Marek Vasut
Replace ifdeffery with plain debug() function call. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2025-02-04remoteproc: renesas: Synchronize caches across coresMarek Vasut
Explicitly flush icache on the CR52 core before jumping to the next stage software to make sure it does not contain any invalid content. Explicitly flash and invalidate dcache on the CA76 core both over the trampoline buffer and over the CR52 firmware, and then trigger full system synchronization, to make sure the data surely land in DRAM, from where the CR52 can surely pick them up. Signed-off-by: Marek Vasut <[email protected]>
2025-02-04Merge patch series "mediatek: final preparation for OF_UPSTREAM support"Tom Rini
Christian Marangi <[email protected]> says: This is the last batch of part to push actual support of OF_UPSTREAM for the mediatek SoC. The plan is to make the current downstream DTS on part with upstream implementation so we can permit a gradual transition to it while we don't cause any regression to any user. This is to have the same node downstream and upstream. Mediatek is working hard upstream to also push all the remaining nodes. All patch are the final changes after the pinctrl patch merged previously. All patch pass CI tests Link: https://github.com/u-boot/u-boot/pull/731 Link: https://lore.kernel.org/r/[email protected]
2025-02-04pinctrl: mediatek: mt7981: rename reg-names to upstream linux formatChristian Marangi
Rename reg-names to upstream linux format. Upstream linux drop the "_base". To make use of upstream DTSI, align to the upstream naming. Signed-off-by: Christian Marangi <[email protected]> Reviewed-by: Weijie Gao <[email protected]> Tested-by: Weijie Gao <[email protected]>
2025-02-03mmc: Allow controlling DM_MMC for VPL buildsSimon Glass
VPL may want to use driver model for MMC even if TPL does not. Update the rule in this driver to support that. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-02-03pinctrl: starfive: Correct driver declaration for starfive_gpioHal Feng
Use the driver macros so that the driver appears in the linker list. Reported-by: Simon Glass <[email protected]> Fixes: 732f01aabf53 ("pinctrl: starfive: Add StarFive JH7110 driver") Signed-off-by: Hal Feng <[email protected]> Reviewed-by: Anand Moon <[email protected]>
2025-01-31net: mediatek: fix coding style of AN8855 switch driverWeijie Gao
This patch fixed the following coding style suggested by checkpatch.pl: 1. Use tab instead of space 2. Use BIT() instead of << 3. Use mdelay for long time delay 4. Remove useless parenthesises Signed-off-by: Weijie Gao <[email protected]>
2025-01-31pinctrl: mediatek: update mt7981 pinctrl driver based on upstream kernelWeijie Gao
Update mt7981 pinctrl driver based on upstream kernel Signed-off-by: Sam Shih <[email protected]> Signed-off-by: Weijie Gao <[email protected]>