aboutsummaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2023-10-13binman: capsule: Add support for generating EFI empty capsulesSughosh Ganu
Add support in binman for generating EFI empty capsules. These capsules are used in the FWU A/B update feature. Also add test cases in binman for the corresponding code coverage. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-13btool: mkeficapsule: Add support for EFI empty capsule generationSughosh Ganu
Add a method to the mkeficapsule bintool to generate empty capsules. These are capsules needed for the FWU A/B update feature. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-13binman: capsule: Use dumped capsule header contents for verificationSughosh Ganu
The various fields of a generated capsule are currently verified through hard-coded offsets. Use the dump-capsule feature for dumping the capsule header contents and use those for capsule verification. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-13binman: capsule: Remove superfluous [address, size]-cells propertiesSughosh Ganu
The #address-cells and #size-cells are not needed for running the capsule generation binman tests. Remove the superfluous properties. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-13tools: mkeficapsule: Add support to print capsule headersSughosh Ganu
Add support to dump the contents of capsule headers. This is useful as a debug feature for checking the contents of the capsule headers, and can also be used in capsule verification. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-13binman: bintool: Change make target arg type from string to listLukas Funke
The argument type of `build_from_git` was changed from string to list in d71e7116997f14097735f04cc7847f0a68dbc485. This commit adapts the argument type of all bintools using this function. Signed-off-by: Lukas Funke <lukas.funke@weidmueller.com> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
2023-10-11Revert "mkimage: update man page and -h output"Tom Rini
This is part of a longer series, which isn't quite ready. Revert this for now at least. This reverts commit 4cb6c8e5f0de3c4c5f9eba51c6a1610934a8cf77. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-10-11mkimage: update man page and -h outputRasmus Villemoes
The man page correctly said that -B was ignored without -E, while the `mkimage -h` output suggested otherwise. Now that -B can actually be used by itself, update the man page. While at it, also amend the `mkimage -h` line to mention the connection with -E. The FDT header is a fixed 40 bytes, so its size cannot (and is not) modified, while its alignment is a property of the address in RAM one loads the FIT to, so not something mkimage can affect in any way. (In the file itself, the header is of course at offset 0, which has all possible alignments already.) Reported-by: Sean Anderson <seanga2@gmail.com> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-11tools: ensure zeroed padding in external FIT imagesRoman Azarenko
Padding the header of an external FIT image is achieved by truncating the existing temporary FIT file to match the required alignment before appending image data. Reusing an existing file this way means that the padding will likely contain a portion of the original data not overwritten by the new header. Zero out any data past the end of the new header, and stop at either the end of the desired padding, or the end of the old FIT file, whichever comes first. Fixes: 7946a814a319 ("Revert "mkimage: fit: Do not tail-pad fitImage with external data"") Signed-off-by: Roman Azarenko <roman.azarenko@iopsys.eu> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-11mkimage: allow internalization of data-positionLars Feyaerts
Make it possible for data that was externalized using a static external position (-p) to be internalized. Enables the ability to convert existing FIT images built with -p to be converted to a FIT image where the data is internal, to be converted to a FIT image where the data is external relative to the end of the FIT (-E) or change the initial static external position to a different static external position (-p). Removing the original external-data-related properties ensures that they're not present after conversion. Without this, they would still be present in the resulting FIT even if the FIT has been, for example, internalized. Signed-off-by: Lars Feyaerts <lars@bitbiz.be> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-09tools: iot2050-sign-fw.sh: Make localization of tools dir more robustJan Kiszka
When building in-tree, there is no source link. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2023-10-04Merge tag 'dm-pull-4oct23' of https://source.denx.de/u-boot/custodians/u-boot-dmTom Rini
moveconfig: enhance output; rename to qconfig
2023-10-04qconfig: Rename the database fileSimon Glass
Use qconfig.db as the new name, to reflect the tool's purpose. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Rename the tool to qconfigSimon Glass
This does not move configs anymore, but queries them, based on a database it can build. Rename the tool to better reflect its purpose. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Move summaries to the endSimon Glass
Write the summary for -s and -b at the end, using a unified format. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Drop the initial outputSimon Glass
Since moveconfig now just does what it is told (build database or sync defconfigs) we don't need to print what it is doing. Drop this info, which is of very little use. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Show a summary at the endSimon Glass
Rather than printing all the failed boards, which are now easily visible on the terminal, just show a summary. Sort it by defconfig and drop the '_defconfig' suffix. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Show failures in progressSimon Glass
Show the number of accumulated failures when processing. Use a shorter format with colour. An unwanted space appears before the defconfig name on every item except the last. Fix that while we are here. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Use u_boot_pylib for terminal colourSimon Glass
Use the existing terminal code to handle ANSI colours. Enable colour by default if the output is going to a terminal. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Avoid showing progress at the endSimon Glass
When the process is finished, moveconfig leaves a line saying that all boards were processed (for better or worse). Drop this, since it is unncessary. Future work will provide a summary at the end instead. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Reduce the amount of outputSimon Glass
Output a single line in the case where the defconfig only has one line of output. Show the name without the _defconfig suffix, since that is the same for all boards. Use a list for the log so it is easier to process at the end. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Only show output when there is a reasonSimon Glass
There is no point in listing a board if everything went well. It makes it harder to see the failures, particularly on a fast machine. Suppress output unless something actually happened. Drop the 'Syncing by savedefconfig' since this is selected by the -s and is the same for all boards in this mode. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Fix misc pylint warningsSimon Glass
Fix various remaining pylint warnings. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Use an encoding with open()Simon Glass
Fix pylint warnings about needing an explicit character encoding. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Correct list-comprehension warningsSimon Glass
Correct some pylint warnings about needing to use list comprehension. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Correct use of members not declared in __init__()Simon Glass
Fix these pylint warnings. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Correct non-snake variables namesSimon Glass
Correct some variable names that do not conform to snake case, with the three-character minimum. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Correct unused variablesSimon Glass
Fix pylint warnings about unused variables. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Use f strings where possibleSimon Glass
Avoid pylint warnings by using 'f' strings where possible. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Correct parameter-type warningsSimon Glass
Fix pylint warnings related to parameter types. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Correct some regular-expression stringsSimon Glass
Use the 'r' prefix for these strings to avoid pylint warnings. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Drop suspicious boardsSimon Glass
This code isn't needed anymore. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Drop check_defconfig() and update_dotconfig()Simon Glass
These functions are not needed anymore. Drop them. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Drop CONFIG-moving codeSimon Glass
As a step towards cleaning out old code, drop most of the code that moves CONFIG options to Kconfig. This includes parse_one_config(). Drop the ACTION_... values as well, since they are no-longer used. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Drop unused cleanup optionsSimon Glass
Cleaning up the README and config.h files are not needed now, since we don't have any CONFIG options to convert. Drop this code. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Correct ordering of asteval importSimon Glass
This should be after the standard imports. Move it to avoid a lot of pylint warnings. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Avoid deprecation warning for setDaemonSimon Glass
Use the recommended new way of setting a thread to be a daemon. This avoids a warning: DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Drop -H optionSimon Glass
Drop this option, which is no longer needed now that we have converted all CONFIG options to Kconfig. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04Merge tag 'u-boot-stm32-20231004' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm STM32 MCU: _ alignment with kernel DT v6.5 for stm32f429 and stm32f746 _ rework way of displaying ST logo for stm32f746-disco and stm32f769-disco STM32 MPU: _ alignment with kernel DT v6.6-rc1 _ add RNG support for stm32mp13 _ add USB, USB boot and stm32prog command support for stm32mp13 _ add support of USART1 clock for stm32mp1 _ only print RAM and board code with SPL_DISPLAY_PRINT flag for stm32mp1 _ rename update_sf to dh_update_sd_to_sf and add dh_update_sd_to_emmc for stm32mp15xx DHCOR [ Fix merge conflict at board/st/common/stm32mp_dfu.c ] Signed-off-by: Tom Rini <trini@konsulko.com>
2023-10-04board: stm32f746-disco: refactor the display of the ST logoDario Binacchi
The patch removes the legacy mode of displaying the ST logo and adopts the approach introduced by the commit 284b08fb51b6 ("board: stm32mp1: add splash screen with stmicroelectronics logo"). It was necessary to use a specific logo for the stm32f746-disco board. Furthermore, the previous version didn't properly center the logo, hiding its upper part. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2023-10-02Merge branch 'next'Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-09-29binman: doc: Remove incomplete sentenceHeinrich Schuchardt
This is the difference between version 1 and 2 of Massimo's patch: binman: doc: fix reference tag placement for Logging section v2: https://lore.kernel.org/u-boot/20230913161633.999542-1-massimo.pegorer+oss@gmail.com/ v1: https://lore.kernel.org/u-boot/20230909135235.21242-1-massimo.pegorer+oss@gmail.com/ Fixes: 0f40e23fd22 ("binman: add documentation for binman sign option") Signed-off-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com>
2023-09-23buildman: Start the clock when the build startsSimon Glass
The Kconfig and maintainer processing can take a while, sometimes 5 seconds or more. This skews the timing printed by buildmand when the build completes. Start the clock when the threads start to avoid this problem. Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Tom Rini <trini@konsulko.com>
2023-09-23buildman: Show progress when regenerating the board.cfg fileSimon Glass
This can take a while, so show a message when starting. Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by Tom Rini <trini@konsulko.com>
2023-09-23buildman: Keep all common output filesSimon Glass
Make a list of common output extensions and use it to ensure that the -k option preserves all of these. Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Tom Rini <trini@konsulko.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-09-23trace: Fix alignment logic in flyrecord headerMichal Simek
Current alignment which is using 16 bytes is not correct in connection to trace_clocks description and it's length. That's why use start_addr variable and record proper size based on used entries. Fixes: be16fc81b2ed ("trace: Update proftool to use new binary format"). Signed-off-by: Michal Simek <michal.simek@amd.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-23trace: Move trace_clocks description above record offset calculationMichal Simek
Flyrecord tracing data are page aligned that's why it is necessary to calculate alignment properly. Because trace_clocks description is the part of record length it is necessary to have information about length earlier. Signed-off-by: Michal Simek <michal.simek@amd.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-23trace: Use 64bit variable for start and lenMichal Simek
tputq() requires variables to have 64bit width that's why make them 64bit to clean alignment requirement. Signed-off-by: Michal Simek <michal.simek@amd.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-23patman: Respect include directive on Git config lookupFei Shao
People may put their user name and email in a local config file and reference it by the include.* directives, however `git config --global` doesn't look up the included configs by default. Enable the --includes option explicitly to support such use cases. Signed-off-by: Fei Shao <fshao@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-23binman: Fix SyntaxWarning: invalid escape sequence '\('Rong Tao
Reproduct warning: $ git clean -dfx $ make CROSS_COMPILE="" qemu-x86_64_defconfig $ make -j8 ... u-boot/tools/binman/etype/section.py:25: SyntaxWarning: invalid escape sequence '\(' """Entry that contains other entries Signed-off-by: Rong Tao <rongtao@cestc.cn>