summaryrefslogtreecommitdiff
path: root/doc/develop
AgeCommit message (Collapse)Author
2025-10-22boot: Run global bootmeths after all bootdevs are exhaustedSimon Glass
When there are no more bootdevs we should still go through the global bootmeths, since some may not have yet been used, if their priority has not yet come up. Add a final check for this at the end of the iterator. Update the documentation to match the new behaviour of global bootmeths. Signed-off-by: Simon Glass <[email protected]>
2025-10-13bootstd: rauc: extend and fix doc to reflect real flowAndreas Pretzsch
The documentation of bootmeth rauc in some aspects does not reflect the real program flow. Specifically the reset of boot tries in case of "no more slots found" is incorrect (it won't change BOOT_ORDER). Also the search sequence for boot scripts was mixed and incomplete. Fix these points in the documentation. Explain the initial setup of any missing BOOT_ORDER and BOOT_x_LEFT environment variables, and inform about BOOT_x_LEFT decrementing. Signed-off-by: Andreas Pretzsch <[email protected]> Reviewed-by: Martin Schwan <[email protected]>
2025-10-08scripts/checkpatch.pl: Resync with v6.17Kory Maincent
This resyncs us with the version found in v6.17 of the Linux kernel with the following exceptions: - Keep our u-boot specific tests / code area. - Keep the location of our checkpatch.rst - Change the "use strscpy" test as we don't have that to strlcpy - Keep debug/printf in the list for $logFunctions - Keep checks to "env" files - Keep our tests for strncpy/strncat This also syncs the spdxcheck.py tool and all the associated documentation. Signed-off-by: Kory Maincent <[email protected]> [trini: Keep our strlcpy/cat check] Signed-off-by: Tom Rini <[email protected]>
2025-10-06Merge branch 'next'Tom Rini
Merge the outstanding changes from the 'next' branch to master.
2025-10-06Prepare v2025.10v2025.10Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-10-03cmd: spl: Remove ATAG support from this commandTom Rini
While we continue to have some systems which support extremely legacy OS booting methods, we do not have use cases for supporting this in Falcon mode anymore. Remove this support and references from the documentation. Co-developed-by: Anshul Dalal <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-10-03doc: pytest: Fix inline code and other formattingMartin Schwan
Mainly fix inline code and some other formatting mistakes. Inline code uses double backticks `` in reStructuredText instead of single backticks as in Markdown. Also fix some smaller formatting issues, such as excess colons before literal blocks. Signed-off-by: Martin Schwan <[email protected]>
2025-10-03doc: Update coding style to recommend b4 for patch submissionJavier Tia
Replace references to patman with b4 as the recommended tool for preparing and sending patches. b4 is widely adopted in the Linux kernel community and U-Boot ships with configuration to simplify its use with the project mailing list. The updated guidelines describe how to prepare series with b4, handle cover letters and recipient lists, run style checks, and send patches safely. Instructions also highlight how to collect and apply review tags before resending. This change documents the preferred workflow for contributors and ensures consistency with common practices across related upstream communities. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Javier Tia <[email protected]>
2025-10-03doc: develop: fix grammar and syntaxYegor Yefremov
Signed-off-by: Yegor Yefremov <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-09-30Merge tag 'u-boot-socfpga-next-20250930' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-socfpga into next SoCFPGA updates for v2025.10: CI: https://source.denx.de/u-boot/custodians/u-boot-socfpga/-/pipelines/27762 This pull request brings a set of updates across SoCFPGA platforms covering Agilex5, Agilex7, N5X, and Stratix10. The changes include: * Agilex5 enhancements: - USB3.1 enablement and DWC3 host driver support - System Manager register configuration for USB3 - Watchdog timeout increase and SDMMC clock API integration - dcache handling improvements in SMC mailbox path - Enable SPL_SYS_DCACHE_OFF in defconfig * Clock driver improvements: - Introduce dt-bindings header for Agilex clocks - Add enable/disable API and EMAC clock selection fixes - Replace manual shifts with FIELD_GET usage * DDR updates: - IOSSM mailbox compatibility check - Correct DDR calibration status handling * Device tree changes: - Agilex5: disable cache allocation for reads - Stratix10: add NAND IP node - Enable driver model watchdog - Enable USB3.1 node for Agilex5 * Config cleanups: - Simplify Agilex7 VAB defconfig - Remove obsolete SYS_BOOTM_LEN from N5X VAB config - Enable CRC32 support for SoCFPGA - Increase USB hub debounce timeout Overall this set improves reliability of DDR and cache flows, adds missing USB and MMC features for Agilex5, and refines clock and configuration handling across platforms. This patch set has been tested on Agilex 5 devkit, and Agilex devkit.
2025-09-27doc: Update mentions of README.fdt-controlE Shattow
Update documents 'README.fdt-control' reference to replacement 'control.rst': doc/arch/nios2.rst dts/Makefile Also convert some adjacent pathname mentions to rST links where applicable Fixes: 3e9fddfc4f14 "doc: Move devicetree control doc to rST" Signed-off-by: E Shattow <[email protected]>
2025-09-27doc: develop: process: Add note about asking for feedbackTom Rini
It can be unclear to contributors what to do if they haven't gotten any feedback on patches they have submitted. Add a sentence saying that if they feel it's been too long without any comment, it's OK to reply again. Signed-off-by: Tom Rini <[email protected]>
2025-09-27doc: memory: fix encodings for spl layout diagramsAnshul Dalal
The commit 284ef1bbcefc ("doc: memory: Add documentation for system RAM") added documentation for U-Boot's memory usage along with diagrams showcasing the SPL's memory usage. Although the SVGs for the diagrams were improperly encoded. Therefore, this patch fixes the older SVGs with one's with better encoding and reduced size created using inkscape[1]. [1]: https://inkscape.org/ Reported-by: Alexander Dahl <[email protected]> Fixes: 284ef1bbcefc ("doc: memory: Add documentation for system RAM") Signed-off-by: Anshul Dalal <[email protected]>
2025-09-27doc: memory: Restore missing diagramNeha Malcom Francis
When applying the patch that became commit a2d881f5bcd3 ("doc: memory: Add documentation for system RAM") one of the diagrams was missed. Re-add this missing file. Reported-by: Adriano Carvalho <[email protected]> Fixes: a2d881f5bcd3 doc: memory: Add documentation for system RAM Signed-off-by: Neha Malcom Francis <[email protected]> [trini: Take Neha's original svg and re-apply it] Signed-off-by: Tom Rini <[email protected]>
2025-09-23Merge tag 'v2025.10-rc5' into nextTom Rini
Prepare v2025.10-rc5
2025-09-23Prepare v2025.10-rc5v2025.10-rc5Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-09-16Merge patch series "Modernize U-Boot code formatting with clang-format"Tom Rini
Javier Tia <[email protected]> says: This patch series modernizes U-Boot's code formatting infrastructure by with current Linux kernel practices and providing a more robust and comprehensive formatting solution. Link: https://lore.kernel.org/r/[email protected]
2025-09-16doc: Update U-Boot coding style guide with clang-format usageJavier Tia
The U-Boot coding style guide has been updated to include information about using the `.clang-format` configuration file for automatic code formatting. This ensures consistent formatting across the entire codebase and aligns with Linux kernel coding standards. The goal with introducing a predefined coding style is consistency rather than personal preference. The .clang-format file is copied directly from the Linux kernel without any modifications, ensuring complete compatibility with kernel coding standards. Include comprehensive best practices for using clang-format, specifically guidance on formatting only changed blocks versus entire files, creating separate formatting-only commits for better code review, and leveraging git clang-format for targeted formatting. Add examples of editor integrations. This enhancement will help maintainers and contributors to easily adhere to U-Boot coding standards. Signed-off-by: Javier Tia <[email protected]>
2025-09-08Prepare v2025.10-rc4v2025.10-rc4Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-08-25Prepare v2025.10-rc3v2025.10-rc3Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-08-11Prepare v2025.10-rc2v2025.10-rc2Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-08-08doc: spl: fix typo 'TPL' to 'VPL'Leo Yu-Chi Liang
Fix typo: change 'TPL' to 'VPL'. Signed-off-by: Leo Yu-Chi Liang <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-07-28Prepare v2025.10-rc1v2025.10-rc1Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-07-26efi: Create a new CONFIG_EFISimon Glass
Create a Kconfig which indicates that EFI functionality is in use, either as a client (EFI app / stub) or provider (EFI loader). This will make it easier to share code between these two parts of U-Boot Signed-off-by: Simon Glass <[email protected]>
2025-07-26efi: Rename CONFIG_EFI to CONFIG_EFI_CLIENTSimon Glass
The generic name 'EFI' would be more useful for common EFI features. At present it just refers to the EFI app and stub, which is confusing. Rename it to EFI_CLIENT Signed-off-by: Simon Glass <[email protected]>
2025-07-26efi: Rename the lib/efi directorySimon Glass
This directory was created when U-Boot gained the ability to run as an EFI app in 2015. Since then the EFI-loader feature has been added. The code in lib/efi is not actually used by the loader, so the name is confusing. Rename the directory to efi_client to indicate that it includes files just for U-Boot being a client of EFI, i.e. the EFI app and stub. Signed-off-by: Simon Glass <[email protected]>
2025-07-08Merge patch series "kbuild: Update Makefile.extrawarn to 5.1"Tom Rini
This series from Ilias Apalodimas <[email protected]> largely finishes the re-sync with the Linux Kernel v5.1 kbuild system. Link: https://lore.kernel.org/r/[email protected]
2025-07-08kbuild: Bump the build system to 5.1Ilias Apalodimas
Our last sync with the kernel was 5.1. Even that was a partial one as some patches from 4.x kernels were already missing making the transition to a modern kbuild infeasible. We are so out of sync now, that tracking the patches and backporting them one by one makes little sense and it's going to take ages. This is an attempt to sync up Makefile[.lib/.kbuild]. Unfortunately due to sheer amount of patches this is not easy to review, but that's what we decided during a community call. One of the biggest changes is get rid of partial linking entirely and build .a archives isntead of .o. We diaviate from the kernel on that. Instead of calling a custom script to create the archive symbol table, we call ar with rcTP (isntead of rcSTP) since we want a resulting archive that's sauble with the linker. The only affected platforms are PPC ones. Unfortunately I don't have any of them around to test, but the objdump of the resulting files -- arch/powerpc/lib/built-in.[oa] looks identical. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-07-07Merge branch 'next'Tom Rini
2025-07-07Prepare v2025.07v2025.07Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-06-28doc: mention that extlinux.conf can use environment in "append"Fiona Klute
This option is very useful for A/B boot setups with read-only filesystems: Letting U-Boot fill in the rootfs (and possibly related parameters) allows keeping all boot parameters except the actual slot selection in the extlinux.conf file, where they can be updated easily. Signed-off-by: Fiona Klute <[email protected]> Cc: Tom Rini <[email protected]>
2025-06-25Merge patch series "lmb: use a single API for all allocations"Tom Rini
Sughosh Ganu <[email protected]> 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/[email protected] [trini: Rework arch/arm/mach-snapdragon/board.c merge] Signed-off-by: Tom Rini <[email protected]>
2025-06-25doc: add lmb documentationSughosh Ganu
The LMB module has undergone significant changes in the recent past. Add a document which briefly describes what the LMB module does, and the changes that have been made to it's design since the 2025.01 release. Signed-off-by: Sughosh Ganu <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
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-23Prepare v2025.07-rc5v2025.07-rc5Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-06-19dtc: Add Kconfig option to pad device tree blobEric Schikschneit
This will allow arch(s) that use device tree blobs to pad the end of the device tree so they can be modified by board files at run time. This will help prevent errors such as FDT_ERR_NOSPACE from occurring. Signed-off-by: Eric Schikschneit <[email protected]> [trini: Change default order so that X86 && EFI_APP works correctly]
2025-06-18Merge patch series "bootstd: New bootmeth for RAUC A/B systems"Tom Rini
Martin Schwan <[email protected]> says: This series implements a new bootmeth for RAUC A/B systems. RAUC (Robust Auto Update Controller) is a lightweight update client, providing "Safe and Secure OTA Updates for Embedded Linux". See the following links for more information about RAUC: https://rauc.io/ https://rauc.readthedocs.io/en/latest/ PHYTEC uses RAUC in its Yocto based distribution "Ampliphy" as the default way of updating embedded devices based on PHYTEC hardware. So far, the logic selecting the correct partitions and files to boot was being implemented in the U-Boot environment. While this is a straightforward way to do it, adding and supporting new platforms became somewhat tedious and is platform-specific. The introduction of U-Boot's "Standard Boot" provided a convincing alternative, promising a simpler and more portable way of booting, even for RAUC systems. This led me to implement a new bootmeth supporting RAUC A/B systems. Note, that this new bootmeth is not proprietary to PHYTEC products and is designed to work on other hardware with a RAUC A/B system, too. The bootmeth currently only supports symmetric A/B partitioning layouts. E.g. A/rescue is not (yet) supported. The partition indexes and default slot tries can be specified via configuration options. For now, the bootmeth_rauc uses a similar approach for loading the Kernel and device tree as the bootmeth_script, in that it requires a FIT containing a U-Boot script loading the desired distro. It could be possible to support booting without a script and load the Kernel and DT directly with this bootmeth, but I found the script method to be very flexible for now, in letting the distro decide what to load. The bootmeth_rauc was tested on a phyBOARD-Pollux i.MX8M Plus [1] with BSP-Yocto-Ampliphy-i.MX8MP-PD24.1.2 [2]. Supported boot devices are currently only MMC devices, but it should be possible to add SPI flashes in the future. To test this patch stack with PHYTEC's phyBOARD-Pollux i.MX8M Plus board, you need to adjust the boot files to include the boot.scr.uimg containing the distro's boot script and set "optargs" to "${raucargs}" in it. Also disable any legacyboot in the U-Boot environment and simply boot with Standard Boot: bootmeth order rauc bootflow scan -lb [1]: https://www.phytec.eu/en/produkte/single-board-computer/phyboard-pollux/ [2]: https://download.phytec.de/Software/Linux/BSP-Yocto-i.MX8MP/BSP-Yocto-Ampliphy-i.MX8MP-PD24.1.2/ Link: https://lore.kernel.org/r/[email protected] [trini: Don't enable by default]
2025-06-18doc: Add description for bootmeth raucMartin Schwan
Add documentation for the bootmeth "rauc", which boots an A/B system with RAUC from MMC. Signed-off-by: Martin Schwan <[email protected]>
2025-06-09Merge tag 'v2025.07-rc4' into nextTom Rini
Prepare v2025.07-rc4
2025-06-09Prepare v2025.07-rc4v2025.07-rc4Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-05-30expo: Begin implementation of a text editorSimon Glass
It is useful to be able to edit text, e.g. to allow the user to edit the environment or the command-line arguments for the OS. Add the beginnings of an implementation. Future work is needed to finish this: keypress handling and scrolling. For now it just displays the text. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Support object alignmentSimon Glass
Add support for left, right and centred alignment for text, in the horizontal dimension. Also support top, bottom and centred in the vertical dimension, for the text object as a whole. Alignment is not yet implemented for images. It has no meaning for menus. A textline object uses a text object internally, so alignment is supported there. Provide some documentation to explain how objects are positioned. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Implement a boxSimon Glass
It is useful to be able to draw a box around elements in the menu. Add support for an unfilled box with a selectable thickness. Note that there is no support for selecting the colour for any expo objects yet. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Add basic documentation for new featuresSimon Glass
Describe the new subcommands and how they should be used in a normal workflow. Note that the naming of branches is very rigid, or 'opinionated' in marketing terms. Patman can track a single branch for each version of a series and they must all be named the same, except for the version-number suffix. Version 1 series have no suffix. This description is fairly bare-bones but should be enough for some initial testing and comments. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Move capture_sys_output() into terminal and renameSimon Glass
This function is sometimes useful outside tests. Also it can affect how terminal output is done, e.g. whether ANSI characters should be emitted or not. Move it out of the test_util package and into terminal. Signed-off-by: Simon Glass <[email protected]>
2025-05-26Prepare v2025.07-rc3v2025.07-rc3Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-05-18test: allow multiple config options in buildconfigspecHeinrich Schuchardt
In some cases we have alternative configuration options that supply the same functionality, e.g CONFIG_NET and CONFIG_NET_LWIP. Allow to specify all of them as arguments for buildconfigspec() and execute the text if any of these is fulfilled, e.g. @pytest.mark.buildconfigspec('net', 'net_lwip') Update the documentation. Signed-off-by: Heinrich Schuchardt <[email protected]> Acked-by: Jerome Forissier <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-05-18doc: pytest: Use globing for test filesTom Rini
After the original series was merged, Quentin noted that we could handle adding additional tests more easily by using the glob feature. Do so. Suggested-by: Quentin Schulz <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2025-05-16cyclic: document new guarantees for cyclic_(un)registerRasmus Villemoes
Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2025-05-12Prepare v2025.07-rc2v2025.07-rc2Tom Rini
Signed-off-by: Tom Rini <[email protected]>