summaryrefslogtreecommitdiff
path: root/doc/develop
AgeCommit message (Collapse)AuthorFilesLines
2024-10-07Prepare v2024.10HEADv2024.10upstreammasterTom Rini2-13/+752
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-09-30Prepare v2024.10-rc6Tom Rini1-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-09-16doc/develop/sending_patches.rst: Reword where our git tree is slightlyTom Rini1-5/+4
We shouldn't have had the link to our git tree be contained within "``" as that meant that it did not work as a link, so remove those. And rather than make this a link plus text, keep this as a link within the text for overall clarity. Suggested-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Tom Rini <trini@konsulko.com>
2024-09-12doc: Update rST to not reference the old wikiTom Rini2-4/+3
In two places we had references to the old wiki pages instead of links to the relevant part of our documentation. Update (and slightly reword) these spots. Signed-off-by: Tom Rini <trini@konsulko.com>
2024-09-12doc/develop/sending_patches.rst: Clarify when to use which branchTom Rini1-6/+8
The previous wording on the paragraph about what branch to use when submitting patches did not reflect how / when the next branch is currently used. Reword this to note that master should be used for bug and regression fixes, always, and that next should be used once it opens, with -rc2. Reported-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-09-02Prepare v2024.10-rc4Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-08-19Prepare v2024.10-rc3Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-08-05Prepare v2024.10-rc2Tom Rini1-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-07-31tools: Add script to update git subtree projectsRaymond Mao1-4/+4
Recently we are introducing multiple git subtree projects and it is the right time to have a universal script to update various subtrees and replace the dts/update-dts-subtree.sh. update-subtree.sh is a wrapper of git subtree commands. Usage: From U-Boot top directory, run $ ./tools/update-subtree.sh pull <subtree-name> <release-tag> for pulling a tag from the upstream. Or run $ ./tools/update-subtree.sh pick <subtree-name> <commit-id> for cherry-pick a commit from the upstream. Currently <subtree-name> supports dts, mbedtls and lwip. Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
2024-07-31doc: Add a description for bootmeth_androidMattijs Korpershoek3-1/+41
Add initial documentation for the Android bootmeth. Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-07-29binman: fit: Allow running fdtgrep on devicetree blobsSimon Glass1-0/+2
When using FIT to load firmware builds for multiple models, the FIT must include a common binary along with a number of devicetree blobs, one for each model. This is the same mechanism as is used for loading an OS. However, SPL builds do not normally use the full devicetree, but instead a cut-down version which various nodes and properties removed. Add a new fit,fdt-phase property to allow binman to produce these devicetree blobs. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-07-29qconfig: Allow searching for CONFIG valuesSimon Glass1-0/+14
Add basic support for searching for matching of non-matching values. Signed-off-by: Simon Glass <sjg@chromium.org> Fixes: https://source.denx.de/u-boot/custodians/u-boot-dm/-/issues/20
2024-07-22Prepare v2024.10-rc1Tom Rini1-4/+3
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-07-19doc: Describe the bootstd settingsSimon Glass1-0/+13
The bootstd node provides some configuration properties. Add these to the documentation. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-07-19doc: Add a link to VBE from the bootstd docsSimon Glass1-6/+6
Link to this page to make it easier to find the VBE docs. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-07-19doc: Add a description for bootmeth_scriptSimon Glass3-1/+54
Add documentation for the script bootmeth. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-07-19doc: Add a description for bootmeth_sandboxSimon Glass3-0/+19
Add documentation for the sandbox bootmeth. Fix up the compatible string to drop the 'extlinux' part, which is not relevant to this bootmeth. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-07-19doc: Add a description for bootmeth_crosSimon Glass3-0/+35
Add documentation for the cros bootmeth. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-07-19doc: Add a description for bootmeth_qfwSimon Glass3-0/+22
Add documentation for the qfw bootmeth. Fix up the compatible string to drop the 'extlinux' part, which is not relevant to this bootmeth. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-07-19doc: Add a description for bootmeth_pxeSimon Glass4-2/+31
Add documentation for the pxe bootmeth. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-07-19doc: Add a description for bootmeth_extlinuxSimon Glass3-2/+31
Add documentation for the extlinux bootmeth. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-07-19doc: Mention automatic binding of bootmethsSimon Glass1-0/+3
Add a note about how bootmeth drivers are instantiated. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2024-07-19doc: Move bootstd into its own directorySimon Glass4-9/+18
Before adding more files, move the bootstd docs into a new directory, with an index. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-07-18Merge patch series "bootstd: Add Android support"Tom Rini1-0/+6
Mattijs Korpershoek <mkorpershoek@baylibre.com> says: Android boot flow is a bit different than a regular Linux distro. Android relies on multiple partitions in order to boot. A typical boot flow would be: 1. Parse the Bootloader Control Block (BCB, misc partition) 2. If BCB requested bootonce-bootloader, start fastboot and wait. 3. If BCB requested recovery or normal android, run the following: a. Get slot (A/B) from BCB b. Run AVB (Android Verified Boot) on boot partitions c. Load boot and vendor_boot partitions d. Load device-tree, ramdisk and boot The AOSP documentation has more details at [1], [2], [3] This has been implemented via complex boot scripts such as [4]. However, these boot script are neither very maintainable nor generic. Moreover, DISTRO_DEFAULTS is being deprecated [5]. Add a generic Android bootflow implementation for bootstd. For this initial version, only boot image v4 is supported. This has been tested on sandbox using: $ ./test/py/test.py --bd sandbox --build -k test_ut This has also been tested on the AM62X SK EVM using TI's Android SDK[6] To test on TI board, the following (WIP) patch is needed as well: https://gitlab.baylibre.com/baylibre/ti/ti-u-boot/-/commit/84cceb912bccd7cdd7f9dd69bca0e5d987a1fd04 [1] https://source.android.com/docs/core/architecture/bootloader [2] https://source.android.com/docs/core/architecture/partitions [3] https://source.android.com/docs/core/architecture/partitions/generic-boot [4] https://source.denx.de/u-boot/u-boot/-/blob/master/include/configs/meson64_android.h [5] https://lore.kernel.org/r/all/20230914165615.1058529-17-sjg@chromium.org/ [6] https://software-dl.ti.com/processor-sdk-android/esd/AM62X/09_02_00/docs/android/Overview.html
2024-07-18bootstd: Add a bootmeth for AndroidMattijs Korpershoek1-0/+6
Android boot flow is a bit different than a regular Linux distro. Android relies on multiple partitions in order to boot. A typical boot flow would be: 1. Parse the Bootloader Control Block (BCB, misc partition) 2. If BCB requested bootonce-bootloader, start fastboot and wait. 3. If BCB requested recovery or normal android, run the following: 3.a. Get slot (A/B) from BCB 3.b. Run AVB (Android Verified Boot) on boot partitions 3.c. Load boot and vendor_boot partitions 3.d. Load device-tree, ramdisk and boot The AOSP documentation has more details at [1], [2], [3] This has been implemented via complex boot scripts such as [4]. However, these boot script are neither very maintainable nor generic. Moreover, DISTRO_DEFAULTS is being deprecated [5]. Add a generic Android bootflow implementation for bootstd. For this initial version, only boot image v4 is supported. [1] https://source.android.com/docs/core/architecture/bootloader [2] https://source.android.com/docs/core/architecture/partitions [3] https://source.android.com/docs/core/architecture/partitions/generic-boot [4] https://source.denx.de/u-boot/u-boot/-/blob/master/include/configs/meson64_android.h [5] https://lore.kernel.org/r/all/20230914165615.1058529-17-sjg@chromium.org/ Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Julien Masson <jmasson@baylibre.com> Tested-by: Guillaume La Roque <glaroque@baylibre.com> Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-07-14scripts/Makefile.lib: EFI: Use capsule CRT instead of ESL fileJonathan Humphreys1-4/+4
The EFI Capsule ESL file (EFI Signature List File) used for authentication is a binary generated from the EFI Capsule public key certificate. Instead of including it in the source repo, automatically generate it from the certificate file during the build process. Currently, sandbox is the only device using this, so removed its ESL file and set the (new) CONFIG_EFI_CAPSULE_CRT_FILE config to point to its public key certificate. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-07-01Merge branch 'next'Tom Rini8-47/+242
2024-07-01Prepare v2024.07Tom Rini2-12/+907
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-06-30doc: develop: Add a general section on gdb usageAlexander Dahl2-0/+172
Mashed up from different sources linked below, including the now gone Wiki and doc/README.arm-relocation file. Tested on a custom board with AT91 SAMA5D2 SoC and Segger J-Link Base adapter. This is only generic advice here, the usage is not board specific. Some board docs have more specific instructions on using gdb with a particular board. Link: https://www.slideshare.net/slideshow/embedded-recipes-2019-introduction-to-jtag-debugging/177511981 Link: https://boundarydevices.com/debugging-using-segger-j-link-jtag/ Link: https://web.archive.org/web/20141224200032/http://www.denx.de/wiki/view/DULG/DebuggingUBoot Link: https://web.archive.org/web/20141206064148/http://www.denx.de/wiki/view/DULG/GDBScripts1 Suggested-by: Marek Vasut <marex@denx.de> Signed-off-by: Alexander Dahl <ada@thorsis.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-06-24Merge tag 'v2024.07-rc5' into nextTom Rini5-12/+28
Prepare v2024.07-rc5
2024-06-24Prepare v2024.07-rc5Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-06-22doc: develop: testing: Fix reference to test writing sectionAlexander Dahl1-1/+1
Add missing colon in :doc: link. Fixes: fc3283314539 ("doc: Explain briefly how to write new tests") Signed-off-by: Alexander Dahl <ada@thorsis.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-22doc: develop: testing: Fix broken reference to pytest suite helpAlexander Dahl1-1/+1
This should have been adapted directly with or after v2021.01-693-gca6583d4e08 ("doc: move test/README to HTML documentation") or v2021.01-694-g0157619d5c8 ("doc: move test/py/README.md to HTML documentation") already. Signed-off-by: Alexander Dahl <ada@thorsis.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-22doc: FIT links in develop/uefi/uefi.rstHeinrich Schuchardt1-2/+2
Correct the links to the FIT documentation. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-20doc: bootstd: fix typosQuentin Schulz1-25/+25
This fixes a few syntactic issues as well as typos and grammar. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-18doc: uefi: capsules: Add Capsule Update porting sectionJonathan Humphreys1-0/+12
Created a capsule update porting section in the documentation that outlines the steps a board developer must do when porting from an existing reference board implementation. In particular, added a big warning that new capsule GUID's need to be defined. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-16cyclic: make clients embed a struct cyclic_info in their own data structureRasmus Villemoes1-10/+16
There are of course not a whole lot of examples in-tree yet, but before they appear, let's make this API change: Instead of separately allocating a 'struct cyclic_info', make the users embed such an instance in their own structure, and make the convention that the callback simply receives the 'struct cyclic_info *', from which the clients can get their own data using the container_of() macro. This has a number of advantages. First, it means cyclic_register() simply cannot fail, simplifying the code. The necessary storage will simply be allocated automatically when the client's own structure is allocated (often via uclass_priv_auto or similar). Second, code for which CONFIG_CYCLIC is just an option can more easily be written without #ifdefs, if we just provide an empty struct cyclic_info {}. For example, the nested CONFIG_IS_ENABLED()s in https://lore.kernel.org/u-boot/20240316201416.211480-1-marek.vasut+renesas@mailbox.org/ are mostly due to the existence of the 'struct cyclic_info *' member being guarded by #ifdef CONFIG_CYCLIC. And we do probably want to avoid the extra memory overhead of that member when !CONFIG_CYCLIC. But that is automatic if, instead of a 'struct cyclic_info *', one simply embeds a 'struct cyclic_info', which will have size 0 when !CONFIG_CYCLIC. Also, the no-op cyclic_register() function can just unconditionally be called, and the compiler will see that (1) the callback is referenced, so not emit a warning for a maybe-unused function and (2) see that it can actually never be reached, so not emit any code for it. Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
2024-06-06doc: process.rst: Document device tree resync rulesTom Rini2-3/+19
Document the logic of when we do a full resync of the device trees used by OF_UPSTREAM as well as that cherry-picking is allowed as needed. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2024-06-06doc: process.rst: Use subsubheading for "Phases of the Development Process"Tom Rini1-4/+4
These sections which talk about the different phases of the development process should be using the subsubheading identifier. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2024-06-04Merge tag 'v2024.07-rc4' into nextTom Rini1-1/+1
Prepare v2024.070-rc4
2024-06-03Prepare v2024.07-rc4Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-24Merge patch series "FWU: Add support for FWU metadata version 2"Tom Rini1-5/+15
Sughosh Ganu <sughosh.ganu@linaro.org> says: The following patch series adds support for version 2 of the FWU metadata. The version 2 metadata structure is defined in the latest revision of the FWU specification [1]. The earlier versions of these patches were migrating to a version 2 only support in U-Boot, similar to TF-A. However, based on feedback from ST [2], this series has been updated to support both versions. A platform would still be needed to enable one of the two versions of metadata through a config symbol. TF-A has code which reads the FWU metadata and boots the platform from the active partition. TF-A has decided to migrate the FWU code to a version 2 only support. These changes have been merged in upstream TF-A. These changes have been tested on the ST DK2 board, which uses the GPT based partitioning scheme. Both V1 and V2 metadata versions have been tested on the DK2 board. These changes need to be tested on platforms with MTD partitioned storage devices.
2024-05-24doc: fwu: make changes to reflect support for FWU metadata v2Sughosh Ganu1-5/+15
The FWU Update Agent in U-Boot supports both versions of the FWU metadata. Make changes in the documentation to reflect this. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Tested-by: Michal Simek <michal.simek@amd.com>
2024-05-20Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"Tom Rini2-7/+2
As part of bringing the master branch back in to next, we need to allow for all of these changes to exist here. Reported-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-20Prepare v2024.07-rc3Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-19Revert "Merge patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet""Tom Rini2-2/+7
When bringing in the series 'arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"' I failed to notice that b4 noticed it was based on next and so took that as the base commit and merged that part of next to master. This reverts commit c8ffd1356d42223cbb8c86280a083cc3c93e6426, reversing changes made to 2ee6f3a5f7550de3599faef9704e166e5dcace35. Reported-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07common.h: Remove this file and all referencesTom Rini2-7/+2
With all files that had included this file directly having been updated, we can now remove this file. Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-06Prepare v2024.07-rc2Tom Rini1-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-04-22Prepare v2024.07-rc1Tom Rini1-4/+3
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-04-22doc: release_cycle: Note when next branch opensTom Rini1-0/+3
While I have said this in various release emails, it should be documented here as well that the next branch opens with the second release candidate. Signed-off-by: Tom Rini <trini@konsulko.com>