summaryrefslogtreecommitdiff
path: root/arch/arm/include
AgeCommit message (Collapse)Author
5 daysarm: mach-sc5xx: Align header paths with SYS_SOC conventionPhilip Molloy
Define CONFIG_SYS_SOC in the mach-sc5xx Kconfig. Follow the standard U-Boot include path convention by moving the SC5xx SoC headers from arch/arm/include/asm/arch-adi/sc5xx/ to the conventional arch/arm/include/asm/arch-sc5xx/ location. Update includes from <asm/arch-adi/sc5xx/*.h> to <asm/arch/*.h> across mach-sc5xx and board files. Signed-off-by: Philip Molloy <[email protected]>
6 daysMerge branch 'next'Tom Rini
2026-03-27arm: Introduce current_pl() on ARM32 and compatibility current_el()Marek Vasut
The ARM32 has PLx Privilege Levels instead of Exception Levels present on ARM64. Introduce current_pl() function which reports the current PL on ARM32. Introduce current_el() for ARM32 as well and current_pl() for ARM64 which each call the other matching function. This is mainly mean to allow code like this to compile and retain compile time code coverage: if (IS_ENABLED(CONFIG_ARM64) && current_el() != 3) { ... } if (!IS_ENABLED(CONFIG_ARM64) && current_pl() != 0) { ... } Signed-off-by: Marek Vasut <[email protected]>
2026-03-23armv7: ls102xa: fix SPI flash clockMichael Walle
Commit bb6f3c0f7634 ("armv7: ls102xa: Update SCFG_QSPI_CLKSEL value") broke the SPI boot on the LS1021ATSN board (ls1021atsn_qspi_defconfig) at least. The commit message reads Update SCFG_QSPI_CLKSEL value : 0xC -> 0x5 which means ClusterPLL/16 The original submitted patch had the following description: Value 0xC is reserved. Replace it with correct value 0x5 which is ClusterPLL/16 Unfortunatly, the little information which was there, was stripped even further. Why is 0x5 the "correct" value? In fact, it seems that the upper bit is just ignored and thus the value 0xC translates to 0x4 which is ClusterPLL/20. This, will result in a SPI clock of 60MHz (if the PLL is clocked at 1.2GHz). But even that is too much for the (default) 03h read opcode (max 50MHz). Set the value to ClusterPLL/24 which is 50MHz. Link: https://lore.kernel.org/r/[email protected]/ Fixes: bb6f3c0f7634 ("armv7: ls102xa: Update SCFG_QSPI_CLKSEL value") Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-03-20ARM: tegra: ap: add support T20 A04 SKU idIon Agorria
Add definition for Tegra20 SKU 0x4 / A04 found in Sony Tablet P. Signed-off-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-18Merge tag 'u-boot-imx-next-20260318' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/29557 - Add support for i.MX952. - Add support for XPI1 on imx943_evk.
2026-03-17sunxi: a133: dram: Align parameters terminology with AllwinnerPaul Kocialkowski
There is a mistmatch between Allwinner's dram_para BSP definitions and the parameters names in mainline u-boot for TPR1-3. What we call TPR1 is actually MR22 while TPR2 is TPR0 and TPR3 is TPR1. MR22 does get written to the corresponding register. This only concerns LPDDR4 support. Introduce a new Kconfig entry for MR22 and proceed with the rename. Update the only config currently using it. See the list of parameters from the Allwinner BSP at the end of: https://linux-sunxi.org/A133/DRAMC Note that the H616/H6 code is coherent with this new TPR0 definition (and does not use TPR1 and MR22). Signed-off-by: Paul Kocialkowski <[email protected]> Sponsored-by: MEC Electronics GmbH <https://www.mec.at/> Acked-by: Jernej Skrabec <[email protected]>
2026-03-16misc: ele_api: Add support for XSPI SET GMID commandYe Li
The XSPI SET GMID command is used to assign GMID ownership to the requester, allowing access to protected XSPI control registers. This API must be called in SPL if XSPI GMID-protected settings need to be modified. Otherwise, XSPI configuration depends on the previous GMID owner to provide the correct settings. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-03-16arm: imx: Add i.MX952 CPU type supportAlice Guo
Add CPU type definition and detection macro for i.MX952 SoC. Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-03-16imx9: scmi: Get DDR size through SM SCMI APIYe Li
System Manager(SM) has implemented the MISC protocol to retrieve DDR information. Using this API, U-Boot can obtain the DDR size dynamically instead of relying on static configuration macros. This change addresses the DDR ECC enabled case, where 1/8 of the total DDR size is reserved for ECC data. The scmi_misc_ddrinfo() returns the DDR size with EEC overhead already deducted. Implementation details: - Query the DDR size via scmi_misc_ddrinfo() - Replace direct REG_DDR_CS[0,1]_BNDS register reads with SCMI call - Switch from PHYS_SDRAM[x]_SIZE macros to runtime detection - For backward compatibility with older SM firmware, fall back to static PHYS_SDRAM[x]_SIZE configuration if the SCMI call fails Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-03-16Merge tag 'u-boot-dfu-20260316' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu into next u-boot-dfu-20260316 DFU: * Make DFU_WRITE_ALT symbol available outside of DFU * Fix PCI subclass_code warning in spl_dfu Usb Gadget: * Mark udc_disconnect() as static
2026-03-13Merge tag 'u-boot-ufs-20260313' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-ufs into next - ufs_hba_ops callbacks cleanup - Rockchip UFS reset support - UFS support in SPL
2026-03-12spl: Make UFS available for SPL buildsAlexey Charkov
Add minimal infrastructure to build SPL images with support for UFS storage devices. This also pulls in SCSI support and charset functions, which are dependencies of the UFS code. With this, only a fixed offset is supported for loading the next image, which should be specified in CONFIG_SPL_UFS_RAW_U_BOOT_SECTOR as the number of 4096-byte sectors into the UFS block device. Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Alexey Charkov <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2026-03-10arch: arm: rockchip: Add initial support for RK3506Jonas Karlman
Rockchip RK3506 is a ARM-based SoC with tri-core Cortex-A7. Add initial arch support for the RK3506 SoC. Signed-off-by: Jonas Karlman <[email protected]> Acked-by: Mattijs Korpershoek <[email protected]> # drivers/usb/gadget Reviewed-by: Kever Yang <[email protected]>
2026-03-10clk: rockchip: Add support for RK3506Finley Xiao
Add clock driver for RK3506. Imported from vendor U-Boot linux-6.1-stan-rkr6 tag with minor adjustments and fixes for mainline. Signed-off-by: Finley Xiao <[email protected]> Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-04treewide: 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 <[email protected]> Reviewed-by: Greg Malysa <[email protected]>
2026-03-03usb: gadget: Mark udc_disconnect as staticTom Rini
With the last external callers of udc_disconnect long removed, mark this function as static now and remove it from headers. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2026-02-03sunxi: clock: H6: add NAND controller clock registersRichard Genoud
Add missing NAND controller-related clock registers The NAND controller on H6/H616 uses one clock for its internal logic (NAND0_CLK) and one clock for ECC engine (NAND1_CLK) in addition to AHB and MBUS clocks. As NAND{0,1}_CLKs and MBUS_GATE are missing, add them. The bit locations are from H616/H6 User Manual. Signed-off-by: Richard Genoud <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2026-02-03mtd: rawnand: sunxi: remove usage of struct sunxi_ccm_regRichard Genoud
The sunxi_ccm_reg is legacy, drop its usage from nand related code For that, CCU_NAND0_CLK_CFG and CCU_AHB_GATE1 are added to the clock files when missing. And clock code in sunxi_nand{,_spl}.c and board.c are changed to use the new scheme. Moreover, drop AHB_DIV_1 in favor of the more readable CCM_NAND_CTRL_M/N Suggested-by: Andre Przywara <[email protected]> Signed-off-by: Richard Genoud <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2026-01-25sunxi: dram: detect non-power-of-2 sized DRAM chipsAndre Przywara
Some boards feature an "odd" DRAM size, where the total RAM is 1.5GB or 3GB. Our existing DRAM size detection routines can only detect power-of-2 sized configuration, and on those boards the DRAM size is overestimated, so this typically breaks the boot quite early. There doesn't seem to be an easy explicit way to detect those odd-sized chips, but we can test whether the later part of the memory behaves like memory, by verifying that a written pattern can be read back. Experiments show that there is no aliasing effect here, as all locations in the unimplemented range always return some fixed pattern, and cannot be changed. Also so far all those boards use a factor of 3 of some lower power-of-2 number, or 3/4th of some higher number. The size detection routine discovers the higher number, so we can check for some memory cells beyond 75% of the detected size to be legit. Add a routine the inverts all bits at a given location in memory, and reads that back to prove that the new value was stored. Then test the memory cell at exactly 3/4th of the detected size, and cap the size of the memory to 75% when this test fails. For good measure also make sure that memory just below the assumed memory end really works. This enables boards which ship with such odd memory sizes. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Jernej Skrabec <[email protected]>
2026-01-17misc: ele_api: Add Voltage change start and finish APIsYe Li
On GDET enabled part, need to call voltage change start and finish APIs when adjust the voltage more than 100mv. Otherwise GDET will be triggered and system is reset Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-01-16arm: mediatek: remove extra gpio headerDavid Lechner
Remove empty gpio.h header file and CONFIG_GPIO_EXTRA_HEADER on ARCH_MEDIATEK. There is no reason to have these since the header doesn't contain anything. Signed-off-by: David Lechner <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2025-12-19Merge tag 'u-boot-amlogic-next-20251219' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-amlogic into next - Add u-boot SPL support for GX SoCs - meson_gx_mmc: reduce maximum frequency - Add support for EFI capsule updates on all Amlogic boards
2025-12-14rockchip: sdram: Add rockchip_sdram_type() helperJonas Karlman
Add a helper function based on rockchip_sdram_size() that return what DRAM type is used on current running board. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-12-11arm: meson: add support for EFI capsule updatesFerass El Hafidi
Previously, few Amlogic devices supported EFI capsule updates. Generally only the Libre Computer ones with SPI flash supported it, thanks to board-specific code. This commit commonises capsule update support across supported Amlogic boards. Similar to Qualcomm's support for it, the dfu string and firmware name is automatically generated at runtime depending on which device we are booted from. Right now this supports flashing to the eMMC/SD and SPI flash. As usual, the capsule UUID is automatically generated. You can get it by enabling CONFIG_CMD_EFIDEBUG and running: => efidebug capsule esrt ======================================== ESRT: fw_resource_count=1 ESRT: fw_resource_count_max=1 ESRT: fw_resource_version=1 [entry 0]============================== ESRT: fw_class=796180D4-AAB2-50F1-B16A-53DFF9CA89B2 ESRT: fw_type=unknown ESRT: fw_version=0 ESRT: lowest_supported_fw_version=0 ESRT: capsule_flags=0 ESRT: last_attempt_version=0 ESRT: last_attempt_status=success ======================================== Reviewed-by: Evgeny Bachinin <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Ferass El Hafidi <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2025-12-11arm: meson: spl: add support for SPL DRAM initFerass El Hafidi
Supports both GXBB and GXL SoCs. Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Ferass El Hafidi <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2025-12-11arm: meson: initial u-boot SPL support for GX SoCsFerass El Hafidi
Add initial boilerplate for U-Boot SPL support on Amlogic. Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Ferass El Hafidi <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2025-12-11mmc: meson_gx_mmc: add minimal non-DM driverFerass El Hafidi
Add a minimal non-DM MMC driver for use in size-constrained environments. Signed-off-by: Ferass El Hafidi <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2025-11-25imx91: fix pinmux macros for ENET1_TD3 and I2C2_SCLFrancesco Valla
Fix macros for the GPIO function for two pads (ENET1_TD3 and I2C2_SCL), aligning them to the functions specified in the datasheet. Fixes: a9d562daa3c3 ("imx: Add iMX91 support") Suggested-by: Javier Viguera <[email protected]> Signed-off-by: Francesco Valla <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2025-11-07Merge patch series "arm: airoha: add support for en7523 based boards"Tom Rini
Mikhail Kshevetskiy <[email protected]> says: This patch series adds basic support for the boards based on Airoha EN7523/EN7529/EN7562 SoCs. Due to ATF restrictions these boards are able to run 32-bit OS only. This patch series adds support for the following hardware: * console UART * ethernet controller/switch * spinand flash (in non-dma mode) The following issues may be expected: * Extra slow UBI attaching in U-Boot (up to 20 sec with fastmap enabled). This is caused by the lack of DMA support in the U-Boot airoha-snfi driver. * Linux airoha-snfi driver in some cases might damage you flash data (see: https://lore.kernel.org/lkml/[email protected]/) * Latest linux kernel is recommended to properly support flashes with more than one plane per lun (see: https://lore.kernel.org/lkml/[email protected]/) * It's NOT recommended to use flashes working in continuous mode because U-Boot airoha-snfi driver does not support such flashes properly. The patches was tested on the board: - SoC: Airoha EN7562 - RAM: 512 MB - SPI NAND: 4 Gbit, made by Toshiba - Linux boot: was NOT tested The U-Boot was chain-loaded from the running U-Boot. Airoha ATF-2.3 does not allow easily chain-loading of U-Boot from U-Boot, so a special FIT image (mimic linux kernel) was created 1) Create u-boot.its file with the following contents: === cut here === /dts-v1/; / { description = "ARM OpenWrt FIT (Flattened Image Tree)"; #address-cells = <1>; images { u-boot-ram { description = "OpenWrt U-Boot RAM image"; data = /incbin/("u-boot.bin.lzma"); type = "kernel"; arch = "arm"; os = "linux"; compression = "lzma"; load = <0x81e00000>; entry = <0x81e00000>; hash@1 { algo = "crc32"; }; hash@2 { algo = "sha1"; }; }; fdt-1 { description = "OpenWrt device tree blob"; data = /incbin/("dts/upstream/src/arm/airoha/en7523-evb.dtb"); type = "flat_dt"; arch = "arm"; compression = "none"; hash@1 { algo = "crc32"; }; hash@2 { algo = "sha1"; }; }; }; configurations { default = "config-ram-uboot"; config-ram-uboot { description = "OpenWrt RAM U-Boot"; kernel = "u-boot-ram"; fdt = "fdt-1"; }; }; }; ================== 2) Create u-boot.itb image to chain-load new u-boot from the old one lzma_alone e u-boot.bin u-boot.bin.lzma mkimage -f u-boot.its u-boot.itb 3) Load new u-boot from the old one U-Boot> tftpboot u-boot.itb && bootm Link: https://lore.kernel.org/r/[email protected]
2025-11-07arm: airoha: introduce EN7523 helpers to get SCU and CHIP_SCU regmapsMikhail Kshevetskiy
We need access SCU and CHIP_SCU regmaps in several places (clk-airoha, reset-airoha, airoha_eth). Unfortunately these regmaps can't be easily retrieved with a common code, because of different Airoha SoCs uses a different dts structure. To make life easy we can write a commonly named SoC specific helpers for these tasks. This patch implements helpers for Airoha EN7523 SoC. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2025-11-07arm: airoha: introduce AN7581 helpers to get SCU and CHIP_SCU regmapsMikhail Kshevetskiy
We need access SCU and CHIP_SCU regmaps in several places (clk-airoha, reset-airoha, airoha_eth). Unfortunately these regmaps can't be easily retrieved with a common code, because of different Airoha SoCs uses a different dts structure. To make life easy we can write a commonly named SoC specific helpers for these tasks. This patch implements helpers for Airoha AN7581 SoC. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2025-11-06Merge patch series "ARM: bootm: Add support for starting Linux through ↵Tom Rini
OPTEE-OS on ARMv7a" This series from Marek Vasut <[email protected]> brings some enhancements to use cases using OPTEE-OS on ARMv7a platforms, some of which already existed on ARMv8. Link: https://lore.kernel.org/r/[email protected]
2025-11-06ARM: bootm: Add support for starting Linux through OPTEE-OS on ARMv7aMarek Vasut
Add support for jumping to Linux kernel through OPTEE-OS on ARMv7a. This is only supported if U-Boot runs in PL1 secure. This change adds two components, one is fitImage OPTEE-OS loadable handler, which makes a note of OPTEE-OS being loaded and stores the load address for later jump to it. The second part is the actual jump to Linux through OPTEE-OS. The jump through OPTEE-OS requires set up of multiple CPU registers, r1 and r2 are passed through, r0 and r3 have to be set to 0, lr is set to Linux kernel entry point. This setup is done by new assembler function boot_jump_linux_via_optee(). The boot_jump_linux_via_optee() also includes STM32MP13xx late TZC configuration write, this cannot be moved easily, hence the ifdef. Signed-off-by: Marek Vasut <[email protected]>
2025-11-04arm: arch-imx9: Add USB2.0 and USB3.0 base address definitionsAlice Guo
Add USB1_BASE_ADDR and USB2_BASE_ADDR for i.MX9 platform, and define USB_BASE_ADDR as an alias to USB2_BASE_ADDR. Signed-off-by: Alice Guo <[email protected]>
2025-11-02rockchip: spl: Add a read_brom_bootsource_id() helperJonas Karlman
The bootsource ids reported by BootROM of RK3528 and RK3576 for e.g. SPI NOR and USB differs slightly compared to prior SoCs: - Booting from sfc0 (ROCK 4D) report the normal bootsource id 0x3. - Booting from sfc1 M1 (NanoPi M5) report a new bootsource id 0x23. - Booting from sfc1 M0 has not been tested (no board using this config). - Booting from USB report a new bootsource id 0x81 on RK3528 and RK3576. Add a helper function to read the bootsource id. This helper function will be used to translate the new values to the common BROM_BOOTSOURCE enum values on RK3528 and RK3576. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-10-22arm: armv8: mmu: add mmu_unmap_reserved_memAnshul Dalal
For armv8, U-Boot uses a static map defined as 'mem_map' for configuring the MMU's page tables, done by mmu_setup. Though this works well for simpler platforms, it makes creating runtime carveouts by modifying the static array at runtime exceedingly complex like in mach-snapdragon/board.c. Creation of such carveouts are much better handled by APIs such as mmu_change_region_attr once the page tables are configured. Usually such carveouts are configured via the device-tree's reserved-memory node which provides the address and size for the carveout. Therefore this patch adds mmu_unmap_reserved_mem which acts as a wrapper over mmu_change_region_attr, helping unmap a reserved-memory region. Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Anshul Dalal <[email protected]> Tested-by: Wadim Egorov <[email protected]>
2025-10-22arm: armv8: mmu: add mem_map_from_dram_banksAnshul Dalal
For armv8, U-Boot uses a static map defined as 'mem_map' for configuring the MMU as part of mmu_setup. But since the exact configuration of memory banks might not be known at build time, many platforms such as imx9, versal2 etc. utilize gd->bd->bi_dram to configure the static map at runtime. Therefore this patch adds a new API mem_map_from_dram_banks that modifies the static map in a similar way. Allowing the caller to map all dram banks by just passing the index to last entry in their mem_map and it's length. Reviewed-by: Dhruva Gole <[email protected]> Signed-off-by: Anshul Dalal <[email protected]> Tested-by: Wadim Egorov <[email protected]>
2025-10-22arm: armv8: mmu: export mmu_setupAnshul Dalal
The mmu_setup function configures the page tables based on the board supplied mem_map struct array. It is called implicitly as part of dcache_enable but this limits us to only be able to use APIs such as mmu_change_region_attr only after caches are enabled. This might lead to speculative accesses before we can unmap a region that is marked as cacheable in the static memory map. Therefore this patch exports the mmu_setup function in mmu.h allowing users to have more control over when the mmu is configured. For K3 specifically this allows for the following configuration sequence as part of enable_caches: static mem_map fixups (TODO) -> mmu_setup -> carveouts using mmu_change_region_attr (TODO) -> icache/dcache enable Reviewed-by: Dhruva Gole <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Anshul Dalal <[email protected]> Tested-by: Wadim Egorov <[email protected]>
2025-09-30Merge tag 'u-boot-socfpga-next-20250930' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-socfpga into next SoCFPGA updates for v2025.10: CI: https://source.denx.de/u-boot/custodians/u-boot-socfpga/-/pipelines/27762 This pull request brings a set of updates across SoCFPGA platforms covering Agilex5, Agilex7, N5X, and Stratix10. The changes include: * Agilex5 enhancements: - USB3.1 enablement and DWC3 host driver support - System Manager register configuration for USB3 - Watchdog timeout increase and SDMMC clock API integration - dcache handling improvements in SMC mailbox path - Enable SPL_SYS_DCACHE_OFF in defconfig * Clock driver improvements: - Introduce dt-bindings header for Agilex clocks - Add enable/disable API and EMAC clock selection fixes - Replace manual shifts with FIELD_GET usage * DDR updates: - IOSSM mailbox compatibility check - Correct DDR calibration status handling * Device tree changes: - Agilex5: disable cache allocation for reads - Stratix10: add NAND IP node - Enable driver model watchdog - Enable USB3.1 node for Agilex5 * Config cleanups: - Simplify Agilex7 VAB defconfig - Remove obsolete SYS_BOOTM_LEN from N5X VAB config - Enable CRC32 support for SoCFPGA - Increase USB hub debounce timeout Overall this set improves reliability of DDR and cache flows, adds missing USB and MMC features for Agilex5, and refines clock and configuration handling across platforms. This patch set has been tested on Agilex 5 devkit, and Agilex devkit.
2025-09-30cache: Check dcache availability before calling cache functionsBoon Khai Ng
When the data cache (dcache) is disabled, calling related status functions can lead to compilation errors due to undefined references. Adding a !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) check before invoking dcache_status() (used in common/memsize.c:get_ram_size()) and mmu_status() (from arch/arm/include/asm/io.h). Without this check, builds with dcache disabled will fail to compile. Signed-off-by: Boon Khai Ng <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-09-26arm64: Add MIDR entry for Cortex-A720Marek Vasut
Add MIDR entry for Cortex-A720 core. Signed-off-by: Marek Vasut <[email protected]>
2025-09-26imx9: Change container header temp buffer addressYe Li
Due to i.MX95 has reserved first 256MB DDR, change to use the DDR start address in u-boot as the container header buffer. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-09-26imx9: scmi: Update the files under arch/arm/mach-imx/imx9/scmi/ to support ↵Ye Li
i.MX94 - Add base addresses for WDG3, WDG4, GPIO6, and GPIO7 for i.MX94. - Introduce common.h with macros of clock IDs, power domains, and CPU types for platform-specific replacement (e.g., i.MX94, i.MX95). - Extend imx_get_mac_from_fuse() to support i.MX94. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Acked-by: Peng Fan <[email protected]> Reviewed-by: Jacky Bai <[email protected]>
2025-09-26imx95: Add get_reset_reason() to retrieve the LM/system last booted/shutdown ↵Peng Fan
reasons System Manager provides the last booted and shutdown reasons of the logical machines (LM) and system using the SCMI misc protocol (Protocol ID: 0x84, Message ID: 0xA). This path adds get_reset_reason() to query and print these reasons in SPL and U-Boot. Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Ye Li <[email protected]>
2025-09-26imx9: Add i.MX94 CPU type and SoC-level KconfigYe Li
Introduce support for the new i.MX94 processor, including its CPU type and SoC-level Kconfig entry. The i.MX94 is a new member of the i.MX9 family. It uses a System Manager to handle system-level functions such as power, clock, sensor and pin control. The System Manager runs on a Cortex-M processor, while the Cortex-A processor communicates with it via the ARM SCMI protocol and a messaging unit. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Acked-by: Peng Fan <[email protected]> Reviewed-by: Jacky Bai <[email protected]>
2025-09-23Merge tag 'v2025.10-rc5' into nextTom Rini
Prepare v2025.10-rc5
2025-09-21arm: imx9: Fix LPCG number in ccm_reg structureYe Li
The LPCG number on iMX93 and iMX91 is 127 not 122. The wrong value is used in ccm_reg structure and Coverity reports several issues as out-of-bounds write. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-08-11arm: bcm235xx: Remove this SoCTom Rini
As there are no platforms for this SoC, remove the code. Signed-off-by: Tom Rini <[email protected]>
2025-08-08imx9: soc: Reuse and export low_drive_freq_update()Primoz Fiser
Reuse and export low_drive_freq_update() function. This way global imx9 board_fix_fdt() doesn't duplicate code. While low_drive_freq_update() can be reused on boards such as phyCORE-i.MX93 (TARGET_PHYCORE_IMX93) which is not using the global imx9 board_fix_fdt() implementation. While at it, make printout logic less verbose by only outputting on the error condition and not on each successful clock fixup. Also drop now invalid comment (low_drive_freq_update() now does fixup for internal and kernel device-tree). Signed-off-by: Primoz Fiser <[email protected]>