summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)AuthorFilesLines
2023-02-14dm: doc: Update device tree binding docs for new schemaSimon Glass14-30/+30
Now that Linux has accepted these tags, move U-Boot over to use them. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-14schemas: Add schema for U-Boot driver model 'phase tags'Simon Glass1-0/+88
U-Boot has some particular challenges with device tree and devices: - U-Boot has multiple build phases, such as a Secondary Program Loader (SPL) phase which typically runs in a pre-SDRAM environment where code and data space are limited. In particular, there may not be enough space for the full device tree blob. U-Boot uses various automated techniques to reduce the size from perhaps 40KB to 3KB. It is not always possible to handle these tags entirely at build time, since U-Boot proper must have the full device tree, even though we do not want it to process all nodes until after relocation. - Some U-Boot phases needs to run before the clocks are properly set up, where the CPU may be running very slowly. Therefore it is important to bind only those devices which are actually needed in that phase - U-Boot uses lazy initialisation for its devices, with 'bind' and 'probe' being separate steps. Even if a device is bound, it is not actually probed until it is used. This is necessary to keep the boot time reasonable, e.g. to under a second The phases of U-Boot in order are: TPL, VPL, SPL, U-Boot (first pre-relocation, then post-relocation). ALl but the last two are optional. For the above reasons, U-Boot only includes the full device tree in the final 'U-Boot proper' build. Even then, before relocation U-Boot only processes nodes which are marked as being needed. For this to work, U-Boot's driver model[1] provides a way to mark device tree nodes as applicable for a particular phase. This works by adding a tag to the node, e.g.: cru: clock-controller@ff760000 { bootph-all; compatible = "rockchip,rk3399-cru"; reg = <0x0 0xff760000 0x0 0x1000>; rockchip,grf = <&grf>; #clock-cells = <1>; #reset-cells = <1>; ... }; Here the "bootph-all" tag indicates that the node must be present in all phases, since the clock driver is required. There has been discussion over the years about whether this could be done in a property instead, e.g. options { bootph-all = <&cru> <&gpio_a> ...; ... }; Some problems with this: - we need to be able to merge several such tags from different .dtsi files since many boards have their own specific requirements - it is hard to find and cross-reference the affected nodes - it is more error-prone - it requires significant tool rework in U-Boot, including fdtgrep and the build system - is harder (slower, more code) to process since it involves scanning another node/property to find out what to do with a particular node - we don't want to add phandle arguments to the above since we are referring, e.g., to the clock device as a whole, not a paricular clock - the of-platdata feature[2], which converts device tree to C for even more constrained environments, would need to become aware of the /options node There is also the question about whether this needs to be U-Boot-specific, or whether the tags could be generic. From what I can tell, U-Boot is the only bootloader which seriously attempts to use a runtime device tree in all cases. For this version, an attempt is made to name the phases in a generic manner. It should also be noted that the approach provided here has stood the test of time, used in U-Boot for 8 years so far. So add the schema for this. This will allow a major class of schema exceptions to be dropped from the U-Boot source tree. This has been applied upstream[3] [1] https://u-boot.readthedocs.io/en/latest/develop/driver-model/index.html [2] https://u-boot.readthedocs.io/en/latest/develop/driver-model/of-plat.html [3] https://github.com/devicetree-org/dt-schema/commit/63bd847 Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-14Prepare v2023.04-rc2Tom Rini1-1/+3
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-02-13dt-bindings: i2c: i2c-cdns.txt: Add description for an optional parameter, ↵Pei Yue Ho1-0/+4
fifo-depth Add description for fifo-depth parameter that can be used in the device tree. Signed-off-by: Pei Yue Ho <peiyue.ho@starfivetech.com> Reviewed-by: Wei Liang Lim <weiliang.lim@starfivetech.com> Reviewed-by: Eng Lee Teh <englee.teh@starfivetech.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2023-02-11trace: Update documentationSimon Glass8-64/+381
Revamp the documentation for the new features, including a description of the new features and documentation for the trace command. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-10Merge tag 'efi-2023-04-rc2' of ↵Tom Rini5-2/+26
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2023-04-rc2 Documentation: * Provide page with links to talks on U-Boot UEFI: * Enable CTRL+S to save the boot order in eficonfig command * Run attribute check for QueryVariableInfo() only for the file store * Bug fixes Others: * Improve output formatting of the coninfo command # -----END PGP SIGNATURE----- # gpg: Signature made Fri 10 Feb 2023 12:15:45 PM EST # gpg: using RSA key 6DC4F9C71F29A6FA06B76D33C481DBBC2C051AC4 # gpg: Good signature from "Heinrich Schuchardt <xypron.glpk@gmx.de>" [unknown] # gpg: aka "[jpeg image of size 1389]" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 6DC4 F9C7 1F29 A6FA 06B7 6D33 C481 DBBC 2C05 1AC4
2023-02-10arm: bcm7xxx: Convert to DM_SERIALThomas Fitzsimmons1-0/+6
Remove ns16550 configuration from header files. Document DM_SERIAL-required prior stage device tree configuration.
2023-02-10menu: remove CTRL+C to quitMasahisa Kojima1-1/+1
On the sandbox called without "--terminal raw" CTRL+C leaves U-Boot, "ESC/CTRL+C to quit" is misleading. Let's remove CTRL+C to quit key handling from bootmenu and eficonfig menu. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-02-10doc: Link to some useful talksSimon Glass3-0/+21
Talks are a great way to learn about U-Boot and have been lost now that the Denx Wiki has gone away. These are stored at elinux.org so link to that . Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Sean Anderson <seanga2@gmail.com>
2023-02-10doc: complete setexpr configuration informationHeinrich Schuchardt1-1/+4
Add missing information to the configuration section of the setexpr man-page. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-02-07cmd: Add a SEAMA image load commandLinus Walleij2-0/+61
Add a command to load SEAMA (Seattle Image), a NAND flash on-flash storage format. This type of flash image is found in some D-Link routers such as DIR-645, DIR-842, DIR-859, DIR-860L, DIR-885L, DIR890L and DCH-M225, as well as in WD and NEC routers on the ath79 (MIPS), Broadcom BCM53xx, and RAMIPS platforms. This U-Boot command will read and decode a SEAMA image from raw NAND flash on any platform. As it is always using big endian format for the data decoding is always necessary on platforms such as ARM. The command is needed to read a SEAMA-encoded boot image on the D-Link DIR-890L router for boot from NAND flash in an upcoming port of U-Boot to the Broadcom Northstar (BCM4709, BCM53xx) architecture. A basic test and documentation is added as well. The test must be run on a target with NAND flash support and at least one resident SEAMA image in flash. Cc: Rafał Miłecki <rafal@milecki.pl> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2023-02-06bootstd: Add some default filesystems and commandsSimon Glass1-0/+4
We need to support a basic set of filesystems for booting to work in most cases. Add these in via a new option, letting the board disable them individually (for space reasons) if desired. This enables the filesystem commands as well as the actual functionality, even though bootstd is quite happy to use ext4 without the ext4 command. Further work would be needed to disintangle this and reduce code size. Add several other options as well, providing sensible defaults. We cannot enable this by default, since it expands the size of many boards quite a lot. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-01Merge tag 'u-boot-imx-20230201' of ↵Tom Rini12-9/+74
https://gitlab.denx.de/u-boot/custodians/u-boot-imx For 2023.04 ----------- - several conversion to DM_SERIAL and DM_I2C - fixes for Toradex boards - PSCI CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/14965
2023-01-31Merge tag 'u-boot-amlogic-20230131' of ↵Tom Rini5-1/+119
https://source.denx.de/u-boot/custodians/u-boot-amlogic - jethub j100: add rescue boot from microSD - move meson sm command to cmd/meson and add efusedump sub-command - switch dwc2 otg to DM for G12A, GXL & AXG - Add new boards: - Odroid Go Ultra - Odroid-N2L
2023-01-31imx: Suggest the NXP ATF github repoFabio Estevam9-9/+9
As explained in the text at the bottom of the page https://source.codeaurora.org/external/imx/imx-atf: "QUIC repositories on this site will not receive any updates after March 31, 2022, and will be deleted on March 31, 2023." Point to the NXP ATF github repo instead. Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Oliver Graute <oliver.graute@kococonnector.com> Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2023-01-31imx8mm-phg: Add board supportFabio Estevam3-0/+65
Add the board support for the i.MX8MM Cloos PHG board. This board uses a imx8mm-tqma8mqml SoM from TQ-Group. imx8mm-phg.dts and imx8mm-tqma8mqml.dtsi are taken directly from Linux 6.2-rc3. Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-01-30Prepare v2023.04-rc1Tom Rini1-4/+3
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-01-30ARM: meson: Add support for Odroid-N2LNeil Armstrong2-0/+33
ODROID-N2L is a variant SBC in small form factor and some peripherals are removed from ODROID-N2PLUS based on S922X SoC. - On-board ethernet is removed - On-board RTC is removed - USB 3.0 hub is removed, so one USB 2.0 and one USB 3.0 host ports are available - Huge heatsink is replaced with 40x40mm heatsink, 5V active heatsink is recommended or a tall passive sink is optional - 3.5mm earjack is removed - IR remote receiver is removed - MIPI DSI port is added It doesn't use the odroid-n2 board support since ADC revision collides with Odroid-N2+ and since it doesn't have on-board ethernet no need to load the MAC address from eFuses. Link: https://lore.kernel.org/r/20230126-u-boot-odroid-n2l-v1-2-c60f695e0f6c@linaro.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-01-27Merge tag 'efi-2023-04-rc1-3' of ↵Tom Rini13-33/+327
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2023-04-rc1-3 Documentation: * Improve the sl-mx8mm documenation * Clean up README, move some section to HTML * Man-pages for the mtime and sleep command * Description of reducible builds * Document dynamic event handlers UEFI: * Support scrolling in eficonfig command Other: * fix mtest on 64 bit systems
2023-01-27mkimage: fit: Support signed configurations in 'auto' FITsMassimo Pegorer1-36/+83
Extend support for signing in auto-generated (-f auto) FIT. Previously, it was possible to get signed 'images' subnodes in the FIT using options -g and -o together with -f auto. This patch allows signing 'configurations' subnodes instead of 'images' ones (which are hashed), using option -f auto-conf instead of -f auto. Adding also -K <dtb> and -r options, will add public key to <dtb> file with required = "conf" property. Summary: -f auto => FIT with crc32 images -f auto -g ... -o ... => FIT with signed images -f auto-conf -g ... -o ... => FIT with sha1 images and signed confs Example: FIT with kernel, two device tree files, and signed configurations; public key (needed to verify signatures) is added to u-boot.dtb with required = "conf" property. mkimage -f auto-conf -A arm -O linux -T kernel -C none -a 43e00000 \ -e 0 -d vmlinuz -b /path/to/first.dtb -b /path/to/second.dtb \ -k /folder/with/key-files -g keyname -o sha256,rsa4096 \ -K u-boot.dtb -r kernel.itb Example: Add public key with required = "conf" property to u-boot.dtb without needing to sign anything. This will also create a useless FIT named unused.itb. mkimage -f auto-conf -d /dev/null -k /folder/with/key-files \ -g keyname -o sha256,rsa4096 -K u-boot.dtb -r unused.itb Signed-off-by: Massimo Pegorer <massimo.pegorer@vimar.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-01-27doc: move directory hierarchy to HTMLHeinrich Schuchardt2-0/+77
Move section 'Directory hierarchy' from file README to the HTML documentation. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-01-27doc: move 'Reproducible builds'Heinrich Schuchardt2-0/+26
Move the README section to the HTML documentation. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-01-27doc: man-page for mtestHeinrich Schuchardt2-0/+67
Provide a man-page for the mtest command. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-01-27doc: add rst references to distro documentation in stm32mp1 boardPatrick Delaunay1-1/+2
Use internal rst reference with :doc: to have a link to distro.rst page in the generated U-Boot documentation. Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2023-01-27doc: rework doc/mkeficapsule.1Heinrich Schuchardt1-10/+11
* Indicate the location of the directory for EFI capsules. * Improve the readability. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-01-27doc: update font man-pageHeinrich Schuchardt1-7/+12
* add return values * move configuration to separate section to match other man-pages * fix typo Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-01-27doc: sleep man-pageHeinrich Schuchardt2-0/+46
Provide a man-page for the sleep command. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-01-27doc: example heading should be h2Heinrich Schuchardt1-1/+1
The 'Example' heading should be on a lower level than 'bdinfo command'. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-01-27event: Document dynamic event handlersSimon Glass1-0/+23
Add mention of this feature in the event documentation. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-01-27doc: sl-mx8mm: Add CROSS_COMPILE to U-Boot make call and improve commentFrieder Schrempf1-2/+2
Add the CROSS_COMPILE flag as we assume we build in a cross environment. Also improve the comment about copying the binary to SD card. Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2023-01-27doc: sl-mx8mm: Add guide for copying the bootloader to SPI NORFrieder Schrempf1-1/+33
This adds a guide for copying the raw bootloader image on the SD card to the SPI NOR using U-Boot itself. Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2023-01-27doc: sl-mx8mm: Update references to latest DDR firmware 8.18Frieder Schrempf1-4/+7
Use the latest firmware available from NXP. Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2023-01-27doc: sl-mx8mm: Update the NXP TF-A source referenceFrieder Schrempf1-6/+13
Use the latest version of the NXP TF-A code and add a note about quirks with GCC 12. Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> Convert Note: to ..note:: Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-01-27doc: sl-mx8mm: Add note about using cross toolchainFrieder Schrempf1-0/+6
This clarifies the usage of a cross toolchain to build U-Boot and TF-A. Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2023-01-27doc: sl-mx8mm: Mention OSM 1.1 supportFrieder Schrempf1-1/+1
The latest revision of the SoM is compliant to OSM 1.1. Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2023-01-24bootstd: Update documentation for new featuresSimon Glass4-70/+216
Document the hunters and the new way that iteration works. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-01-24bootstd: Add a new pre-scan priority for bootdevsSimon Glass1-1/+1
We need extensions to be set up before we start trying to boot any of the bootdevs. Add a new priority before all the others for tht sort of thing. Also add a 'none' option, so that the first one is not 0. While we are here, comment enum bootdev_prio_t fully and expand the test for the 'bootdev hunt' command. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-01-24dm: core: Support sorting devices with dm treeSimon Glass1-1/+4
Add a -s flag to sort the top-level devices in order of uclass ID. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-01-20Merge tag 'efi-2023-04-rc1-2' of ↵Tom Rini9-5/+395
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2023-04-rc1-2 Documentation * man-pages for source, blkcache, bdinfo * fix references to distro documentation UEFI: * allow clear screen by scrolling * ensure that file ubootefi.var is created * fix CapsuleMax variable reporting Others: * reduce verbosity of fat_read_file()
2023-01-20global: Finish CONFIG -> CFG migrationTom Rini4-4/+4
At this point, the remaining places where we have a symbol that is defined as CONFIG_... are in fairly odd locations. While as much dead code has been removed as possible, some of these locations are simply less obvious at first. In other cases, this code is used, but was defined in such a way as to have been missed by earlier checks. Perform a rename of all such remaining symbols to be CFG_... rather than CONFIG_... Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-01-20global: Remove unused CONFIG definesTom Rini1-10/+0
Remove some CONFIG symbols and related comments, etc, that are unused within the code itself at this point. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-01-20doc: fix references to distro documentationDario Binacchi5-5/+6
Commit 37c5195dfcd157 ("doc: Move distro boot doc to rST") renamed doc/README.distro to doc/develop/distro.rst. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Soeren Moch <smoch@web.de> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2023-01-20doc: man-page for bdinfoHeinrich Schuchardt2-0/+120
Provide a man-page for the bdinfo command Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-01-20doc: man-page for blkcacheHeinrich Schuchardt2-0/+75
Provide a man-page for the blkcache command. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-01-20doc: man-page for source commandHeinrich Schuchardt2-0/+194
Provide a man-page for the source command. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Sean Anderson <seanga2@gmail.com>
2023-01-20ARM: meson: add support for Odroid Go UltraNeil Armstrong2-1/+37
This adds initial support for the Hardkernel Odroid Go Ultra. The Odroid Go Ultra is a portable gaming device with the following characteristics: - Amlogic S922X SoC - RK817 & RK818 PMICs - 2GiB LPDDR4 - On board 16GiB eMMC - Micro SD Card slot - 5inch 854×480 MIPI-DSI TFT LCD - Earphone stereo jack, 0.5Watt 8Ω Mono speaker - Li-Polymer 3.7V/4000mAh Battery - USB-A 2.0 Host Connector - x16 GPIO Input Buttons - 2x ADC Analog Joysticks - USB-C Port for USB2 Device and Charging The following are not yet handled: - Battery RK818 Gauge and Charging - 5inch 854×480 MIPI-DSI TFT LCD Link: https://lore.kernel.org/r/20230119-u-boot-odroid-go-ultra-v1-2-f96bab9db396@linaro.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-01-19Merge tag 'dm-pull-18jan23' of ↵Tom Rini1-1/+1
https://source.denx.de/u-boot/custodians/u-boot-dm convert rockchip to use binman patman fix for checkpatch binman optional entries, improved support for ELF symbols trace improvements minor fdt refactoring
2023-01-18trace: Use notrace for shortSimon Glass1-1/+1
The attribute syntax is quite verbose. Use the macro provided for this purpose. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-01-18cmd: part: Add partition-related type commandEnric Balletbo i Serra1-0/+18
This implements the following command: part type mmc 0:1 -> print partition type UUID part type mmc 0:1 uuid -> set environment variable to partition type UUID "part type" can be useful when writing a bootcmd which searches for a specific partition type to enable automatic discovery of partitions and their intended usage or mount point. Signed-off-by: Enric Balletbo i Serra <eballetbo@redhat.com> Reviewed-by: Simon Glass <sjg@chromium.org> [trini: Fix when CONFIG_PARTITION_TYPE_GUID is disabled and have the command check for "types" before "type"] Signed-off-by: Tom Rini <trini@konsulko.com>
2023-01-18doc/README.gpt: Fix typo 'a optionnal'Enric Balletbo i Serra1-1/+1
Change the string 'a optionnal' to 'an optional'. Signed-off-by: Enric Balletbo i Serra <eballetbo@redhat.com> Reviewed-by: Simon Glass <sjg@chromium.org>