summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-03-23scmi: pinctrl: add pinctrl message IDsDan Carpenter
Add all the pinctrl message IDs. I renamed SCMI_MSG_PINCTRL_CONFIG_SET to SCMI_PINCTRL_SETTINGS_CONFIGURE so the naming matches the spec better. Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Peng Fan <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-03-23scmi: Rework SCMI_FIRMWARE implementationTom Rini
As exposed by "make randconfig", how we have SCMI_FIRMWARE today is incomplete, and in one case, used incorrectly. First, SCMI_FIRMWARE has a build-time dependency on OF_CONTROL being enabled, so add that. Second, RESET_SCMI depends on SCMI_FIRMWARE being enabled, it should not select that symbol. In turn, a number of platforms need to now enable SCMI_FIRMWARE explicitly and not rely on RESET_SCMI to enable it for them. Signed-off-by: Tom Rini <[email protected]> Acked-by: Peng Fan <[email protected]> Acked-by: Anshul Dalal <[email protected]> Acked-by: Michal Simek <[email protected]> # Versal Gen 2 Reviewed-by: Patrice Chotard <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-03-22tests: FIT: Add "clone" image attack image testTom Rini
Related to the problem resolved with commit 2092322b31cc ("boot: Add fit_config_get_hash_list() to build signed node list"), add a testcase for the problem as well. Reported-by: Apple Security Engineering and Architecture (SEAR) Signed-off-by: Tom Rini <[email protected]>
2026-03-22power: pmic: enable sysreset function with device tree propertySvyatoslav Ryhel
Add a condition to enable the PMIC sysreset function via the system-power-controller device tree property in addition to the existing Kconfig dependency, provided the PMIC supports it. Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> # RK8xx
2026-03-22board: lg: star: make panel fix optionalSvyatoslav Ryhel
Currently, U-Boot fails with an FDT patching error if the LG Optimus 2X device tree lacks a panel node. Since the panel is optional hardware, patching should be optional as well. Fix this by allowing bootflow to continue if the panel node is missing. Signed-off-by: Svyatoslav Ryhel <[email protected]>
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-22video: ltl106hl02: adjust power supply nameSvyatoslav Ryhel
Rename vdd-supply to power-supply according to the latest schema. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22video: r61307: adjust property nameSvyatoslav Ryhel
Rename renesas,inversion to renesas,column-inversion according to latest schema. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22input: cpcap_pwrbutton: simplify parent verificationSvyatoslav Ryhel
Check for 'cpcap' within the compatible string, as various CPCAP compositions always include this component. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22input: cpcap_pwrbutton: set default keycode fallbackSvyatoslav Ryhel
Set a default fallback value if no keycode is defined Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22power: cpcap: make regulator node names case independentSvyatoslav Ryhel
The Linux kernel CPCAP driver uses uppercase regulator node names, while this driver uses lowercase. Since regulator names can be case-insensitive, update the driver to support both uppercase and lowercase node names. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22power: pmic: cpcap: add Mapphone and Mot compatiblesSvyatoslav Ryhel
Add Mapphone and Mot compatibles supported by Linux kernel. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22power: regulator: cpcap: remove bit_offset_from_cpcap_lowest_voltageSvyatoslav Ryhel
The bit_offset_from_cpcap_lowest_voltage value was inherited from the downstream kernel as a quirk. With the correct voltage table, it is no longer needed. An additional benefit is that SW1, SW2, and SW4 now share the same voltage table. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22pwm: tegra: properly calculate pulse and frequency divider fieldsIon Agorria
The pulse width field requires better precision during calculation. Add a proper frequency divider calculation based on the PWM clock instead of hardcoding it to 1. Signed-off-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22pwm: tegra: fix pulse_width calculationJonas Schwöbel
The pulse_width is expressed as N/256. A 100% duty cycle is only possible when multiplied by 256 instead of 255. Signed-off-by: Jonas Schwöbel <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22pwm: tegra: add set_invert PWM operationJonas Schwöbel
Add active-low support to the PWM controller, useful for active-low pwm-leds. Signed-off-by: Jonas Schwöbel <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22pwm: tegra: add probe functionJonas Schwöbel
When PWM config was updated the clock was restarted which caused loss of previous configuration of other channels. Further this fixes a bug/hang that can happen when set_enable was called before set_config. Signed-off-by: Jonas Schwöbel <[email protected]> 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-20doc: board: tegra: improve documentationSvyatoslav Ryhel
Remove redundant chapters, clarify and reword confusing sections. 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-18bootm: Stash bootstage data in bootm_final()Simon Glass
ARM stashes bootstage data to a known memory location before booting, so the kernel can pick it up. Add this to bootm_final() so all architectures benefit from it. The bootstage_stash_default() function is a no-op when bootstage or stashing is disabled. 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-18bootm: Create bootm_final() for pre-boot cleanupSimon Glass
There are various functions which announce that booting is imminent and do related preparation. Most of these are arch-specific. In practice, most archs do a similar thing. It would be better to have a common function, with perhaps some events for things that are really arch- and board-specific. Create a new bootm_final() function with the common pre-boot steps: printing the "Starting kernel" message, recording bootstage data, optionally writing bootstage to the FDT and printing a report, and removing active devices. Be careful to avoid using BIT() macros which are not available with host tools. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-03-18bootstage: Add some missing dummy functionsSimon Glass
Neither bootstage_fdt_add_report() nor bootstage_report() has a dummy double for when bootstage is disabled. Add them. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-03-18dm: Remove children when parent is removed by flagsSimon Glass
When dm_remove_devices_active() removes devices using specialised flags like DM_REMOVE_ACTIVE_ALL, a parent device may match (e.g. MMC has DM_FLAG_OS_PREPARE) while its children do not. This deactivates the parent but leaves children activated, an inconsistent state. Later, when uclass_destroy() calls device_remove() with DM_REMOVE_NORMAL on the already-deactivated parent, it returns early without touching the children. The subsequent device_unbind() then fails because the children are still activated. Fix this by dropping only the DM_REMOVE_ACTIVE_ALL requirement for child removal when the parent is being removed. This ensures children are removed along with their parent, while still preserving other flags like DM_REMOVE_NON_VITAL so that vital devices remain protected. Signed-off-by: Simon Glass <[email protected]>
2026-03-18dm: Move flags_remove() check before child removalSimon Glass
Move the flags_remove() call before device_chld_remove() and save the result in a separate variable. This is just a refactoring with no behaviour change, preparing for the next commit which needs to know whether the parent will be removed before deciding how to remove its children. 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 'mediatek-for-master-2026-03-17' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-mediatek * A fix for mt7622 infracfg and pericfg clocks that were unusable.
2026-03-18Merge patch series "update MAINTAINERS for PWM LED"Tom Rini
Quentin Schulz <[email protected]> says: The entry is named LED while it only matches PWM LED binding and driver, so rename it to PWM LED. Ivan's email is bouncing, so mark the PWM LED entry as orphaned. Link: https://lore.kernel.org/r/[email protected]
2026-03-18MAINTAINERS: make PWM LED orphanQuentin Schulz
Ivan's mail is bouncing, so update the entry status. Signed-off-by: Quentin Schulz <[email protected]>
2026-03-18MAINTAINERS: rename LED into PWM LEDQuentin Schulz
It clearly only lists PWM LED driver and bindings so we should have the entry reflect that. Signed-off-by: Quentin Schulz <[email protected]>