summaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)Author
2025-07-10arm64: renesas: Convert SCIF SREC from u-boot-spl.binMarek Vasut
Convert u-boot-spl.bin instead of u-boot-spl ELF into SCIF loader compatible SREC. The u-boot-spl.bin includes SPL DT, while the ELF does not, which leads to failure to start SPL via SCIF loader due to missing SPL DT. Fix this by using u-boot-spl.bin which includes the DT. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-07-09Merge patch series "board: ti: am33xx: Add Ethernet support for Beaglebone ↵Tom Rini
Green Eco" Romain Gantois <romain.gantois@bootlin.com> says: This is version one of my series which enables Ethernet support on the BBGE board. This requires three main changes: - Describing the MAC<->PHY link and DP83867 PHY accurately in the device tree - Enabling the RGMII1 pinmux configuration - Enabling the DP83867 driver These changes are all applied in patch 2. Patch 1 enables excluding the DP83867 driver from SPL. This is done to avoid size issues when adding the DP83867 driver to the am335x-evm defconfig. Link: https://lore.kernel.org/r/20250626-bbge-ethernet-v1-0-5b544fb1898f@bootlin.com
2025-07-09board: ti: am33xx: Add Ethernet support for Beaglebone Green EcoRomain Gantois
Currently, the Ethernet interface of the BBGE board isn't properly supported. To support this interface, describe the MAC<->PHY RGMII link and the DP83867 PHY in the BBGE device tree. Enable the DP83867 PHY driver in U-Boot Proper and mux the relevant RGMII lines. Signed-off-by: Romain Gantois <romain.gantois@bootlin.com> Tested-by: Judith Mendez <jm@ti.com>
2025-07-09Merge patch series "Improve Verdin AM62P thermal setup by generalizing ↵Tom Rini
ft_board_setup_ex()" João Paulo Gonçalves <jpaulo.silvagoncalves@gmail.com> says: In some use cases, board-specific device tree changes must not be overwritten by system fixups. Although U-Boot provides ft_board_setup_ex() for this purpose, it is currently only used on TI Keystone. This series makes ft_board_setup_ex() a generic option, allowing its use by other architectures and boards. Additionally, considering that Toradex Verdin-AM62P hardware lifetime guarantees are based on a 105°C junction temperature (while TI AM62Px supports up to 125°C), this series implements necessary changes within TI K3 AM62P and Toradex board code. These changes include exporting common fixup device Tree functions used in TI K3 for board-code access and also fixup for AM62P thermal zones to correctly reflect the number of CPU nodes according to the SoC part number. Link: https://lore.kernel.org/r/20250623-am62p-fdt-fixup-trip-points-v1-0-12355eb6a72f@toradex.com
2025-07-09arm: mach-k3: am62p: fixup thermal cooling device by cpu numberJoão Paulo Gonçalves
TI AM62Px devices support CPU throttling based on thermal alerts. However, the device tree assumes a 4-core configuration. Since the AM62P also supports 2-core configurations, add a fixup to dynamically adjust the cooling-device nodes within thermal zones based on the actual number of CPU cores available. Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
2025-07-09arm: mach-k3: Export common fdt fixups for use in board codeJoão Paulo Gonçalves
Avoid code duplication by making the common TI K3 device tree fixup functions to be reusable by board-specific code. Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
2025-07-09boot: Make ft_board_setup_ex() genericJoão Paulo Gonçalves
In some use cases, board-specific device tree changes must not be overwritten by system fixups. Although U-Boot provides ft_board_setup_ex() for this purpose, it is currently only used on TI Keystone. Make ft_board_setup_ex() to be a generic option, allowing its use by other architectures/boards. To maintain backward compatibility, enable it by default on TI Keystone. Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
2025-07-08include/spl_gpio.h: Audit include listTom Rini
This file does not need <asm/gpio.h> so remove it. This file does however need <linux/types.h> so add that in. This also shows that arch/arm/mach-rockchip/rk3399/rk3399.c and board/lg/star/star.c were indirectly getting <asm/gpio.h> from here, so add <asm/gpio.h> to them. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-07-08xilinx: Remove simple-bus description from mini configurationsMichal Simek
simple bus node and drivers not bringing up any value for mini configuration that's why remove it and disable drivers for it to save some space. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/a51b11fa21c504a19701ebdccc1e61e899e1aed5.1751016029.git.michal.simek@amd.com
2025-07-08arm: zynqmp: Remove local copy of 'dt-bindings/clock/xlnx-zynqmp-clk.h'Tom Rini
As part of the recent cleanup of dt-bindigns header files we did not remove our copy of dt-bindings/clock/xlnx-zynqmp-clk.h at the time. This is because the difference between ours and current upstream is that current upstream has a #warning to not use it and to instead use xlnx-zynqmp-clk.h. So we change zynqmp-clk-ccf.dtsi to use the other and upstream-only file and then delete our dt-bindings file. Signed-off-by: Tom Rini <trini@konsulko.com> Tested-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/20250612181128.340232-1-trini@konsulko.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-06-29arch/arm/include/asm/arch-imxrt/gpio.h: imxrt gpio use common gpio.hGiulio Benetti
The current file defines a struct gpio_regs identical to the one in <asm/mach-imx/gpio.h>. To eliminate code duplication and align with the approach used for i.MX8M, include the common header instead of redefining the struct. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
2025-06-29arm: pinctrl: Define .mux_mask field for NXP's SoCLukasz Majewski
The commit e8a9521e649f ("vf500/vf610: synchronise device trees with linux") has synchronized U-Boot's DTS with v5.19 Linux kernel. It turned out that in Linux's upstream iomuxc node description the 'fsl,mux_mask' was missing, so the U-Boot's pinctrl driver for NXP's Vybrid SoC was not working properly. As by default the mux mask was set to 0, for example the vf610 based boards (like BK4) were bricked, due to misconfiguration of gpio at early boot stage. The fix for all NXP eligible boards is to define .mux_mask field for soc specific *pinctrl_soc_info structure and use it directly in pinctrl MMIO driver, without the need to read the "fsl,mux_mask" property from device tree. This change brings the NXP's pinctrl driver in U-Boot closer to Linux upstream one. Signed-off-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com> #for i.MX8ULP
2025-06-29dts: pcm052: bk4: Use proper compatible for QSPI SPI-NOR memoryLukasz Majewski
In the contemporary U-Boot the "spi-flash" compatible is used only when CONFIG_$(PHASE_)SPI_FLASH_TINY is defined so spi-nor-tiny.c is compiled. As vf610 devices are not using SPL at all, the SPI_FLASH_TINY is not defined and no QSPI flash child nodes are considered as valid ones. The result is that the 'sf probe' command fails and SPI NOR memory is not accessible on e.g. BK4 device. The fix is to use proper compatible - in this case "jedec,spi-nor". Signed-off-by: Lukasz Majewski <lukma@denx.de>
2025-06-27Revert the last two mach-k3 changesTom Rini
This reverts both commit 4628730ee6c4 ("mach-k3: add runtime memory carveouts for MMU table") as well as commit b77066d73261 ("mach-k3: add dynamic mmu fixups for SPL stage") as some feedback from previous iterations was missed. This reverts commit b77066d73261855af406422fbbe28a5d527f4dbf and commit 4628730ee6c40864dbe475e4ca91e47a92f371fe. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-06-27Merge patch series "Fix io accessors for KVM"Tom Rini
Ilias Apalodimas <ilias.apalodimas@linaro.org> says: Instructions that lead ito an exception in the hypervisor can't modify two CPU registers at once for the ARM ISA. These instructions cannot be emulated by KVM as they do not produce syndrome information data that KVM can use to infer the destination register, the faulting address, whether it was a load or store, or if it's a 32 or 64 bit general-purpose register. As a result an external abort is injected from QEMU, via ext_dabt_pending. Link: https://lore.kernel.org/r/20250618065828.1312146-1-ilias.apalodimas@linaro.org
2025-06-27arm: io.h: Fix io accessors for KVMIlias Apalodimas
commit 2e2c2a5e72a8 ("arm: qemu: override flash accessors to use virtualizable instructions") explains why we can't have instructions with multiple output registers when running under QEMU + KVM and the instruction leads to an exception to the hypervisor. USB XHCI is such a case (MMIO) where a ldr w1, [x0], #4 is emitted for xhci_start() which works fine with QEMU but crashes for QEMU + KVM. These instructions cannot be emulated by KVM as they do not produce syndrome information data that KVM can use to infer the destination register, the faulting address, whether it was a load or store, or if it's a 32 or 64 bit general-purpose register. As a result an external abort is injected from QEMU, via ext_dabt_pending to KVM and we end up throwing an exception that looks like U-Boot 2025.07-rc4 (Jun 10 2025 - 12:00:15 +0000) [...] Register 8001040 NbrPorts 8 Starting the controller "Synchronous Abort" handler, esr 0x96000010, far 0x10100040 elr: 000000000005b1c8 lr : 000000000005b1ac (reloc) elr: 00000000476fc1c8 lr : 00000000476fc1ac x0 : 0000000010100040 x1 : 0000000000000001 x2 : 0000000000000000 x3 : 0000000000003e80 x4 : 0000000000000000 x5 : 00000000477a5694 x6 : 0000000000000038 x7 : 000000004666f360 x8 : 0000000000000000 x9 : 00000000ffffffd8 x10: 000000000000000d x11: 0000000000000006 x12: 0000000046560a78 x13: 0000000046560dd0 x14: 00000000ffffffff x15: 000000004666eed2 x16: 00000000476ee2f0 x17: 0000000000000000 x18: 0000000046660dd0 x19: 000000004666f480 x20: 0000000000000000 x21: 0000000010100040 x22: 0000000010100000 x23: 0000000000000000 x24: 0000000000000000 x25: 0000000000000000 x26: 0000000000000000 x27: 0000000000000000 x28: 0000000000000000 x29: 000000004666f360 Code: d5033fbf aa1503e0 5287d003 52800002 (b8004401) Resetting CPU ... There are two problems making this the default. - It will emit ldr + add or str + add instead of ldr/str(post increment) in somne cases - Some platforms that depend on TPL/SPL grow in size enough so that the binary doesn't fit anymore. So let's add proper I/O accessors add a Kconfig option to turn it off by default apart from our QEMU builds. Reported-by: Mikko Rapeli <mikko.rapeli@linaro.org> Tested-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-27mach-k3: am62ax: am62a7_init: Drop write to non existent registerVignesh Raghavendra
Per section 14.2.1.3 Kick Protection Registers of AM62A TRM[1], there is no partition 5. Delete it. [1] https://www.ti.com/lit/pdf/spruj16 Fixes: b511b371ad76 ("arm: mach-k3: introduce basic files to support the am62a") Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Bryan Brattlof <bb@ti.com>
2025-06-27mach-k3: add dynamic mmu fixups for SPL stageAnshul Dalal
On platforms with spl splash support i.e CONFIG_VIDEO=y, the top of DDR is reserved for the framebuffer. The size for the framebuffer is computed at runtime by video_reserve. During the MMU configuration an entry corresponding to the framebuffer should be dynamically created to properly map the required space for the framebuffer. Therefore this patch adds k3_spl_mem_map_init which adds the required MMU entry by querying the gd after the framebuffer size has been computed in spl_reserve_video_from_ram_top. For non VIDEO=y platforms, the added k3_spl_mem_map_init function gets optimized out of the final binary so overall, the spl size is not impacted[1]. [1]: Tested on clang 19.1.7 and gcc 15.1.1 Signed-off-by: Anshul Dalal <anshuld@ti.com>
2025-06-27mach-k3: add runtime memory carveouts for MMU tableAnshul Dalal
In u-boot we only provide a single MMU table for all k3 platforms, this does not scale for devices with reserved memory outside the range 0x9e780000 - 0xa0000000 or for devices with < 2GiB of memory (eg am62-SIP with 512MiB of RAM). To properly configure the MMU on various k3 platforms, the reserved-memory regions need to be queried at runtime from the device-tree and the MMU table should be updated accordingly. This patch adds the required fixups to the MMU table (during proper U-boot stage) by marking the reserved regions as non cacheable and keeping the remaining area as cacheable. For the A-core SPL, the 128MiB region starting from SPL_TEXT_BASE is marked as cacheable i.e 0x80080000 to 0x88080000. The 128MiB size is chosen to allow for future use cases such as falcon boot from the A-Core SPL which would require loading kernel image from the SPL stage. This change also ensures the reserved memory regions that all exist past 0x88080000 are non cacheable preventing speculative accesses to those addresses. Signed-off-by: Anshul Dalal <anshuld@ti.com>
2025-06-26mach-k3: j722s: enable caches for the SPL stageHeiko Thiery
This is same as done in commit 27cd65ca1bf1 ("mach-k3: am62ax: enable caches for the SPL stage"). This is resulting in ~2x speedup in the A53 SPL stage. Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
2025-06-26arm: Kconfig: enable LTO for ARCH_K3Anshul Dalal
CONFIG_LTO enables Link Time Optimizations that helps in reducing binary size. The config has been validated on all K3 platforms so can be safely enabled. Signed-off-by: Anshul Dalal <anshuld@ti.com>
2025-06-26Merge patch series "mkimage: validate image references in FIT configurations"Tom Rini
Aristo Chen <jj251510319013@gmail.com> says: This series introduces a validation step in mkimage to ensure that all image names referenced under the /configurations node of a FIT source (ITS) are actually defined under the /images node. ### Motivation When using mkimage to build FIT images, it's easy to mistakenly reference nonexistent image nodes in configurations (e.g., referencing a missing `fdt` or `firmware` node). Such issues are often not caught until runtime in U-Boot. This series aims to catch these errors early during FIT image creation by validating the configuration references in mkimage itself. Link: https://lore.kernel.org/r/20250610074121.8308-1-aristo.chen@canonical.com
2025-06-26arm: dts: phycore-am62x: Add missing tifsstub image nodes for FIT loadablesAristo Chen
The phycore-am62x build was broken due to mkimage reporting an undefined 'image "tifsstub-hs"' in the 'loadables' property of the FIT configuration. This occurred because the `loadables` field referenced `tifsstub-hs`, `tifsstub-fs`, and `tifsstub-gp`, but no corresponding nodes were defined under /images. This patch was inspired by commit 622f826bf025704cbcc4f39252d4a83129a9cabb ("arm: dts: phycore-am62x: Package TIFS Stub"). It resolves the issue by adding proper Binman nodes for each TIFS variant (`tifsstub-hs`, `tifsstub-fs`, and `tifsstub-gp`). Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
2025-06-25Merge patch series "lmb: use a single API for all allocations"Tom Rini
Sughosh Ganu <sughosh.ganu@linaro.org> says: The LMB module has a bunch for API's which are used for allocating memory. There are a couple of API's for requesting memory, and two more for reserving regions of memory. Replace these different API's with a single one, lmb_alloc_mem(). The type of allocation to be made is specified through one of the parameters to the function. Additionally, the two API's for reserving regions of memory, lmb_reserve() and lmb_alloc_addr() are the same with one difference. One can reserve any memory region with lmb_reserve(), while lmb_alloc_addr() actually checks that the memory region being requested is part of the LMB memory map. Reserving memory that is not part of the LMB memory map is pretty futile -- the allocation functions do not allocate memory which has not been added to the LMB memory map. This series also removes the functionality allowing for reserving memory regions outside the LMB memory map. Any request for reserving a region of memory outside the LMB memory map now returns an -EINVAL error. Certain places in the common code using the LMB API's were not checking the return value of the functions. Checks have been added for them. There are some calls being made from the architecture/platform specific code which too do not check the return value. Those have been kept the same, as I do not have the platform with me to check if it causes any issues on those platforms. In addition, there is a patch which refactors code in lmb_overlaps_region() and lmb_can_reserve_region() so that both functionalities can be put in a single function, lmb_overlap_checks(). Finally, a new patch has been added which checks the return value of the lmb allocation function before copying the device-tree to the allocated address. Link: https://lore.kernel.org/r/20250617104346.1379981-1-sughosh.ganu@linaro.org [trini: Rework arch/arm/mach-snapdragon/board.c merge] Signed-off-by: Tom Rini <trini@konsulko.com>
2025-06-25mach-snapdragon: add a check before copying FDT to fdt_addr_rSughosh Ganu
The board_late_init() function allocates memory for a bunch of environment variables, including fdt_addr_r. The device-tree then gets copied to the memory pointed to by fdt_addr_r. However, the memory allocation request can fail, in which case the address that is being written to would not be allocated. Add a check that the memory allocation has succeeded before copying the device-tree. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
2025-06-25lmb: replace the lmb_alloc() and lmb_alloc_base() API'sSughosh Ganu
There currently are two API's for requesting memory from the LMB module, lmb_alloc() and lmb_alloc_base(). The function which does the actual allocation is the same. Use the earlier introduced API lmb_alloc_mem() for both types of allocation requests. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-25lmb: replace lmb_reserve() and lmb_alloc_addr() API'sSughosh Ganu
There currently are multiple allocation API's in the LMB module. There are a couple of API's for allocating memory(lmb_alloc() and lmb_alloc_base()), and then there are two for requesting a reservation for a particular memory region (lmb_reserve() and lmb_alloc_addr()). Introduce a single API lmb_alloc_mem() which will cater to all types of allocation requests and replace lmb_reserve() and lmb_alloc_addr() with the new API. Moreover, the lmb_reserve() API is pretty similar to the lmb_alloc_addr() API, with the one difference being that the lmb_reserve() API allows for reserving any address passed to it -- the address need not be part of the LMB memory map. The lmb_alloc_addr() does check that the address being requested is actually part of the LMB memory map. There is no need to support reserving memory regions which are outside the LMB memory map. Remove the lmb_reserve() API functionality and use the functionality provided by lmb_alloc_addr() instead. The lmb_alloc_addr() will check if the requested address is part of the LMB memory map and return an error if not. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-25Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-sunxi ↵Tom Rini
into next This concludes support for the Allwinner A133 SoC, the biggest chunk of which is the DRAM init code. Also includes support for a devboard using this SoC, the DT of which got added to the kernel only recently. The same is true for another H618 devboard, so add the respective devconfig as well. Gitlab CI passed, and I booted that briefly on those two boards.
2025-06-24Merge tag 'qcom-next-23Jun-1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-snapdragon into next This PR introduces 3 new platforms, two from the new Dragonwing IQx series (QCS615 and QCS8300) as well as the IPQ5424. Additionally: * Support for booting downstream Android boot images on some phones is added * Capsule update support is expanded to be more generic, determining which partition U-Boot was flashed to automatically and supporting many more boards. * Minor capsule update bugs are fixed * A watchdog driver is added and gets timeout support * Autoboot now requires pressing "space" specifically to stop booting as a workaround for some boards getting rogue key presses which would cause autoboot to fail * Documentation is added for the Dragonwing boards * The RB1/2 now use USB gadget mode rather than host * A bug is fixed where GPIO reads could return incorrect values
2025-06-24mach-snapdragon: CapsuleUpdate: support all boot methodsCaleb Connolly
Expand capsule update support to correctly identify which partition U-Boot is flashed to (between xbl, uefi, and boot including A/B variants). Use qcom_boot_source to determine if we were chainloaded from ABL, meaning U-Boot is on the boot partition, otherwise we assume uefi if it's available, finally leaving the xbl partition. Set a different fw_name based on the target partition to prevent GUID collisions, since a board may support U-Boot flashed to boot or XBL we need to differentiate them since the U-Boot binary must be built differently. Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> Link: https://lore.kernel.org/r/20250411-b4-qcom-capsule-update-improvements-v2-2-27f6b2fcc4a9@linaro.org Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2025-06-24mach-snapdragon: track boot sourceCaleb Connolly
Keep track of whether we were loaded via ABL or if U-Boot is running as a first-stage bootloader. For now we set this based on if we have a valid external FDT or not, since it isn't possible to chainload U-Boot from ABL without there being an external FDT. This will be used to inform the capsule update logic which partition U-Boot is flashed to. Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> Link: https://lore.kernel.org/r/20250411-b4-qcom-capsule-update-improvements-v2-1-27f6b2fcc4a9@linaro.org Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2025-06-24mach-snapdragon: Enhance android image handling memory footprintGeorge Chan
In order to unzipped kernel from androidboot img, extra memory for loadaddr is needed. So once fastboot is enabled fastboot memory also share with loadaddr. That can balance with memory constrain soc and android usecase. Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Signed-off-by: George Chan <gchan9527@gmail.com> Link: https://lore.kernel.org/r/20250518-android-boot-v3-3-02c8768e131f@gmail.com Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2025-06-24mach-snapdragon: Enable workaround of ignoring androidboot addrGeorge Chan
Enable the workaround for whole snapdragon family. Suggested-by: Casey Connolly <casey.connolly@linaro.org> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Signed-off-by: George Chan <gchan9527@gmail.com> Link: https://lore.kernel.org/r/20250518-android-boot-v3-2-02c8768e131f@gmail.com Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2025-06-24dts: qcs615-ride-u-boot.dtsi: Add memory entry to bootupAswin Murugan
Added the memory entry to bootup. Signed-off-by: Aswin Murugan <aswin.murugan@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250521035324.1182833-2-aswin.murugan@oss.qualcomm.com Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2025-06-24dts: qcs8300-ride-u-boot.dtsi: Add memory entry to bootupBalaji Selvanathan
Added the memory entry to bootup. Reviewed-by: Casey Connolly <casey.connolly@linaro.org> Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250529154931.1879976-3-quic_bselvana@quicinc.com Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2025-06-24mach-snapdragon: of_fixup: Drop USB dr_mode override for RB1/2Sumit Garg
The default DIP switch configuration on RB1/2 is to enable flashing support via USB type-c port either using QDL or fastboot. It's just cumbersome to get the host mode working in U-Boot via DIP switch toggle when you need the flashing capability using the type-c port. So instead lets enable fastboot in U-Boot for RB1/2 boards which is more useful in the default board DIP switch configuration. This let's us to drop dr_mode DT fixup. Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250516130854.606067-1-sumit.garg@kernel.org Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2025-06-24sunxi: add support for the Allwinner A100/A133 SoCAndre Przywara
The Allwinner A100 SoC has been around for a while, mostly on cheap tablets, but didn't generate much interest in the community so far. There were some efforts by two Allwinner employees in 2020, which led to basic upstream Linux support for that SoC, although this momentum dried up pretty quickly, leaving a lot of peripherals unsupported. The A100 was silently replaced with the seemingly identical Allwinner A133, which is reportedly a better bin of the A100. So far we assume that both are compatible from a software perspective. There are some more devices with the A133 out there now, so people are working on filling the gaps, and adding U-Boot (and TF-A) support. Based on the just added pinctrl, clock and DRAM support, this adds the missing bits, mostly addresses and values for the SPL. The A133 seems to be an predecessor to the H6, so we can share a lot of code with that (and the H616 code), and just need to adjust some details. Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2025-06-24sunxi: A133: add DRAM init codeCody Eksal
This adds preliminary support for the DRAM controller in the Allwinner A100/A133 SoCs. This is work in progress, and has rough edges, but works on at least three different boards. It contains support for DDR4 and LPDDR4. Signed-off-by: Cody Eksal <masterr3c0rd@epochal.quest> [Andre: formatting fixes, adapt to mainline, drop unused parameters, remove struct struct sunxi_mctl_com_reg, hardcode MR registers, switch to mctl_check_pattern(), remove simple DRAM check] Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2025-06-23Merge tag 'v2025.07-rc5' into nextTom Rini
Prepare v2025.07-rc5 With this merge, tighten up the LTO_FLAGS removal we added to not trigger on ARMv7 (which is Thumb-2 and should be fine).
2025-06-23dts: ipq5424-rdp466-u-boot: add override dtsiVaradarajan Narayanan
Add initial support for the IPQ5424 MMC based RDP platforms. Define memory layout statically. Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com> Reviewed-by: Casey Connolly <casey.connolly@linaro.org> Link: https://lore.kernel.org/r/20250304110105.2762124-3-quic_varada@quicinc.com Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2025-06-20Merge patch series "Consistent Kconfig environment options CONFIG_ENV_ prefix"Tom Rini
Marek Vasut <marek.vasut+renesas@mailbox.org> says: Rename the environment related variables and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Link: https://lore.kernel.org/r/20250609192701.20260-1-marek.vasut+renesas@mailbox.org
2025-06-20env: Rename SYS_MMC_ENV_PART to ENV_MMC_EMMC_HW_PARTITIONMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Use ENV_MMC_EMMC_HW_PARTITION to clarify this is the eMMC hardware partition selector, not a software partition table entry selector. Retain the ENV_MMC_ prefix to make it easier to search for all the SD/MMC related ENV options. Update the help text accordingly. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-06-20env: Rename SYS_MMC_ENV_DEV to ENV_MMC_DEVICE_INDEXMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Use ENV_MMC_DEVICE_INDEX to clarify this is the SD/MMC device index, a number, as enumerated by U-Boot. Update the help text accordingly. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-06-20env: Rename SYS_RELOC_GD_ENV_ADDR to ENV_RELOC_GD_ENV_ADDRMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-06-20Merge tag 'u-boot-at91-2025.10-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.10 cycle: This feature set includes the addition of new sam9x7 SoC and a new board named sam9x7-curiosity. There is also new support for sam9x60 compatible at91 watchdog.
2025-06-19arm/airoha: reset_cpu() does not take any paramsMikhail Kshevetskiy
According to include/sysreset.h the reset_cpu() function does not take any args Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu> Reviewed-by: Tom Rini <trini@konsulko.com>
2025-06-19Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-sh ↵Tom Rini
into next - Assorted cleanups and R-Car Gen4 watchdog driver
2025-06-19board: sam9x75_curiosity: Add support for sam9x75 curiosityManikandan Muralidharan
Add board specific functions for sam9x75 curiosity Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com> Reviewed-by: Eugen Hristev <eugen.hristev@linaro.org>
2025-06-19ARM: dts: at91: sam9x75_curiosity: add tweaks for sam9x75 curiosity boardManikandan Muralidharan
Since the SoC and board DT are already available in dts/upstream, add the difference from upstream DTS to at91-sam9x75_curiosity-u-boot.dtsi Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com> Reviewed-by: Eugen Hristev <eugen.hristev@linaro.org>
2025-06-19ARM: at91: Add sam9x7 socVarshini Rajendran
Add new Microchip sam9x7 SoC based on an ARM926. Signed-off-by: Varshini Rajendran <varshini.rajendran@microchip.com> Signed-off-by: Balamanikandan Gunasundar <balamanikandan.gunasundar@microchip.com> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>