summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
26 hoursboard: toradex: Make A53 get RAM size from DT in K3 boardsHEADmasterSuhaas Joshi
`dram_init()` is called by R5 SPL and U-Boot, both. It starts by computing the size of the RAM. In verdin-am62(p), it does so by calling `get_ram_size()`. This function computes the size of the RAM by writing over the RAM. When R5 computes the size of the RAM, it does not update the DT with this size. As a result, when A53 invokes `dram_init()` again, it has to compute the size through `get_ram_size()` again. Commit 13c54cf588d82 and 0c3a6f748c9 add firewall over ATF's and OPTEE's regions. This firewall is added during the R5 SPL stage of boot. So when A53 attempts to write over RAM in `get_ram_size()`, it writes over the protected region. Since A53 is a non-secure core, this is blocked by the firewall. To fix this, do the following: * Implement `spl_perform_board_fixups()` function for verdin-am62 and verdin-am62p. Make this function call `fixup_memory_node()`, which updates the DT. * Add an if-block in `dram_init()`, to ensure that only R5 is able to call `get_ram_size()`, and that A53 reads this size from the DT. Signed-off-by: Suhaas Joshi <s-joshi@ti.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
26 hoursMerge tag 'xilinx-for-v2026.04-rc3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze AMD/Xilinx/FPGA changes for v2026.04-rc3 clk: - zynqmp clk fixes phy: - sync vsc8541 config versal2: - fix GIC configuration
2 daysMerge tag 'u-boot-dfu-20260211' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu u-boot-dfu-20260211 USB Gadget: * dwc3: Support ip and version type * dwc3: Increase controller halt timeout * dwc3: Don't send unintended link state change * dwc3: Improve reset sequence * dwc2: Move dr_mode check to bind to support RK3288/RK3506 with 2 DWC2 controllers
2 daysMerge tag 'tpm-master-11022026' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tpm A coverity fix and documentation update from Heiko on SM3 support
2 daysdoc: cmd: add documentation for sm3sumHeiko Schocher
add documentation for sm3sum command. Signed-off-by: Heiko Schocher <hs@nabladev.com> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 dayslib: sm3: fix coverity errorHeiko Schocher
Coverity scan reported: CID 449815: Memory - illegal accesses (OVERRUN) Overrunning array of 64 bytes at byte offset 64 by dereferencing pointer "sctx->buffer + partial". [Note: The source code implementation of the function has been overridden by a builtin model.] In line: 252 memset(sctx->buffer + partial, 0, SM3_BLOCK_SIZE - partial); The respective line should be: memset(sctx->buffer + partial, 0, SM3_BLOCK_SIZE - partial - 1); as partial gets incremented by one before. Signed-off-by: Heiko Schocher <hs@nabladev.com> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 daysnet: phy: mscc: Enable RMII clock output for VSC8541 PHYPranav Tilak
Set RMII reference clock output to enabled (1) by default for VSC8541 PHY in RMII mode. The RMII specification requires a 50MHz reference clock, and many board designs expect the PHY to provide this clock to the MAC controller. Previously, the driver defaulted rmii_clk_out to 0 (disabled) for all interface modes, which caused the PHY to not output the required 50MHz clock. This resulted in MAC-PHY communication failures and prevented network operations like DHCP from working on RMII-configured boards. This change alligns with the hardware power-up default behavior and aligns with both the generic PHY driver and Linux MSCC PHY driver implementations. Signed-off-by: Pranav Tilak <pranav.vinaytilak@amd.com> Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/20260129081054.1703479-1-pranav.vinaytilak@amd.com
2 daysarm64: versal2: fix GICD/GICR base addresses for Versal Gen 2Maheedhar Bollapalli
Versal2 was using wrong GIC base mappings, causing GICR_TYPER reads to not match EL1 MPIDR. This led U-Boot to walk beyond the per-CPU GICR frames, access out-of-range addresses, and hit a synchronous exception during early gic init percpu while booting up on alternate core i.e., non cpu0. Update Versal Gen 2 headers to the correct Versal Gen 2 bases. Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/d0bc3fe1af8409fcfe505e55fb7042a33b845a4e.1770721325.git.michal.simek@amd.com
3 daysMerge patch series "Update DDR Configurations"Tom Rini
Santhosh Kumar K <s-k6@ti.com> says: This series updates the DDR Configurations according to the SysConfig DDR Configuration tool v0.10.32 for the following devices [1] - AM64x EVM - AM62x SK - AM62x LP SK - AM62Ax SK - AM62Px SK Testing: memtester - 50% of memory for 10 loops - PASSED [1] https://dev.ti.com/tirex/content/Processor_DDR_Config_0.10.32.0000/docs/REVISION_HISTORY.html Link: https://lore.kernel.org/r/20260203063529.1551907-1-s-k6@ti.com
3 daysarm: dts: k3-am62p: Update DDR ConfigurationsSanthosh Kumar K
Update the DDR Configurations for AM62Px SK according to the SysConfig DDR Configuration tool v0.10.32. [1] [1] https://dev.ti.com/tirex/content/Processor_DDR_Config_0.10.32.0000/docs/REVISION_HISTORY.html Signed-off-by: Santhosh Kumar K <s-k6@ti.com> Reviewed-by: Bryan Brattlof <bb@ti.com>
3 daysarm: dts: k3-am62a: Update DDR ConfigurationsSanthosh Kumar K
Update the DDR Configurations for AM62Ax SK according to the SysConfig DDR Configuration tool v0.10.32. [1] [1] https://dev.ti.com/tirex/content/Processor_DDR_Config_0.10.32.0000/docs/REVISION_HISTORY.html Signed-off-by: Santhosh Kumar K <s-k6@ti.com> Reviewed-by: Bryan Brattlof <bb@ti.com>
3 daysarm: dts: k3-am62-lp: Update DDR ConfigurationsSanthosh Kumar K
Update the DDR Configurations for AM62x LP SK according to the SysConfig DDR Configuration tool v0.10.32. [1] [1] https://dev.ti.com/tirex/content/Processor_DDR_Config_0.10.32.0000/docs/REVISION_HISTORY.html Signed-off-by: Santhosh Kumar K <s-k6@ti.com> Reviewed-by: Bryan Brattlof <bb@ti.com>
3 daysarm: dts: k3-am62x: Update DDR ConfigurationsSanthosh Kumar K
Update the DDR Configurations for AM62x SK according to the SysConfig DDR Configuration tool v0.10.32. [1] [1] https://dev.ti.com/tirex/content/Processor_DDR_Config_0.10.32.0000/docs/REVISION_HISTORY.html Signed-off-by: Santhosh Kumar K <s-k6@ti.com> Reviewed-by: Bryan Brattlof <bb@ti.com>
3 daysarm: dts: k3-am64: Update DDR ConfigurationsSanthosh Kumar K
Update the DDR Configurations for AM64x EVM according to the SysConfig DDR Configuration tool v0.10.32. [1] [1] https://dev.ti.com/tirex/content/Processor_DDR_Config_0.10.32.0000/docs/REVISION_HISTORY.html Signed-off-by: Santhosh Kumar K <s-k6@ti.com> Reviewed-by: Bryan Brattlof <bb@ti.com>
3 daysdrivers/clk/clk_zynqmp.c: get rid of compiler warning for !CONFIG_CMD_CLK buildsPeter Korsgaard
When built without CONFIG_CMD_CLK, we get a warning about the unused clk_names variable: ../drivers/clk/clk_zynqmp.c:153:27: warning: ‘clk_names’ defined but not used [-Wunused-const-variable=] 153 | static const char * const clk_names[clk_max] = { So also guard it with CONFIG_CMD_CLK to get rid of that. Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/20260119095437.2775081-2-peter@korsgaard.com
3 daysdrivers/clk/Kconfig: fix "related" typo in help textPeter Korsgaard
It looks like the original zynqmp typo was copied to versal as well. Fix both. Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/20260119095437.2775081-1-peter@korsgaard.com
4 daysPrepare v2026.04-rc2v2026.04-rc2Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
4 daysarm: spl: Ensure 8 byte alignment of appended DTB without separate BSSTom Rini
Historically, when we have an appended device tree and also our resulting binary will contain the BSS section, we have ensured that everything will be where it's expected to be by declaring that the BSS is overlayed with a symbol matches the end of the port of the ELF binary that is objcopy'd to the binary we concatenate with. This in turn means that the logic to generate a "pad" file, which is the size found in the __bss_size symbol, will be correct and then we can concatenate the device tree and it will begin at __bss_size at run time. With commit 5ffc1dcc26d3 ("arm: Remove rel.dyn from SPL linker scripts") we removed this overlay as part of trying to ensure that we met both the requirements of the device tree to be 8 byte aligned as well as that our logic to generate the -pad file would match what ended up in the resulting binary. While it was correct to remove an unused section it did not solve ultimately solve the problem for all cases. To really fix the problem, we need to do two things. First, our final section prior to _image_binary_end must be 8 byte aligned (for the case of having a separate BSS and so our appended DTB exists at this location). This cannot be '.binman_sym_table' as it may be empty, and in turn the ELF type would be NOBITS and so not copied with objcopy. The __u_boot_list section will never be empty, so it is our final section, and ends with a '. = ALIGN(8)' statement. Second, as this is the end of our copied data it is safe to declare that the BSS starts here, so use the OVERLAY keyword to place the BSS here. Fixes: 5ffc1dcc26d3 ("arm: Remove rel.dyn from SPL linker scripts") Reported-by: Brian Sune <briansune@gmail.com> Reported-by: Phil Phil Sutter <phil@nwl.cc> Tested-by: Brian Sune <briansune@gmail.com> Tested-by: Phil Sutter <phil@nwl.cc> Tested-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
4 daysconfigs: Resync with savedefconfigTom Rini
Resync all defconfig files using qconfig.py Signed-off-by: Tom Rini <trini@konsulko.com>
4 daysMerge tag 'net-20260209' of https://source.denx.de/u-boot/custodians/u-boot-netTom Rini
Pull request net-20260209. net: - airoha: mdio support for the switch - phy: mscc: allow RGMII with internal delay for the VSC8541 - dwc_eth_qos: Update tail pointer handling net-legacy: - Stop conflating return value with file size in net_loop() net-lwip: - wget: rework the '#' printing - tftp: add support of tsize option to client
5 daysMerge tag 'u-boot-at91-2026.04-a' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-at91 First set of u-boot-at91 features for the 2026.04 cycle: This small fixes set includes fixing 64 bit builds and some warnings for the at91 serial driver, and some cleanup on the nand driver.
6 daysarm: dts: k3-am62d-evm-binman: Fix device tree referenceParesh Bhagat
Fix ti-secure content reference from spl_am62a7_sk_dtb to spl_am62d2_evm_dtb or AM62d dtb. Also remove redundant k3-binman.dtsi include. Fixes: 14dfa6b86187 ("Add initial support for AM62D2-EVM") Signed-off-by: Paresh Bhagat <p-bhagat@ti.com> Reviewed-by: Andrew Davis <afd@ti.com>
6 daysarm: mach-k3: r5: j721e: clk-data: manually set the main_pll3 frequencyBryan Brattlof
Moving forward, DM firmware will no longer mess with the MAIN_PLL3. This means MAIN_PLL3 will need to be manually set to 2GHz in order for the CPSW9G HSDIV to have the correct 250MHz output for RGMII. Signed-off-by: Bryan Brattlof <bb@ti.com> Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
6 daysMAINTAINERS: Add entry for SMBIOSRaymond Mao
Add entry for SMBIOS in MAINTAINERS and assign myself as maintainer. Signed-off-by: Raymond Mao <raymond.mao@riscstar.com>
6 daysMerge patch series "Add command for getting ramsize in scripts"Tom Rini
Frank Wunderlich <frank-w@public-files.de> says: Add command for getting ramsize in scripts Link: https://lore.kernel.org/r/20260204184045.111808-1-linux@fw-web.de
6 daysdoc: cmd: add usage doc for memsizeFrank Wunderlich
Add documentation for memsize command. Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
6 daystest: cmd: add test for memsizeFrank Wunderlich
Add a test for memsize command in same way as meminfo. Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
6 dayscmd: mem: add command for getting ram size for use in scriptsFrank Wunderlich
Add a command for getting detected ram size with possibility to assign it to an environment variable. example usage: BPI-R4> memsize 4096 MiB BPI-R4> memsize memsz BPI-R4> printenv memsz memsz=4096 BPI-R4> board with 8GB ram: BPI-R4> memsize 8192 MiB BPI-R4> memsize memsz BPI-R4> printenv memsz memsz=8192 BPI-R4> Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
6 daysMerge patch series "Firewall ATF and OP-TEE memory regions in Sitara"Tom Rini
Suhaas Joshi <s-joshi@ti.com> says: This series starts by replacing hard-coded addresses in firewall templates that are defined in k3-binman.dtsi, by Kconfigs. Using Kconfigs makes it easier for someone to move ATF and OP-TEE to another location, since they wouldn't have to fiddle with the firewall configurations in dtsi files. The rest of the commits in this series add firewall configs to each device's dtsi files. I have only tested this patch series with TI boards. For non-TI Sitara boards, respective board maintainers are requested to test the relevant patch and confirm whether it works. To test this, I used `k3conf <read|write> <address> [<value>]`. Both of these operations were disallowed, as expected. Link: https://lore.kernel.org/r/20260127081652.506357-1-s-joshi@ti.com
6 daysarm: dts: k3-am642-phycore-binman: Configure firewall for ATF/OPTEESuhaas Joshi
Add firewall configurations to protect ATF and OP-TEE memory regions from non-secure read's and write's in Phycore AM64 SOM. Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
6 daysarm: dts: k3-am64x-binman: Configure firewall for ATF/OPTEESuhaas Joshi
Add firewall configurations to protect ATF and OP-TEE memory regions from non-secure reads and writes in AM64x. Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
6 daysarm: dts: k3-am62a-phycore-binman: Configure firewall for ATF/OPTEESuhaas Joshi
Add firewall configurations to protect ATF and OP-TEE memory regions from non-secure read's and write's in Phycore AM62A SOM. Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
6 daysarm: dts: k3-am62a-binman: Configure firewall for ATF/OPTEESuhaas Joshi
Add firewall configurations to protect ATF and OP-TEE memory regions from non-secure reads and writes in AM62A. Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
6 daysarm: dts: k3-am62p5-verdin-binman: Configure firewall for ATF/OPTEESuhaas Joshi
Add firewall configurations to protect ATF and OP-TEE memory regions from non-secure read's and write's in Verdin AM62P board. Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
6 daysarm: dts: k3-am62p-binman: Configure firewall for ATF/OPTEESuhaas Joshi
Add firewall configurations to protect ATF and OP-TEE memory regions from non-secure reads and writes in AM62P. Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
6 daysarm: dts: k3-am625-verdin-binman: Configure Firewall for ATF/OPTEESuhaas Joshi
Add firewall configurations to protect ATF and OP-TEE memory regions from non-secure read's and write's in Verdin AM62 board. Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
6 daysarm: dts: k3-am625-phycore-binman: Configure firewall for ATF/OPTEESuhaas Joshi
Add firewall configurations to protect ATF and OP-TEE from non-secure reads and writes in Phycore AM625 SOM. Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
6 daysarm: dts: k3-am625-binman: Configure firewall for ATF/OPTEESuhaas Joshi
Add firewall configurations to protect ATF and OP-TEE memory regions from non-secure reads and writes in AM62x. Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
6 daysarm: dts: k3-binman: Use configs for ATF/OPTEE addressesSuhaas Joshi
Instead of hard-coding ATF and OPTEE addresses in firewall configuration templates, use K3_*_LOAD_ADDR. Doing so ensures that if someone moves ATF/OPTEE regions, the change gets picked up by binman without explicitly having to modify dts files. Signed-off-by: Suhaas Joshi <s-joshi@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
6 daysMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-shTom Rini
- Enable wget and TCP on R-Car systems
6 daysMerge tag 'u-boot-imx-master-20260206' 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/29216 - Convert imx8mn_var_som to OF_UPSTREAM and several cleanups. - Fix ele_ahab buid error on imx93_qsb. - Add i.MX95 EVK remoteproc support. - Several i.MX8/9 EVK cleanups.
7 daysmach-imx: ele_ahab: Mitigate imx93_qsb build errorNiko Mauno
Add include to avoid following build error with imx93_qsb, when AHAB_BOOT is enabled: .../arch/arm/mach-imx/ele_ahab.c:262:24: error: 'IMG_CONTAINER_BASE' undeclared (first use in this function); did you mean 'IMG_CONTAINER_END_BASE'? .../arch/arm/mach-imx/ele_ahab.c:477:20: error: 'FSB_BASE_ADDR' undeclared (first use in this function); did you mean 'WDOG_BASE_ADDR'? .../arch/arm/mach-imx/ele_ahab.c:543:20: error: 'FSB_BASE_ADDR' undeclared (first use in this function); did you mean 'WDOG_BASE_ADDR'? Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
7 daysboard: imx8mn-var-som: compile SPL-only stuff only in SPL buildHugo Villeneuve
SPL-specific stuff is already in spl.c, so avoid compiling other source files in SPL build. Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
7 daysboard: imx8mn-var-som: remove unneeded header filesHugo Villeneuve
Cleanup the file by removing unneeded header files. Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
7 daysboard: imx8mn_var_som: let clock system enable UART clockHugo Villeneuve
Now that the UART driver can enable the required clocks, remove the hard-coded clock enable. Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
7 daysarm: dts: imx8mn-var-som-symphony: migrate to OF_UPSTREAMHugo Villeneuve
Switch to OF_UPSTREAM to make use of the upstream device trees. Remove the now obsolete device tree files: - imx8mn-var-som-symphony.dts - imx8mn-var-som.dtsi Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
7 daysarm: dts: imx8mn-var-som: add som-eeprom alias to SOM u-boot dtsiHugo Villeneuve
The som-eeprom alias is specific to U-Boot, and not present in upstream linux imx8mn-var-som device tree. Add it to the SOM U-Boot specific device tree file in preparation for migration to OF_UPSTREAM. Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
7 daysarm: dts: imx8mn-var-som: Move SOM-specific nodes to SOM u-boot.dtsiHugo Villeneuve
Move SOM-specific stuff into a new SOM u-boot.dtsi file. This way, it can be used by multiple boards. Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
7 daystoradex: smarc-imx95: Drop init_uart_clkPeng Fan
Rely on serial driver calling clk_enable to enable the lpuart clk, no need to do init_uart_clk in board_early_init_f(). Also remove board_early_init_f(), because it is empty now. Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
7 daysnxp: imx94_evk: Drop init_uart_clkPeng Fan
Rely on serial driver calling clk_enable to enable the lpuart clk, no need to do init_uart_clk in board_early_init_f(). Also remove board_early_init_f(), because it is empty now. Signed-off-by: Peng Fan <peng.fan@nxp.com>