summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-02-18board: verdin-am62: add dram_init_banksizeStefan Eichenberger
Add the dram_init_banksize function to the board file to properly set DRAM memory sizes during boot. The commit bc07851897bd ("board: ti: Pull redundant DDR functions to a common location and Fixup DDR size when ECC is enabled") relocated the dram_init_banksize function from architecture specific initialization to the TI board initialization code. As a result, boards relying on the previous setup now require this function to be defined within their board file to handle DRAM sizing correctly. Without this function defined the following error appears during boot: ERROR: Failed to allocate 0x1000 bytes below 0x0. Fixes: bc07851897bd ("board: ti: Pull redundant DDR functions to a common location and Fixup DDR size when ECC is enabled") Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com> Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2025-02-18board: nuvoton: use an event to replace last_stage_init()Michael Chang
Add a new event which handles this function refer to commit ("91caa3bb89b1 event: Use an event to replace last_stage_init()") Signed-off-by: Michael Chang <zhang971090220@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2025-02-18tools: Fix potential null-deref with result of strtok_rMaks Mishin
Return value of a function 'strtok_r' is dereferenced at kwbimage.c:1655 without checking for NULL, but it is usually checked for this function. Signed-off-by: Maks Mishin <maks.mishinFZ@gmail.com>
2025-02-18u-boot-initial-env: Add missing dependenciesTom Rini
When performing a build consisting of only a defconfig target and then this tool, we were missing two dependencies. Add them. Signed-off-by: Tom Rini <trini@konsulko.com>
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-17u_boot_pylib: Move gitutil into the librarySimon Glass
Move this file into U-Boot's Python library, so that it is no-longer part of patman. This makes a start on: https://source.denx.de/u-boot/custodians/u-boot-dm/-/issues/35 Signed-off-by: Simon Glass <sjg@chromium.org>
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 <kikuchan98@gmail.com>
2025-02-14Merge patch series "Rework requirements.txt files"Tom Rini
Tom Rini <trini@konsulko.com> says: A challenge we've run in to is making it easier for more people to use various python tools that we include in the tree. Part of the problem is that when we have a requirements.txt file, aside from the doc one we share with the kernel, I created it using "pip freeze". And while this might have been a best (or at least OK) practice at the time, that's no longer the case and is why our files have so many things in them. What this series does is create multiple files, one per project/tool and then has CI install them as needed. There's a few places here where this means that we update the requirements as well, but we keep a few big things where they are currently. This is because updating them introduces problems of their own and delaing with that would best be a follow up series. I've put this through GitLab and Azure to make sure everything is still going fine on both platforms. Link: https://lore.kernel.org/r/20250205000743.949790-1-trini@konsulko.com
2025-02-14Dockerfile: Update for having more requirements.txt filesTom Rini
Now that we have more requirements.txt files we need to grab all of them for creating our cache. Also, we do longer should install python3-pyelftools on the host as it's not used. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-02-14python: Recreate test/py and tools/buildman requirements.txt filesTom Rini
Use the "pipreqs" tool to re-create these files, with a few manual corrections. We still need to include pytest-xdist which the tool does not detect. We also for now don't upgrade most of the required tools as that creates problems with various tests, which should be resolved independently. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-02-14CI: Invoke pip once rather than multiple timesTom Rini
We can invoke pip once to install the various requirements.txt files that we need rather than invoking the tool multiple times. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-02-14CI: Consistently install our requirements.txt filesTom Rini
We should install all of our requirements.txt files after starting the virtualenv rather than ad-hoc throughout each test. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-02-14CI: Be consistent in creating and starting our virtualenvTom Rini
Before we invoke pip we should always have first created and started our virtualenv. This was done most of the time, but not always. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-02-14python: Create requirements.txt files for each "project"Tom Rini
Rather than have a requirements.txt file that's shared between multiple python projects within U-Boot, create one for each using "pipreqs". Signed-off-by: Tom Rini <trini@konsulko.com>
2025-02-14board: ti: am62px: tifs-rm-cfg/rm-cfg: Update DMA resource sharing for CPSWSiddharth Vadapalli
The CPSW3G instance of CPSW on AM62PX SoC provides Ethernet functionality. Currently, Ethernet is supported on Linux which runs on the A53 core on the SoC, by allocating all of the DMA resources associated with CPSW to A53_2. In order to enable use-cases where the Ethernet traffic is sent from or consumed by various CPU cores on the SoC simultaneously, while at the same time, maintaining backward compatibility with the existing use-case of A53 being the sole entity that exchanges traffic with CPSW via DMA, update the DMA resource sharing scheme on AM62PX SoC to the following: --------------- -------------- ------------- ---------------- Resource WKUP_R5 MCU_R5 A53_2 --------------- -------------- ------------- ---------------- TX Channels [8] => 4 (Primary) 4 (Primary) 8 (Secondary) TX Rings [64] => 32 (Primary) 32 (Primary) 64 (Secondary) RX Channels [1] => 1 (Primary) 0 1 (Secondary) RX Flows [16] => 6 (Primary) 10 (Primary) 16 (Secondary) In the absence of primary owners of resources (existing use-case where A53 owns all of the CPSW DMA resources), the secondary owner can claim all of the resources as its own. For shared use-cases, the resources that are not claimed by the primary are communicated to the secondary owner allowing it to claim them. This ensures that Linux on A53_2 can continue claiming all DMA resources associated with CPSW in the absence of primary owners, while at the same time providing users the flexibility to share CPSW DMA resources across various CPU cores listed above if needed. While Linux has been mentioned as the Operating System running on A53, there is no dependency between the Operating System running on A53 and its ability to claim the CPSW DMA resources listed above. Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
2025-02-14Merge patch series "Introduce K3 remoteproc driver for M4 subsystem"Tom Rini
Judith Mendez <jm@ti.com> 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/20250210202944.1071931-1-jm@ti.com
2025-02-14configs: am6*/j7*: Remove remoteproc configsJudith Mendez
Now that remoteproc configs are enabled by default in Kconfig files, remove these configs which are no longer needed to be defined here in configs/. Signed-off-by: Judith Mendez <jm@ti.com> Reviewed-by: Andrew Davis <afd@ti.com>
2025-02-14arm: mach-k3: Enable remoteproc drivers by default for K3 ARCHJudith Mendez
Add remoteproc config options to enable remoteproc drivers by default as per what remotproc subsystem is supported on each SoC. Signed-off-by: Judith Mendez <jm@ti.com>
2025-02-14cmd: Enable CMD remoteproc by default for K3 ARCHJudith Mendez
Enable CMD_REMOTEPROC by default if building for K3 ARCH so that it does not have to be defined in each board defconfig file. Signed-off-by: Judith Mendez <jm@ti.com>
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 <jm@ti.com>
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 <jm@ti.com> Reviewed-by: Andrew Davis <afd@ti.com>
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 <hnagalla@ti.com> Signed-off-by: Judith Mendez <jm@ti.com> Reviewed-by: Andrew Davis <afd@ti.com>
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 <hnagalla@ti.com> Signed-off-by: Judith Mendez <jm@ti.com> Reviewed-by: Andrew Davis <afd@ti.com>
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 <hnagalla@ti.com> Signed-off-by: Judith Mendez <jm@ti.com> Reviewed-by: Andrew Davis <afd@ti.com>
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 <hnagalla@ti.com> Signed-off-by: Judith Mendez <jm@ti.com> Reviewed-by: Daniel Schultz <d.schultz@phytec.de> Reviewed-by: Andrew Davis <afd@ti.com>
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 <hnagalla@ti.com> [Ryan: Fix implicitly include warning] Signed-off-by: Ryan Eatmon <reatmon@ti.com> [Judith: Cleanup driver, fix warnings, remove lreset logic] Signed-off-by: Judith Mendez <jm@ti.com> Tested-by: Daniel Schultz <d.schultz@phytec.de> Reviewed-by: Andrew Davis <afd@ti.com>
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 <trini@konsulko.com>
2025-02-13Merge patch series "test: Complete the suite migration"Tom Rini
Simon Glass <sjg@chromium.org> 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/20250207183121.117663-1-sjg@chromium.org/
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 <bin.li@microchip.com> Signed-off-by: Alexander Dahl <ada@thorsis.com>
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 <charan.pedumuru@microchip.com> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
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 <manikandan.m@microchip.com>
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 <manikandan.m@microchip.com>
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 <manikandan.m@microchip.com> Reviewed-by: Eugen Hristev <eugen.hristev@linaro.org>
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 <manikandan.m@microchip.com> Reviewed-by: Eugen Hristev <eugen.hristev@linaro.org>
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 <balamanikandan.gunasundar@microchip.com> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com> Reviewed-by: Eugen Hristev <eugen.hristev@linaro.org>
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 <manikandan.m@microchip.com> Reviewed-by: Eugen Hristev <eugen.hristev@linaro.org>
2025-02-12spi: atmel-quadspi: Improve probe debuggingAlexander Dahl
Report spi clk speed and make use of `log_ret()`. Signed-off-by: Alexander Dahl <ada@thorsis.com>
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 <ada@thorsis.com>
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 <ada@thorsis.com>
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 <ada@thorsis.com>
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 <csokas.bence@prolan.hu> Signed-off-by: Alexander Dahl <ada@thorsis.com>
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 <tudor.ambarus@microchip.com> Cc: Yoshitaka Ikeda <ikeda@nskint.co.jp> Signed-off-by: Alexander Dahl <ada@thorsis.com>
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 <ada@thorsis.com> Reviewed-by: Tom Rini <trini@konsulko.com>
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 <ada@thorsis.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2025-02-11test: Update documentationSimon Glass
Update documentation for how to write tests and the 'ut' command. Signed-off-by: Simon Glass <sjg@chromium.org>
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 <sjg@chromium.org>
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 <sjg@chromium.org>
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 <sjg@chromium.org>
2025-02-11test: Drop suites.hSimon Glass
This file is empty now. Remove it and its uses. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-02-11test: Make cmd_ut_category() staticSimon Glass
This function is not used outside the cmd_ut file anymore, so make it static. Signed-off-by: Simon Glass <sjg@chromium.org>