summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
8 dayssata: Rework the CMD_SATA and SATA symbolsTom Rini
Today we typically enable CMD_SATA in order to have the SATA functionality itself enabled, despite there being a clean split between the two symbols. This in turn leads to potential configuration problems. Split things so that SATA continues to be separate and not CMD_SATA instead depends, functionally, on AHCI being enabled. To do all of this: - Have X86 select AHCI directly rather than "default y" it later. - Make CMD_SATA be a default y option, given the split of platforms that enabled SATA and did, or did not, enable CMD_SATA. - Change "imply CMD_SATA" to "imply SATA" - Correct TARGET_VEXPRESS64_JUNO because you cannot select SATA_SIL without PCI (and in turn, SATA is needed for SATA_SIL). - Update a number of defconfigs to have no functional change. Signed-off-by: Tom Rini <[email protected]>
8 daysglobal: Audit Kconfig usage of PARTITION_TYPE_GUIDTom Rini
It is not functionally possible to use the code enabled by PARTITION_TYPE_GUID without having EFI_PARTITION be enabled as well. Not all users of the former had ensured that the latter was enabled however, so audit all current users and then as appropriate select or imply EFI_PARTITION as needed. Signed-off-by: Tom Rini <[email protected]>
8 dayssandbox: Add missing select's to the architecture symbolTom Rini
As exposed by "make randconfig", we have an issues around a number of symbols that we select without making sure to also select their prerequisite symbols. Add these missing symbols. Signed-off-by: Tom Rini <[email protected]>
9 daysimx8mp: icore-edimm2.2: Convert to DM_PMICPeng Fan
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC handling. Changes include: - Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig. - Drop legacy SPL I2C and PMIC options. - Remove manual I2C1 pad setup and legacy power_pca9450_init() usage. - Use DM-based pmic_get() with the DT node "pmic@25". - Update PMIC register programming to use struct udevice API. Signed-off-by: Peng Fan <[email protected]>
9 daysimx8mp: libra-fpsc: Convert to DM_PMICPeng Fan
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC handling. Changes include: - Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig. - Drop legacy SPL I2C and PMIC options. - Remove manual I2C1 pad setup and legacy power_pca9450_init() usage. - Use DM-based pmic_get() with the DT node "pmic@25". - Update PMIC register programming to use struct udevice API. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Yannic Moog <[email protected]> Tested-by: Yannic Moog <[email protected]> Reviewed-by: Teresa Remmet <[email protected]>
9 daysimx8mp: verdin: Convert to DM_PMICPeng Fan
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC handling. Changes include: - Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig. - Drop legacy SPL I2C and PMIC options. - Remove manual I2C1 pad setup and legacy power_pca9450_init() usage. - Use DM-based pmic_get() with the DT node "pmic@25". - Update PMIC register programming to use struct udevice API. Signed-off-by: Peng Fan <[email protected]> Tested-by: Ernest Van Hoecke <[email protected]>
9 daysimx8mp: phyboard-pollux-rdk: Convert to DM_PMICPeng Fan
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC handling. Changes include: - Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig. - Drop legacy SPL I2C and PMIC options. - Remove manual I2C1 pad setup and legacy power_pca9450_init() usage. - Use DM-based pmic_get() with the DT node "pmic@25". - Update PMIC register programming to use struct udevice API. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Yannic Moog <[email protected]> Tested-by: Yannic Moog <[email protected]> Reviewed-by: Teresa Remmet <[email protected]>
9 daysarm: dts: imx95-toradex-smarc: migrate to OF_UPSTREAMFranz Schnyder
Allow CONFIG_OF_UPSTREAM to receive automatic device tree updates for the Toradex SMARC iMX95. Remove the now obsolete device tree files: - imx95-toradex-smarc-dev.dts - imx95-toradex-smarc.dtsi Signed-off-by: Franz Schnyder <[email protected]>
9 daysmx6sxsabreauto: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a do-nothing board_early_init_f function. Change to not enabling the option and so not needing an empty function. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Peng Fan <[email protected]>
9 daysboard: phytec: phycore-imx91-93: Add phyCORE-i.MX91 supportPrimoz Fiser
As the PHYTEC phyCORE-i.MX91 [1] is just another variant of the existing PHYTEC phyCORE-i.MX93 SoM but with i.MX91 SoC populated instead, add it to the existing board-code "phycore_imx93", and rename that board to "phycore_imx91_93" to reflect the dual SoCs support. While at it, also rename and change common files accordingly. This way i.MX91 and i.MX93 SoC variants of the phyCORE SoM share most of the code and documentation without duplication, while maintaining own device-tree and defconfigs for each CPU variant. Supported features: - 1GB LPDDR4 RAM - Debug UART - EEPROM - eMMC - Ethernet - SD-card - USB Product page SoM: [1] https://www.phytec.eu/en/produkte/system-on-modules/phycore-imx-91-93/ Signed-off-by: Primoz Fiser <[email protected]>
12 dayscore: Rework REGMAP symbols implementationTom Rini
As exposed by "make randconfig", we have an issue with the dependencies for REGMAP (and xPL variants). As this is a library function, it should always be selected and not depended on by other functionality. This is largely done correctly today, so just correct the few outliers. Acked-by: Anshul Dalal <[email protected]> Signed-off-by: Tom Rini <[email protected]>
12 dayssysreset: Rework tests around SYSRESET_CMD_POWEROFFTom Rini
As exposed by "make randconfig", we have an issue around how SYSRESET_CMD_POWEROFF is typically selected. We cannot rely only on CMD_POWEROFF as SYSRESET_CMD_POWEROFF must also be tested for its own dependency of SYSRESET. Signed-off-by: Tom Rini <[email protected]>
2026-03-27arm: relocate: Introduce data-only relocation modeMarek Vasut
Introduce new mode of relocation which relocates only data, not code. This is mainly meant to relocate data to read-write portion of the RAM, while the code remains in read-only portion of the RAM from which it is allowed to execute. This split configuration is present on various secure cores. The result of the relocation is U-Boot running at its original address, data relocated to the end of DRAM, but with added read-write area offset. The U-Boot binary area is not reserved from the end of the DRAM in this relocation mode, because U-Boot itself is not relocated. Signed-off-by: Marek Vasut <[email protected]>
2026-03-27arm: Drop unused __XSCALE__ sectionMarek Vasut
The code in the __XSCALE__ section is unused, since there is no more XScale support in U-Boot. Remove the stale code. No functional change. Signed-off-by: Marek Vasut <[email protected]>
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-27Merge tag 'xilinx-for-v2026.07-rc1-v2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze into next AMD/Xilinx/FPGA changes for v2026.07-rc1 v2 Kconfig: - Correct XILINX_TIMER entry - Rework TARGET_MICROBLAZE_GENERIC - Fix CPU_MICROBLAZE PVR logic - Remove non existing SPL_BINMAN_FDT i2c: - Wire pca9848 support spi/cadence-qspi: - Disable DAC mode - Do reset pulse net/gem: - Disable broadcast packets - Clear TXSR transfer complete - Add support for dma-coherent versal2: - Enable GIC600 support - Fix UFS distro boot wiring
2026-03-25mach-k3: move k3_falcon_fdt_fixup out of r5/common.cAnshul Dalal
k3_falcon_fdt_fixup is used to perform fdt fixups at runtime in falcon mode such as adding bootargs. Currently the function is only accessible to the R5 SPL but could be useful for A53 SPL based falcon mode setups as well. Therefore this patch moves the function from r5/common.c to common.c. Signed-off-by: Anshul Dalal <[email protected]>
2026-03-25arm: mach-k3: use Kconfig options for ATF/OPTEE sizeAnshul Dalal
The reserved memory sizes for ATF and OPTEE were hard-coded for K3 devices, this patch replaces them with a Kconfig option allowing for easier modifications. Acked-by: Andrew Davis <[email protected]> Reviewed-by: Dhruva Gole <[email protected]> Reviewed-by: Manorit Chawdhry <[email protected]> Signed-off-by: Anshul Dalal <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]>
2026-03-23microblaze: Rework TARGET_MICROBLAZE_GENERIC implementationTom Rini
As exposed by "make randconfig", some symbols such as XILINX_MICROBLAZE0_PVR can be set without TARGET_MICROBLAZE_GENERIC but have a transitive dependency on it. The easiest path of resolution here is that since there is only one valid microblaze "board", rework that symbol to be non-optional. Signed-off-by: Tom Rini <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-03-23arm64: versal2: Enable GIC600 supportPadmarao Begari
Add and enable the GIC600 support configuration by default for Versal Gen 2. Signed-off-by: Padmarao Begari <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/e3135eee33282281572fbc960aa45b5d0f355158.1772098079.git.michal.simek@amd.com
2026-03-22ARM: tegra: rename sdhci nodes to mmcSvyatoslav Ryhel
Align with existing Linux Tegra device trees to simplify using U-Boot device trees as a base for future Linux adaptations. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22ARM: tegra: remove unsupported properties from the max8907 nodeSvyatoslav Ryhel
Remove interrupt and GPIO controller properties from MAX8907 node since the PMIC does not have any GPIO cells and does not expose any interrupt features. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22ARM: tegra: mot: change backlight LED sourceSvyatoslav Ryhel
Mot based devices use LM3532 LED controller with 3 sources. Panel backlight uses LED 0 while keypad uses LED 1 and 2. Adjust device tree accordingly. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22ARM: tegra: surface-2: fix panel supplySvyatoslav Ryhel
Rename vdd-supply to power-supply according to the latest schema. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22ARM: tegra: lg-x3: fix panel propertySvyatoslav Ryhel
Rename renesas,inversion to renesas,column-inversion according to latest schema. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-20ARM: tegra: ap: add debug prints for unknown SKUIon Agorria
Add debug log prints with a message that SKU is unknown. Signed-off-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-20ARM: tegra: ap: add default fallback for Tegra20 SKUIon Agorria
Until now all Tegra chips except Tegra20 had a fallback if SKU is not known. This caused issues previously when certain SKU wasn't known. Add a fallback for Tegra20 aligning it with other Tegra SoC generations. Signed-off-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[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 patch series "bootm: Clean up arch-specific, pre-OS clean-up"Tom Rini
Simon Glass <[email protected]> says: Each arch does something slightly different before booting the OS. Some archs even do different things depending on the CPU type. It is quite hard to know what actually happens in the final milliseconds before the OS boot. This series attempts to start cleaning up U-Boot in this area. The basic intent is to create a new bootm_final() function which can be called by all archs. It provides some flags for a couple of necessary variations but otherwise it is generic. All architectures are converted over to use this new function. board_quiesce_devices() is moved into bootm_final() so that all archs benefit from it. This series fixes a bug in device_remove() is fixed where removing a parent with specialised flags (e.g. DM_REMOVE_ACTIVE_ALL) could leave children activated, since they do not match the flags. This fixes is needed to avoid bootm_final() causing test failures on sandbox. Future work could take this a little further: - Convert EFI loader to use the same function - Improve comments for cleanup_before_linux() across architectures - Support fake-run tracing on all archs Link: https://lore.kernel.org/r/[email protected]
2026-03-18sandbox: Call bootm_final()Simon Glass
Add a call to bootm_final() before the simulated kernel jump. This adds the "Starting kernel" message, bootstage tracking, board_quiesce_devices() and dm_remove_devices_active() which were not previously called on sandbox. Signed-off-by: Simon Glass <[email protected]>
2026-03-18xtensa: Call bootm_final()Simon Glass
Add a call to bootm_final() before jumping to the kernel. This adds the "Starting kernel" message, bootstage tracking, board_quiesce_devices() and dm_remove_devices_active() which were not previously called on Xtensa. Signed-off-by: Simon Glass <[email protected]>
2026-03-18sh: Call bootm_final()Simon Glass
Add a call to bootm_final() before jumping to the kernel. This adds the "Starting kernel" message, bootstage tracking, board_quiesce_devices() and dm_remove_devices_active() which were not previously called on SH. Signed-off-by: Simon Glass <[email protected]>
2026-03-18nios2: Call bootm_final()Simon Glass
Add a call to bootm_final() before jumping to the kernel. This adds the "Starting kernel" message, bootstage tracking, board_quiesce_devices() and dm_remove_devices_active() which were not previously called on Nios2. Signed-off-by: Simon Glass <[email protected]>
2026-03-18m68k: Call bootm_final()Simon Glass
Add a call to bootm_final() before jumping to the kernel. This adds the "Starting kernel" message, bootstage tracking, board_quiesce_devices() and dm_remove_devices_active() which were not previously called on m68k. Signed-off-by: Simon Glass <[email protected]> Acked-by: Angelo Dureghello <[email protected]> Tested-by: Angelo Dureghello <[email protected]> Acked-by: Kuan-Wei Chiu <[email protected]>
2026-03-18powerpc: Call bootm_final()Simon Glass
Replace the open-coded bootstage_fdt_add_report() and bootstage_report() with a call to bootm_final(). This also adds the "Starting kernel" message, board_quiesce_devices() and dm_remove_devices_active() which were not previously called on PowerPC. Signed-off-by: Simon Glass <[email protected]>
2026-03-18mips: Call bootm_final()Simon Glass
Replace the open-coded bootstage_fdt_add_report() and bootstage_report() with a call to bootm_final(). This also adds the "Starting kernel" message, board_quiesce_devices() and dm_remove_devices_active() which were not previously called on MIPS. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Daniel Schwierzeck <[email protected]>
2026-03-18microblaze: Call bootm_final()Simon Glass
Replace the open-coded printf and bootstage_mark_name with a call to bootm_final(). This also adds board_quiesce_devices() and dm_remove_devices_active() which were not previously called on MicroBlaze. Signed-off-by: Simon Glass <[email protected]>
2026-03-18arc: Call bootm_final()Simon Glass
Replace the open-coded printf and bootstage_mark_name with a call to bootm_final(). This also adds board_quiesce_devices() and dm_remove_devices_active() which were not previously called on ARC. Signed-off-by: Simon Glass <[email protected]>
2026-03-18arm: Call bootm_final()Simon Glass
The ARM announce_and_cleanup() duplicates the common pre-boot steps. Replace it with a call to bootm_final(). Drop the ARM weak board_quiesce_devices() definition since it is now called from bootm_final() and the generic weak definition in bootm.h is used instead. Note that the printf() ordering changes slightly: it now prints before bootstage processing rather than after, matching x86 and RISC-V. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-03-18riscv: Call bootm_final()Simon Glass
The RISC-V announce_and_cleanup() duplicates the common pre-boot steps. Replace it with a call to bootm_final(). Move board_quiesce_devices() into bootm_final() so it is available to all architectures. Drop the RISC-V weak definition and header declaration since the generic one in bootm.h is used instead. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-03-18x86: Call bootm_final()Simon Glass
The x86 code in bootm_announce_and_cleanup() is very similar to the new bootm_final() function, so just use the latter. Signed-off-by: Simon Glass <[email protected]>
2026-03-18Merge patch series "led: remove legacy API"Tom Rini
Quentin Schulz <[email protected]> says: This migrates the last user of the legacy LED API, IMX233-OLinuXino and net/bootp.c, to the modern LED framework. I do have concern about being able to use BOOTP in SPL? In which case, I should probably add an additional check on CONFIG_IS_ENABLED(LED) in addition to IS_ENABLED(CONFIG_LED_BOOT)? I haven't tested this as I do not own an IMX233-OLinuXino, so please give this a try if you own this device. Then, since there's no user left of this legacy API, it is entirely removed. Link: https://lore.kernel.org/r/[email protected]
2026-03-18led: remove legacy APIQuentin Schulz
No user of the legacy LED API anymore (except Sunxi with the PinePhone but that is now a Sunxi-specific implementation), so let's remove anything related. Signed-off-by: Quentin Schulz <[email protected]>
2026-03-18led: migrate last legacy LED user (olinuxino+net) to modern LED frameworkQuentin Schulz
This migrates the last user of the legacy LED API, IMX233-OLinuXino, to the modern LED framework. The current implementation does the following: - lit the LED when booting, - turn off the LED the moment a BOOTP packet is received, The first step is easily reproduced by using the /options/u-boot/boot-led property to point at the LED. Unfortunately, the boot-led is only lit by U-Boot proper at the very end of the boot process, much later than currently. We can however force the LED on whenever the GPIO LED driver is bound by marking the LED as default-state = "on", and this happens slightly before board_init() is called. We then do not need /options/u-boot/boot-led property for that anymore. However, the second step relies on /options/u-boot/boot-led and CONFIG_LED_BOOT being set to reproduce the same behavior and requires us to migrate net/bootp.c to the modern LED framework at the same time to keep bisectability. I couldn't figure out how to map CONFIG_LED_STATUS_BIT=778 to an actual GPIO on the SoC but according to the schematics[1] only one LED is present. I couldn't also map the SoC pin number to an actual GPIO from the IMX23 manual, but there's already one GPIO LED specified in the Device Tree so my guess is all of those are one and the same. This was only build tested as I do not own this device. [1] https://github.com/OLIMEX/OLINUXINO/blob/master/HARDWARE/iMX233-OLinuXino-Mini/1.%20Latest%20hardware%20revision/iMX233-OLINUXINO-MINI%20hardware%20revision%20E/iMX233-OLINUXINO-MINI_Rev_E.pdf Signed-off-by: Quentin Schulz <[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-18Merge branch 'master' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-sunxi into next For once, replacing the legacy LED API with a more lean alternative, just for sunxi's SPL. IIUC, this would be one step closer to dropping this deprecated subsystem altogether. Also adding two DRAM cleanups for the A133 SoC. There is a third patch which requires some changes, will care about that later. Gitlab CI passed, and I booted that briefly on an A133 board and some board with a GPIO controlled power LED.
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-17sunxi: a133: dram: Fix PHY dx delays offsets and add dmbPaul Kocialkowski
Some of the offsets for the DRAM PHY dx delays are wrong (as compared to the H616 code and the reference binary) since the mctl_phy_dx_delay0_inner function does not perform the correct calculation for some of them. Introduce a mctl_phy_dx_delay0_inner0 to fix the incorrect offsets and rename the existing function to mctl_phy_dx_delay0_inner1 for the offsets it correctly handles. Also add memory barriers that are also present in the H616 code while at it. This fixes detection of 4 GiB DRAM on some boards using LPDDR4. Signed-off-by: Paul Kocialkowski <[email protected]> Sponsored-by: MEC Electronics GmbH <https://www.mec.at/> Acked-by: Jernej Skrabec <[email protected]>
2026-03-17riscv: Add support for BeagleV-FireJamie Gibbons
Bring U-Boot support for the BeagleV-Fire by adding a device tree and supporting board files etc. Signed-off-by: Jamie Gibbons <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2026-03-16imx943_evk: Enable XSPI1Alice Guo
With this patch, XSPI1 are functional on the i.MX943 EVK board. Signed-off-by: Alice Guo <[email protected]>