summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-11-12mach-k3: am62px: remove fdt_fixup_cpu_freq_nodes_am62pAnshul Dalal
fdt_fixup_cpu_freq_nodes_am62p is used to delete unsupported opp table entries at runtime based on the SoC's speed grade. However, the ti-cpufreq driver in kernel already has support for rejecting unsupported entries. Therefore this fdt fixup is not necessary and can be dropped. Fixes: 8d05cbef73ae ("arm: mach-k3: am62p: Fixup a53 max cpu frequency by speed-grade") Signed-off-by: Anshul Dalal <[email protected]>
2025-11-12soc: exynos-pmu: add support for Exynos7 PMUKaustabh Chakraborty
Add the compatible string of Exynos7's PMU as defined in upstream dt-schema. This also supports derivative PMUs as defined in schema. There's no additional setup required here, so pmu_init is skipped. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12serial: s5p: add compatible for exynos8895Kaustabh Chakraborty
Add the compatible for Exynos8895 UART as described in upstream devicetree bindings. This enables support for Exynos8895 and other similar UART devices, such as Exynos7870. Other than that, the driver works as-is. Signed-off-by: Kaustabh Chakraborty <[email protected]> Reviewed-by: Henrik Grimler <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12pinctrl: exynos78x0: add proper support for exynos7870 pinctrlKaustabh Chakraborty
The pinctrl blocks for Exynos7870 and Exynos7880 are similar, however in Exynos7870, the CCORE block is actually referred to as MIF. Since ordering happens lexically, it isn't directly compatible with samsung,exynos78x0-pinctrl. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12pinctrl: exynos: bind GPIO driver along with pinctrlKaustabh Chakraborty
The devicetree of Samsung devices typically have the pin controller and GPIO bank descriptors under the same pinctrl node. In U-Boot, these are handled by two separate drivers. It is not possible to invoke both drivers from a single node compatible. Bind the GPIO driver on pinctrl driver bind, with the same OF node as the pinctrl driver. This solution is already being used in other pinctrl drivers. The hierarchy, as represented in `dm tree`, is as follows: pinctrl@13750000 |-- gpio-banks | |-- gpr0-gpio-bank | |-- gpr1-gpio-bank | |-- gpr2-gpio-bank | |-- gpr3-gpio-bank | `-- gpr4-gpio-bank |-- sd0-bus-width1-pins |-- sd0-bus-width4-pins |-- sd0-bus-width8-pins `-- sd0-clk-pins Since a bind function doesn't exist, create and add it to all pinctrl drivers. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12clk: use private clk struct to access clock flagsKaustabh Chakraborty
There may be cases where the flags set for a clock is not available. This is usually the case with clocks which have been retrieved using clk_request(). However, clock flags are found in their respective private clock struct, so use that instead. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12clk: exynos: add support for Exynos7870 CMUKaustabh Chakraborty
Introduce a simple clock driver for Exynos7870's CMU blocks, more specifically, CMU_MIF, CMU_FSYS, and CMU_PERI banks. This should be enough to serve U-Boot's minimal requirements. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12clk: exynos: add function for Samsung CMU ops->requestKaustabh Chakraborty
The request function performs a simple check if the clock with the provided ID is present or not. This is done with a simple call to clk_get_by_id(). A non-zero return value indicates that the requested clock is not available. In some cases, clk->dev points to the clock bank device instead of the clock device. This pointer is therefore overwritten in order to reference to the correct device instance. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12clk: exynos: add support for PLL1417XKaustabh Chakraborty
PLL1417X seem to be compatible with PLL0822X, as also seen in the respective Linux kernel driver. Add an enum entry for the type, while merely being an alias for PLL0822X. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12clk: exynos: add support for fixed rate and fixed factor clocksKaustabh Chakraborty
Add register functions for fixed rate and fixed factor clock drivers. The vendor-specific structs defined are borrowed from the CCF driver found in the Linux kernel. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12clk: exynos: provide device pointer to clk_register_* functionsKaustabh Chakraborty
The device pointer set as NULL causes problems when clock banks depend on clocks from another clock bank. In such case, the appropriate clock needs to be resolved from OF phandle arguments, which is not possible if the associated device is not provided. Make necessary changes to make the correct device pointer available. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-11Merge patch series "reenable dm_gpio tests, add support for gpio-line-names ↵Tom Rini
lookup" Rasmus Villemoes <[email protected]> says: Hopefully third time's the charm. I merely wanted to add support (mostly for use by the 'gpio' shell command) for looking up a gpio via the gpio-line-names DT property. We already have a "gpio_request_by_line_name()", but cmd/gpio.c does a separate "lookup + request", so it felt more natural to teach the lookup machinery this as well. That ran into OF_CONTROL-but-not-OF_LIBFDT being a thing for SPL, so here's yet another attempt. Now, when trying to do my civic duty and add tests for this, I found that test/dm/gpio.c has been defunct for a couple of years, and reinstating it is not entirely trivial. After a couple of rounds CI is now happy with this: https://github.com/u-boot/u-boot/pull/828 Link: https://lore.kernel.org/r/[email protected]
2025-11-11test: gpio: add test for gpio-line-names lookupRasmus Villemoes
Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2025-11-11gpio: search gpio-line-names property in dm_gpio_lookup_nameRasmus Villemoes
In scripts as well as interactively, it's much nicer to be able to refer to GPIOs via their names defined in the device tree property "gpio-line-names", instead of the rather opaque names derived from the bank name with a _xx suffix. E.g. gpio read factory_reset FACTORY_RESET if test $factory_reset = 1 ; then ... versus gpio read factory_reset gpio@481ac000_16 if test $factory_reset = 1 ; then ... This is also consistent with the move on the linux/userspace side towards using line names instead of legacy chip+offset or the even more legacy global gpio numbering in sysfs. As dev_read_stringlist_search() depends on both OF_CONTROL and OF_LIBFDT (which matters for the SPL case), we need some .config conditional. However, it only adds about ~50 bytes of code to U-Boot proper, and dm_gpio_lookup_name() most often ends up being GC'ed for SPL, thus adds no overhead there, so for now make it a hidden symbol which is merely a convenient shorthand for CONFIG_IS_ENABLED(OF_CONTROL) && CONFIG_IS_ENABLED(OF_LIBFDT). Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2025-11-11test: gpio: include in build, and fixup bitrotRasmus Villemoes
Commit ebaa3d053e5 ("test: fix CONFIG_ACPIGEN dependencies"), which got into v2022.10-rc1, accidentally left out a $ before (CONFIG_DM_GPIO), with the effect that test/dm/gpio.c has not been built for three years. Unsurprisingly, the code in there has bit-rotted. - There's a missing ; causing plain build fail. That code was added in 9bf87e256c2 ("test: dm: update test for open-drain/open-source emulation in gpio-uclass"), which was part of v2020.07-rc3, i.e. long before the commit causing gpio.c to not be built at all. It did build at that time, but also, the missing semicolon wasn't found when fa847bb409d ("test: Wrap assert macros in ({ ... }) and fix missing semicolons") happened in 2023. - Commit 592b6f394ae ("led: add function naming option from linux") bumped sandbox,gpio-count for bank gpio_a in test.dts to 25, but didn't update the expected global gpio numbers accordingly. - The "lookup by label" test likely worked when it was added, but then I inadvertently broke it when I noticed that dm_gpio_lookup_label() seemed to be broken in commit 10e66449d7e ("gpio-uclass: fix gpio lookup by label") - which landed in v2023.01-rc1, so after gpio.c was no longer being built. The "label" (which is a u-boot concept) that a "hogged gpio" gets is <gpio hog node name>.gpio-hog, which is why it used to work with the strncmp() but doesn't with strcmp(). We can either revert 10e66449d7e or append the ".gpio-hog" suffix as done below. I don't really have a dog in that race; when I did 10e66449d7e, it was because I thought the "lookup by label" was actually about the standardized gpio-line-names property, but then I learnt it was not, so is not at all useful to me. - The leak check now fails. Test: gpio_leak: gpio.c test/dm/core.c:112, dm_leak_check_end(): uts->start.uordblks == end.uordblks: Expected 0x2a95b0 (2790832), got 0x2a9650 (2790992) test/dm/gpio.c:328, dm_test_gpio_leak(): 0 == dm_leak_check_end(uts): Expected 0x0 (0), got 0x1 (1) Test: gpio_leak: gpio.c (flat tree) test/dm/core.c:112, dm_leak_check_end(): uts->start.uordblks == end.uordblks: Expected 0x2a9650 (2790992), got 0x2a9700 (2791168) test/dm/gpio.c:328, dm_test_gpio_leak(): 0 == dm_leak_check_end(uts): Expected 0x0 (0), got 0x1 (1) And it fails with the same differences (160/176) even if I remove the three lines that actually exercise any of the gpio code, i.e. make the whole function amount to ut_assertok(dm_leak_check_end(uts)); Test: gpio_leak: gpio.c test/dm/core.c:112, dm_leak_check_end(): uts->start.uordblks == end.uordblks: Expected 0x2a95b0 (2790832), got 0x2a9650 (2790992) test/dm/gpio.c:325, dm_test_gpio_leak(): 0 == dm_leak_check_end(uts): Expected 0x0 (0), got 0x1 (1) Test: gpio_leak: gpio.c (flat tree) test/dm/core.c:112, dm_leak_check_end(): uts->start.uordblks == end.uordblks: Expected 0x2a9650 (2790992), got 0x2a9700 (2791168) test/dm/gpio.c:325, dm_test_gpio_leak(): 0 == dm_leak_check_end(uts): Expected 0x0 (0), got 0x1 (1) So I suspect that the leak is somewhere in the test framework setup/teardown code - dm_leack_check_end() isn't really used anywhere else except in a dm/core test. Bisecting to figure out where that was introduced is somewhat of a hassle because of the other bitrot, and because of the SWIG failure that makes it very hard to build older U-Boots. So since it's better to have most of the gpio tests actually working instead of leaving all of gpio.c as dead code, #if 0 that part out and leave it as an archeological exercise. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2025-11-11Merge patch series "rsa: fix dependency, rename and relocate RSASSA PSS symbols"Tom Rini
Quentin Schulz <[email protected]> says: While historically signature verification is mostly done for FIT such FIT_SIGNATURE dependency for signature algorithm makes sense, it isn't the only kind of file we can verify signatures of. It can also be done manually with rsa_verify_hash() with an embedded public key. Considering the impacted code is guarded by RSA_VERIFY, let's make the symbol depend on that otherwise selecting it without RSA_VERIFY won't do anything. The FIT_SIGNATURE dependency wasn't also enough before as it only implied RSA_VERIFY. Then, simply relocate the RSA SSA PSS padding with the other RSA symbols in lib/rsa instead of in boot/ and rename it to remove the mention to FIT. Finally, add the PSS padding wherever PKCS1.5 padding is specified as one or the other can be used. Link: https://lore.kernel.org/r/[email protected]
2025-11-11rsa: update doxygen doc for RSA signature verification to mention PSSQuentin Schulz
While the verification step originally only supported PKCS1.5 as padding algorithm for the signature, it was later extended to add support for PSS but the doxygen doc wasn't updated to reflect that so let's fix that oversight. Fixes: 061daa0b61f0 ("rsa: add support of padding pss") Signed-off-by: Quentin Schulz <[email protected]>
2025-11-11rsa: rename FIT_RSASSA_PSS to RSASSA_PSS and move symbols under lib/rsaQuentin Schulz
This renames FIT_RSASSA_PSS symbols to drop the FIT_ prefix to avoid potential confusion since there's nothing FIT specific to those symbols. It also isn't really related to booting, so boot/Kconfig is an odd place for them to live. Since they make sense only in relation with RSA, simply move them to lib/rsa where it makes more sense for them to reside. Signed-off-by: Quentin Schulz <[email protected]>
2025-11-11boot: group SPL_FIT symbols togetherQuentin Schulz
Let's not mix with symbols from other phases. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-11-11boot: remove duplicate config entry for VPL_FITQuentin Schulz
It's defined a bit later in the same file, so let's remove the duplicated entry. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-11-11boot: fix incorrect dependency of FIT_RSASSA_PSSQuentin Schulz
This padding has nothing to do with FIT except that we can make use of it when verifying the FIT signatures. This padding can also be used to verify the signature "manually" e.g. by calling rsa_verify_hash() directly with an embedded public key. Additionally, this padding is only useful if RSA (and specifically RSA_VERIFY) is enabled otherwise it's not used. The only other place it's used is in rsa-sign.c which is only built for the host tools and handled by TOOLS_FIT_RSASSA_PSS symbol instead, so no need to care for that one. Finally, the FIT_SIGNATURE dependency also wasn't enough because it only implies RSA_VERIFY, meaning it can be disabled and still have FIT_RSASSA_PSS enabled. So add a dependency on RSA_VERIFY and reword the input prompt. Signed-off-by: Quentin Schulz <[email protected]>
2025-11-11Gitlab: Prefix more of the sjg lab with "sjg"Tom Rini
In preparation for adding more labs to CI, prefix more of the sjg lab components with "sjg". Signed-off-by: Tom Rini <[email protected]>
2025-11-11Gitlab: Optimize the job dependency list moreTom Rini
In general, we want to fail the whole pipeline as soon as we can if we spot an error while also letting bigger jobs get started as soon as possible. Currently we use the "Run binman, buildman, dtoc, Kconfig and patman testsuites" job from the testsuite stage to unblock the next stage as this test is complex enough that if it passes, likely the whole stager will pass. Using this same logic, unblock the world build (and sjg-lab) stages if "sandbox test.py" has completed as if there's no failures here, there's likely not failures in the rest of the test.py stages. Signed-off-by: Tom Rini <[email protected]>
2025-11-11Gitlab: Prefix more of the sjg lab with "sjg"Tom Rini
In preparation for adding more labs to CI, prefix more of the sjg lab components with "sjg". Signed-off-by: Tom Rini <[email protected]>
2025-11-11dm: typo programmaticalyHeinrich Schuchardt
%s/programmaticaly/programmatically/ Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2025-11-11ARM: Fix HAS_ARMV7_SECURE_BASE help textMarek Vasut
Drop the 'a' from 'ahardware', no functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-11-11.gitignore: ignore more files generated for the sandboxYegor Yefremov
Change the existing regex "/capsule.*.efi-capsule" to also ignore the following files when building the sandbox: capsule_in.capsule1.efi-capsule capsule_in.capsule10.efi-capsule capsule_in.capsule11.efi-capsule capsule_in.capsule2.efi-capsule capsule_in.capsule3.efi-capsule capsule_in.capsule4.efi-capsule capsule_in.capsule5.efi-capsule capsule_in.capsule6.efi-capsule capsule_in.capsule7.efi-capsule capsule_in.capsule8.efi-capsule capsule_in.capsule9.efi-capsule As test/overlay folder was renamed to test/fdt_overlay, fix the related ignore entries: test/fdt_overlay/test-fdt-overlay-stacked.dtbo.S test/fdt_overlay/test-fdt-overlay.dtbo.S Signed-off-by: Yegor Yefremov <[email protected]>
2025-11-11scsi: Fix the name string memory leak during scsi scanBin Meng
There is a memory leak during the scsi scan process due to the strdup'ed name string is never freed. Actually it is unnecessary to pass a strdup'ed name string to blk_create_devicef() as we can use the name string on the stack directly. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-11-11gpio: OMAP: add dependency to TI_SYSCYegor Yefremov
OMAP GPIO driver needs TI_SYSC to initialize its clocks when using a devicetree-based setup. Signed-off-by: Yegor Yefremov <[email protected]>
2025-11-11qfw: Fix segfault from uninitialized variables in sandboxKory Maincent (TI.com)
There are cases where qfw_read_entry() does not set the output parameter passed by address. This occurs with qfw_sandbox_read_entry_dma, which leaves the size variables uninitialized and causes a segfault when running bootflow scan in U-Boot sandbox. $ ./u-boot ... U-Boot 2026.01-rc1-00199-gc2637036b8f0 (Nov 04 2025 - 10:32:21 +0100) ... Hit any key to stop autoboot: 0 => bootflow scan efi_var_to_file() Cannot persist EFI variables without system partition efi_tcg2_register() Missing TPMv2 device for EFI_TCG_PROTOCOL efi_rng_register() Missing RNG device for EFI_RNG_PROTOCOL scanning bus for devices... [3] 1015761 segmentation fault (core dumped) ./u-boot Initalize all these variables to 0 to fix this issue. Signed-off-by: Kory Maincent (TI.com) <[email protected]>
2025-11-11CI: Update to LLVM 20 releaseTom Rini
The current stable release for LLVM is 20, so update to that from 18. No issues seen in CI. Signed-off-by: Tom Rini <[email protected]>
2025-11-10Merge tag 'scmi-master-2025-11-11' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq CI: https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq/-/pipelines/28272 - Support scmi v3.2 CONFIG_SET for clock protocol - A patchset from Marek to optimize the scmi clk booting time - Fix scmi clk set_parent in non-CCF case - Drop mmu_set_region_dcache_behaviour in firmware scmi
2025-11-10CI: Move to Ubuntu 24.04 'Noble' as the baseTom Rini
The changes here are that we need to ensure python setuptools are in our build virtual environments as they will no longer come in via python even in a virtual environment. As part of this ensure setuptools is in our cache and also include pytest-azurepipelines as we should have been doing. Next, we move away from using apt-key directly and move that stanza towards the rest of the apt work. This also lets us drop directly installing gnupg2. These steps are not strictly required for 24.04 but will be for later releases and are valid now. Finally, we drop the unused PTYHONPATH ENV line. In order to use these containers however, we need to stop running the event_dump test as the 'addr2line' tool provided by binutils no longer is able to decode those specific events in most cases. As this is a problem with binutils and present for some time now, disabling the test until someone has time to work with upstream this seems reasonable. Signed-off-by: Tom Rini <[email protected]>
2025-11-10Prepare v2026.01-rc2v2026.01-rc2Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-11-10dm: Remove pre-schema tag supportTom Rini
Support for using "u-boot,dm-..." rather than "bootph-..." has been deprecated since February 2023. Any platforms using this have had a console message saying to migrate by 2023.07. Go and remove all support here now, for the v2026.01 release. The results of this change that aren't clear from the above are that we still have a checkpatch.pl error message, and document in doc/develop/spl.rst that they have been migrated since 2023. We also change the key2dtsi.py tool to use the correct bootph phase rather than the legacy phase. Signed-off-by: Tom Rini <[email protected]>
2025-11-10clk: scmi: Defer issue of SCMI_CLOCK_ATTRIBUTESMarek Vasut
Instead of resolving clock control flags using SCMI_CLOCK_ATTRIBUTES during probe for each and every clock, resolve the clock control flags using SCMI_CLOCK_ATTRIBUTES when the clock control flags are first used. Because most clock are never used by U-Boot, this allows reducing the amount of SCMI_CLOCK_ATTRIBUTES considerably, and this improve probe time of the scmi clock driver and U-Boot start up time. On Renesas X5H, with 1700+ SCMI clock, the boot time improved by 1.7s . Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-10clk: scmi: Postpone clock name resolutionMarek Vasut
The clock names are retrived via SCMI_CLOCK_ATTRIBUTES, called for each clock ID. This may take a lot of time to complete and is not strictly necessary. Register each clock as "scmi-%zu" instead, and let the first call of SCMI_CLOCK_ATTRIBUTES fill in the actual clock name. This has a side effect, which can be considered both an upside and also a downside. Unused clock are never renamed and retain their placeholder "scmi-%zu" name, which avoids empty clock names for nameless SCMI clock, and avoids the name resolution and improves boot time. But for those SCMI clock which do have name, that name is not listed until the clock are used. This is a preparatory patch for deferred issue of SCMI_CLOCK_ATTRIBUTES. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-10clk: scmi: Factor out clock control flags resolutionMarek Vasut
Pull clock control flags resolution into dedicated function and call it from each site that does access clock control flags. No functional change. This is a preparatory patch for deferred issue of SCMI_CLOCK_ATTRIBUTES. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-10clk: scmi: Bulk allocate all sub-driver instance dataMarek Vasut
Allocate all sub-driver instance data at once. The amount of data that have to be allocated is known up front, so is the size of the data, so there is no need to call malloc() in a loop, mallocate all data at once. The upside is, less heap fragmentation and fewer malloc() calls overall, and a faster boot time. The downside is, if some of the clock fail to register, then the clock driver cannot free parts of the bulk allocated sub-driver instance data. Such a failure can only occur if clk_register() were to fail, and if that happens, the system has more significant problems. Worse, if a core clock driver fails to probe, the system has even bigger problem. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-10clk: scmi: fix set_parent support when CCF is not being usedKamlesh Gurudasani
When not using Common clock framework(CCF), calls to scmi_clk_set_parent returns -ENOTSUPP, which should not be the case. Fix that. Fixes: 15fdfef6642c ("clk: scmi: check the clock state/parent/rate control permissions) Signed-off-by: Kamlesh Gurudasani <[email protected]> Reviewed-by: Dhruva Gole <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-10firmware: scmi: Add clock v3.2 CONFIG_SET supportVinh Nguyen
SCMI v3.2 introduces a new clock CONFIG_SET message format that can optionally carry also OEM specific configuration values beside the usual clock enable/disable requests. Add support to use such new format when talking to a v3.2 compliant SCMI platform. Support existing enable/disable operations across different clock protocol versions: this patch still does not add protocol operations to support the new OEM specific optional configuration capabilities. No functional change for the SCMI drivers users of the related enable and disable clock operations. [Marek: Remodel after Linux e49e314a2cf7 ("firmware: arm_scmi: Add clock v3.2 CONFIG_SET support") Support both old < 2.1 and new >= 2.1 protocol versions. Update commit message based on Linux one] Signed-off-by: Vinh Nguyen <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Alice Guo <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-10firmware: scmi: Drop mmu_set_region_dcache_behaviour() misuseMarek Vasut
MMU region cache behavior configuration for SCMI/SMT mailboxes is platform specific. Even on ARM systems, the mailbox memory may not even be located in any cacheable MMU region and may instead reside in some SRAM. Remove this non-generic cache behavior configuration code from generic code path. It is unlikely that any platform is affected by this change if it did configure its MMU regions correctly on start up. Platforms which might be affected are i.MX94/95 and STM32MP. Fixes: 240720e9052f ("firmware: scmi: mailbox/smt agent device") Fixes: 2a3f161c8b16 ("scmi: correctly configure MMU for SCMI buffer") Fixes: b2ae10970d40 ("firmware: scmi: use PAGE_SIZE alignment for ARM64") Signed-off-by: Marek Vasut <[email protected]> Tested-by: Alice Guo <[email protected]> Tested-by: Patrice Chotard <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-10firmware: scmi: Fix up code commentsMarek Vasut
Fix multiple instances of copy-paste errors. Fill in missing headers for CLOCK_GET_PERMISSIONS message and response. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Alice Guo <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-09configs: Resync with savedefconfigTom Rini
Resync all defconfig files using qconfig.py Signed-off-by: Tom Rini <[email protected]>
2025-11-08Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-shTom Rini
Remaining R-Car Gen5 driver patches, MMC, clock. Also a trivial adjustment for mailbox core to allow operation without .recv callback.
2025-11-07Merge patch series "Add support for TI AM6254atl SiP"Tom Rini
Anshul Dalal <[email protected]> says: This patch series adds support for AM6254atl SiP (or AM62x SiP for short) to U-Boot. The OPN (Orderable Part Number) 'AM6254atl' expands as follows[1]: AM6254atl |||| |||+-- Feature Lookup (L indicates 512MiB of integrated LPDDR4) ||+--- Device Speed Grade (T indicates 1.25GHz on A53 cores) |+---- Silicon PG Revision (A indicates SR 1.0) +----- Core configuration (4 indicates A53's in Quad core config) AM62x SiP provides the existing AM62x SoC with 512MiB of DDR integrated in a single packages. The first 4 patches in the series are cherry-picked from the devicetree-rebasing repository at 'v6.18-rc2-dts'. Link: https://lore.kernel.org/r/[email protected]
2025-11-07Merge patch series "Add PCIe Endpoint controller support for TI J784S4 SoC"Tom Rini
Hrushikesh Salunke <[email protected]> says: This series enables PCIe Endpoint mode on TI's J784S4 SoC. The J784S4 SoC features two Cadence PCIe controller instances (PCIe0 and PCIe1) that can operate in endpoint mode. This series adds support for configuring these controllers with up to 4 lanes. Key changes include: - Adding a stabilization delay after power domain reset to prevent timing-related initialization issues - SERDES mux configuration support for proper lane routing, which is essential for SoCs where SERDES lanes are shared between multiple controllers (PCIe, USB, etc.) with different configurations across boot phases - J784S4 SoC endpoint configuration with 4-lane support - Disabling unconfigured endpoint functions to prevent enumeration issues on the Root Complex side This series has been tested on J784S4 EVM with PCIe endpoint boot configuration. Following are the corresponding test logs. https://gist.github.com/hrushikesh221/331d65f45f43fd138f57e6adb61c4332 Link: https://lore.kernel.org/r/[email protected]
2025-11-07Merge patch series "board: ti: am62x: Add EEPROM support and refactor board ↵Tom Rini
detection" Guillaume La Roque (TI.com) <[email protected]> says: This series adds EEPROM board detection support for AM62x and refactors the board detection code across AM6x family boards to eliminate code duplication. The series introduces two new generic functions for AM6x boards: - do_board_detect_am6(): Reads the on-board EEPROM with fallback logic to alternate I2C addresses - setup_serial_am6(): Sets up the serial number environment variable from EEPROM data Link: https://lore.kernel.org/r/[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-07ti: add support for AM6254atl SiPAnshul Dalal
TI's AM6254atl (or AM62x SiP for short) provides the existing AM62x SoC with 512MiB of DDR integrated in a single package. This patch adds the necessary U-Boot devie tree files, the required defconfigs along with the documentation for the AM62x SiP EVM. AM62x SiP differs from the already supported AM62x in following ways: - OP-TEE for the AM62x resides from 0x9e800000 to 0xa0000000 which needs to be moved to 0x80080000 to free up space at end of DDR in AM62x SiP with 512MiB of memory. This is required to allow U-Boot to relocate to end of DDR before booting to the kernel. - Changes to the env: 1. splashimage address updated from 0x80200000 to 0x81a00000 2. DFU addresses updated to match updated TEXT_BASE for SPL and U-Boot Signed-off-by: Anshul Dalal <[email protected]>