summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
5 daysarm: mach-k3: arm64-mmu: add mapping for PCIe 4 GB Address WindowsSiddharth Vadapalli
The PCIe Controllers in the K3 SoCs have 4 GB Address Windows in the 64-bit address space to map System (CPU) Addresses to PCIe Bus Addresses. The physical addresses for these Address Windows across PCIe instances across SoCs is as follows: +--------+----------------+----------------+----------------+----------------+ | SoC | PCIe0 | PCIe1 | PCIe2 | PCIe3 | +--------+----------------+----------------+----------------+----------------+ | AM64 | 0x6_0000_0000 | NA | NA | NA | | J722S | 0x6_0000_0000 | NA | NA | NA | | AM68 | NA | 0x41_0000_0000 | NA | NA | | J7200 | NA | 0x41_0000_0000 | NA | NA | | J721S2 | NA | 0x41_0000_0000 | NA | NA | | J742S2 | 0x40_0000_0000 | 0x41_0000_0000 | NA | NA | | AM69 | 0x40_0000_0000 | 0x41_0000_0000 | 0x42_0000_0000 | 0x43_0000_0000 | | J721E | 0x40_0000_0000 | 0x41_0000_0000 | 0x42_0000_0000 | 0x43_0000_0000 | | J784S4 | 0x40_0000_0000 | 0x41_0000_0000 | 0x42_0000_0000 | 0x43_0000_0000 | +--------+----------------+----------------+----------------+----------------+ Two regions for a 1:1 mapping from virtual addresses to physical addresses catering to all of the above will be required, which are: 1. For AM64 and J722S SoCs => Start: 0x6_0000_0000 Size: 0x1_0000_0000 2. For AM68, AM69, J7200, J721E, J721S2, J742S2 and J784S4 SoCs => Start: 0x40_0000_0000 Size: 0x4_0000_0000 Since the 'Flash Peripherals' region from 0x5_0000_0000 to 0x8_7FFF_FFFF includes the mapping for AM64 and J722S SoCs, only the second region mentioned above needs to be added. Hence, add the region to support 64-bit address space for PCIe. Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")
10 daystreewide: Remove Timesys from ADI ADSP maintenancePhilip Molloy
After years of developing the ADI ADSP platform, Timesys was purchased by another company and is no longer contracted to maintain the platform. Signed-off-by: Philip Molloy <philip.molloy@analog.com> Reviewed-by: Greg Malysa <malysagreg@gmail.com>
2026-02-25Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-samsungTom Rini
- Assorted platform and video driver updates
2026-02-25Merge tag 'u-boot-stm32-20260224' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm STM32 update: _ Add STM32MP21 support (board, machine, cmd_stm32key, cmd_stboard, rifsc) _ pinctrl: stm32 : various update _ stm32prog: clean stm32prog_data struct _ stm32mp2: Fix array bound check in setup_boot_mode() _ stm32mp2: Update dynamically DDR size in MMU table _ rifsc: various fixes
2026-02-24ARM: stm32mp: Check secure state firstGatien Chevallier
Secure state must be checked before handling semaphores, otherwise it can cause an IAC. Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24ARM: stm32mp: Fix CID and semaphore checkGatien Chevallier
Peripheral holding CID0 cannot be accessed, remove this completely incorrect check. While there, fix and simplify the semaphore checking that should be performed when the CID filtering is enabled. Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24ARM: stm32mp: Do not acquire RIFSC semaphore if CID filtering is disabledGatien Chevallier
If the CID filtering is enabled, the semaphore mode is disabled as well. To avoid an incorrect behavior and error trace, add a check of CID filtering state before acquiring the semaphore. Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24stm32mp: cmd_stm32key: add support of ADAC public key hashThomas Bourgoin
Add support of ADAC-PKH for STM32MP21. Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24stm32mp: cmd_stm32key: add support of remoteproc firmware public keyGwenael Treuveur
Add support of RPROC-FW-PKH for STM32MP25, STM32MP23 and STM32MP21. Signed-off-by: Gwenael Treuveur <gwenael.treuveur@foss.st.com> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24stm32mp: cmd_stm32key: add support of remoteproc firmware encryption keyThomas Bourgoin
Add support of RPROC-FW-KEY for STM32MP25, STM32MP23 and STM32MP21. Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24stm32mp: cmd_stm32key: add support of OTP key format 2Thomas Bourgoin
Add support of OTP key format 2 used by OP-TEE. Key formats are describes in the STM32MPUs references manuals section OTP mapping. Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24stm32mp: cmd_stm32key: add support of STM32MP21x SoCThomas Bourgoin
Update stm32key to support stm32mp21 OTP mapping. Create a new list of key to support the following differences : - STM32MP21x SoC support 128b and 25b FSBL encryption keys. - OEM-KEY1 and OEM-KEY2 used for authentication are in different OTP from STM32MP25 and STM32MP23. stm32key is compatible with platform STM32MP2 (aarch64) Hence, use unsigned long to handle argument addr of function read_key_value() instead of u32. Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24stm32mp1: Add check on syscon_get_first_range() return valuePatrice Chotard
syscon_get_first_range()'s return value is used as base address to perform a read, without any checks. In case stmp32mp_syscon is not binded, syscon_get_first_range() returns -ENODEV which leads to a "Synchronous abort". Add syscon_get_first_range() check on return value. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24stm32mp2: Add check on syscon_get_first_range() return valuePatrice Chotard
syscon_get_first_range()'s return value is used as base address to perform a read, without any checks. In case stmp32mp_syscon is not binded, syscon_get_first_range() returns -ENODEV which leads to a "Synchronous abort". Add syscon_get_first_range() check on return value. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24stm32mp2: Migrate duplicated code into stm32mp2x.cPatrice Chotard
Same code is duplicated into stm32mp25x.c, stm32mp23x.c and stm32mp21x.c. Migrate read_deviceid(), get_cpu_dev(), get_cpu_rev(), get_cpu_type() and get_cpu_package() into new stm32mp2x.c. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24ARM: dts: stm32: Add bootph-all in stm32mp215f-dk-u-boot.dtsiPatrice Chotard
Add temporarily bootph-all property in usart2 and syscfg nodes to allows stm32mp215f-dk board to boot. When DT kernel series [1] will be merged and synchronized in U-Boot this patch will be reverted. [1] https://lore.kernel.org/linux-arm-kernel/20260203-upstream_uboot_properties-v6-0-0a2280e84d31@foss.st.com/ Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24ARM: dts: stm32: Add stm32mp215f-dk-u-bootPatrice Chotard
Add U-Boot specific file for stm32mp215f-dk board Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24ARM: stm32mp: Add STM32MP21 supportPatrice Chotard
STM32MP21 application processors (STM32 MPUs) based on a single Arm Cortex®-A35 core running up to 1.5 GHz and Cortex®-M33 core running at 300 MHz. It is pin-compatible with the STM32MP2 series in the VFBGA361 10×10 mm package: the STM32MP21 uses a subset of the STM32MP23 pinout, which itself is a subset of the STM32MP25. More details available here : https://www.st.com/en/microcontrollers-microprocessors/stm32mp2-series.html Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24stm32mp: cmd_stm32key: add support of STM32MP21xPatrice Chotard
Add cmd_stm32key support for STM32MP21x SoCs family. Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24stm32mp: syscon: Add STM32MP21 supportPatrice Chotard
Add "st,stm32mp21-syscfg" compatible. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24arm: mach-k3: common: Clamp RAM end address to board-usable region in ↵Devarsh Thakkar
spl_enable_cache() commit ba20b2443c29 ("arm: mach-k3: common: Reserve video memory from end of the RAM") switched spl_enable_cache() to use gd->ram_top directly but omitted the board_get_usable_ram_top() call that limits RAM configuration and provides updated RAM end address per memory map used by board and impacts subsequent allocations and reservations. For e.g. here it impacts how high the TLB may be placed. On Verdin AM62 (512 MiB), the raw end of RAM (0xA0000000) is inside OP-TEE's region. board_get_usable_ram_top() in verdin-am62.c returns 0x9C000000 to keep relocations below it, but spl_enable_cache() never called it. commit 42b3ee7fa524 ("arm: mach-k3: am62x: Enable memory firewall support") then enforced the OP-TEE firewall, turning the silent corruption into a hard hang. Fix by calling board_get_usable_ram_top() after computing raw ram_top, consistent with setup_dest_addr() in board_f.c. A weak default is provided for boards that do not need to restrict the RAM top. Fixes: ba20b2443c29 ("arm: mach-k3: common: Reserve video memory from end of the RAM") Reported-by: Francesco Dolcini <francesco@dolcini.it> Link: https://lore.kernel.org/all/20260224102121.GB340942@francesco-nb/ Signed-off-by: Devarsh Thakkar <devarsht@ti.com> Tested-by: Francesco Dolcini <francesco.dolcini@toradex.com> # Verdin AM62 512MB
2026-02-24arm: armv8: Flush TLB before enabling MMUMark Kettenis
Commit 9ebdbbc43e5f ("arm: armv8: invalidate dcache entries on dcache_enable") broke Apple Silicon machines in certain scenarios. If the MMU is currently not enabled we need to flush the TLB before we enable it to prevent stale TLB entries from becoming active again. So move the __asm_invalidate_tlb_all() back immediately before the mmu_setup() call. Fixes: 9ebdbbc43e5f ("arm: armv8: invalidate dcache entries on dcache_enable") Signed-off-by: Mark Kettenis <kettenis@openbsd.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2026-02-24stm32mp2: Update size of DDR entry in MMU tablePatrice Chotard
On 1GB board, in particular cases, a prefetch operation is done just above the 1GB boundary. The DDR size is 1GB (0x80000000 to 0xc0000000), there is an access on 0xc00017c0 (ie 0x800017c0). As beginning of DDR is protected by MMU until CONFIG_TEXT_BASE (0x80000000 to 0x84000000), it triggers the following IAC: E/TC:0 stm32_iac_itr:192 IAC exceptions [159:128]: 0x200 E/TC:0 stm32_iac_itr:197 IAC exception ID: 137 I/TC: DUMPING DATA FOR risaf@420d0000 I/TC: ===================================================== I/TC: Status register (IAESR0): 0x11 I/TC: ----------------------------------------------------- I/TC: Faulty address (IADDR0): 0xc00017c0 I/TC: ===================================================== E/TC:0 Panic at /usr/src/debug/optee-os-stm32mp/4.0.0-gitvalid.8> E/TC:0 TEE load address @ 0x82000000 E/TC:0 Call stack: E/TC:0 0x82007f30 E/TC:0 0x820444b4 E/TC:0 0x8202dc54 E/TC:0 0x82041fe0 E/TC:0 0x820143b8 By default, in MMU table, the DDR size is set to 4GB, but not all STM32MP2 based board embeds 4GB, some has only 1 or 2GB of DDR. The MMU table entry dedicated to DDR need to be updated with the real DDR size previously read from DT. After relocation, in enable_caches(), update the MMU table between the dcache_disable() / dcache_enable() with the real DDR size. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24stm32mp: fix array bounds checksPatrice Chotard
Fix index check against array size. If that index is equal to the array size, we'll access one-past-the-end of the array. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24stm32mp: stm32prog: Remove fsbl_nor_detected from stm32prog_data structPatrice Chotard
No more need to test if a fsbl partition is present on NOR when booting from serial or USB. Now MTD devices are automatically populated with partition information found in DT. Remove fsbl_nor_detected boolean from stm32prog_data struct and all code using it. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-23ARM: dts: exynos7870-on7xelte: add properties to make S-BOOT happyKaustabh Chakraborty
Add properties in the DTSI file which is required for S-BOOT when used an external device tree when booting into U-Boot. S-BOOT is Samsung's proprietary bootloader, which chainloads U-Boot. Since this device has multiple bank nodes, add memory nodes for each RAM bank. This is the format S-BOOT recognizes, and (re)populates it with the correct bank sizes. Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2026-02-23ARM: dts: exynos7870-j6lte: add properties to make S-BOOT happyKaustabh Chakraborty
Add properties in the DTSI file which is required for S-BOOT when used an external device tree when booting into U-Boot. S-BOOT is Samsung's proprietary bootloader, which chainloads U-Boot. Since this device has multiple bank nodes, add memory nodes for each RAM bank. This is the format S-BOOT recognizes, and (re)populates it with the correct bank sizes. Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2026-02-23ARM: dts: exynos7870-a2corelte: add properties to make S-BOOT happyKaustabh Chakraborty
Add properties in the DTSI file which is required for S-BOOT when used an external device tree when booting into U-Boot. S-BOOT is Samsung's proprietary bootloader, which chainloads U-Boot. Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2026-02-20arm: mach-k3: j722s: Update SoC data to add wake-up I2C deviceChintan Vankar
Update dev-data and clk-data to include wake-up I2C device for J722s. Signed-off-by: Chintan Vankar <c-vankar@ti.com> Tested-by: Richard Genoud <richard.genoud@bootlin.com>
2026-02-18Merge patch series "test: cmd: Add test for zip/unzip/gzwrite commands"Tom Rini
Marek Vasut <marek.vasut+renesas@mailbox.org> says: Enable zip command in sandbox so it is always build tested. Add simple test for zip/unzip/gzwrite commands so they are unit tested. Link: https://lore.kernel.org/r/20260205014153.218621-1-marek.vasut+renesas@mailbox.org
2026-02-18test: cmd: Add test for zip/unzip/gzwrite commandsMarek Vasut
Add simple test for zip/unzip/gzwrite commands. The test works as follows. First, create three buffers with a bit of space between each of them, fill them with random data, then compress data in buffer 1 into buffer 2, decompress data in buffer 2 either directly into buffer 3 or into MMC 1 and then read them back into buffer 3, and finally compare buffer 1 and buffer 3, they have to be identical. The buffers are filled with random data to detect out of bounds writes. Test for various sizes, both small and large and unaligned. The test uses ut_assert_skip_to_line() to skip over gzwrite progress bar. Since the progress bar updates fill up the console record buffer, increase the size of it to compensate. Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org> Tested-by: Mattijs Korpershoek <mkorpershoek@kernel.org> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-02-18arm: dts: k3-am64-phycore-som-ddr4: Update DDR timingsWadim Egorov
Update DDR timings to increase stability in higher temperature ranges. Update DDR settings: - SysConfig DDR tool v0.09.05 - Package: ALV - Extended temperature range -40C to 105C - Lower tREFI (ns) to 3900 Signed-off-by: Wadim Egorov <w.egorov@phytec.de> Tested-by: Daniel Schultz <d.schultz@phytec.de>
2026-02-16x86/coreboot: Exclude memory regions starting above 4GBJeremy Compostella
This commit updates the RAM region filtering logic in board_get_usable_ram_top() to skip any memory regions whose start address is above 4GB. Previously, only the end address was capped at 4GB, but regions entirely above this threshold were still considered. Typically, the following memory map entries would cause board_get_usable_ram_top() to return 0x100000000, which is incorrect. start=00000000, end=00001000, type=16 start=00001000, end=000a0000, type=1 start=000a0000, end=000f6000, type=2 start=000f6000, end=000f7000, type=16 start=000f7000, end=00100000, type=2 start=00100000, end=6f170000, type=1 start=6f170000, end=70000000, type=16 start=70000000, end=80800000, type=2 start=e0000000, end=f8000000, type=2 start=fa000000, end=fc000000, type=2 start=fc800000, end=fc880000, type=2 start=fd800000, end=fe800000, type=2 start=feb00000, end=feb80000, type=2 start=fec00000, end=fed00000, type=2 start=fed20000, end=fed80000, type=2 start=feda1000, end=feda2000, type=2 start=fedc0000, end=fede0000, type=2 start=100000000, end=102400000, type=2 start=102400000, end=47f800000, type=1 start=4000000000, end=4020000000, type=2 By adding a check to continue the loop if the region's start address exceeds 0xffffffffULL, the function now properly ignores regions that are not usable in 32-bit address space. Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
2026-02-10Merge 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
2026-02-10arm: 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>
2026-02-10arm: 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>
2026-02-10arm: 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>
2026-02-10arm: 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>
2026-02-10arm: 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>
2026-02-09arm: 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>
2026-02-09Merge 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
2026-02-08Merge 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.
2026-02-07arm: 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>
2026-02-07arm: 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>
2026-02-07Merge 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
2026-02-07arm: 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>
2026-02-07arm: 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>
2026-02-07arm: 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>
2026-02-07arm: 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>
2026-02-07arm: 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>