summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-02-14spl: Enable SPL remoteproc by default for K3 ARCHJudith Mendez
If building for v7R and K3 architecture, enable SPL remoteproc so that it does not have to be defined in each board defconfig file. Signed-off-by: Judith Mendez <[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-14board: ti: am62px: Add remoteproc specific env supportHari Nagalla
Add remoteproc specific env support for am62px device. If the remoteproc CMD is defined, include the K3 remoteproc environment. Also define rproc_fw_binaries which holds a list of remoteproc FW binaries for u-boot loading of remote cores. Signed-off-by: Hari Nagalla <[email protected]> Signed-off-by: Judith Mendez <[email protected]> Reviewed-by: Andrew Davis <[email protected]>
2025-02-14board: ti: am62x: Add remoteproc specific env supportHari Nagalla
Add remoteproc specific env support for am62x device. If the remoteproc CMD is defined, include the K3 remoteproc environment. Also define rproc_fw_binaries which holds a list of remoteproc FW binaries for u-boot loading of remote cores. Signed-off-by: Hari Nagalla <[email protected]> Signed-off-by: Judith Mendez <[email protected]> Reviewed-by: Andrew Davis <[email protected]>
2025-02-14board: ti: am64x: Add remoteproc specific env supportHari Nagalla
Add remoteproc specific env support for am64x device. If the remoteproc CMD is defined, include the K3 remoteproc environment. Also define rproc_fw_binaries which holds a list of remoteproc FW binaries for u-boot loading of remote cores. Signed-off-by: Hari Nagalla <[email protected]> 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-13Merge branch 'misc' of https://source.denx.de/u-boot/custodians/u-boot-tegraTom Rini
Improvements for PMIC GPIO children, tegra20 pinmux driver fix, tegra dts updates, various small adjustments and tweaks.
2025-02-13Merge patch series "test: Complete the suite migration"Tom Rini
Simon Glass <[email protected]> says: This series completes the removal of test commands for suites. With this it is possible to declare a suite (including init and uninit functions) without needing to write a command. It also adds timing for test suites, so we can keep track of how long things take. Link: https://lore.kernel.org/all/[email protected]/
2025-02-13mbedtls/external: remove broken git submoduleZHANG Yuntian
When we squash imported mbedtls, the git submodule "framework" was preserved in the commit. However, U-Boot itself does not use git submodule, and provides no .gitmodules file to specify the submodule repository. This is normally not an issue when cloning U-Boot repository. However, when U-Boot is imported as a submodule, this will break git option `--recurse-submodules` as it fails to resolve "framework". As we do not use the submodule, remove it to unbreak existing workflows. Fixes: 12f1212e95fe ("Merge commit '0344c602eadc0802776b65ff90f0a02c856cf53c' as 'lib/mbedtls/external/mbedtls'") Signed-off-by: ZHANG Yuntian <[email protected]>
2025-02-13board: transformer-t30: fix model detectionSvyatoslav Ryhel
PCBID1 seems to be high not only on TF600T, but on TF700T as well, that caused boot failure for TF700T. Switching PCBID1 to PCBID7 should fix this issue. Co-developed-by: Ion Agorria <[email protected]> Signed-off-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-02-13doc: board: tegra: update device informationSvyatoslav Ryhel
Adjust and update existing manuals to reflect the most recent updates. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-02-13ARM: tegra124: dts: mark HOST1X and DC with pre-relocation flagSvyatoslav Ryhel
Same as on previous SoC generations this is required for proper video output work. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-02-12Merge branch 'u-boot-net-20250212' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-net CI: https://source.denx.de/u-boot/custodians/u-boot-net/-/pipelines/24577 net-lwip: * Fix incorrect selection of ethernet device on boards having more than one * Fix TFTP option processing * Make the WGET_HTTPS Kconfig symbol depend on DM_RNG lib: * Add strnstr()
2025-02-12net: Kconfig: depend on DM_RNG for WGET_HTTPSJerome Forissier
net/lwip/wget.c/mbedtls_hardware_poll() is calling dm_rng_read() but dependency is not recorded anywhere that's why depend on DM_RNG when WGET_HTTPS is used. Suggested-by: Michal Simek <[email protected]> Co-developed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]> Signed-off-by: Jerome Forissier <[email protected]> Tested-by: Michal Simek <[email protected]>
2025-02-12net: use strnstr() for lwip_strnstr()Heinrich Schuchardt
Using strstr() instead of strnstr() creates a security concern. Fixes: 1c41a7afaa15 ("net: lwip: build lwIP") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Jerome Forissier <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Jerome Forissier <[email protected]>
2025-02-12test: unit tests for strstr() and strnstr()Heinrich Schuchardt
Add unit tests for the library functions. Signed-off-by: Heinrich Schuchardt <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> [jf: drop unwanted change to lib/string.c] Signed-off-by: Jerome Forissier <[email protected]>
2025-02-12lib: implement strnstr()Heinrich Schuchardt
Implement library function strnstr(). Implement strstr() using strnstr(). Sort the includes. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> [jf: replace <stdint.h> by <limits.h>, folded from next patch] Signed-off-by: Jerome Forissier <[email protected]>
2025-02-12net: lwip: tftp: fix find_option()Heinrich Schuchardt
Find_option() is used to retrieve the block size value in an option acknowledgment in response to a request containing a block size option according to RFC2348. The format of an OACK response is described in RFC2347 as +-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+ | opc | opt1 | 0 | value1 | 0 | optN | 0 | valueN | 0 | +-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+ The current implementation of find_option() only works if * blksize is the first option * lwip_strnstr() ignores the length parameter, i.e. is implemented via strstr() The OACK messages starts with 0x00 0x06. If 'blksize' is the first option, strstr() reports a match when the first parameter points to 0x06. Adding the string length of 'blksize' plus 2 to the location of the 0x06 byte points to the value. Find_option() would report a match for option 'blksize' if the response contained an option called 'foo_blksize_bar'. In this case find_option() would return 'bar' as the value string. If 'blksize' were the second option, find_option() would return a pointer to the second character of the value string. Furthermore find_option() does not detect if the value string is NUL terminated. This may lead to a buffer overrun. Provide an implementation that correctly steps from option to option. Fixes: 27d7ccda94fa ("net: lwip: tftp: add support of blksize option to client") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Jerome Forissier <[email protected]> Tested-by: Jerome Forissier <[email protected]> (qemu_arm64_lwip) Signed-off-by: Jerome Forissier <[email protected]>
2025-02-12net: lwip: move eth_init() out of new_netif()Jerome Forissier
Move the initialization of the ethernet devices out of the new_netif() function. Indeed, new_netif() accepts a struct device argument, which is expected to be valid and active. The activation and selection of this device are achieved by eth_init() (on first time the network stack is used) and eth_set_current(). This is what takes care of the ethrotate and ethact environment variables. Therefore, move these calls to a new function: net_lwip_set_current(), and use it whenever a net-lwip command is run. This patch hopefully fixes the incorrect net-lwip behavior observed on boards with multiple ethernet interfaces [1]. Tested on an i.MX8MPlus EVK equipped wih two ethernet ports. The dhcp command succeeds whether the cable is plugged into the first or second port. [1] https://lists.denx.de/pipermail/u-boot/2025-January/576326.html Reported-by: E Shattow <[email protected]> Tested-by: E Shattow <[email protected]> Signed-off-by: Jerome Forissier <[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-12ARM: tegra124: dts: add missing DSI nodesSvyatoslav Ryhel
Bind missing DSI and MIPI calibration devices. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-02-12ARM: tegra30: dts: complete DSI nodesSvyatoslav Ryhel
Sync DSI nodes with Linux tree. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-02-12ARM: tegra210: clock: implement PLLD2 supportSvyatoslav Ryhel
PLLD2 is a simple clock (controlled by 2 registers) and appears starting from T30. Primary use of PLLD2 is as main HDMI clock parent. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-02-12ARM: tegra124: clock: implement PLLD2 supportSvyatoslav Ryhel
PLLD2 is a simple clock (controlled by 2 registers) and appears starting from T30. Primary use of PLLD2 is as main HDMI clock parent. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-02-12board: asus: convert SPL to XPLSvyatoslav Ryhel
Not sure why these files were omitted, but SPL should be converted to XPL. Signed-off-by: Svyatoslav Ryhel <[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-12ARM: dts: at91: Align pinctrl node with Linux DevicetreeManikandan Muralidharan
The GPIO banks are added as sub nodes or child nodes under the pinctrl node (as per Linux ABI) and the reg property which points to an array of controllers physical base address is removed to align with the Linux devicetree. Signed-off-by: Charan Pedumuru <[email protected]> Signed-off-by: Manikandan Muralidharan <[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-12ARM: dts: at91: sam9x60: Add missing pinctrl node propertiesManikandan Muralidharan
Add the missing properties for the pinctrl node and for its corresponding GPIO bank nodes to align with the Linux DT. Signed-off-by: Manikandan Muralidharan <[email protected]> Reviewed-by: Eugen Hristev <[email protected]>
2025-02-12ARM: dts: at91: sam9x60: Move pinmux node to board DTSManikandan Muralidharan
Move pinmux nodes defined under the pinctrl node from sam9x60 SoC DT to its board specific DTS files. Signed-off-by: Manikandan Muralidharan <[email protected]> Reviewed-by: Eugen Hristev <[email protected]>
2025-02-12ARM: dts: at91: sam9x60: Define pinctrl node with its labelBalamanikandan Gunasundar
Define the pinctrl nodes with its label to align with the Linux DT. Without this change the pinmux nodes are grouped under an additional 'pinctrl' child node which is not identified by the pinctrl driver when the GPIO banks are made as child nodes of pinctrl node. Signed-off-by: Balamanikandan Gunasundar <[email protected]> Signed-off-by: Manikandan Muralidharan <[email protected]> Reviewed-by: Eugen Hristev <[email protected]>
2025-02-12ARM: dts: at91: sam9x60: Add AIC nodeManikandan Muralidharan
Add Advanced Interrupt Controller node and define it as interrupt parent in sam9x60 SoC DT. Signed-off-by: Manikandan Muralidharan <[email protected]> Reviewed-by: Eugen Hristev <[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: Update documentationSimon Glass
Update documentation for how to write tests and the 'ut' command. Signed-off-by: Simon Glass <[email protected]>
2025-02-11test: Do flag-processing in the correct placeSimon Glass
At present the 'ut' command handles its flags in a strange way, in that they must come after the subcommand. So, we must use 'ut bloblist -r2' to run the bloblist tests twice. This is an artefact of the way tests were run, through subcommands. It is now possible to correct this, by doing flag-processing before running the suite. Update the code to handle this, so that 'ut -r2 bloblist' works. Update the 'test_suite' test to check the new arguments. Add a sanity-check for -I while we are here. Signed-off-by: Simon Glass <[email protected]>
2025-02-11test: Move code out of cmd_ut_category()Simon Glass
Move the logic from this function into run_suite(), on the way to having flag parsing in the top-level 'ut' command instead of its children. Signed-off-by: Simon Glass <[email protected]>
2025-02-11test: Allow running a selection of suitesSimon Glass
Enhance the ut command to accept a comma-separated list of test suites to run. Report the summary information for these at the end. Signed-off-by: Simon Glass <[email protected]>