summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/CONTRIBUTE.rst8
-rw-r--r--doc/README.console4
-rw-r--r--doc/README.fsl-ddr30
-rw-r--r--doc/README.iomux6
-rw-r--r--doc/README.link-local6
-rw-r--r--doc/README.marvell8
-rw-r--r--doc/README.odroid22
-rw-r--r--doc/README.serial_multi26
-rw-r--r--doc/README.srio-pcie-boot-corenet4
-rw-r--r--doc/README.update2
-rw-r--r--doc/README.usb2
-rw-r--r--doc/README.video2
-rw-r--r--doc/SPL/README.am335x-network2
-rw-r--r--doc/android/ab.rst2
-rw-r--r--doc/android/avb2.rst9
-rw-r--r--doc/arch/arc.rst2
-rw-r--r--doc/arch/mips.rst2
-rw-r--r--doc/arch/nios2.rst2
-rw-r--r--doc/arch/sandbox/sandbox.rst24
-rw-r--r--doc/arch/sh.rst1
-rw-r--r--doc/arch/x86/manual_boot.rst16
-rw-r--r--doc/arch/x86/x86.rst20
-rw-r--r--doc/board/alliedtelesis/x220.rst6
-rw-r--r--doc/board/allwinner/sunxi.rst2
-rw-r--r--doc/board/amlogic/index.rst2
-rw-r--r--doc/board/amlogic/jethub-j100.rst2
-rw-r--r--doc/board/amlogic/jethub-j80.rst2
-rw-r--r--doc/board/andestech/ae350.rst8
-rw-r--r--doc/board/bsh/imx6ulz_bsh_smm_m2.rst4
-rw-r--r--doc/board/emulation/qemu-x86.rst2
-rw-r--r--doc/board/google/chromebook_link.rst2
-rw-r--r--doc/board/highbank/highbank.rst4
-rw-r--r--doc/board/intel/slimbootloader.rst6
-rw-r--r--doc/board/microchip/mpfs_common.rst12
-rw-r--r--doc/board/nxp/imx95_frdm.rst131
-rw-r--r--doc/board/nxp/index.rst1
-rw-r--r--doc/board/nxp/mx6sabreauto.rst2
-rw-r--r--doc/board/nxp/mx6sabresd.rst4
-rw-r--r--doc/board/nxp/mx6ullevk.rst4
-rw-r--r--doc/board/purism/index.rst1
-rw-r--r--doc/board/purism/librem5-devkit.rst56
-rw-r--r--doc/board/renesas/rcar-gen3-draak.rst2
-rw-r--r--doc/board/renesas/rcar-gen3-ebisu.rst2
-rw-r--r--doc/board/renesas/rcar-gen3-geist.rst2
-rw-r--r--doc/board/renesas/rcar-gen3-salvator-x.rst2
-rw-r--r--doc/board/renesas/rcar-gen3-ulcb.rst2
-rw-r--r--doc/board/renesas/rcar-gen4-sparrow-hawk.rst23
-rw-r--r--doc/board/renesas/rcar-gen5-ironhide.rst227
-rw-r--r--doc/board/renesas/rzn1.rst2
-rw-r--r--doc/board/rockchip/rockchip.rst4
-rw-r--r--doc/board/samsung/e850-96.rst22
-rw-r--r--doc/board/siemens/iot2050.rst4
-rw-r--r--doc/board/sifive/unleashed.rst10
-rw-r--r--doc/board/sipeed/maix.rst2
-rw-r--r--doc/board/sophgo/index.rst1
-rw-r--r--doc/board/sophgo/licheerv_nano.rst4
-rw-r--r--doc/board/sophgo/milkv_duo_256m.rst84
-rw-r--r--doc/board/spacemit/bananapi-f3.rst2
-rw-r--r--doc/board/spacemit/index.rst1
-rw-r--r--doc/board/spacemit/k1-spl.rst243
-rw-r--r--doc/board/st/stm32mp1.rst2
-rw-r--r--doc/board/starfive/deepcomputing_fml13v01.rst2
-rw-r--r--doc/board/starfive/jh7110_common.rst2
-rw-r--r--doc/board/starfive/milk-v_mars.rst2
-rw-r--r--doc/board/starfive/visionfive2.rst2
-rw-r--r--doc/board/tbs/tbs2910.rst2
-rw-r--r--doc/board/thead/lpi4a.rst6
-rw-r--r--doc/board/ti/am62ax_sk.rst197
-rw-r--r--doc/board/ti/am65x_evm.rst6
-rw-r--r--doc/board/ti/dra7xx_evm.rst2
-rw-r--r--doc/board/ti/k3.rst2
-rw-r--r--doc/board/ti/ks2_evm.rst6
-rw-r--r--doc/board/tq/tqma6ul.rst2
-rw-r--r--doc/board/xilinx/zynqmp-r5.rst4
-rw-r--r--doc/build/gen_compile_commands.rst2
-rw-r--r--doc/build/source.rst2
-rw-r--r--doc/chromium/chainload.rst2
-rw-r--r--doc/chromium/overview.rst8
-rw-r--r--doc/develop/bootstd/overview.rst8
-rw-r--r--doc/develop/coccinelle.rst10
-rw-r--r--doc/develop/distro.rst8
-rw-r--r--doc/develop/driver-model/fs_firmware_loader.rst2
-rw-r--r--doc/develop/driver-model/serial-howto.rst4
-rw-r--r--doc/develop/driver-model/virtio.rst2
-rw-r--r--doc/develop/process.rst2
-rw-r--r--doc/develop/pytest/test_fit_verity_sign.rst10
-rw-r--r--doc/develop/pytest/usage.rst2
-rw-r--r--doc/develop/release_cycle.rst14
-rw-r--r--doc/develop/security.rst2
-rw-r--r--doc/develop/sending_patches.rst41
-rw-r--r--doc/develop/tests_writing.rst4
-rw-r--r--doc/develop/uefi/iscsi.rst6
-rw-r--r--doc/develop/uefi/u-boot_on_efi.rst4
-rw-r--r--doc/develop/uefi/uefi.rst14
-rw-r--r--doc/device-tree-bindings/usb/mediatek,mtk-xhci.txt46
-rw-r--r--doc/device-tree-bindings/usb/mediatek,mtu3.txt79
-rw-r--r--doc/git-mailrc4
-rw-r--r--doc/imx/habv4/guides/mx8m_spl_secure_boot.txt30
-rw-r--r--doc/index.rst2
-rw-r--r--doc/learn/talks.rst3
-rw-r--r--doc/usage/cmd/askenv.rst6
-rw-r--r--doc/usage/cmd/bootd.rst6
-rw-r--r--doc/usage/cmd/bootefi.rst8
-rw-r--r--doc/usage/cmd/booti.rst4
-rw-r--r--doc/usage/cmd/bootmenu.rst8
-rw-r--r--doc/usage/cmd/button.rst2
-rw-r--r--doc/usage/cmd/cedit.rst4
-rw-r--r--doc/usage/cmd/config.rst40
-rw-r--r--doc/usage/cmd/coninfo.rst2
-rw-r--r--doc/usage/cmd/echo.rst2
-rw-r--r--doc/usage/cmd/efi.rst309
-rw-r--r--doc/usage/cmd/eficonfig.rst4
-rw-r--r--doc/usage/cmd/exit.rst4
-rw-r--r--doc/usage/cmd/extension.rst4
-rw-r--r--doc/usage/cmd/for.rst4
-rw-r--r--doc/usage/cmd/gpt.rst4
-rw-r--r--doc/usage/cmd/imxtract.rst4
-rw-r--r--doc/usage/cmd/load.rst33
-rw-r--r--doc/usage/cmd/mbr.rst2
-rw-r--r--doc/usage/cmd/memsize.rst2
-rw-r--r--doc/usage/cmd/printenv.rst2
-rw-r--r--doc/usage/cmd/saves.rst2
-rw-r--r--doc/usage/cmd/sntp.rst4
-rw-r--r--doc/usage/cmd/tftpput.rst2
-rw-r--r--doc/usage/cmd/tftpsrv.rst73
-rw-r--r--doc/usage/cmd/wget.rst2
-rw-r--r--doc/usage/cmdline.rst6
-rw-r--r--doc/usage/dfu.rst6
-rw-r--r--doc/usage/environment.rst10
-rw-r--r--doc/usage/fdt_overlays.rst4
-rw-r--r--doc/usage/fit/beaglebone_vboot.rst4
-rw-r--r--doc/usage/fit/dm-verity.rst5
-rw-r--r--doc/usage/fit/howto.rst4
-rw-r--r--doc/usage/fit/overlay-fdt-boot.rst6
-rw-r--r--doc/usage/fit/signature.rst2
-rw-r--r--doc/usage/os/plan9.rst2
-rw-r--r--doc/usage/pxe.rst4
137 files changed, 1606 insertions, 622 deletions
diff --git a/doc/CONTRIBUTE.rst b/doc/CONTRIBUTE.rst
index e8fa595ed4a..e0394515702 100644
--- a/doc/CONTRIBUTE.rst
+++ b/doc/CONTRIBUTE.rst
@@ -19,7 +19,7 @@ projects available to review if you are unsure of expectations.
Repository
----------
-The official U-Boot repository is located at https://source.denx.de/u-boot/u-boot
+The official U-Boot repository is located at https://git.u-boot-project.org/u-boot/u-boot
Further more detailed documentation can be found at the following link: :doc:`/index`.
@@ -28,7 +28,7 @@ Contributions
Contributions to the project are welcome. The U-Boot project uses a fairly
traditional Linux style development work-flow using git and `a mailing list
-<https://lists.denx.de/listinfo/u-boot>`_.
+<https://lists.u-boot-project.org/mailman/listinfo/u-boot>`_.
Patches should be sent to the mailing list using ``git send-email`` or the
equivalent commands using ``b4`` or ``patman`` with appropriate sign-off and
@@ -38,10 +38,10 @@ script. Please don't send patches as attachments, and ensure corporate mail
systems don't reformat patches, append disclaimers or other unnecessary notes.
The b4 tool automates a number of components mentioned above.
-Code is not the only thing you can contribute to the project. As most
+Code is not the only thing you can contribute to the project. Like most
open-source projects, the U-Boot project suffers from a lack of reviewers.
Consider spending some time reading patches on `the mailing list archive
-<https://lists.denx.de/pipermail/u-boot/>`_ and providing feedback to
+<https://lists.u-boot-project.org/pipermail/u-boot/>`_ and providing feedback to
contributors when something could be improved or if you have questions. Contrary
to what's most often believed, you do not need to be an expert to review patches
and the project will benefit from people with different skillsets and experience
diff --git a/doc/README.console b/doc/README.console
index 9f5812c89d1..d6a2821ab68 100644
--- a/doc/README.console
+++ b/doc/README.console
@@ -24,8 +24,8 @@ stdout or stderr) to any device you see in that list simply by
assigning its name to the corresponding environment variable. For
example:
- setenv stdin serial <- To use the serial input
- setenv stdout video <- To use the video console
+ env set stdin serial <- To use the serial input
+ env set stdout video <- To use the video console
Do a simple "saveenv" to save the console settings in the environment
and get them working on the next startup, too.
diff --git a/doc/README.fsl-ddr b/doc/README.fsl-ddr
index f44bb2aa25d..04b26de4901 100644
--- a/doc/README.fsl-ddr
+++ b/doc/README.fsl-ddr
@@ -61,50 +61,50 @@ The ways to configure the ddr interleaving mode
"hwconfig=fsl_ddr:ctlr_intlv=bank" \
......
-2. Run U-Boot "setenv" command to configure the memory interleaving mode.
+2. Run U-Boot "env set" command to configure the memory interleaving mode.
Either numerical or string value is accepted.
# disable memory controller interleaving
- setenv hwconfig "fsl_ddr:ctlr_intlv=null"
+ env set hwconfig "fsl_ddr:ctlr_intlv=null"
# cacheline interleaving
- setenv hwconfig "fsl_ddr:ctlr_intlv=cacheline"
+ env set hwconfig "fsl_ddr:ctlr_intlv=cacheline"
# page interleaving
- setenv hwconfig "fsl_ddr:ctlr_intlv=page"
+ env set hwconfig "fsl_ddr:ctlr_intlv=page"
# bank interleaving
- setenv hwconfig "fsl_ddr:ctlr_intlv=bank"
+ env set hwconfig "fsl_ddr:ctlr_intlv=bank"
# superbank
- setenv hwconfig "fsl_ddr:ctlr_intlv=superbank"
+ env set hwconfig "fsl_ddr:ctlr_intlv=superbank"
# 1KB 3-way interleaving
- setenv hwconfig "fsl_ddr:ctlr_intlv=3way_1KB"
+ env set hwconfig "fsl_ddr:ctlr_intlv=3way_1KB"
# 4KB 3-way interleaving
- setenv hwconfig "fsl_ddr:ctlr_intlv=3way_4KB"
+ env set hwconfig "fsl_ddr:ctlr_intlv=3way_4KB"
# 8KB 3-way interleaving
- setenv hwconfig "fsl_ddr:ctlr_intlv=3way_8KB"
+ env set hwconfig "fsl_ddr:ctlr_intlv=3way_8KB"
# disable bank (chip-select) interleaving
- setenv hwconfig "fsl_ddr:bank_intlv=null"
+ env set hwconfig "fsl_ddr:bank_intlv=null"
# bank(chip-select) interleaving cs0+cs1
- setenv hwconfig "fsl_ddr:bank_intlv=cs0_cs1"
+ env set hwconfig "fsl_ddr:bank_intlv=cs0_cs1"
# bank(chip-select) interleaving cs2+cs3
- setenv hwconfig "fsl_ddr:bank_intlv=cs2_cs3"
+ env set hwconfig "fsl_ddr:bank_intlv=cs2_cs3"
# bank(chip-select) interleaving (cs0+cs1) and (cs2+cs3) (2x2)
- setenv hwconfig "fsl_ddr:bank_intlv=cs0_cs1_and_cs2_cs3"
+ env set hwconfig "fsl_ddr:bank_intlv=cs0_cs1_and_cs2_cs3"
# bank(chip-select) interleaving (cs0+cs1+cs2+cs3) (4x1)
- setenv hwconfig "fsl_ddr:bank_intlv=cs0_cs1_cs2_cs3"
+ env set hwconfig "fsl_ddr:bank_intlv=cs0_cs1_cs2_cs3"
# bank(chip-select) interleaving (auto)
- setenv hwconfig "fsl_ddr:bank_intlv=auto"
+ env set hwconfig "fsl_ddr:bank_intlv=auto"
This auto mode only select from cs0_cs1_cs2_cs3, cs0_cs1, null dependings
on DIMMs.
diff --git a/doc/README.iomux b/doc/README.iomux
index c428811ce4c..a26171b9749 100644
--- a/doc/README.iomux
+++ b/doc/README.iomux
@@ -16,12 +16,12 @@ configuration file.
Two new files, common/iomux.c and include/iomux.h, contain the heart
(iomux_doenv()) of the environment setting implementation.
-iomux_doenv() is called in common/cmd_nvedit.c to handle setenv and in
+iomux_doenv() is called in common/cmd_nvedit.c to handle env set and in
common/console.c in console_init_r() during bootup to initialize
stdio_devices[].
A user can use a comma-separated list of devices to set stdin, stdout
-and stderr. For example: "setenv stdin serial,nc". NOTE: No spaces
+and stderr. For example: "env set stdin serial,nc". NOTE: No spaces
are allowed around the comma(s)!
The length of the list is limited by malloc(), since the array used
@@ -31,7 +31,7 @@ It should be possible to specify any device which console_assign()
finds acceptable, but the code has only been tested with serial and
nc.
-iomux_doenv() prevents multiple use of the same device, e.g. "setenv
+iomux_doenv() prevents multiple use of the same device, e.g. "env set
stdin nc,nc,serial" will discard the second nc. iomux_doenv() is
not able to modify the environment, however, so that "pri stdin" still
shows "nc,nc,serial".
diff --git a/doc/README.link-local b/doc/README.link-local
index ec2ef940e4c..53f4db1cb0c 100644
--- a/doc/README.link-local
+++ b/doc/README.link-local
@@ -69,7 +69,7 @@ If both fail or are disabled, static settings are used.
"if test \\\"$llfail\\\" -ne 0 -a " \
"\\\"$dhcpfail\\\" -ne 0; " \
"then " \
- "setenv ipaddr $sipaddr; " \
- "setenv netmask $snetmask; " \
- "setenv gatewayip $sgatewayip; " \
+ "env set ipaddr $sipaddr; " \
+ "env set netmask $snetmask; " \
+ "env set gatewayip $sgatewayip; " \
"fi;\0" \
diff --git a/doc/README.marvell b/doc/README.marvell
index 6fc5ac8a409..ea6a8df7019 100644
--- a/doc/README.marvell
+++ b/doc/README.marvell
@@ -82,10 +82,10 @@ Permanent ethernet MAC address
and then set correct permanent ethernet MAC addresses.
# env default -a
- # setenv ethaddr XX:XX:XX:XX:XX:XX
- # setenv eth1addr XX:XX:XX:XX:XX:XX
- # setenv eth2addr YY:YY:YY:YY:YY:YY
- # setenv eth3addr ZZ:ZZ:ZZ:ZZ:ZZ:ZZ
+ # env set ethaddr XX:XX:XX:XX:XX:XX
+ # env set eth1addr XX:XX:XX:XX:XX:XX
+ # env set eth2addr YY:YY:YY:YY:YY:YY
+ # env set eth3addr ZZ:ZZ:ZZ:ZZ:ZZ:ZZ
# ...
# saveenv
diff --git a/doc/README.odroid b/doc/README.odroid
index 6eb7e67474d..8fe226cf4cf 100644
--- a/doc/README.odroid
+++ b/doc/README.odroid
@@ -168,13 +168,13 @@ NOTE: This section is only for Odroid X2/U3.
The ethernet can be accessed after starting the USB subsystem in U-Boot.
The adapter does not come with a preconfigured MAC address, and hence it needs
to be set before starting USB.
-setenv usbethaddr 02:DE:AD:BE:EF:FF
+env set usbethaddr 02:DE:AD:BE:EF:FF
Note that in this example a locally managed MAC address is chosen. Care should
be taken to make these MAC addresses unique within the same subnet.
Start the USB subsystem:
-Odroid # setenv usbethaddr 02:DE:AD:BE:EF:FF
+Odroid # env set usbethaddr 02:DE:AD:BE:EF:FF
Odroid # usb start
(Re)start USB...
USB0: USB EHCI 1.00
@@ -187,10 +187,10 @@ Automatic IP assignment:
------------------------
If the ethernet is connected to a DHCP server (router maybe with DHCP enabled),
then the below will automatically assign an ip address through DHCP.
-setenv autoload no
+env set autoload no
dhcp
-Odroid # setenv autoload no
+Odroid # env set autoload no
Odroid # dhcp
Waiting for Ethernet connection... done.
BOOTP broadcast 1
@@ -200,7 +200,7 @@ Odroid #
Note that this automatically sets the many IP address related variables in
U-Boot that is obtained from the DHCP server.
-Odroid # printenv ipaddr netmask gatewayip dnsip
+Odroid # env print ipaddr netmask gatewayip dnsip
ipaddr=192.168.1.10
netmask=255.255.255.0
gatewayip=192.168.1.1
@@ -219,7 +219,7 @@ Static IP assignment:
---------------------
In the case where there are no DHCP servers in the network, or you want to
set the IP address statically, it can be done by:
-Odroid # setenv ipaddr 192.168.1.10
+Odroid # env set ipaddr 192.168.1.10
Odroid # ping 192.168.1.27
Waiting for Ethernet connection... done.
Using sms0 device
@@ -230,9 +230,9 @@ TFTP booting:
Say there exists a tftp server in the network with address 192.168.1.27 and
it serves a kernel image (zImage.3.17) and a DTB blob (exynos4412-odroidu3.dtb)
that needs to be loaded and booted. It can be accomplished as below:
-(Assumes that you have setenv usbethaddr, and have not set autoload to no)
+(Assumes that you have env set usbethaddr, and have not set autoload to no)
-Odroid # setenv serverip 192.168.1.27
+Odroid # env set serverip 192.168.1.27
Odroid # tftpboot 0x40080000 zImage.3.17
Waiting for Ethernet connection... done.
Using sms0 device
@@ -256,9 +256,9 @@ Loading: ####
40 KiB/s
done
Bytes transferred = 46935 (b757 hex)
-Odroid # printenv bootargs
+Odroid # env print bootargs
bootargs=Please use defined boot
-Odroid # setenv bootargs console=ttySAC1,115200n8 root=/dev/mmcblk0p2 rootwait
+Odroid # env set bootargs console=ttySAC1,115200n8 root=/dev/mmcblk0p2 rootwait
Odroid # bootz 40080000 - 42000000
Kernel image @ 0x40080000 [ 0x000000 - 0x30bd58 ]
## Flattened Device Tree blob at 42000000
@@ -318,7 +318,7 @@ Odroid # load usb 0:2 40080000 /boot/zImage.3.17
3194200 bytes read in 471 ms (6.5 MiB/s)
Odroid # load usb 0:2 42000000 /boot/exynos4412-odroidu3.dtb
46935 bytes read in 233 ms (196.3 KiB/s)
-Odroid # setenv bootargs console=ttySAC1,115200n8 root=/dev/sda2 rootwait
+Odroid # env set bootargs console=ttySAC1,115200n8 root=/dev/sda2 rootwait
Odroid # bootz 40080000 - 42000000
Kernel image @ 0x40080000 [ 0x000000 - 0x30bd58 ]
## Flattened Device Tree blob at 42000000
diff --git a/doc/README.serial_multi b/doc/README.serial_multi
index 0446fe95937..b82678e1ea3 100644
--- a/doc/README.serial_multi
+++ b/doc/README.serial_multi
@@ -16,15 +16,15 @@ in the works).
*) The console can be switched to SCC by any of the following commands:
- setenv stdout serial_scc
- setenv stdin serial_scc
- setenv stderr serial_scc
+ env set stdout serial_scc
+ env set stdin serial_scc
+ env set stderr serial_scc
*) The console can be switched to SMC by any of the following commands:
- setenv stdout serial_smc
- setenv stdin serial_smc
- setenv stderr serial_smc
+ env set stdout serial_smc
+ env set stdin serial_smc
+ env set stderr serial_smc
*) If a file descriptor is set to "serial" then the current serial device
will be used which, in turn, can be switched by above commands.
@@ -32,7 +32,7 @@ will be used which, in turn, can be switched by above commands.
*) The baudrate is the same for all serial devices. But it can be switched
just after switching the console:
- setenv sout serial_scc; setenv baudrate 38400
+ env set sout serial_scc; env set baudrate 38400
After that press 'enter' at the SCC console. Note that baudrates <38400
are not allowed on LWMON with watchdog enabled (see CFG_SYS_BAUDRATE_TABLE in
@@ -44,11 +44,11 @@ PPC4XX Specific
*) The default console is UART0
*) The console can be switched to UART1 by any of the following commands:
- setenv stdout serial1
- setenv stderr serial1
- setenv stdin serial1
+ env set stdout serial1
+ env set stderr serial1
+ env set stdin serial1
*) The console can be switched to UART0 by any of the following commands:
- setenv stdout serial0
- setenv stderr serial0
- setenv stdin serial0
+ env set stdout serial0
+ env set stderr serial0
+ env set stdin serial0
diff --git a/doc/README.srio-pcie-boot-corenet b/doc/README.srio-pcie-boot-corenet
index 2b1f76b8d02..5625ad1a2bb 100644
--- a/doc/README.srio-pcie-boot-corenet
+++ b/doc/README.srio-pcie-boot-corenet
@@ -54,9 +54,9 @@ The example based on P4080DS platform:
NorFlash.
c) Set environment variable "bootmaster" to "SRIO1" or "PCIE1" and save
environment for master.
- setenv bootmaster SRIO1
+ env set bootmaster SRIO1
or
- setenv bootmaster PCIE1
+ env set bootmaster PCIE1
saveenv
d) Restart up master and it will boot up normally from its NorFlash.
Then, it will finish necessary configurations for slave's boot from
diff --git a/doc/README.update b/doc/README.update
index f16b2d23af1..d060d3431e6 100644
--- a/doc/README.update
+++ b/doc/README.update
@@ -71,7 +71,7 @@ Example .its files
'/tftpboot/update_uboot.itb', and set the 'updatefile' variable
appropriately, for example in the U-Boot prompt:
- setenv updatefile /tftpboot/update_uboot.itb
+ env set updatefile /tftpboot/update_uboot.itb
saveenv
Now, when the system boots up and the update TFTP server specified in the
diff --git a/doc/README.usb b/doc/README.usb
index 650a6daae0a..2ceb417db58 100644
--- a/doc/README.usb
+++ b/doc/README.usb
@@ -118,7 +118,7 @@ The normal U-Boot commands are used with USB networking, but you must
start USB first. For example:
usb start
-setenv bootfile /tftpboot/uImage
+env set bootfile /tftpboot/uImage
bootp
diff --git a/doc/README.video b/doc/README.video
index ced35bd2db5..93a99f4e8a3 100644
--- a/doc/README.video
+++ b/doc/README.video
@@ -74,7 +74,7 @@ The sunxi U-Boot driver supports the following video-mode options:
For example to always use the hdmi connector, even if no cable is inserted,
using edid info when available and otherwise initalizing it at 1024x768@60Hz,
-use: "setenv video-mode sunxi:1024x768-24@60,monitor=dvi,hpd=0,edid=1".
+use: "env set video-mode sunxi:1024x768-24@60,monitor=dvi,hpd=0,edid=1".
TrueType fonts
diff --git a/doc/SPL/README.am335x-network b/doc/SPL/README.am335x-network
index 9599729d8f9..3344898655e 100644
--- a/doc/SPL/README.am335x-network
+++ b/doc/SPL/README.am335x-network
@@ -19,7 +19,7 @@ comes with support for network booting preconfigured.
2. Define CONFIG_BOOTCOMMAND for your board to load and run debrick
script after boot:
#define CONFIG_BOOTCOMMAND \
- "setenv autoload no; " \
+ "env set autoload no; " \
"bootp; " \
"if tftp 80000000 debrick.scr; then " \
"source 80000000; " \
diff --git a/doc/android/ab.rst b/doc/android/ab.rst
index 7fd4aeb6a72..b0123db28e4 100644
--- a/doc/android/ab.rst
+++ b/doc/android/ab.rst
@@ -54,7 +54,7 @@ or::
Result::
- => printenv slot_name
+ => env print slot_name
slot_name=a
Based on this slot information, the current boot partition should be defined,
diff --git a/doc/android/avb2.rst b/doc/android/avb2.rst
index 4aca7a5c660..858f4c01e5b 100644
--- a/doc/android/avb2.rst
+++ b/doc/android/avb2.rst
@@ -22,6 +22,11 @@ Verified Boot establishes a chain of trust from the bootloader to system images:
Integrity of the bootloader (U-Boot BLOB and environment) is out of scope.
+Verification is performed by libavb, which is vendored under ``lib/libavb/``
+from the AOSP ``external/avb`` project (AVB version 1.3.0). Only the U-Boot
+integration in ``common/avb_verify.c`` and the platform port under
+``lib/libavb/avb_sysdeps*`` are U-Boot-specific.
+
For additional details check [1]_.
AVB using OP-TEE (optional)
@@ -128,12 +133,12 @@ After flashing U-Boot don't forget to update environment and write new
partition table::
=> env default -f -a
- => setenv partitions $partitions_android
+ => env set partitions $partitions_android
=> env save
=> gpt write mmc 1 $partitions_android
References
----------
-.. [1] https://android.googlesource.com/platform/external/avb/+/master/README.md
+.. [1] https://android.googlesource.com/platform/external/avb/+/a1fe228b86543a21739c51352f5ce72f134fccfa/README.md
.. [2] https://www.op-tee.org/
diff --git a/doc/arch/arc.rst b/doc/arch/arc.rst
index f8e04a34f14..18556e5d372 100644
--- a/doc/arch/arc.rst
+++ b/doc/arch/arc.rst
@@ -8,7 +8,7 @@ that SoC designers can optimize for a wide range of uses, from deeply embedded
to high-performance host applications.
More information on ARC cores avaialble here:
-http://www.synopsys.com/IP/ProcessorIP/ARCProcessors/Pages/default.aspx
+https://mips.com/processor-solutions/arc-processors/
Designers can differentiate their products by using patented configuration
technology to tailor each ARC processor instance to meet specific performance,
diff --git a/doc/arch/mips.rst b/doc/arch/mips.rst
index aeb58247943..70d9aa57c38 100644
--- a/doc/arch/mips.rst
+++ b/doc/arch/mips.rst
@@ -8,7 +8,7 @@ Notes for the MIPS architecture port of U-Boot
Toolchains
----------
- * `Buildroot <http://buildroot.uclibc.org/>`_
+ * `Buildroot <https://buildroot.org/>`_
* `kernel.org cross-development toolchains <https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/>`_
Known Issues
diff --git a/doc/arch/nios2.rst b/doc/arch/nios2.rst
index 90b4ddf387b..a825b244ab7 100644
--- a/doc/arch/nios2.rst
+++ b/doc/arch/nios2.rst
@@ -10,7 +10,7 @@ Please refer to the link for more information on Nios II:
https://www.altera.com/products/processors/overview.html
Please refer to the link for Linux port and toolchains:
-http://rocketboards.org/foswiki/view/Documentation/NiosIILinuxUserManual
+https://rocketboards.org/foswiki/view/Documentation/NiosIILinuxUserManual
The Nios II port of u-boot is controlled by device tree. Please check
out :doc:`/develop/devicetree/control`.
diff --git a/doc/arch/sandbox/sandbox.rst b/doc/arch/sandbox/sandbox.rst
index 0aad7a57b5e..9ea2e732898 100644
--- a/doc/arch/sandbox/sandbox.rst
+++ b/doc/arch/sandbox/sandbox.rst
@@ -277,28 +277,28 @@ operations being tested on the eth0 interface.
DHCP
....
- setenv autoload no
- setenv ethrotate no
- setenv ethact eth1
+ env set autoload no
+ env set ethrotate no
+ env set ethact eth1
dhcp
PING
....
- setenv autoload no
- setenv ethrotate no
- setenv ethact eth1
+ env set autoload no
+ env set ethrotate no
+ env set ethact eth1
dhcp
ping $gatewayip
TFTP
....
- setenv autoload no
- setenv ethrotate no
- setenv ethact eth1
+ env set autoload no
+ env set ethrotate no
+ env set ethact eth1
dhcp
- setenv serverip WWW.XXX.YYY.ZZZ
+ env set serverip WWW.XXX.YYY.ZZZ
tftpboot u-boot.bin
The bridge also supports (to a lesser extent) the localhost interface, 'lo'.
@@ -322,8 +322,8 @@ operation being tested on the lo interface.
TFTP
....
- setenv ethrotate no
- setenv ethact eth5
+ env set ethrotate no
+ env set ethact eth5
tftpboot u-boot.bin
diff --git a/doc/arch/sh.rst b/doc/arch/sh.rst
index 3e3759d68b2..87ccab237c4 100644
--- a/doc/arch/sh.rst
+++ b/doc/arch/sh.rst
@@ -73,7 +73,6 @@ Compiler
--------
You can use the following of u-boot to compile.
- `SuperH Linux Open site <http://www.superh-linux.org/>`_
- - `KPIT GNU tools <http://www.kpitgnutools.com/>`_
Future
------
diff --git a/doc/arch/x86/manual_boot.rst b/doc/arch/x86/manual_boot.rst
index ec069f2c397..649aceef608 100644
--- a/doc/arch/x86/manual_boot.rst
+++ b/doc/arch/x86/manual_boot.rst
@@ -136,7 +136,7 @@ To boot Ubuntu from U-Boot the steps are as follows:
1. Set up the boot arguments. Use the GUID for the partition you want to boot::
- => setenv bootargs root=/dev/disk/by-partuuid/965c59ee-1822-4326-90d2-b02446050059 ro
+ => env set bootargs root=/dev/disk/by-partuuid/965c59ee-1822-4326-90d2-b02446050059 ro
Here root= tells Linux the location of its root disk. The disk is specified
by its GUID, using '/dev/disk/by-partuuid/', a Linux path to a 'directory'
@@ -229,7 +229,7 @@ You should also see your boot disk turn up::
Linux has found the three partitions (sda1-3). Mercifully it doesn't print out
the GUIDs. In step 1 above we could have used::
- setenv bootargs root=/dev/sda2 ro
+ env set bootargs root=/dev/sda2 ro
instead of the GUID. However if you add another drive to your board the
numbering may change whereas the GUIDs will not. So if your boot partition
@@ -245,12 +245,12 @@ After a pause you should see a login screen on your display and you are done.
If you want to put this in a script you can use something like this::
- setenv bootargs root=UUID=b2aaf743-0418-4d90-94cc-3e6108d7d968 ro
- setenv boot zboot 03000000 0 04000000 \${filesize}
- setenv bootcmd "ext2load scsi 0:2 03000000 /boot/vmlinuz-3.13.0-58-generic; ext2load scsi 0:2 04000000 /boot/initrd.img-3.13.0-58-generic; run boot"
+ env set bootargs root=UUID=b2aaf743-0418-4d90-94cc-3e6108d7d968 ro
+ env set boot zboot 03000000 0 04000000 \${filesize}
+ env set bootcmd "ext2load scsi 0:2 03000000 /boot/vmlinuz-3.13.0-58-generic; ext2load scsi 0:2 04000000 /boot/initrd.img-3.13.0-58-generic; run boot"
saveenv
-The \ is to tell the shell not to evaluate ${filesize} as part of the setenv
+The \ is to tell the shell not to evaluate ${filesize} as part of the env set
command.
You can also bake this behaviour into your build by hard-coding the
@@ -272,5 +272,5 @@ and change CONFIG_BOOTARGS value in configs/minnowmax_defconfig to::
CONFIG_BOOTARGS="root=/dev/sda2 ro"
.. _here: https://en.wikipedia.org/wiki/GUID_Partition_Table
-.. _this: http://events.linuxfoundation.org/sites/events/files/slides/chromeos_and_diy_vboot_0.pdf
-.. _that: http://events.linuxfoundation.org/sites/events/files/slides/elce-2014.pdf
+.. _this: http://events.static.linuxfound.org/sites/events/files/slides/chromeos_and_diy_vboot_0.pdf
+.. _that: http://events.static.linuxfound.org/sites/events/files/slides/elce-2014.pdf
diff --git a/doc/arch/x86/x86.rst b/doc/arch/x86/x86.rst
index f67216d6ce0..9ba5c289337 100644
--- a/doc/arch/x86/x86.rst
+++ b/doc/arch/x86/x86.rst
@@ -185,14 +185,14 @@ These notes are for those who want to port U-Boot to a new x86 platform.
Since x86 CPUs boot from SPI flash, a SPI flash emulator is a good investment.
The Dediprog em100 can be used on Linux.
-The em100 tool is available here: http://review.coreboot.org/p/em100.git
+The em100 tool is available here: https://review.coreboot.org/admin/repos/em100,general
On Minnowboard Max the following command line can be used::
sudo em100 -s -p LOW -d u-boot.rom -c W25Q64DW -r
A suitable clip for connecting over the SPI flash chip is here:
-http://www.dediprog.com/pd/programmer-accessories/EM-TC-8.
+https://www.dediprog.com/product/EM-TC-8.
This allows you to override the SPI flash contents for development purposes.
Typically you can write to the em100 in around 1200ms, considerably faster
@@ -242,7 +242,7 @@ debug serial port may be useful here. See setup_internal_uart() for an example.
During the U-Boot porting, one of the important steps is to write correct PIRQ
routing information in the board device tree. Without it, device drivers in the
Linux kernel won't function correctly due to interrupt is not working. Please
-refer to U-Boot `doc <doc/device-tree-bindings/misc/intel,irq-router.txt>`_ for
+refer to :download:`intel,irq-router.txt <../../device-tree-bindings/misc/intel,irq-router.txt>` for
the device tree bindings of Intel interrupt router. Here we have more details
on the intel,pirq-routing property below.
@@ -480,10 +480,10 @@ TODO List
- Audio
- Chrome OS verified boot
-.. _coreboot: http://www.coreboot.org
-.. _QEMU: http://www.qemu.org
-.. _microcode: http://en.wikipedia.org/wiki/Microcode
-.. _SFI: http://simplefirmware.org
-.. _MP: http://www.intel.com/design/archives/processors/pro/docs/242016.htm
-.. _SeaBIOS: http://www.seabios.org/SeaBIOS
-.. _ACPI: http://www.acpi.info
+.. _coreboot: https://www.coreboot.org
+.. _QEMU: https://www.qemu.org
+.. _microcode: https://en.wikipedia.org/wiki/Microcode
+.. _SFI: https://en.wikipedia.org/wiki/Simple_Firmware_Interface
+.. _MP: https://en.wikipedia.org/wiki/MultiProcessor_Specification
+.. _SeaBIOS: https://www.seabios.org/
+.. _ACPI: https://uefi.org/acpi/specs
diff --git a/doc/board/alliedtelesis/x220.rst b/doc/board/alliedtelesis/x220.rst
index 6ca5f61ec4e..18bcac7f206 100644
--- a/doc/board/alliedtelesis/x220.rst
+++ b/doc/board/alliedtelesis/x220.rst
@@ -18,8 +18,8 @@ markets.
- GS980M/52
- x230-52
-DDR Traning (binhdr)
---------------------
+DDR Training (binhdr)
+---------------------
The AlleyCat3 uses a binary blob for it's DDR training. This is launched by
the built-in bootloader prior to U-Boot starting.
@@ -37,3 +37,5 @@ image
.. prompt:: bash $
./tools/dumpimage -T kwbimage -p 1 -o board/alliedtelesis/x220/binary.0 u-boot.kwb
+ arm-softfloat-linux-gnueabi-objcopy -I binary -O binary --pad-to=0x12fcc \
+ board/alliedtelesis/x220/binary.0 board/alliedtelesis/x220/binary.0
diff --git a/doc/board/allwinner/sunxi.rst b/doc/board/allwinner/sunxi.rst
index d0c89b956b1..5c2406d3959 100644
--- a/doc/board/allwinner/sunxi.rst
+++ b/doc/board/allwinner/sunxi.rst
@@ -312,7 +312,7 @@ also be uploaded via FEL, check the Wiki's `FEL page`_ for more details.
.. _`configs/`: https://github.com/crust-firmware/crust/tree/master/configs
.. _`crust README`: https://github.com/crust-firmware/crust/blob/master/README.md#building-the-firmware
.. _`linux-sunxi`: https://linux-sunxi.org
-.. _`MTD utils`: http://www.linux-mtd.infradead.org/
+.. _`MTD utils`: http://linux-mtd.infradead.org/
.. _`magic binary`: https://github.com/linux-sunxi/sunxi-tools/raw/master/bin/fel-sdboot.sunxi
.. _`sunxi_fel`: https://github.com/linux-sunxi/sunxi-tools
.. _`FEL page`: https://linux-sunxi.org/FEL/USBBoot
diff --git a/doc/board/amlogic/index.rst b/doc/board/amlogic/index.rst
index 23380ac33f2..e8bb421ed8c 100644
--- a/doc/board/amlogic/index.rst
+++ b/doc/board/amlogic/index.rst
@@ -6,7 +6,7 @@ Amlogic
Hardware Support Matrix
-----------------------
-An up-do-date matrix is also available on: http://linux-meson.com
+An up-do-date matrix is also available on: https://linux-meson.com
This matrix concerns the actual source code version.
diff --git a/doc/board/amlogic/jethub-j100.rst b/doc/board/amlogic/jethub-j100.rst
index cbf1ea76107..053d5aa57ec 100644
--- a/doc/board/amlogic/jethub-j100.rst
+++ b/doc/board/amlogic/jethub-j100.rst
@@ -3,7 +3,7 @@
U-Boot for JetHub J100/J110 (A113X)
===================================
-JetHome Jethub D1/D1+ (http://jethome.ru/jethub-d1p) is a home automation controller device
+JetHome Jethub D1/D1+ (https://jethome.com/d1p/) is a home automation controller device
manufactured by JetHome with the following specifications:
- Amlogic A113X (ARM Cortex-A53) quad-core up to 1.5GHz
diff --git a/doc/board/amlogic/jethub-j80.rst b/doc/board/amlogic/jethub-j80.rst
index 9195df69050..c3800f9588a 100644
--- a/doc/board/amlogic/jethub-j80.rst
+++ b/doc/board/amlogic/jethub-j80.rst
@@ -3,7 +3,7 @@
U-Boot for JetHub J80 (S905W)
=============================
-JetHome Jethub H1 (http://jethome.ru/jethub-h1) is a home automation controller device
+JetHome Jethub H1 (https://jethome.ru/h1/?variation_id=56) is a home automation controller device
manufactured by JetHome with the following specifications:
- Amlogic S905W (ARM Cortex-A53) quad-core up to 1.5GHz
diff --git a/doc/board/andestech/ae350.rst b/doc/board/andestech/ae350.rst
index 99622fd3258..28f05c9d9cd 100644
--- a/doc/board/andestech/ae350.rst
+++ b/doc/board/andestech/ae350.rst
@@ -108,8 +108,8 @@ Messages of U-Boot boot on AE350 board
riscv32-unknown-linux-gnu-gcc (GCC) 7.2.0
GNU ld (GNU Binutils) 2.29
- RISC-V # setenv ipaddr 10.0.4.200 ;
- RISC-V # setenv serverip 10.0.4.97 ;
+ RISC-V # env set ipaddr 10.0.4.200 ;
+ RISC-V # env set serverip 10.0.4.97 ;
RISC-V # ping 10.0.4.97 ;
Using mac@e0100000 device
host 10.0.4.97 is alive
@@ -224,8 +224,8 @@ Boot bbl and riscv-linux via U-Boot on QEMU
17901268 bytes read in 4642 ms (3.7 MiB/s)
RISC-V # fatload mmc 0:0 0x2000000 ae350.dtb
1954 bytes read in 1 ms (1.9 MiB/s)
- RISC-V # setenv bootm_size 0x2000000
- RISC-V # setenv fdt_high 0x1f00000
+ RISC-V # env set bootm_size 0x2000000
+ RISC-V # env set fdt_high 0x1f00000
RISC-V # bootm 0x00600000 - 0x2000000
## Booting kernel from Legacy Image at 00600000 ...
Image Name:
diff --git a/doc/board/bsh/imx6ulz_bsh_smm_m2.rst b/doc/board/bsh/imx6ulz_bsh_smm_m2.rst
index 0af41c09d20..6210d6144a2 100644
--- a/doc/board/bsh/imx6ulz_bsh_smm_m2.rst
+++ b/doc/board/bsh/imx6ulz_bsh_smm_m2.rst
@@ -76,9 +76,9 @@ where nand_script.lst contains the following:
SDPV: jump
# }
- FB: ucmd setenv fastboot_buffer ${loadaddr}
+ FB: ucmd env set fastboot_buffer ${loadaddr}
FB: download -f _image
- FB: ucmd if test ! -n "$fastboot_bytes"; then setenv fastboot_bytes $filesize; else true; fi
+ FB: ucmd if test ! -n "$fastboot_bytes"; then env set fastboot_bytes $filesize; else true; fi
# Burn image to nandfit partition if needed
FB: ucmd if env exists nandfit_part; then nand erase.part nandfit; nand write ${fastboot_buffer} nandfit ${fastboot_bytes}; else true; fi;
FB: ucmd nandbcb init ${fastboot_buffer} nandboot ${fastboot_bytes}
diff --git a/doc/board/emulation/qemu-x86.rst b/doc/board/emulation/qemu-x86.rst
index c604e42990e..cca6a239807 100644
--- a/doc/board/emulation/qemu-x86.rst
+++ b/doc/board/emulation/qemu-x86.rst
@@ -62,7 +62,7 @@ script.
For example, Debian (stretch) can be booted by creating a script file named
'boot.txt' with the contents::
- setenv bootargs root=/dev/sda1 ro
+ env set bootargs root=/dev/sda1 ro
load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} /vmlinuz
load ${devtype} ${devnum}:${distro_bootpart} ${ramdisk_addr_r} /initrd.img
zboot ${kernel_addr_r} - ${ramdisk_addr_r} ${filesize}
diff --git a/doc/board/google/chromebook_link.rst b/doc/board/google/chromebook_link.rst
index 16080304d6e..f59fc467332 100644
--- a/doc/board/google/chromebook_link.rst
+++ b/doc/board/google/chromebook_link.rst
@@ -13,7 +13,7 @@ First, you need the following binary blobs:
You can get these binary blobs by::
- $ git clone http://review.coreboot.org/p/blobs.git
+ $ git clone https://review.coreboot.org/blobs
$ cd blobs
Find the following files:
diff --git a/doc/board/highbank/highbank.rst b/doc/board/highbank/highbank.rst
index 654ef8a0269..21d76436b36 100644
--- a/doc/board/highbank/highbank.rst
+++ b/doc/board/highbank/highbank.rst
@@ -73,6 +73,6 @@ existing U-Boot, and execute it with bootm::
=> tftpboot 0x8000 u-boot-highbank.img
=> bootm
-.. _`ipmitool`: https://github.com/Cynerva/ipmitool
+.. _`ipmitool`: https://codeberg.org/IPMITool/ipmitool
.. _`pyipmi`: https://pypi.org/project/pyipmi/
-.. _`management script`: https://github.com/Cynerva/cxmanage
+.. _`management script`: https://pypi.org/project/cxmanage/
diff --git a/doc/board/intel/slimbootloader.rst b/doc/board/intel/slimbootloader.rst
index 87d71a55bdc..5fea134b5f2 100644
--- a/doc/board/intel/slimbootloader.rst
+++ b/doc/board/intel/slimbootloader.rst
@@ -104,8 +104,8 @@ Download it from http://downloads.yoctoproject.org/releases/yocto/yocto-2.0/mach
3. Update boot environment values on shell::
- => setenv bootfile vmlinuz
- => setenv bootdev scsi
+ => env set bootfile vmlinuz
+ => env set bootdev scsi
=> boot
Build Instruction for Slim Bootloader for LeafHill (APL) target
@@ -170,7 +170,7 @@ Build Instruction to use ELF U-Boot
$ python BuildLoader.py build <qemu or apl> -p "OsLoader.efi:LLDR:Lz4;u-boot:U-BT:Lzma"
-.. _U-Boot: https://source.denx.de/
+.. _U-Boot: https://git.u-boot-project.org/
.. _`Slim Bootloader`: https://github.com/slimbootloader/
.. _`Intel FSP`: https://github.com/IntelFsp/
.. _`Getting Started`: https://slimbootloader.github.io/getting-started/
diff --git a/doc/board/microchip/mpfs_common.rst b/doc/board/microchip/mpfs_common.rst
index edbaf043966..5d7263d4b8d 100644
--- a/doc/board/microchip/mpfs_common.rst
+++ b/doc/board/microchip/mpfs_common.rst
@@ -78,13 +78,13 @@ load uImage (with initramfs).
.. code-block:: none
- RISC-V # setenv kernel_addr_r 0x80200000
- RISC-V # setenv fdt_addr_r 0x82200000
+ RISC-V # env set kernel_addr_r 0x80200000
+ RISC-V # env set fdt_addr_r 0x82200000
- RISC-V # setenv ipaddr 192.168.1.5
- RISC-V # setenv netmask 255.255.255.0
- RISC-V # setenv serverip 192.168.1.3
- RISC-V # setenv gateway 192.168.1.1
+ RISC-V # env set ipaddr 192.168.1.5
+ RISC-V # env set netmask 255.255.255.0
+ RISC-V # env set serverip 192.168.1.3
+ RISC-V # env set gateway 192.168.1.1
RISC-V # tftpboot ${kernel_addr_r} uImage
ethernet@20112000: PHY present at 9
diff --git a/doc/board/nxp/imx95_frdm.rst b/doc/board/nxp/imx95_frdm.rst
new file mode 100644
index 00000000000..85ef9022e76
--- /dev/null
+++ b/doc/board/nxp/imx95_frdm.rst
@@ -0,0 +1,131 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+imx95_frdm
+=======================
+
+U-Boot for the NXP i.MX95 15x15 FRDM board
+
+Quick Start
+-----------
+
+- Get ahab-container.img
+- Get DDR PHY Firmware Images
+- Get and Build OEI Images
+- Get and Build System Manager Image
+- Get and Build the ARM Trusted Firmware
+- Build the Bootloader Image
+- Boot
+
+Get ahab-container.img
+--------------------------------------
+
+Note: srctree is U-Boot source directory
+
+.. code-block:: bash
+
+ $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-ele-imx-2.0.2-89161a8.bin
+ $ sh firmware-ele-imx-2.0.2-89161a8.bin --auto-accept
+
+i.MX95 A0 silicon version
+
+.. code-block:: bash
+
+ $ cp firmware-ele-imx-2.0.2-89161a8/mx95a0-ahab-container.img $(srctree)
+
+i.MX95 B0 silicon version
+
+.. code-block:: bash
+
+ $ cp firmware-ele-imx-2.0.2-89161a8/mx95b0-ahab-container.img $(srctree)
+
+Get DDR PHY Firmware Images
+--------------------------------------
+
+Note: srctree is U-Boot source directory
+
+.. code-block:: bash
+
+ $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.28-994fa14.bin
+ $ sh firmware-imx-8.28-994fa14.bin --auto-accept
+ $ cp firmware-imx-8.28-994fa14/firmware/ddr/synopsys/lpddr5*v202409.bin $(srctree)
+ $ cp firmware-imx-8.28-994fa14/firmware/ddr/synopsys/lpddr4x*v202409.bin $(srctree)
+
+Get and Build OEI Images
+--------------------------------------
+
+Note: srctree is U-Boot source directory
+Get OEI from: https://github.com/nxp-imx/imx-oei
+branch: master
+
+.. code-block:: bash
+
+ $ sudo apt -y install make gcc g++-multilib srecord
+ $ wget https://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz
+ $ tar xvf arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz
+ $ export TOOLS=$PWD
+ $ git clone -b master https://github.com/nxp-imx/imx-oei.git
+ $ cd imx-oei
+
+i.MX95 B0 silicon version on 15x15 LPDDR4X FRDM Board
+
+.. code-block:: bash
+
+ $ make board=mx95lp4x-15 oei=ddr DEBUG=1 r=B0 all
+ $ cp build/mx95lp4x-15/ddr/oei-m33-ddr.bin $(srctree)
+
+Get and Build System Manager Image
+--------------------------------------
+
+Note: srctree is U-Boot source directory
+Get System Manager from: https://github.com/nxp-imx/imx-sm
+branch: master
+
+.. code-block:: bash
+
+ $ sudo apt -y install make gcc g++-multilib srecord
+ $ wget https://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz
+ $ tar xvf arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz
+ $ export TOOLS=$PWD
+ $ git clone -b master https://github.com/nxp-imx/imx-sm.git
+ $ cd imx-sm
+ $ make config=mx95evk all
+ $ cp build/mx95evk/m33_image.bin $(srctree)
+
+Get and Build the ARM Trusted Firmware
+--------------------------------------
+
+Note: srctree is U-Boot source directory
+Get ATF from: https://github.com/nxp-imx/imx-atf/
+branch: lf_v2.12
+
+.. code-block:: bash
+
+ $ export CROSS_COMPILE=aarch64-poky-linux-
+ $ unset LDFLAGS
+ $ unset AS
+ $ git clone -b lf_v2.12 https://github.com/nxp-imx/imx-atf.git
+ $ cd imx-atf
+ $ make PLAT=imx95 bl31
+ $ cp build/imx95/release/bl31.bin $(srctree)
+
+Build the Bootloader Image
+--------------------------
+
+i.MX95 B0 silicon version on 15x15 LPDDR4X FRDM Board
+
+.. code-block:: bash
+
+ $ export CROSS_COMPILE=aarch64-poky-linux-
+ $ make imx95_15x15_frdm_defconfig
+ $ make
+
+Copy imx-boot-imx95.bin to the MicroSD card:
+
+.. code-block:: bash
+
+ $ sudo dd if=flash.bin of=/dev/sd[x] bs=1k seek=32 conv=fsync
+
+Boot
+----
+
+Set i.MX95 boot device to MicroSD card
diff --git a/doc/board/nxp/index.rst b/doc/board/nxp/index.rst
index 52c8e85fa5b..b28e5b6ceb9 100644
--- a/doc/board/nxp/index.rst
+++ b/doc/board/nxp/index.rst
@@ -17,6 +17,7 @@ NXP Semiconductors
imx93_9x9_qsb
imx93_11x11_evk
imx93_frdm
+ imx95_frdm
imx943_evk
imx95_evk
imx952_evk
diff --git a/doc/board/nxp/mx6sabreauto.rst b/doc/board/nxp/mx6sabreauto.rst
index fe4cd9d2141..f7477b4040e 100644
--- a/doc/board/nxp/mx6sabreauto.rst
+++ b/doc/board/nxp/mx6sabreauto.rst
@@ -87,7 +87,7 @@ To configure Falcon mode for the first time, on U-Boot do the following commands
- Setup kernel bootargs::
- # setenv bootargs "console=ttymxc3,115200 root=/dev/mmcblk0p1 rootfstype=ext4 rootwait quiet rw"
+ # env set bootargs "console=ttymxc3,115200 root=/dev/mmcblk0p1 rootfstype=ext4 rootwait quiet rw"
- Prepare args::
diff --git a/doc/board/nxp/mx6sabresd.rst b/doc/board/nxp/mx6sabresd.rst
index c9869f4a73a..27ddf9073e5 100644
--- a/doc/board/nxp/mx6sabresd.rst
+++ b/doc/board/nxp/mx6sabresd.rst
@@ -103,7 +103,7 @@ To configure Falcon mode for the first time, on U-Boot do the following commands
- Setup the IP server::
- # setenv serverip <server_ip_address>
+ # env set serverip <server_ip_address>
- Download dtb file::
@@ -119,7 +119,7 @@ To configure Falcon mode for the first time, on U-Boot do the following commands
- Setup kernel bootargs::
- # setenv bootargs "console=ttymxc0,115200 root=/dev/mmcblk1p1 rootfstype=ext4 rootwait quiet rw"
+ # env set bootargs "console=ttymxc0,115200 root=/dev/mmcblk1p1 rootfstype=ext4 rootwait quiet rw"
- Prepare args::
diff --git a/doc/board/nxp/mx6ullevk.rst b/doc/board/nxp/mx6ullevk.rst
index a26248a1e3b..0a7d2616f58 100644
--- a/doc/board/nxp/mx6ullevk.rst
+++ b/doc/board/nxp/mx6ullevk.rst
@@ -42,6 +42,4 @@ Connect the USB cable between the EVK and the PC for the console.
Insert the micro SD card in the board, power it up and U-Boot messages should
come up.
-The link for the board: http://www.nxp.com/products/microcontrollers-and- \
-processors/arm-processors/i.mx-applications-processors/i.mx-6-processors/ \
-i.mx6qp/evaluation-kit-for-the-i.mx-6ull-applications-processor:MCIMX6ULL-EVK
+The link for the board: https://www.nxp.com/design/design-center/development-boards-and-designs/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-6ull-and-6ulz-applications-processor:MCIMX6ULL-EVK
diff --git a/doc/board/purism/index.rst b/doc/board/purism/index.rst
index a9cdc312d46..0225aa7f3aa 100644
--- a/doc/board/purism/index.rst
+++ b/doc/board/purism/index.rst
@@ -7,3 +7,4 @@ Purism SPC
:maxdepth: 2
librem5
+ librem5-devkit
diff --git a/doc/board/purism/librem5-devkit.rst b/doc/board/purism/librem5-devkit.rst
new file mode 100644
index 00000000000..4a6dba45a9c
--- /dev/null
+++ b/doc/board/purism/librem5-devkit.rst
@@ -0,0 +1,56 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+Librem5
+=======
+
+U-Boot for the Purism Librem 5 development kit
+
+Quick Start
+-----------
+
+- Build the ARM Trusted firmware binary
+- Get DDR and HDMI firmware
+- Build U-Boot
+
+Get and Build the ARM Trusted firmware
+--------------------------------------
+
+Note: srctree is U-Boot source directory
+Get ATF from: https://source.puri.sm/Librem5/arm-trusted-firmware
+branch: librem5
+
+.. code-block:: bash
+
+ $ make PLAT=imx8mq CROSS_COMPILE=aarch64-linux-gnu- bl31
+ $ cp build/imx8mq/release/bl31.bin $(builddir)
+
+Get the ddr and display port firmware
+-------------------------------------
+
+.. code-block:: bash
+
+ $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.15.bin
+ $ chmod +x firmware-imx-8.15.bin
+ $ ./firmware-imx-8.15.bin
+ $ cp firmware-imx-8.15/firmware/hdmi/cadence/signed_hdmi_imx8m.bin $(builddir)
+ $ cp firmware-imx-8.15/firmware/ddr/synopsys/lpddr4*.bin $(builddir)
+
+Build U-Boot
+------------
+
+.. code-block:: bash
+
+ $ export CROSS_COMPILE=aarch64-linux-gnu-
+ $ make librem5_devkit_defconfig
+ $ make ARCH=arm
+
+Burn the flash.bin
+------------------
+
+Write the flash.bin to the eMMC at offset 32KB:
+
+.. code-block:: bash
+
+ $ sudo dd if=flash.bin of=/dev/mmc0 bs=1024 seek=32 conv=notrunc
+
+Reboot the devkit.
diff --git a/doc/board/renesas/rcar-gen3-draak.rst b/doc/board/renesas/rcar-gen3-draak.rst
index 7b94eaa4b23..061ecd05291 100644
--- a/doc/board/renesas/rcar-gen3-draak.rst
+++ b/doc/board/renesas/rcar-gen3-draak.rst
@@ -16,7 +16,7 @@ newly cloned source directory:
.. code-block:: console
- $ git clone https://source.denx.de/u-boot/u-boot.git/
+ $ git clone https://git.u-boot-project.org/u-boot/u-boot.git
$ cd u-boot
Configure U-Boot:
diff --git a/doc/board/renesas/rcar-gen3-ebisu.rst b/doc/board/renesas/rcar-gen3-ebisu.rst
index f9632705abc..a41f736a767 100644
--- a/doc/board/renesas/rcar-gen3-ebisu.rst
+++ b/doc/board/renesas/rcar-gen3-ebisu.rst
@@ -16,7 +16,7 @@ newly cloned source directory:
.. code-block:: console
- $ git clone https://source.denx.de/u-boot/u-boot.git/
+ $ git clone https://git.u-boot-project.org/u-boot/u-boot.git
$ cd u-boot
Configure U-Boot:
diff --git a/doc/board/renesas/rcar-gen3-geist.rst b/doc/board/renesas/rcar-gen3-geist.rst
index 7bedb3a79cb..63abb3e22b4 100644
--- a/doc/board/renesas/rcar-gen3-geist.rst
+++ b/doc/board/renesas/rcar-gen3-geist.rst
@@ -14,7 +14,7 @@ newly cloned source directory:
.. code-block:: console
- $ git clone https://source.denx.de/u-boot/u-boot.git/
+ $ git clone https://git.u-boot-project.org/u-boot/u-boot.git
$ cd u-boot
Configure U-Boot:
diff --git a/doc/board/renesas/rcar-gen3-salvator-x.rst b/doc/board/renesas/rcar-gen3-salvator-x.rst
index 37f009452e5..a6ef15a6da4 100644
--- a/doc/board/renesas/rcar-gen3-salvator-x.rst
+++ b/doc/board/renesas/rcar-gen3-salvator-x.rst
@@ -17,7 +17,7 @@ newly cloned source directory:
.. code-block:: console
- $ git clone https://source.denx.de/u-boot/u-boot.git/
+ $ git clone https://git.u-boot-project.org/u-boot/u-boot.git
$ cd u-boot
Configure U-Boot:
diff --git a/doc/board/renesas/rcar-gen3-ulcb.rst b/doc/board/renesas/rcar-gen3-ulcb.rst
index 88ec2276a36..01e15fa29b6 100644
--- a/doc/board/renesas/rcar-gen3-ulcb.rst
+++ b/doc/board/renesas/rcar-gen3-ulcb.rst
@@ -18,7 +18,7 @@ newly cloned source directory:
.. code-block:: console
- $ git clone https://source.denx.de/u-boot/u-boot.git/
+ $ git clone https://git.u-boot-project.org/u-boot/u-boot.git
$ cd u-boot
Configure U-Boot:
diff --git a/doc/board/renesas/rcar-gen4-sparrow-hawk.rst b/doc/board/renesas/rcar-gen4-sparrow-hawk.rst
index a1b92ecab57..6b9e21bdf1b 100644
--- a/doc/board/renesas/rcar-gen4-sparrow-hawk.rst
+++ b/doc/board/renesas/rcar-gen4-sparrow-hawk.rst
@@ -17,7 +17,7 @@ newly cloned source directory:
.. code-block:: console
- $ git clone https://source.denx.de/u-boot/u-boot.git/
+ $ git clone https://git.u-boot-project.org/u-boot/u-boot.git
$ cd u-boot
Configure U-Boot:
@@ -59,6 +59,27 @@ Finally, write U-Boot into SPI NOR:
=> sf probe && sf update 0x50000000 0 ${filesize}
+SPI NOR layout
+--------------
+
+The Retronix R-Car V4H Sparrow Hawk board 64 MiB SPI NOR layout is listed below.
+
+.. table:: Retronix R-Car Gen4 V4H Sparrow Hawk SPI NOR layout
+
+ +----------------+----------------+-----------+---------------------------------------------------------------+
+ | Start | End | Size | Content |
+ +================+================+===========+===============================================================+
+ | ``0x000_0000`` | ``0x02f_ffff`` | 3072 kiB | U-Boot bootloader ``flash.bin`` |
+ +----------------+----------------+-----------+---------------------------------------------------------------+
+ | ``0x030_0000`` | ``0x033_ffff`` | 256 kiB | PCIe controller firmware ``rcar_gen4_pcie.bin`` (32 kiB used) |
+ +----------------+----------------+-----------+---------------------------------------------------------------+
+ | ``0x034_0000`` | ``0x3f7_ffff`` | 61696 kiB | UNUSED |
+ +----------------+----------------+-----------+---------------------------------------------------------------+
+ | ``0x3f8_0000`` | ``0x3fb_ffff`` | 256 kiB | U-Boot bootloader environment copy 1 |
+ +----------------+----------------+-----------+---------------------------------------------------------------+
+ | ``0x3fc_0000`` | ``0x3ff_ffff`` | 256 kiB | U-Boot bootloader environment copy 2 |
+ +----------------+----------------+-----------+---------------------------------------------------------------+
+
Bundle TFA BL31 into Linux kernel fitImage
------------------------------------------
diff --git a/doc/board/renesas/rcar-gen5-ironhide.rst b/doc/board/renesas/rcar-gen5-ironhide.rst
index 39fbfdbfe00..31a5bb14ae6 100644
--- a/doc/board/renesas/rcar-gen5-ironhide.rst
+++ b/doc/board/renesas/rcar-gen5-ironhide.rst
@@ -22,7 +22,7 @@ newly cloned source directory:
.. code-block:: console
- $ git clone https://source.denx.de/u-boot/u-boot.git/
+ $ git clone https://git.u-boot-project.org/u-boot/u-boot.git
$ cd u-boot
Configure U-Boot:
@@ -71,7 +71,7 @@ newly cloned source directory:
.. code-block:: console
- $ git clone https://source.denx.de/u-boot/u-boot.git/
+ $ git clone https://git.u-boot-project.org/u-boot/u-boot.git
$ cd u-boot
Configure U-Boot:
@@ -164,9 +164,9 @@ via TFTP in the same manner as the other components are downloaded:
base 0
rsip_ipl_boot_ca0= /* Start TFA BL31, OPTEE-OS, U-Boot, Linux on Cortex-A720AE core 0 */ \
- setenv ipaddr 192.168.1.10 && \
- setenv serverip 192.168.1.1 && \
- setenv netmask 255.255.255.0 && \
+ env set ipaddr 192.168.1.10 && \
+ env set serverip 192.168.1.1 && \
+ env set netmask 255.255.255.0 && \
\
tftp ${rsip_ipl_scp_ep} scp.bin && \
tftp ${rsip_ipl_tfa_ep} bl31.bin && \
@@ -183,7 +183,6 @@ via TFTP in the same manner as the other components are downloaded:
rproc load 13 ${rsip_ipl_tfa_ep} 4 && /* Set up Cortex-A720AE Core 0 */ \
rproc start 13 /* Start Cortex-A720AE Core 0 */
-
.. note::
U-Boot on RSIP environment is not persistent across reboots,
@@ -202,3 +201,219 @@ via TFTP in the same manner as the other components are downloaded:
U-Boot on RSIP can start non-SCP cores via ``rproc`` command only
after the SCP got started, because those cores are started via
SCMI calls to the SCP.
+
+Cortex-R52 core start
+---------------------
+
+The U-Boot for RSIP remoteproc implementation is capable of starting
+the SCP core, and using the SCP it is capable of starting additional
+CPU cores in the SoC, Cortex-R52 and Cortex-A720AE. This subchapter
+demonstrates how to start example code on Cortex-R52 cores using the
+U-Boot on RSIP remoteproc and SCP.
+
+The piece of position independent assembler code below can be compiled
+for the Cortex-R52 core, can be started from any 4-Byte aligned address
+and prints CPU core program counter (PC) address and MPIDR onto HSCIF1.
+The MPIDR register encodes CPU cluster and core position and is useful
+when identifying on which specific CPU core does the code execute. The
+program counter (PC) can be used to determine from which address did
+the code running on the Cortex-R52 core start executing.
+
+.. code-block:: console
+
+ #define HSTDR 0xc
+ #define HSFSR 0x10
+ #define TEND 0x40
+
+ .macro mprintchr, chr, rt
+ mov \rt, \chr
+ bl printchr
+ .endm
+
+ .macro mprintnl, rt
+ mprintchr #'\r', \rt
+ mprintchr #'\n', \rt
+ .endm
+
+ start:
+
+ # Set up HSCIF1 output
+ mov r0, #0xc0000000
+ orr r0, r0, #0x00710000
+ orr r0, r0, #0x00004000
+
+ # Print newline
+ mprintnl r1
+
+ # Print PC:
+ mprintchr #'P', r1
+ mprintchr #'C', r1
+ mprintchr #':', r1
+ mprintchr #' ', r1
+ bl printchr
+ bl printchr
+ bl printchr
+ mprintchr #'0', r1
+ mprintchr #'x', r1
+
+ # Figure out start address and print it
+ adr r2, start
+ bl printhex
+
+ # Print newline
+ mprintnl r1
+
+ # Print MPIDR:
+ mprintchr #'M', r1
+ mprintchr #'P', r1
+ mprintchr #'I', r1
+ mprintchr #'D', r1
+ mprintchr #'R', r1
+ mprintchr #':', r1
+ mprintchr #' ', r1
+ mprintchr #'0', r1
+ mprintchr #'x', r1
+
+ # Read MPIDR
+ mrc p15, 0, r2, c0, c0, 5
+ bl printhex
+
+ # Print newline
+ mprintnl r1
+
+ # Halt and do nothing
+ 3: wfi
+ b 3b
+
+ # Print char byte of register r1 (clobber: r9)
+ printchr:
+ 2: ldrh r9, [r0, #HSFSR]
+ tst r9, #TEND
+ beq 2b
+ strb r1, [r0, #HSTDR]
+ ldrh r9, [r0, #HSFSR]
+ bic r9, #TEND
+ strh r9, [r0, #HSFSR]
+
+ bx lr
+
+ # Print hex content of register r2 (clobber: r6, r7, r8, r9)
+ printhex:
+ mov r8, #8
+
+ 1: and r1, r2, #0xf0000000
+ lsl r2, r2, #4
+ lsr r1, r1, #28
+ add r1, r1, #'0'
+ cmp r1, #'9'
+ # >= '9' => add 'a' - ':'
+ addgt r1, r1, #('a' - ':')
+
+ mov r6, lr
+ bl printchr
+ mov lr, r6
+
+ sub r8, r8, #1
+ cmp r8, #0
+ bne 1b
+
+ bx lr
+
+Compile the piece of position independent assembler code above for
+the Cortex-R52 core as follows:
+
+.. code-block:: console
+
+ $ cpp code.s > temp.S
+ $ arm-linux-gnueabi-as -march=armv8-r -o temp.o temp.S
+ $ arm-linux-gnueabi-objcopy -O binary temp.o output.bin
+
+Load the piece of compiled assembler code into memory, and start the
+code on the Cortex-R52 cluster 0 core 0 as follows:
+
+.. important::
+
+ It is mandatory for the SCP core to be started before the following
+ procedure can be performed, because the Cortex-R52 core is started
+ by the SCP. The SCP is usually started by the default boot command
+ of the U-Boot on RSIP, which contains ``rproc start 0`` invocation to
+ start the SCP core.
+
+.. note::
+
+ The example below does use ethernet loading of the Cortex-R52
+ firmware, however, it is perfectly fine to load the firmware from
+ either HyperFlash, UFS, or other storage media.
+
+.. note::
+
+ The example below does use load address 0x86000000 for the Cortex-R52
+ firmware. This address is located in DRAM and is only ever used as a
+ temporary load buffer. The firmware is copied into the RT-VRAM which
+ is accessible from the RSIP at remapped address 0xb0200000 and from
+ the Cortex-R52 at address 0x10200000, which is also the address from
+ which the firmware executes on Cortex-R52.
+
+.. code-block:: console
+
+ # Configure ethernet address, adjust as needed:
+ => env set ipaddr 192.168.1.10
+ => env set serverip 192.168.1.1
+ => env set netmask 255.255.255.0
+
+ # Load Cortex-R52 firmware into DRAM at address 0x86000000
+ => tftp 0x86000000 output.bin
+ # Copy Cortex-R52 firmware into RT-VRAM
+ => cp.b 0x86000000 0xb0200000 ${filesize}
+ # Configure Cortex-R52 cluster 0 core 0 entry point
+ => rproc load 1 0x10200000 ${filesize}
+ # Start Cortex-R52 cluster 0 core 0
+ => rproc start 1
+
+The expected output of ``rproc start 1`` a print of both MPIDR and PC register
+values on HSCIF1.
+
+.. code-block:: console
+
+ Load Remote Processor 1 with data@addr=0x10200000 304 bytes: Success!
+
+ PC: 0x10200000
+ MPIDR: 0x80000000
+
+.. note::
+
+ The MPIDR register value above is 0x80000000 . Cortex-R52 MPIDR register
+ bit 31 is always set to 1, bitfields AFF2[23:16], AFF1[15:8], AFF0[7:0]
+ describe core affinity, in this case this is cluster 0, core 0.
+
+Other Cortex-R52 cores in other clusters can be started by passing a
+matching core number to both ``rproc load`` and ``rproc start``. Example:
+
+.. code-block:: console
+
+ => rproc list
+ ...
+ 1 - Name:'rcar-rsip-cr.0-scp@c1340000' type:'internal memory mapped' supports: load start stop reset is_running
+ 2 - Name:'rcar-rsip-cr.1-scp@c1340000' type:'internal memory mapped' supports: load start stop reset is_running
+ 3 - Name:'rcar-rsip-cr.2-scp@c1340000' type:'internal memory mapped' supports: load start stop reset is_running
+ 4 - Name:'rcar-rsip-cr.3-scp@c1340000' type:'internal memory mapped' supports: load start stop reset is_running
+ 5 - Name:'rcar-rsip-cr.4-scp@c1340000' type:'internal memory mapped' supports: load start stop reset is_running
+ 6 - Name:'rcar-rsip-cr.5-scp@c1340000' type:'internal memory mapped' supports: load start stop reset is_running
+ 7 - Name:'rcar-rsip-cr.6-scp@c1340000' type:'internal memory mapped' supports: load start stop reset is_running
+ 8 - Name:'rcar-rsip-cr.7-scp@c1340000' type:'internal memory mapped' supports: load start stop reset is_running
+ 9 - Name:'rcar-rsip-cr.8-scp@c1340000' type:'internal memory mapped' supports: load start stop reset is_running
+ 10 - Name:'rcar-rsip-cr.9-scp@c1340000' type:'internal memory mapped' supports: load start stop reset is_running
+ 11 - Name:'rcar-rsip-cr.10-scp@c1340000' type:'internal memory mapped' supports: load start stop reset is_running
+ 12 - Name:'rcar-rsip-cr.11-scp@c1340000' type:'internal memory mapped' supports: load start stop reset is_running
+ ...
+ => rproc load 10 0x10200000 ${filesize} && rproc start 10
+ Load Remote Processor 10 with data@addr=0x10200000 304 bytes: Success!
+
+ PC: 0x10200000
+ MPIDR: 0x80000201
+
+.. note::
+
+ The MPIDR register value above is 0x80000201 . Cortex-R52 MPIDR register
+ bit 31 is always set to 1, bitfields AFF2[23:16], AFF1[15:8], AFF0[7:0]
+ describe core affinity, in this case this is cluster 2, core 1.
diff --git a/doc/board/renesas/rzn1.rst b/doc/board/renesas/rzn1.rst
index 5f054e8c674..24ce7709dd7 100644
--- a/doc/board/renesas/rzn1.rst
+++ b/doc/board/renesas/rzn1.rst
@@ -17,7 +17,7 @@ Clone the U-Boot repository and build it as follows:
.. code-block:: bash
- git clone --depth 1 https://source.denx.de/u-boot/u-boot.git
+ git clone --depth 1 https://git.u-boot-project.org/u-boot/u-boot.git
cd u-boot
make rzn1_snarc_defconfig
make CROSS_COMPILE=arm-linux-gnu-
diff --git a/doc/board/rockchip/rockchip.rst b/doc/board/rockchip/rockchip.rst
index f77f1e78f38..de2df3046e2 100644
--- a/doc/board/rockchip/rockchip.rst
+++ b/doc/board/rockchip/rockchip.rst
@@ -127,6 +127,7 @@ List of mainline supported Rockchip boards:
* rk3568
- 9Tripod X3568 v4 (9tripod-x3568-v4-rk3568)
+ - Anbernic RG-DS (anbernic-rg-ds-rk3568)
- Rockchip Evb-RK3568 (evb-rk3568)
- Banana Pi BPI-R2 Pro (bpi-r2-pro-rk3568)
- EmbedFire LubanCat 2 (lubancat-2-rk3568)
@@ -155,6 +156,7 @@ List of mainline supported Rockchip boards:
- Rockchip EVB (evb-rk3588)
- Edgeble Neural Compute Module 6A SoM - Neu6a (neu6a-io-rk3588)
- Edgeble Neural Compute Module 6B SoM - Neu6b (neu6b-io-rk3588)
+ - Firefly ROC-RK3588S-PC (roc-pc-rk3588s)
- FriendlyElec CM3588 NAS (cm3588-nas-rk3588)
- FriendlyElec NanoPC-T6 (nanopc-t6-rk3588)
- FriendlyElec NanoPi R6C (nanopi-r6c-rk3588s)
@@ -228,7 +230,7 @@ U-Boot
.. code-block:: bash
- git clone --depth 1 https://source.denx.de/u-boot/u-boot.git
+ git clone --depth 1 https://git.u-boot-project.org/u-boot/u-boot.git
cd u-boot
To build px30 boards:
diff --git a/doc/board/samsung/e850-96.rst b/doc/board/samsung/e850-96.rst
index 3174a7daff9..d980f2faf02 100644
--- a/doc/board/samsung/e850-96.rst
+++ b/doc/board/samsung/e850-96.rst
@@ -205,8 +205,8 @@ Use ``$partitions_android`` as current partition definitions:
.. prompt:: bash =>
- setenv partitions_linux $partitions
- setenv partitions $partitions_android
+ env set partitions_linux $partitions
+ env set partitions $partitions_android
env save
Format eMMC to have Android partition table:
@@ -586,17 +586,17 @@ First, prepare the ``boot.txt`` file with OS boot instructions, for example:
.. code-block:: bash
- setenv mmcroot 2
- setenv console ttySAC0,115200n8
- setenv kernel_file Image
- setenv fdtfile exynos/exynos850-e850-96.dtb
- setenv loadaddr 0x80000000
- setenv fdt_addr_r 0x8c000000
+ env set mmcroot 2
+ env set console ttySAC0,115200n8
+ env set kernel_file Image
+ env set fdtfile exynos/exynos850-e850-96.dtb
+ env set loadaddr 0x80000000
+ env set fdt_addr_r 0x8c000000
echo Booting Linux from eMMC...
mmc dev $mmcdev
mmc rescan
- setenv bootargs console=$console root=/dev/mmcblk${mmcdev}p${mmcroot} rootwait rw
+ env set bootargs console=$console root=/dev/mmcblk${mmcdev}p${mmcroot} rootwait rw
load mmc $mmcdev:$mmcroot $fdt_addr_r /boot/$fdtfile
load mmc $mmcdev:$mmcroot $loadaddr /boot/$kernel_file
booti $loadaddr - $fdt_addr_r
@@ -735,7 +735,7 @@ defined in ``$partitions``, it's enough to only set ``$bootdev`` like this:
.. prompt:: bash =>
- setenv bootdev usb
+ env set bootdev usb
env save
Another thing to be aware of: in order to perform USB boot the USB PHY kernel
@@ -808,7 +808,7 @@ Follow the instructions below to boot from a USB storage device:
.. prompt:: bash =>
- setenv bootdev usb
+ env set bootdev usb
env save
6. Erase eMMC partition table to make U-Boot use ESP from USB drive:
diff --git a/doc/board/siemens/iot2050.rst b/doc/board/siemens/iot2050.rst
index 37b23f6146b..2c0a324485c 100644
--- a/doc/board/siemens/iot2050.rst
+++ b/doc/board/siemens/iot2050.rst
@@ -25,7 +25,7 @@ ATF: Upstream release 2.4 or newer
OP-TEE: Upstream release 3.10.0 or newer
Binary dependencies can be found in
-https://github.com/siemens/meta-iot2050/tree/master/recipes-bsp/u-boot/files/prebuild.
+https://github.com/siemens/meta-iot2050/tree/master/meta/recipes-bsp/u-boot/files/prebuild.
The following binaries from that source need to be present in the build folder:
- seboot_pg1.bin
@@ -44,7 +44,7 @@ needs to be present in the build folder:
- otpcmd.bin
Regarding how to generating this otpcmd.bin, please refer to:
-https://github.com/siemens/meta-iot2050/tree/master/recipes-bsp/secure-boot-otp-provisioning/files/make-otpcmd.sh
+https://github.com/siemens/meta-iot2050/blob/master/meta/recipes-bsp/secure-boot-otp-provisioning/files/make-otpcmd.sh
Building
--------
diff --git a/doc/board/sifive/unleashed.rst b/doc/board/sifive/unleashed.rst
index ce38b701d78..94554f5c3ae 100644
--- a/doc/board/sifive/unleashed.rst
+++ b/doc/board/sifive/unleashed.rst
@@ -124,10 +124,10 @@ load uImage.
.. code-block:: none
- => setenv ipaddr 10.206.7.133
- => setenv netmask 255.255.252.0
- => setenv serverip 10.206.4.143
- => setenv gateway 10.206.4.1
+ => env set ipaddr 10.206.7.133
+ => env set netmask 255.255.252.0
+ => env set serverip 10.206.4.143
+ => env set gateway 10.206.4.1
If you want to use a flat kernel image such as Image file
@@ -256,7 +256,7 @@ as well.
1000 Bytes/s
done
Bytes transferred = 5614 (15ee hex)
- => setenv bootargs "root=/dev/ram rw console=ttySIF0 ip=dhcp earlycon=sbi"
+ => env set bootargs "root=/dev/ram rw console=ttySIF0 ip=dhcp earlycon=sbi"
=> booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
## Loading init Ramdisk from Legacy Image at 88300000 ...
Image Name: Linux RootFS
diff --git a/doc/board/sipeed/maix.rst b/doc/board/sipeed/maix.rst
index 4568bb3e4b7..9bbc2a93c5b 100644
--- a/doc/board/sipeed/maix.rst
+++ b/doc/board/sipeed/maix.rst
@@ -19,7 +19,7 @@ Currently, only the Sipeed MAIX BiT V2.0 (bitm) and Sipeed MAIXDUINO are
supported, but the boards are fairly similar.
Documentation for Maix boards is available from
-`Sipeed's website <http://dl.sipeed.com/MAIX/HDK/>`_.
+`Sipeed's website <https://dl.sipeed.com/MAIX/HDK/>`_.
Documentation for the Kendryte K210 is available from
`Kendryte's website <https://kendryte.com/downloads/>`_. However, hardware
details are rather lacking, so most technical reference has been taken from the
diff --git a/doc/board/sophgo/index.rst b/doc/board/sophgo/index.rst
index 26dba4a4851..19c9a19b1d4 100644
--- a/doc/board/sophgo/index.rst
+++ b/doc/board/sophgo/index.rst
@@ -6,4 +6,5 @@ Sophgo
:maxdepth: 1
milkv_duo
+ milkv_duo_256m
licheerv_nano
diff --git a/doc/board/sophgo/licheerv_nano.rst b/doc/board/sophgo/licheerv_nano.rst
index a75c6a37dc5..a3b1171287d 100644
--- a/doc/board/sophgo/licheerv_nano.rst
+++ b/doc/board/sophgo/licheerv_nano.rst
@@ -43,9 +43,9 @@ To run u-boot.bin on top of FSBL, follow these steps:
FSBL, OpenSBI, and U-Boot.
Note that you will have to use the file cv181x.bin as the FSBL.
-2. Place the generated fip.bin file into the FAT partition of the SD card.
+4. Place the generated fip.bin file into the FAT partition of the SD card.
-3. Insert the SD card into the board and power it on.
+5. Insert the SD card into the board and power it on.
The board will automatically execute the FSBL from the fip.bin file.
Subsequently, it will transition to OpenSBI, and finally, OpenSBI will invoke
diff --git a/doc/board/sophgo/milkv_duo_256m.rst b/doc/board/sophgo/milkv_duo_256m.rst
new file mode 100644
index 00000000000..9e2cbddf4db
--- /dev/null
+++ b/doc/board/sophgo/milkv_duo_256m.rst
@@ -0,0 +1,84 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+Milk-V Duo 256M
+===============
+
+SG2002 RISC-V SoC
+------------------
+The SG2002 is a high-performance, low-power 64-bit RISC-V/ARM SoC from Sophgo.
+
+Mainline support
+----------------
+The support for following drivers are already enabled:
+
+1. ns16550 UART Driver.
+2. Synopsys Designware MSHC Driver.
+3. Synopsys Designware Ethernet Controller.
+
+Building
+~~~~~~~~
+1. Add the RISC-V toolchain to your PATH.
+2. Setup ARCH & cross compilation environment variable:
+
+.. code-block:: console
+
+ export CROSS_COMPILE=<riscv64 toolchain prefix>
+ cd <U-Boot-dir>
+ make milkv_duo_256m_defconfig
+ make
+
+This will generate u-boot.bin
+
+Booting
+~~~~~~~
+Currently, we rely on vendor FSBL (First Stage Boot Loader) to initialize the
+clock and load OpenSBI and the u-boot image, then bootup from it.
+
+To run u-boot.bin on top of FSBL, follow these steps:
+
+1. Generate a compatible u-boot.bin using U-Boot with the Milk-V Duo 256M
+ default configuration.
+
+2. Use mainline OpenSBI with a newer version than 1.5 to generate fw_dynamic.
+ Use FDT_FW_PATH to point to sg2002-milkv-duo256m.dtb device tree file while
+ compiling fw_dynamic. Example:
+
+.. code-block:: console
+
+ cd open-sbi
+ PLATFORM=generic FW_FDT_PATH=../u-boot/arch/riscv/dts/sg2002-milkv-duo256m.dtb make
+
+This will generate build/platform/generic/firmware/fw_dynamic.bin.
+
+3. Use the vendor-provided tool [1] to create a unified fip.bin file containing
+ FSBL, OpenSBI, and U-Boot.
+ Note that you will have to use the file cv181x.bin as the FSBL.
+
+4. Place the generated fip.bin file into the FAT partition of the SD card.
+
+5. Insert the SD card into the board and power it on.
+
+The board will automatically execute the FSBL from the fip.bin file.
+Subsequently, it will transition to OpenSBI, and finally, OpenSBI will invoke
+U-Boot.
+
+[1]: https://github.com/sophgo/fiptool
+
+Sample boot log from Milk-V 256M Duo board
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.. code-block:: none
+
+ U-Boot 2026.07-00002-g0b690770386f-dirty (Jul 07 2026 - 13:33:36 -0300)milkv_duo_256m
+
+ DRAM: 256 MiB
+ Core: 20 devices, 13 uclasses, devicetree: separate
+ MMC: mmc@4310000: 0
+ Loading Environment from nowhere... OK
+ In: serial@4140000
+ Out: serial@4140000
+ Err: serial@4140000
+ Net:
+ Warning: ethernet@4070000 (eth0) using random MAC address - 0a:f3:23:40:7e:55
+ eth0: ethernet@4070000
+ Hit any key to stop autoboot: 0
+ milkv_duo_256m#
diff --git a/doc/board/spacemit/bananapi-f3.rst b/doc/board/spacemit/bananapi-f3.rst
index f2220950a3a..1ece2ce9d02 100644
--- a/doc/board/spacemit/bananapi-f3.rst
+++ b/doc/board/spacemit/bananapi-f3.rst
@@ -29,7 +29,7 @@ built for SpacemiT K1 SoC as below:
.. code-block:: console
cd <U-Boot-dir>
- make bananapi-f3_defconfig
+ make spacemit_k1_defconfig
make OPENSBI=<OpenSBI-dir>/build/platform/generic/firmware/fw_dynamic.bin
This will generate u-boot.itb
diff --git a/doc/board/spacemit/index.rst b/doc/board/spacemit/index.rst
index e7d3d94e459..a5e35ee12ab 100644
--- a/doc/board/spacemit/index.rst
+++ b/doc/board/spacemit/index.rst
@@ -6,4 +6,5 @@ SpacemiT
:maxdepth: 1
bananapi-f3
+ k1-spl
diff --git a/doc/board/spacemit/k1-spl.rst b/doc/board/spacemit/k1-spl.rst
new file mode 100644
index 00000000000..187eed56e8e
--- /dev/null
+++ b/doc/board/spacemit/k1-spl.rst
@@ -0,0 +1,243 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later
+
+SpacemiT K1 SPL Build and Test Guide
+=====================================
+
+This guide explains how to build and test U-Boot SPL on SpacemiT K1 based
+boards. It covers building SPL with DDR initialization, generating the signed
+FSBL image, and deploying via USB fastboot.
+
+Tested boards: Banana Pi BPI-F3, MusePi Pro.
+
+.. note::
+
+ The procedure described here loads SPL into SRAM via USB fastboot and
+ does not modify the on-board flash, so a power cycle restores the
+ board's normal boot path.
+
+ At this stage of the patchset, SPL initializes DDR and then halts with
+ "SPL: Unsupported Boot Device!" because SPI NOR storage support is not
+ yet available in U-Boot proper. This document will be updated when
+ U-Boot stage support is ready.
+
+Prerequisites
+~~~~~~~~~~~~~
+
+- A SpacemiT K1 board with USB Type-C and UART access
+- USB-to-UART adapter (3.3V TTL)
+- ``minicom`` or equivalent serial terminal, configured at 115200 8N1
+- ``fastboot`` tool on the host
+
+Hardware Setup
+~~~~~~~~~~~~~~
+
+**1. UART Connection**
+
+Remove all other cables first, then attach UART. Connect a 3.3V
+USB-to-UART cable to the board's UART header (J25 on the BPI-F3)::
+
+ BPI-F3 top view
+ +--------------------------------------------------+
+ | |
+ | J15: USB-C [====] [FDL] [PWR] [RST] |
+ | |
+ | |
+ | J25 (UART header) |
+ | [TXD] [RXD] [GND] |
+ +--------------------------------------------------+
+
+After UART is connected, attach the USB Type-C cable to the OTG port
+(J15 on BPI-F3) to power on.
+
+**2. Serial Console**
+
+.. code-block:: console
+
+ $ minicom -D /dev/ttyUSB0
+
+Default baudrate: 115200.
+
+Building U-Boot SPL
+~~~~~~~~~~~~~~~~~~~~
+
+**1. Obtain the DDR training firmware**
+
+The DDR training firmware is a proprietary binary provided by SpacemiT. It is
+not included in U-Boot and must be downloaded separately from:
+
+https://github.com/spacemit-com/spacemit-firmware/tree/master/k1/v0.2
+
+Download ``ddr_fw.bin`` from that directory.
+
+This binary is integrated into the SPL image at build time via the binman
+framework. When the SPL image is loaded to SRAM (e.g., via USB fastboot),
+the SPL executes the DDR firmware from SRAM to perform DDR initialization.
+
+**2. Obtain OpenSBI fw_dynamic.bin**
+
+Any pre-built ``fw_dynamic.bin`` is sufficient. Upstream OpenSBI
+sources are at https://github.com/riscv-software-src/opensbi if you
+need to build one.
+
+At this stage of the patchset, SPL halts before invoking OpenSBI,
+but U-Boot's binman still packages ``fw_dynamic.bin`` into
+``u-boot.itb`` and the build fails if it is missing.
+
+**3. Build SPL**
+
+.. code-block:: console
+
+ $ export CROSS_COMPILE=riscv64-linux-gnu-
+ $ export ARCH=riscv
+ $ export DDR_FW_FILE=$(pwd)/ddr_fw.bin
+ $ export OPENSBI=/path/to/fw_dynamic.bin
+ $ make spacemit_k1_defconfig
+ $ make
+
+Output: ``u-boot-spl-ddr.bin`` in the build directory. This image contains the
+SPL code and the DDR firmware blob packaged together via binman.
+
+.. note::
+
+ If ``DDR_FW_FILE`` is not set, the build completes with an empty
+ placeholder. The resulting SPL will boot but cannot initialize DDR.
+
+**4. Generate signed FSBL image**
+
+The K1 BootROM requires a signed first-stage bootloader (FSBL). The signing
+tool (``tools/build_binary_file.py``) is in SpacemiT's vendor U-Boot repository:
+
+.. code-block:: console
+
+ $ git clone -b k1-bl-v2.2.y https://gitee.com/spacemit-buildroot/uboot-2022.10
+
+The script uses ``fsbl_ddr.json`` which may not exist by default. If
+``fsbl_ddr.json`` does not exist in
+``uboot-2022.10/board/spacemit/k1-x/configs/``,
+create it by copying ``fsbl.json`` and replacing the reference to
+``u-boot-spl.bin`` with ``u-boot-spl-ddr.bin``:
+
+.. code-block:: console
+
+ $ cd uboot-2022.10/board/spacemit/k1-x/configs
+ $ cp fsbl.json fsbl_ddr.json
+ $ sed -i 's/u-boot-spl\.bin/u-boot-spl-ddr.bin/g' fsbl_ddr.json
+
+Create the ``fsbl.sh`` script below in the ``uboot-2022.10`` directory.
+Update the path variables to match your local setup:
+
+.. code-block:: bash
+
+ #!/bin/sh
+ MAINLINE_UBOOT_IMG_PATH="{your path}/u-boot"
+ MAINLINE_SPL_IMG_PATH="{your path}/u-boot/spl"
+ FSBL_PATH="{your path}/uboot-2022.10/spl_bin"
+ KEY_TOOL_PATH="{your path}/uboot-2022.10/tools"
+ CONFIG_PATH="{your path}/uboot-2022.10/board/spacemit/k1-x/configs"
+
+ mkdir -p ${FSBL_PATH}
+ echo "Clean binaries in ${FSBL_PATH}"
+ rm -f ${FSBL_PATH}/u-boot-spl-ddr.bin
+ rm -f ${FSBL_PATH}/u-boot-spl.bin
+
+ if [ ! -d ${MAINLINE_SPL_IMG_PATH} ]; then
+ MAINLINE_UBOOT_IMG_PATH="{your path}/build"
+ MAINLINE_SPL_IMG_PATH="{your path}/build/spl"
+ fi
+
+ # The signing tool reads u-boot-spl-ddr.bin from the path declared in
+ # fsbl_ddr.json's "source" field, which is resolved relative to the
+ # JSON file's directory -- i.e. one level up from CONFIG_PATH, not
+ # FSBL_PATH. Stage the unsigned binary there before signing.
+ cp ${MAINLINE_UBOOT_IMG_PATH}/u-boot-spl-ddr.bin ${CONFIG_PATH}/../
+ python3 ${KEY_TOOL_PATH}/build_binary_file.py \
+ -c ${CONFIG_PATH}/fsbl_ddr.json \
+ -o ${FSBL_PATH}/FSBL.bin
+
+Then run:
+
+.. code-block:: console
+
+ $ chmod +x fsbl.sh
+ $ ./fsbl.sh
+
+Output: ``FSBL.bin`` in the ``spl_bin`` directory, ready for deployment.
+
+Deploying via USB Fastboot
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To enter BootROM fastboot mode:
+
+1. Power off the board by unplugging its power supply.
+2. **Press and hold** the FDL button (called "Boot Key" on some boards;
+ see the board layout above for the BPI-F3).
+3. While holding the button, use a USB cable to connect the OTG port to
+ your host. This cable is also used by fastboot to upload the firmware.
+4. Release the button.
+
+On the host, ``fastboot devices`` should list the board::
+
+ dfu-device DFU download
+
+The serial console shows the BootROM's USB download handler trace,
+including a line like::
+
+ usb2d_initialize : enter
+
+This indicates the board is ready to accept an image via USB.
+
+.. tip::
+
+ If you are worried about insufficient USB power, you can first plug
+ in the power, then release the button, and then plug in the USB
+ cable.
+
+On the host:
+
+.. code-block:: console
+
+ $ sudo fastboot stage FSBL.bin
+ $ sudo fastboot continue
+
+Expected Output
+~~~~~~~~~~~~~~~~
+
+During successful SPL boot with DDR initialization, the serial console
+shows output like::
+
+ <debug_uart>
+
+ U-Boot SPL 2026.04-rc4-00430-g8b84b1ed8ea9 (May 08 2026 - 09:08:27 -0400)
+ Fail to detect board:-19
+ vdd_core, value:900000
+ vdd_1v8, value:1800000
+ vdd_1v8_mmc, value:1800000
+ DDR firmware: [0xc0815840]:0xf0227179, size:0x8d98
+ DDR is ready
+ SPL: Unsupported Boot Device!
+ SPL: failed to boot from all boot devices
+ ### ERROR ### Please RESET the board ###
+
+To walk through the key lines:
+
+- ``DDR firmware: [...], size:0x8d98`` - DDR firmware loaded successfully
+- ``DDR is ready`` - DDR initialization completed
+- ``SPL: failed to boot from all boot devices`` - expected at this stage,
+ confirms that SPL with DDR init is working correctly
+
+If SPL hangs before printing DDR messages, verify that ``DDR_FW_FILE`` was set
+during build and that ``ddr_fw.bin`` is not empty.
+
+.. tip::
+
+ To see verbose DDR training output from the DDR firmware (per-phase
+ training pass/fail logs), add ``#define DEBUG`` at the top of
+ ``board/spacemit/k1/spl.c`` and rebuild. SPL then passes ``puts`` as
+ the firmware's log callback; otherwise the callback is ``NULL`` and
+ the firmware runs silently.
+
+References
+~~~~~~~~~~~
+
+- `DDR firmware repository <https://github.com/spacemit-com/spacemit-firmware>`_
+- `SpacemiT vendor U-Boot (signing tool) <https://gitee.com/spacemit-buildroot/uboot-2022.10>`_
diff --git a/doc/board/st/stm32mp1.rst b/doc/board/st/stm32mp1.rst
index 8cf71299233..203843a274b 100644
--- a/doc/board/st/stm32mp1.rst
+++ b/doc/board/st/stm32mp1.rst
@@ -572,7 +572,7 @@ Then you update the eMMC with the next U-Boot command :
a) prepare GPT on eMMC,
example with 3 partitions, fip, bootfs and roots::
- # setenv emmc_part "name=fip,size=4MiB;name=bootfs,type=linux,bootable,size=64MiB;name=rootfs,type=linux,size=512"
+ # env set emmc_part "name=fip,size=4MiB;name=bootfs,type=linux,bootable,size=64MiB;name=rootfs,type=linux,size=512"
# gpt write mmc 1 ${emmc_part}
b) copy FSBL, TF-A_ or SPL, on first eMMC boot partition
diff --git a/doc/board/starfive/deepcomputing_fml13v01.rst b/doc/board/starfive/deepcomputing_fml13v01.rst
index 9777f4c6303..51feb06772f 100644
--- a/doc/board/starfive/deepcomputing_fml13v01.rst
+++ b/doc/board/starfive/deepcomputing_fml13v01.rst
@@ -23,7 +23,7 @@ environment
.. code-block:: console
- setenv fdtfile my_device-tree.dtb
+ env set fdtfile my_device-tree.dtb
env save
Power switch
diff --git a/doc/board/starfive/jh7110_common.rst b/doc/board/starfive/jh7110_common.rst
index e9c0ed5b022..013bab50045 100644
--- a/doc/board/starfive/jh7110_common.rst
+++ b/doc/board/starfive/jh7110_common.rst
@@ -170,7 +170,7 @@ Build U-Boot
.. code-block:: console
- git clone https://source.denx.de/u-boot/u-boot.git u-boot.git
+ git clone https://git.u-boot-project.org/u-boot/u-boot.git u-boot.git
make -C u-boot.git O=u-boot starfive_visionfive2_defconfig
make -C u-boot.git O=u-boot OPENSBI=opensbi/platform/generic/firmware/fw_dynamic.bin
diff --git a/doc/board/starfive/milk-v_mars.rst b/doc/board/starfive/milk-v_mars.rst
index 0dbc500b734..bb3fb4a9aee 100644
--- a/doc/board/starfive/milk-v_mars.rst
+++ b/doc/board/starfive/milk-v_mars.rst
@@ -19,7 +19,7 @@ environment
::
- setenv fdtfile my_device-tree.dtb
+ env set fdtfile my_device-tree.dtb
env save
or the configuration variable CONFIG_DEFAULT_FDT_FILE can be used to set to
diff --git a/doc/board/starfive/visionfive2.rst b/doc/board/starfive/visionfive2.rst
index c92ea16f91b..f3e6544980b 100644
--- a/doc/board/starfive/visionfive2.rst
+++ b/doc/board/starfive/visionfive2.rst
@@ -18,7 +18,7 @@ environment
::
- setenv fdtfile my_device-tree.dtb
+ env set fdtfile my_device-tree.dtb
env save
or the configuration variable CONFIG_DEFAULT_FDT_FILE can be used to provide
diff --git a/doc/board/tbs/tbs2910.rst b/doc/board/tbs/tbs2910.rst
index 9d4be61783e..4f2838bc9bd 100644
--- a/doc/board/tbs/tbs2910.rst
+++ b/doc/board/tbs/tbs2910.rst
@@ -187,5 +187,5 @@ Links:
------
- https://www.tbsdtv.com/download/document/tbs2910/TBS2910-Matrix-ARM-mini-PC-SCH_rev2.1.pdf
- The schematics for the revision 2.1 of the TBS2910 Matrix ARM miniPC.
- - https://cache.freescale.com/files/32bit/doc/ref_manual/IMX6DQRM.pdf - The
+ - https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX-6DQ-Reference-Manual-IMX6DQRM-R2-Part-1/ta-p/1115983 - The
SoC reference manual for additional details on the BOOT_CFG registers.
diff --git a/doc/board/thead/lpi4a.rst b/doc/board/thead/lpi4a.rst
index acd7ac2698d..3920efcd710 100644
--- a/doc/board/thead/lpi4a.rst
+++ b/doc/board/thead/lpi4a.rst
@@ -91,8 +91,10 @@ OpenSBI firmware and proper U-Boot.
Booting
~~~~~~~
-u-boot-with-spl.bin should be loaded to SRAM through fastboot. Connect
-the board to computer with Type-C cable and run
+u-boot-with-spl.bin should be loaded to SRAM through fastboot.
+
+To put the board in fastboot mode, press and hold the ``BOOT`` button,
+connect the board to the computer with a Type-C cable, release ``BOOT`` and run:
.. code-block:: bash
diff --git a/doc/board/ti/am62ax_sk.rst b/doc/board/ti/am62ax_sk.rst
index 6f3432f7895..3453ed339e7 100644
--- a/doc/board/ti/am62ax_sk.rst
+++ b/doc/board/ti/am62ax_sk.rst
@@ -185,7 +185,202 @@ https://www.ti.com/lit/pdf/spruj16 under the `Boot Mode Pins` section.
- 00000000
- 11001010
-For SW2 and SW1, the switch state in the "ON" position = 1.
+ * - Ethernet
+ - 00110000
+ - 11000100
+
+For SW3 and SW2, the switch state in the "ON" position = 1.
+
+Ethernet based boot
+-------------------
+
+To boot the board via Ethernet, configure the BOOT MODE pins for Ethernet boot.
+
+On powering on the device, ROM uses the Ethernet Port corresponding to CPSW3G's MAC
+Port 1 to transmit "TI K3 Bootp Boot".
+
+The TFTP server and DHCP server on the receiver device need to be configured such
+that VCI string "TI K3 Bootp Boot" maps to the file `tiboot3.bin` and the TFTP
+server should be capable of transferring it to the device.
+
+**Configuring DHCP server includes following steps:**
+
+* Install DHCP server:
+
+.. prompt:: bash $
+
+ sudo apt install isc-dhcp-server
+
+* Disable services before configuring:
+
+.. prompt:: bash $
+
+ sudo systemctl disable --now isc-dhcp-server.service isc-dhcp-server6.service
+
+* DHCP server setup
+
+Run the ip link or ifconfig command to find the name of your network interface:
+
+Example
+
+.. code-block::
+
+ eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
+ inet 10.0.0.5 netmask 255.255.255.0 broadcast 10.0.0.255
+ inet6 fe80::1a2b:3c4d:5e6f:7a8b prefixlen 64 scopeid 0x20<link>
+ ether aa:bb:cc:dd:ee:ff txqueuelen 1000 (Ethernet)
+ RX packets 100000 bytes 120000000 (120.0 MB)
+ RX errors 0 dropped 0 overruns 0 frame 0
+ TX packets 50000 bytes 6000000 (6.0 MB)
+ TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
+
+ enx001122334455: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
+ ether 00:11:22:33:44:55 txqueuelen 1000 (Ethernet)
+ RX packets 200 bytes 64000 (64.0 KB)
+ RX errors 0 dropped 0 overruns 0 frame 0
+ TX packets 150 bytes 20000 (20.0 KB)
+ TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
+
+ lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
+ inet 127.0.0.1 netmask 255.0.0.0
+ inet6 ::1 prefixlen 128 scopeid 0x10<host>
+ loop txqueuelen 1000 (Local Loopback)
+ RX packets 10000 bytes 800000 (800.0 KB)
+ RX errors 0 dropped 0 overruns 0 frame 0
+ TX packets 10000 bytes 800000 (800.0 KB)
+ TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
+
+Suppose we are using enx001122334455 interface, one end of it is connected to host PC
+and other to board.
+
+* Do the following changes in /etc/dhcp/dhcpd.conf in host PC.
+
+.. code-block::
+
+ subnet 192.168.0.0 netmask 255.255.254.0
+ {
+ range dynamic-bootp 192.168.0.2 192.168.0.5;
+ if substring (option vendor-class-identifier, 0, 16) = "TI K3 Bootp Boot"
+ {
+ filename "tiboot3.bin";
+ } elsif substring (option vendor-class-identifier, 0, 20) = "AM62AX U-Boot R5 SPL"
+ {
+ filename "tispl.bin";
+ } elsif substring (option vendor-class-identifier, 0, 21) = "AM62AX U-Boot A53 SPL"
+ {
+ filename "u-boot.img";
+ }
+ default-lease-time 60000;
+ max-lease-time 720000;
+ next-server 192.168.0.1;
+ }
+
+* Do following changes in /etc/default/isc-dhcp-server
+
+.. code-block::
+
+ DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
+ INTERFACESv4="enx001122334455"
+ INTERFACESv6=""
+
+* For your interface change ip address and netmask to next-server and your netmask
+
+.. prompt:: bash $
+
+ sudo ifconfig enx001122334455 192.168.0.1 netmask 255.255.254.0
+
+* Enable DHCP
+
+.. prompt:: bash $
+
+ sudo systemctl enable --now isc-dhcp-server
+
+* To see if there is any configuration error or if dhcp is running run
+
+.. prompt:: bash $
+
+ sudo service isc-dhcp-server status
+ # If it shows error then something is wrong with configuration
+
+**For TFTP setup follow below steps:**
+
+* Install TFTP server:
+
+.. prompt:: bash $
+
+ sudo apt install tftpd-hpa
+
+tftpd-hpa package should be installed.
+
+Now, check whether the tftpd-hpa service is running with the following command:
+
+.. prompt:: bash $
+
+ sudo systemctl status tftpd-hpa
+
+* Configuring TFTP server:
+
+The default configuration file of tftpd-hpa server is /etc/default/tftpd-hpa.
+If you want to configure the TFTP server, then you have to modify this configuration
+file and restart the tftpd-hpa service afterword.
+
+To modify the /etc/default/tftpd-hpa configuration file, run the following command
+
+.. prompt:: bash $
+
+ sudo vim /etc/default/tftpd-hpa
+
+Configuration file may contain following configuration options by default:
+
+.. code-block::
+
+ # /etc/default/tftpd-hpa
+
+ TFTP_USERNAME="tftp"
+ TFTP_DIRECTORY="/var/lib/tftpboot"
+ TFTP_ADDRESS=":69"
+ TFTP_OPTIONS="--secure"
+
+Now change the **TFTP_DIRECTORY** to **/tftp** and add the **--create** option to the
+**TFTP_OPTIONS**. Without the **--create** option, you won't be able to create or upload
+new files to the TFTP server. You will only be able to update existing files.
+
+After above changes /etc/default/tftpd-hpa file would look like this:
+
+.. code-block::
+
+ # /etc/default/tftpd-hpa
+
+ TFTP_USERNAME="tftp"
+ TFTP_DIRECTORY="/tftp"
+ TFTP_ADDRESS=":69"
+ TFTP_OPTIONS="--secure --create"
+
+Since we have configured tftp directory as /tftp, put tiboot3.bin, tispl.bin
+and u-boot.img after building it using sdk or manually cloning all the repos.
+
+To build binaries use following defconfig files:
+
+.. code-block::
+
+ am62ax_evm_r5_ethboot_defconfig
+ am62ax_evm_a53_ethboot_defconfig
+
+`tiboot3.bin` is expected to be built from `am62ax_evm_r5_ethboot_defconfig` and
+`tispl.bin` and `u-boot.img` are expected to be built from
+`am62ax_evm_a53_ethboot_defconfig`.
+
+Images should get fetched in following sequence as a part of boot procedure:
+
+.. code-block::
+
+ tiboot3.bin => tispl.bin => u-boot.img
+
+ROM loads and executes `tiboot3.bin` provided by the TFTP server.
+
+Next, based on NET_VCI_STRING string mentioned in respective defconfig file `tiboot3.bin`
+fetches `tispl.bin` and then `tispl.bin` fetches `u-boot.img` from TFTP server which
+completes Ethernet boot on the device.
Falcon Mode
-----------
diff --git a/doc/board/ti/am65x_evm.rst b/doc/board/ti/am65x_evm.rst
index 60b08ceebf0..73ceef2e531 100644
--- a/doc/board/ti/am65x_evm.rst
+++ b/doc/board/ti/am65x_evm.rst
@@ -201,8 +201,8 @@ To boot kernel from eMMC, use the following commands:
.. prompt:: bash =>
- setenv mmcdev 0
- setenv bootpart 0
+ env set mmcdev 0
+ env set bootpart 0
boot
OSPI:
@@ -240,7 +240,7 @@ To boot kernel from OSPI, at the U-Boot prompt:
.. prompt:: bash =>
- setenv boot ubi
+ env set boot ubi
boot
UART:
diff --git a/doc/board/ti/dra7xx_evm.rst b/doc/board/ti/dra7xx_evm.rst
index 8e5d95535fa..9ef94e2ea00 100644
--- a/doc/board/ti/dra7xx_evm.rst
+++ b/doc/board/ti/dra7xx_evm.rst
@@ -73,7 +73,7 @@ set boot0 as the boot device.
.. prompt:: bash =>
- setenv autoload no
+ env set autoload no
usb start
dhcp
mmc dev 1 1
diff --git a/doc/board/ti/k3.rst b/doc/board/ti/k3.rst
index 21973d53b15..d3ecaf59909 100644
--- a/doc/board/ti/k3.rst
+++ b/doc/board/ti/k3.rst
@@ -170,7 +170,7 @@ online
* **Das U-Boot**
- | **source:** https://source.denx.de/u-boot/u-boot.git
+ | **source:** https://git.u-boot-project.org/u-boot/u-boot.git
| **branch:** master
* **Trusted Firmware-A (TF-A)**
diff --git a/doc/board/ti/ks2_evm.rst b/doc/board/ti/ks2_evm.rst
index 16c2e57d09d..c6e9d969f3c 100644
--- a/doc/board/ti/ks2_evm.rst
+++ b/doc/board/ti/ks2_evm.rst
@@ -198,8 +198,8 @@ instructions:
.. prompt:: bash =>
- setenv addr_uboot 0x87000000
- setenv filesize <size in hex of u-boot-spi.gph rounded to hex 0x10000>
+ env set addr_uboot 0x87000000
+ env set filesize <size in hex of u-boot-spi.gph rounded to hex 0x10000>
run burn_uboot_spi
Once U-Boot prompt is available, power off the EVM. Set the SW1 dip switch to
@@ -226,7 +226,7 @@ instructions:
.. prompt:: bash =>
- setenv filesize <size in hex of MLO rounded to hex 0x10000>
+ env set filesize <size in hex of MLO rounded to hex 0x10000>
run burn_uboot_nand
Once U-Boot prompt is available, Power OFF the EVM. Set the SW1 dip switch to
diff --git a/doc/board/tq/tqma6ul.rst b/doc/board/tq/tqma6ul.rst
index 2b346715642..1928963bf14 100644
--- a/doc/board/tq/tqma6ul.rst
+++ b/doc/board/tq/tqma6ul.rst
@@ -49,7 +49,7 @@ U-Boot generic environment variable ``ethact``.
.. code-block:: bash
- setenv ethact <FEC>
+ env set ethact <FEC>
***********
Boot source
diff --git a/doc/board/xilinx/zynqmp-r5.rst b/doc/board/xilinx/zynqmp-r5.rst
index 266d07d1193..d12c1e8774d 100644
--- a/doc/board/xilinx/zynqmp-r5.rst
+++ b/doc/board/xilinx/zynqmp-r5.rst
@@ -95,7 +95,7 @@ visible from the following log::
ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 12, interface rgmii-id
eth0: ethernet@ff0e0000
Hit any key to stop autoboot: 0
- ZynqMP> setenv autoload no
+ ZynqMP> env set autoload no
ZynqMP> dhcp
BOOTP broadcast 1
DHCP client bound to address 192.168.0.167 (8 ms)
@@ -114,7 +114,7 @@ visible from the following log::
376 KiB/s
done
Bytes transferred = 2075464 (1fab48 hex)
- ZynqMP> setenv autostart no
+ ZynqMP> env set autostart no
ZynqMP> bootelf -p 20000000
ZynqMP> cpu 4 release 10000000 lockstep
Using TCM jump trampoline for address 0x10000000
diff --git a/doc/build/gen_compile_commands.rst b/doc/build/gen_compile_commands.rst
index 5eb9e4ccb0a..e67263eb82f 100644
--- a/doc/build/gen_compile_commands.rst
+++ b/doc/build/gen_compile_commands.rst
@@ -61,7 +61,7 @@ manage build configurations and code analysis. Some of these IDEs include:
3. **Qt Creator**: Qt Creator, a popular IDE for Qt development, also
supports compile_commands.json for C/C++ projects. Instructions on how to
use this feature can be found at
- https://doc.qt.io/qtcreator/creator-clang-codemodel.html#using-compilation-databases.
+ https://doc.qt.io/qtcreator/creator-how-to-use-compilation-databases.html
4. **Eclipse CDT**: Eclipse's C/C++ Development Tools (CDT) can be
configured to use JSON compilation databases for better project management.
diff --git a/doc/build/source.rst b/doc/build/source.rst
index d21ee055f33..8407945a13f 100644
--- a/doc/build/source.rst
+++ b/doc/build/source.rst
@@ -7,7 +7,7 @@ You can download the source via
.. code-block:: bash
- git clone https://source.denx.de/u-boot/u-boot.git
+ git clone https://git.u-boot-project.org/u-boot/u-boot.git
A mirror of the source is maintained on Github
diff --git a/doc/chromium/chainload.rst b/doc/chromium/chainload.rst
index 0f61e020db8..6f8a134c94b 100644
--- a/doc/chromium/chainload.rst
+++ b/doc/chromium/chainload.rst
@@ -34,7 +34,7 @@ Snow (Samsung ARM Chromebook)
See here:
-https://www.chromium.org/chromium-os/firmware-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook
+https://chromium.googlesource.com/playground/chromium-org-site/+/refs/heads/main/chromium-os/firmware-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook.md
Nyan-big
diff --git a/doc/chromium/overview.rst b/doc/chromium/overview.rst
index 790233cb668..97e2777691c 100644
--- a/doc/chromium/overview.rst
+++ b/doc/chromium/overview.rst
@@ -13,7 +13,7 @@ available:
- Running U-Boot from the 'altfw' feature, which is available on selected
Chromebooks from 2019 onwards (initially Grunt). Press '1' from the
developer-mode screen to get into U-Boot. See here for details:
- https://chromium.googlesource.com/chromiumos/docs/+/HEAD/developer_mode.md
+ https://www.chromium.org/chromium-os/developer-library/guides/device/developer-mode/
- Running U-Boot from the disk partition. This involves signing U-Boot and
placing it on the disk, for booting as a 'kernel'. See
@@ -44,7 +44,7 @@ Here is some material relevant to Chromium OS verified boot with U-Boot:
- Author: Simon Glass
- Presented at Open Source Firmware Conference 2018, Erlangen
- Describes the work in progress as at the end of 2018
- - Slides at `OSFC <https://2018.osfc.io/uploads/talk/paper/26/U-Boot_with_Chrome_OS_and_firmware_packaging.pdf>`_
+ - Slides at `OSFC <https://pretalx.com/media/osfc2018/submissions/YBHYHA/resources/U-Boot_with_Chrome_OS_and_firmware_packaging_Rju11gX.pdf>`_
- `Youtube video 'OSFC - U-Boot with Chrome OS and firmware packaging' <https://www.youtube.com/watch?v=1jknxUvmwpo>`_
- "Verified Boot in Chrome OS and how to make it work for you"
@@ -57,7 +57,7 @@ Here is some material relevant to Chromium OS verified boot with U-Boot:
spring (`HP Chromebook 11 <https://www.cnet.com/products/hp-chromebook-11-g2-11-6-exynos-5250-4-gb-ram-16-gb-emmc/>`_)
and pit/pi (`Samsung Chromebook 2 <https://www.cnet.com/products/samsung-chromebook-2-xe503c12-11-6-exynos-5-octa-4-gb-ram-16-gb-ssd/>`_
with Exynos 5 Octa 5420 in 2014).
- - Slides at `Google research <https://research.google/pubs/pub42038/>`_
+ - Slides at `Google research <https://elinux.org/images/0/05/Glass-chromeos_and_diy_vboot_0.pdf>`_
- `Youtube video 'Verified Boot on Chrome OS and How to do it yourself' <https://www.youtube.com/watch?v=kdpZC9jFzZA>`_
- "Chrome University 2018: Chrome OS Firmware and Verified Boot 201"
@@ -71,4 +71,4 @@ Here is some material relevant to Chromium OS verified boot with U-Boot:
- `Chromium OS U-Boot <https://www.chromium.org/developers/u-boot>`_
- - `Firmware porting Guide <https://www.chromium.org/chromium-os/firmware-porting-guide>`_
+ - `Firmware porting Guide <https://www.chromium.org/chromium-os/developer-library/guides/firmware/firmware-porting-guide/>`_
diff --git a/doc/develop/bootstd/overview.rst b/doc/develop/bootstd/overview.rst
index 397f6db18b4..cf8ef419d4b 100644
--- a/doc/develop/bootstd/overview.rst
+++ b/doc/develop/bootstd/overview.rst
@@ -152,7 +152,7 @@ boot_targets
This environment variable can be used to control the list of bootdevs searched
and their ordering, for example::
- setenv boot_targets "mmc0 mmc1 usb pxe"
+ env set boot_targets "mmc0 mmc1 usb pxe"
Entries may be removed or re-ordered in this list to affect the boot order. If
the variable is empty, the default ordering is used, based on the priority of
@@ -169,7 +169,7 @@ used by the old distro scripts.
This environment variable can be used to control the list of bootmeths used and
their ordering for example::
- setenv bootmeths "extlinux efi"
+ env set bootmeths "extlinux efi"
Entries may be removed or re-ordered in this list to affect the order the
bootmeths are tried on each bootdev. If the variable is empty, the default
@@ -882,7 +882,7 @@ Other ideas:
.. _distro_bootcmd: https://github.com/u-boot/u-boot/blob/master/include/config_distro_bootcmd.h
-.. _BootLoaderSpec: http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/
-.. _distro_boot: https://github.com/u-boot/u-boot/blob/master/boot/distro.c
+.. _BootLoaderSpec: https://uapi-group.org/specifications/specs/boot_loader_specification/
+.. _distro_boot: https://github.com/u-boot/u-boot/blob/v2023.04/boot/bootmeth_distro.c
.. _bootflow_h: https://github.com/u-boot/u-boot/blob/master/include/bootflow.h
.. _migrate_patch: https://patchwork.ozlabs.org/project/uboot/patch/[email protected]/
diff --git a/doc/develop/coccinelle.rst b/doc/develop/coccinelle.rst
index 70274c3f5f5..d0ad803fc7b 100644
--- a/doc/develop/coccinelle.rst
+++ b/doc/develop/coccinelle.rst
@@ -34,7 +34,7 @@ of many distributions, e.g. :
Some distribution packages are obsolete and it is recommended
to use the latest version released from the Coccinelle homepage at
-http://coccinelle.lip6.fr/
+https://coccinelle.gitlabpages.inria.fr/website/
Or from Github at:
@@ -58,15 +58,9 @@ https://github.com/coccinelle/coccinelle/blob/master/install.txt
Supplemental documentation
--------------------------
-For supplemental documentation refer to the wiki:
-
-https://bottest.wiki.kernel.org/coccicheck
-
-The wiki documentation always refers to the linux-next version of the script.
-
For Semantic Patch Language(SmPL) grammar documentation refer to:
-http://coccinelle.lip6.fr/documentation.php
+https://coccinelle.gitlabpages.inria.fr/website/documentation.html
Using Coccinelle on the Linux kernel
------------------------------------
diff --git a/doc/develop/distro.rst b/doc/develop/distro.rst
index 01efce40a29..5e906750119 100644
--- a/doc/develop/distro.rst
+++ b/doc/develop/distro.rst
@@ -384,22 +384,22 @@ boot_scripts:
scan_dev_for_extlinux:
If you want to disable extlinux.conf on all disks, set the value to something
- innocuous, e.g. setenv scan_dev_for_extlinux true.
+ innocuous, e.g. env set scan_dev_for_extlinux true.
scan_dev_for_scripts:
If you want to disable boot.scr on all disks, set the value to something
- innocuous, e.g. setenv scan_dev_for_scripts true.
+ innocuous, e.g. env set scan_dev_for_scripts true.
boot_net_usb_start:
If you want to prevent USB enumeration by distro boot commands which execute
- network operations, set the value to something innocuous, e.g. setenv
+ network operations, set the value to something innocuous, e.g. env set
boot_net_usb_start true. This would be useful if you know your Ethernet
device is not attached to USB, and you wish to increase boot speed by
avoiding unnecessary actions.
boot_net_pci_enum:
If you want to prevent PCI enumeration by distro boot commands which execute
- network operations, set the value to something innocuous, e.g. setenv
+ network operations, set the value to something innocuous, e.g. env set
boot_net_pci_enum true. This would be useful if you know your Ethernet
device is not attached to PCI, and you wish to increase boot speed by
avoiding unnecessary actions.
diff --git a/doc/develop/driver-model/fs_firmware_loader.rst b/doc/develop/driver-model/fs_firmware_loader.rst
index 149b8b436ec..630daf636f1 100644
--- a/doc/develop/driver-model/fs_firmware_loader.rst
+++ b/doc/develop/driver-model/fs_firmware_loader.rst
@@ -6,7 +6,7 @@ File System Firmware Loader
This is file system firmware loader for U-Boot framework, which has very close
to some Linux Firmware API. For the details of Linux Firmware API, you can refer
-to https://01.org/linuxgraphics/gfx-docs/drm/driver-api/firmware/index.html.
+to https://docs.kernel.org/driver-api/firmware/index.html.
File system firmware loader can be used to load whatever(firmware, image,
and binary) from the storage device in file system format into target location
diff --git a/doc/develop/driver-model/serial-howto.rst b/doc/develop/driver-model/serial-howto.rst
index 17b53e3cabf..8ca9a016f9a 100644
--- a/doc/develop/driver-model/serial-howto.rst
+++ b/doc/develop/driver-model/serial-howto.rst
@@ -97,8 +97,8 @@ Here are some things you might need to consider:
uart2: uart2 {
uart2_xfer: uart2-xfer {
- rockchip,pins = <1 RK_PC2 RK_FUNC_2 &pcfg_pull_up>,
- <1 RK_PC3 RK_FUNC_2 &pcfg_pull_none>;
+ rockchip,pins = <1 RK_PC2 2 &pcfg_pull_up>,
+ <1 RK_PC3 2 &pcfg_pull_none>;
};
...
};
diff --git a/doc/develop/driver-model/virtio.rst b/doc/develop/driver-model/virtio.rst
index 9a5e3240c3c..e5da9f4301c 100644
--- a/doc/develop/driver-model/virtio.rst
+++ b/doc/develop/driver-model/virtio.rst
@@ -284,5 +284,5 @@ for the remove method to be called before jumping to OS.
6. do funny stuff with the driver
-.. _VirtIO: http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf
+.. _VirtIO: https://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf
.. _QEMU: https://www.qemu.org
diff --git a/doc/develop/process.rst b/doc/develop/process.rst
index 3c783ed5a0e..8ade440d84b 100644
--- a/doc/develop/process.rst
+++ b/doc/develop/process.rst
@@ -236,7 +236,7 @@ Tooling
There are a number of tools available to help custodians and
contributors alike with their contributions. As a project we make use of
-the Patchwork project hosted at `OzLabs <http://patchwork.ozlabs.org/>`__
+the Patchwork project hosted at `OzLabs <https://patchwork.ozlabs.org/>`__
and more discussion on how it is used from both a contributor as well as
custodian point of view can be found :ref:`here <patchwork>`.
diff --git a/doc/develop/pytest/test_fit_verity_sign.rst b/doc/develop/pytest/test_fit_verity_sign.rst
new file mode 100644
index 00000000000..94a39b08952
--- /dev/null
+++ b/doc/develop/pytest/test_fit_verity_sign.rst
@@ -0,0 +1,10 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+test_fit_verity_sign
+====================
+
+.. automodule:: test_fit_verity_sign
+ :synopsis:
+ :member-order: bysource
+ :members:
+ :undoc-members:
diff --git a/doc/develop/pytest/usage.rst b/doc/develop/pytest/usage.rst
index 6002244d608..a9b8b8bd610 100644
--- a/doc/develop/pytest/usage.rst
+++ b/doc/develop/pytest/usage.rst
@@ -411,7 +411,7 @@ The board can be switched off now.
Examples
''''''''
-https://source.denx.de/u-boot/u-boot-test-hooks contains some working example hook
+https://git.u-boot-project.org/u-boot/u-boot-test-hooks contains some working example hook
scripts, and may be useful as a reference when implementing hook scripts for
your platform. These scripts are not considered part of U-Boot itself.
diff --git a/doc/develop/release_cycle.rst b/doc/develop/release_cycle.rst
index a454d343676..d6b2d22697d 100644
--- a/doc/develop/release_cycle.rst
+++ b/doc/develop/release_cycle.rst
@@ -55,10 +55,10 @@ Current Status
* U-Boot v2026.07 was released on Monday, 06 July 2026.
-* The Merge Window for the next release (|next_ver|) is **open** until the -rc1
+* The Merge Window for the next release (|next_ver|) is **closed** with the -rc1
release on Monday, 27 July 2026.
-* The next branch is now **closed** until the -rc2 release on Monday, 10
+* The next branch is now **open** with the -rc2 release on Monday, 10
August 2026.
* Release "|next_ver|" is scheduled for Monday, 05 October 2026.
@@ -69,13 +69,13 @@ Future Releases
.. The following commented out dates are for when release candidates are
planned to be tagged.
-.. For the next scheduled release, release candidates were made on:
+For the next scheduled release, release candidates were made on:
-.. * U-Boot |next_ver|-rc1 was released on Mon 27 July 2026.
+* U-Boot |next_ver|-rc1 was released on Mon 27 July 2026.
-.. * U-Boot |next_ver|-rc2 was released on Mon 10 August 2026.
+* U-Boot |next_ver|-rc2 was released on Mon 10 August 2026.
-.. * U-Boot |next_ver|-rc3 was released on Mon 24 August 2026.
+* U-Boot |next_ver|-rc3 was released on Mon 24 August 2026.
.. * U-Boot |next_ver|-rc4 was released on Mon 07 September 2026.
@@ -96,7 +96,7 @@ Previous Releases
-----------------
Note: these statistics are generated by our fork of `gitdm
-<https://source.denx.de/u-boot/gitdm>`_, which was originally created by
+<https://git.u-boot-project.org/u-boot/gitdm>`_, which was originally created by
Jonathan Corbet.
* :doc:`statistics/u-boot-stats-v2026.07` which was released on 06 July 2026.
diff --git a/doc/develop/security.rst b/doc/develop/security.rst
index 84b130646f3..ed652ec756e 100644
--- a/doc/develop/security.rst
+++ b/doc/develop/security.rst
@@ -11,7 +11,7 @@ Contact
-------
The preferred initial point of contact is to send email to
-`[email protected]` and use `scripts/get_maintainers.pl` to also include any
+`[email protected]` and use `scripts/get_maintainers.pl` to also include any
relevant custodians. In addition, Tom Rini should be contacted at
diff --git a/doc/develop/sending_patches.rst b/doc/develop/sending_patches.rst
index c3e0ef27824..b4f82eb18e1 100644
--- a/doc/develop/sending_patches.rst
+++ b/doc/develop/sending_patches.rst
@@ -5,7 +5,7 @@ Sending patches
*Before you begin* to implement any new ideas or concepts it is always a good
idea to present your plans on the `U-Boot mailing list
-<https://lists.denx.de/listinfo/u-boot>`_. U-Boot supports a huge amount of
+<https://lists.u-boot-project.org/mailman/listinfo/u-boot>`_. U-Boot supports a huge amount of
very different systems, and it is often impossible for the individual developer
to oversee the consequences of a specific change to all architectures.
Discussing concepts early can help you to avoid spending effort on code which,
@@ -15,7 +15,7 @@ resource - use it. Being familiar with the :doc:`process` is also important.
A good introduction how to prepare for submitting patches can be found in the
LWN article `How to Get Your Change Into the Linux Kernel
-<http://lwn.net/Articles/139918/>`_ as the same rules apply to U-Boot, too.
+<https://lwn.net/Articles/139918/>`_ as the same rules apply to U-Boot, too.
.. _b4_contrib:
@@ -25,7 +25,7 @@ Using b4
Use the `b4 <https://b4.docs.kernel.org/en/latest/>`__ tool to prepare and send
your patches. b4 has become the preferred tool to sending patches for many Linux
kernel contributors, and U-Boot ships with a ready-to-use ``.b4-config`` that
-targets ``[email protected]`` and integrates with ``scripts/get_maintainer.pl``
+targets ``[email protected]`` and integrates with ``scripts/get_maintainer.pl``
for recipient discovery.
Start a topical series with ``b4 prep`` and keep the commits organised with
@@ -51,7 +51,7 @@ additional runs.
When the series is ready, use ``b4 send``. Begin with ``--dry-run`` to review the
generated emails and ``--reflect`` to copy yourself for records before
-dispatching to ``[email protected]``.
+dispatching to ``[email protected]``.
.. code-block:: bash
@@ -86,8 +86,8 @@ patman now lives outside the U-Boot tree; install it with
General Patch Submission Rules
------------------------------
-* All patches must be sent to the `[email protected]
- <https://lists.denx.de/listinfo/u-boot>`_ mailing list.
+* All patches must be sent to the `[email protected]
+ <https://lists.u-boot-project.org/mailman/listinfo/u-boot>`_ mailing list.
* If your patch affects the code maintained by one of the :ref:`custodians`, CC
them when emailing your patch. The easiest way to make sure you don't forget
@@ -134,7 +134,7 @@ General Patch Submission Rules
patches is by using the ``git format-patch`` command. For a patch that is
fixing a bug or regression of some sort, please use the ``master`` branch of
the mainline U-Boot git repository located at
- https://source.denx.de/u-boot/u-boot.git as reference. For new features, if
+ https://git.u-boot-project.org/u-boot/u-boot.git as reference. For new features, if
the ``next`` branch has been opened (which happens with the release of
``-rc2``) that branch should be used, otherwise ``master`` is acceptable.
@@ -142,10 +142,6 @@ General Patch Submission Rules
like wrapping of longer lines etc.
The best way to send patches is by not using your regular mail tool, but by
using either ``git send-email`` or the ``git imap-send`` command instead.
- If you believe you need to use a mailing list for testing (instead of any
- regular mail address you own), we have a special test list for such purposes.
- It would be best to subscribe to the list for the duration of your tests to
- avoid repeated moderation - see https://lists.denx.de/listinfo/test
* Choose a meaningful Subject: - keep in mind that the Subject will also be
visible as headline of your commit message. Make sure the subject does not
@@ -317,7 +313,7 @@ to observe the following rules.
Note: it is *not* sufficient to provide a change log in some cover letter
that gets sent as a separate message with the patch series. The reason is
that such cover letters are not as easily reviewed in our `patchwork queue
- <http://patchwork.ozlabs.org/project/uboot/list/>`_ so they are not helpful
+ <https://patchwork.ozlabs.org/project/uboot/list/>`_ so they are not helpful
to any reviewers using this tool. Example::
From: Joe Hacker <[email protected]>
@@ -353,15 +349,15 @@ posted before, look up the old threads, and then manually compare if anything
has been changed, or what.
If you have problems with your e-mail client, for example because it mangles
-white space or wraps long lines, then please read this article about `Email
-Clients and Patches <http://kerneltrap.org/Linux/Email_Clients_and_Patches>`_.
+white space or wraps long lines, then please read this about `Email
+Clients and Patches <https://docs.kernel.org/process/email-clients.html>`_.
Notes
-----
1. U-Boot is Free Software that can redistributed and/or modified under the
terms of the `GNU General Public License
- <http://www.fsf.org/licensing/licenses/gpl.html>`_ (GPL). Currently (August
+ <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>`_ (GPL). Currently (August
2022) version 2 of the GPL applies. Please see :download:`Licensing
<../../Licenses/README>` for details. To allow that later versions of U-Boot
may be released under a later version of the GPL, all new code that gets
@@ -384,12 +380,12 @@ Notes
Patch Tracking
--------------
-Like some other projects, U-Boot uses `Patchwork <http://patchwork.ozlabs.org/>`__
+Like some other projects, U-Boot uses `Patchwork <https://patchwork.ozlabs.org/>`__
to track the state of patches. This is one of the reasons why it is mandatory
to submit all patches to the U-Boot mailing list - only then they will be
picked up by patchwork.
-At http://patchwork.ozlabs.org/project/uboot/list/ you can find the list of
+At https://patchwork.ozlabs.org/project/uboot/list/ you can find the list of
open U-Boot patches. By using the "Filters" link (Note: requires JavaScript)
you can also select other views, for example, to include old patches that have,
for example, already been applied or rejected.
@@ -474,14 +470,13 @@ Apply patches
^^^^^^^^^^^^^
To apply a patch from the `patchwork queue
-<http://patchwork.ozlabs.org/project/uboot/list/>`_ using ``git``, download the
+<https://patchwork.ozlabs.org/project/uboot/list/>`_ using ``git``, download the
mbox file and apply it using::
git am file
-The `openembedded wiki <http://wiki.openembedded.net/>`_ also provides a script
-named `pw-am.sh
-<http://cgit.openembedded.org/cgit.cgi/openembedded/tree/contrib/patchwork/pw-am.sh>`_
+OpenEmbedded also provides a script named `pw-am.sh
+<https://git.openembedded.org/openembedded/tree/contrib/patchwork/pw-am.sh>`_
which can be used to fetch an 'mbox' patch from patchwork and git am it::
usage: pw-am.sh <number>
@@ -500,7 +495,7 @@ The `pwclient` command line tool can be used for example to retrieve patches,
search the queue or update the state.
All necessary information for `pwclient` is linked from the bottom of
-http://patchwork.ozlabs.org/project/uboot/
+https://patchwork.ozlabs.org/project/uboot/
Use::
@@ -511,4 +506,4 @@ for an overview on how to use it.
pwparser
^^^^^^^^
-See http://www.mail-archive.com/[email protected]/msg00057.html
+See https://lists.ozlabs.org/pipermail/patchwork/2010-January/000186.html
diff --git a/doc/develop/tests_writing.rst b/doc/develop/tests_writing.rst
index 1a020caa411..1a6d13f6c7c 100644
--- a/doc/develop/tests_writing.rst
+++ b/doc/develop/tests_writing.rst
@@ -236,7 +236,7 @@ Include ``test/ut.h`` defines a number of macros to check values and to return
from the test function if the assertion fails. See :doc:`../api/test`
for details.
-[1] https://gitlab.denx.de/u-boot/u-boot/-/commit/9fe064646d2
+[1] https://git.u-boot-project.org/u-boot/u-boot/-/commit/9fe064646d
Add a new driver model test
@@ -282,7 +282,7 @@ implementations work as expected.
Example commit: c48cb7ebfb4 ("sandbox: add ADC unit tests") [1]
-[1] https://gitlab.denx.de/u-boot/u-boot/-/commit/c48cb7ebfb4
+[1] https://git.u-boot-project.org/u-boot/u-boot/-/commit/c48cb7ebfb4
Add a new test suite
diff --git a/doc/develop/uefi/iscsi.rst b/doc/develop/uefi/iscsi.rst
index 51d38cde243..104ef87705f 100644
--- a/doc/develop/uefi/iscsi.rst
+++ b/doc/develop/uefi/iscsi.rst
@@ -125,17 +125,17 @@ iPXE
For running iPXE on arm64 the bin-arm64-efi/snp.efi build target is needed::
- git clone http://git.ipxe.org/ipxe.git
+ git clone https://github.com/ipxe/ipxe
cd ipxe/src
make bin-arm64-efi/snp.efi -j6 EMBED=myscript.ipxe
The available commands for the boot script are documented at:
-http://ipxe.org/cmd
+https://ipxe.org/cmd
Credentials are managed as environment variables. These are described here:
-http://ipxe.org/cfg
+https://ipxe.org/cfg
iPXE by default will put the CPU to rest when waiting for input. U-Boot does
not wake it up due to missing interrupt support. To avoid this behavior create
diff --git a/doc/develop/uefi/u-boot_on_efi.rst b/doc/develop/uefi/u-boot_on_efi.rst
index 177e887ebd9..883bd2b1451 100644
--- a/doc/develop/uefi/u-boot_on_efi.rst
+++ b/doc/develop/uefi/u-boot_on_efi.rst
@@ -300,9 +300,9 @@ Content of **boot.scr**:
.. code-block:: bash
ext4load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} ${prefix}Image
- setenv kernel_size ${filesize}
+ env set kernel_size ${filesize}
ext4load ${devtype} ${devnum}:${distro_bootpart} ${ramdisk_addr_r} ${prefix}Initrd
- setenv initrd_size ${filesize}
+ env set initrd_size ${filesize}
zboot ${kernel_addr_r} ${kernel_size} ${ramdisk_addr_r} ${initrd_size}
Extlinux configuration
diff --git a/doc/develop/uefi/uefi.rst b/doc/develop/uefi/uefi.rst
index 3ca22b572a9..94ddf690440 100644
--- a/doc/develop/uefi/uefi.rst
+++ b/doc/develop/uefi/uefi.rst
@@ -170,11 +170,11 @@ Sign an image with one of the keys in "db" on your host
Now in U-Boot install the keys on your board::
fatload mmc 0:1 <tmpaddr> PK.auth
- setenv -e -nv -bs -rt -at -i <tmpaddr>:$filesize PK
+ env set -e -nv -bs -rt -at -i <tmpaddr>:$filesize PK
fatload mmc 0:1 <tmpaddr> KEK.auth
- setenv -e -nv -bs -rt -at -i <tmpaddr>:$filesize KEK
+ env set -e -nv -bs -rt -at -i <tmpaddr>:$filesize KEK
fatload mmc 0:1 <tmpaddr> db.auth
- setenv -e -nv -bs -rt -at -i <tmpaddr>:$filesize db
+ env set -e -nv -bs -rt -at -i <tmpaddr>:$filesize db
Set up boot parameters on your board::
@@ -412,7 +412,7 @@ bit in OsIndications variable with
.. code-block:: console
- => setenv -e -nv -bs -rt -v OsIndications =0x0000000000000004
+ => env set -e -nv -bs -rt -v OsIndications =0x0000000000000004
Since U-Boot doesn't currently support SetVariable at runtime, its value
won't be taken over across the reboot. If this is the case, you can skip
@@ -698,12 +698,12 @@ end up with "host not found".
We need to preset the "httpserverip" environment variable to proceed the wget::
- setenv httpserverip 192.168.1.1
+ env set httpserverip 192.168.1.1
UEFI HTTP(s) Boot using lwIP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Similar to the above U-Boot can do EFI HTTP boot using lwIP. If we combine this
-with Mbed TLS we can also download from https://
+with Mbed TLS we can also download from HTTPS.
HTTP(s) Boot can be activated by specifying::
@@ -789,7 +789,7 @@ If the environment variable is set to 'list' a list of all tests is shown.
Below you can find the output of an example session::
- => setenv efi_selftest simple network protocol
+ => env set efi_selftest simple network protocol
=> bootefi selftest
Testing EFI API implementation
Selected test: 'simple network protocol'
diff --git a/doc/device-tree-bindings/usb/mediatek,mtk-xhci.txt b/doc/device-tree-bindings/usb/mediatek,mtk-xhci.txt
deleted file mode 100644
index e26e9618eb9..00000000000
--- a/doc/device-tree-bindings/usb/mediatek,mtk-xhci.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-MediaTek xHCI
-
-The device node for USB3 host controller on MediaTek SoCs.
-
-Required properties:
- - compatible : should be one of
- "mediatek,mtk-xhci"
- "mediatek,mt8195-xhci"
- - reg : specifies physical base address and size of the registers
- - reg-names: should be "mac" for xHCI MAC and "ippc" for IP port control
- - power-domains : a phandle to USB power domain node to control USB's
- MTCMOS
- - vusb33-supply : regulator of USB avdd3.3v
-
- - clocks : a list of phandle + clock-specifier pairs, one for each
- entry in clock-names
- - clock-names : must contain
- "sys_ck": controller clock used by normal mode,
- the following ones are optional:
- "ref_ck": reference clock used by low power mode etc,
- "mcu_ck": mcu_bus clock for register access,
- "dma_ck": dma_bus clock for data transfer by DMA,
- "xhci_ck": controller clock
-
- - phys : list of all the USB PHYs on this HCD
- - phy-names: name specifier for the USB PHY
-
-Optional properties:
- - vbus-supply : reference to the VBUS regulator;
- - mediatek,u3p-dis-msk : mask to disable u3ports, bit0 for u3port0,
- bit1 for u3port1, ... etc;
- - mediatek,u2p-dis-msk : mask to disable u2ports, bit0 for u2port0,
- bit1 for u2port1, ... etc;
-
-Example:
-xhci: usb@1a0c0000 {
- compatible = "mediatek,mt7629-xhci", "mediatek,mtk-xhci";
- reg = <0x1a0c0000 0x1000>, <0x1a0c3e00 0x0100>;
- reg-names = "mac", "ippc";
- power-domains = <&scpsys MT7629_POWER_DOMAIN_HIF1>;
- clocks = <&ssusbsys CLK_SSUSB_SYS_EN>, <&ssusbsys CLK_SSUSB_REF_EN>,
- <&ssusbsys CLK_SSUSB_MCU_EN>, <&ssusbsys CLK_SSUSB_DMA_EN>;
- clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck";
- phys = <&u2port0 PHY_TYPE_USB2>, <&u3port0 PHY_TYPE_USB3>;
- status = "disabled";
-};
diff --git a/doc/device-tree-bindings/usb/mediatek,mtu3.txt b/doc/device-tree-bindings/usb/mediatek,mtu3.txt
deleted file mode 100644
index ab877bfa89f..00000000000
--- a/doc/device-tree-bindings/usb/mediatek,mtu3.txt
+++ /dev/null
@@ -1,79 +0,0 @@
-The device node for Mediatek USB3 DRD controller
-
-Required properties:
- - compatible : should be "mediatek,<soc-model>-mtu3", "mediatek,mtu3",
- soc-model is the name of SoC, such as mt8512 etc,
- when using "mediatek,mtu3" compatible string, you need SoC specific
- ones in addition, one of:
- - "mediatek,mt8512-mtu3"
- - reg : specifies physical base address and size of the registers
- - reg-names: should be
- - "ippc" : IP Port Control
- - power-domains : a phandle to USB power domain node to control USB's MTCMOS
- - clocks : a list of phandle + clock-specifier pairs, one for each
- entry in clock-names
- - clock-names : must contain "sys_ck" for clock of controller,
- the following clocks are optional:
- "ref_ck", "mcu_ck", "dma_ck" and "xhci_ck";
- - phys : list of all the USB PHYs on this HCD
- - #address-cells, #size-cells : used for sub-nodes with 'reg' property
- - ranges : allows valid 1:1 translation between child's address space and
- parent's address space
-
-Optional properties:
- - vusb33-supply : regulator of USB AVDD3.3v
- - vbus-supply : regulator of VBUS 5v, needed when supports host mode.
-
-Sub-nodes:
-Required properties:
- - compatible : should be "mediatek,ssusb"
- - reg : specifies physical base address and size of the registers
- - reg-names: should be
- - "mac" : SSUSB MAC, include xHCI and device
- - interrupts : interrupt used by xHCI or device
- - dr_mode : should be one of "host" or "peripheral",
- see : usb/generic.txt
-
-Optional properties:
- - pinctrl-names : a pinctrl state named "default" is optional
- - pinctrl-0 : pin control group
- See: pinctrl/pinctrl-bindings.txt
-
- - device mode:
- - maximum-speed : valid arguments are "full-speed", "high-speed",
- "super-speed" and "super-speed-plus",
- see: usb/generic.txt
- - mediatek,force-vbus : force vbus as valid by SW
-
- - host mode (dr_mode is "host"):
- - mediatek,u3p-dis-msk : mask to disable u3ports, bit0 for u3port0,
- bit1 for u3port1, ... etc;
-
-Example:
-usb3: usb@11213e00 {
- compatible = "mediatek,mt8512-mtu3", "mediatek,mtu3";
- reg = <0x11213e00 0x0100>;
- reg-names = "ippc";
- phys = <&u2port0 PHY_TYPE_USB2>, <&u2port1 PHY_TYPE_USB2>;
- power-domains = <&scpsys MT8512_POWER_DOMAIN_USB>;
- clocks = <&infracfg CLK_INFRA_USB_SYS>,
- <&topckgen CLK_TOP_SSUSB_TOP_CK_EN>,
- <&infracfg CLK_INFRA_ICUSB>;
- clock-names = "sys_ck", "ref_ck", "mcu_ck";
- vusb33-supply = <reg_3p3v>;
- vbus-supply = <&usb_p0_vbus>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges;
- status = "disabled";
-
- ssusb: usb@11210000 {
- compatible = "mediatek,ssusb";
- reg = <0x11210000 0x3e00>;
- interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_LOW>;
- reg-names = "mac";
- dr_mode = "peripheral";
- maximum-speed = "high-speed";
- status = "disabled";
- };
-};
diff --git a/doc/git-mailrc b/doc/git-mailrc
index 65626d89eac..5a78376aa77 100644
--- a/doc/git-mailrc
+++ b/doc/git-mailrc
@@ -5,7 +5,7 @@
# Then when sending patches, you can use:
# git send-email --to u-boot --cc i2c ...
-alias uboot [email protected]
+alias uboot [email protected]
alias u-boot uboot
# Maintainer aliases. Use the same alias here as patchwork to keep
@@ -17,7 +17,7 @@ alias ag Anatolij Gustschin <[email protected]>
alias agraf Alexander Graf <[email protected]>
alias alexnemirovsky Alex Nemirovsky <[email protected]>
alias alisonwang Alison Wang <[email protected]>
-alias angelo_ts Angelo Dureghello <[email protected]>
+alias angelo_ts Angelo Dureghello <[email protected]>
alias apritzel Andre Przywara <[email protected]>
alias bmeng Bin Meng <[email protected]>
alias danielschwierzeck Daniel Schwierzeck <[email protected]>
diff --git a/doc/imx/habv4/guides/mx8m_spl_secure_boot.txt b/doc/imx/habv4/guides/mx8m_spl_secure_boot.txt
index 1bea091344d..a3ebd397d82 100644
--- a/doc/imx/habv4/guides/mx8m_spl_secure_boot.txt
+++ b/doc/imx/habv4/guides/mx8m_spl_secure_boot.txt
@@ -167,17 +167,25 @@ The nxp-imx8mcst etype is configurable using either DT properties or environment
variables. The following DT properties and environment variables are supported.
Note that environment variables override DT properties.
-+--------------------+-----------+------------------------------------------------------------------+
-| DT property | Variable | Description |
-+====================+===========+==================================================================+
-| nxp,loader-address | | SPL base address |
-+--------------------+-----------+------------------------------------------------------------------+
-| nxp,srk-table | SRK_TABLE | full path to SRK_1_2_3_4_table.bin |
-+--------------------+-----------+------------------------------------------------------------------+
-| nxp,csf-crt | CSF_KEY | full path to the CSF Key CSF1_1_sha256_4096_65537_v3_usr_crt.pem |
-+--------------------+-----------+------------------------------------------------------------------+
-| nxp,img-crt | IMG_KEY | full path to the IMG Key IMG1_1_sha256_4096_65537_v3_usr_crt.pem |
-+--------------------+-----------+------------------------------------------------------------------+
++--------------------+-------------+------------------------------------------------------------------+
+| DT property | Variable | Description |
++====================+=============+==================================================================+
+| nxp,loader-address | | SPL base address |
++--------------------+-------------+------------------------------------------------------------------+
+| nxp,srk-table | SRK_TABLE | full path to SRK_1_2_3_4_table.bin |
++--------------------+-------------+------------------------------------------------------------------+
+| nxp,csf-crt | CSF_KEY | full path to the CSF Key CSF1_1_sha256_4096_65537_v3_usr_crt.pem |
++--------------------+-------------+------------------------------------------------------------------+
+| nxp,img-crt | IMG_KEY | full path to the IMG Key IMG1_1_sha256_4096_65537_v3_usr_crt.pem |
++--------------------+-------------+------------------------------------------------------------------+
+| nxp,fast-auth | | enable fast authentication method |
++--------------------+-------------+------------------------------------------------------------------+
+| nxp,srk-crt | SRK_KEY | full path to the SRK Key SRK1_sha256_4096_65537_v3_ca_crt.pem |
++--------------------+-------------+------------------------------------------------------------------+
+| nxp,unlock | | unlock CAAM in SPL |
++--------------------+-------------+------------------------------------------------------------------+
+| nxp,cst-backend | CST_BACKEND | CST tool backend, default is 'ssl', or selectable 'pkcs11' |
++--------------------+-------------+------------------------------------------------------------------+
Environment variables can be set as follows to point the build process
to external key material:
diff --git a/doc/index.rst b/doc/index.rst
index 5d732ff7a54..7397baeee0a 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -9,7 +9,7 @@ This is the top level of the U-Boot's documentation tree. U-Boot
documentation, like the U-Boot itself, is very much a work in progress;
that is especially true as we work to integrate our many scattered
documents into a coherent whole. Please note that improvements to the
-documentation are welcome; join the U-Boot list at http://lists.denx.de
+documentation are welcome; join the U-Boot list at https://lists.u-boot-project.org/mailman/listinfo/u-boot
if you want to help out.
.. toctree::
diff --git a/doc/learn/talks.rst b/doc/learn/talks.rst
index d65e3b92be1..0eca2daf803 100644
--- a/doc/learn/talks.rst
+++ b/doc/learn/talks.rst
@@ -8,8 +8,7 @@ learn a bit about U-Boot:
* `Tutorial: Introduction to the Embedded Boot Loader U-boot - Behan Webster,
Converse in Code <https://www.youtube.com/watch?v=INWghYZH3hI>`__
- from Embedded Linux Conference 2020
- (`slides <https://cm.e-ale.org/2020/ELC2020/intro-to-u-boot/intro-to-u-boot-2020.pdf>`__).
+ from Embedded Linux Conference 2020.
* `Recent Advances in U-Boot - Simon Glass, Google Inc.
<https://www.youtube.com/watch?v=YlJBsVZJkDI>`__
diff --git a/doc/usage/cmd/askenv.rst b/doc/usage/cmd/askenv.rst
index a8867ce4d26..0aebc70214f 100644
--- a/doc/usage/cmd/askenv.rst
+++ b/doc/usage/cmd/askenv.rst
@@ -44,7 +44,7 @@ Value of a environment variable env1 without message and size parameters:
=> askenv env1
Please enter 'env1': val1
- => printenv env1
+ => env print env1
env1=val1
Value of a environment variable env2 with message and size parameters:
@@ -53,7 +53,7 @@ Value of a environment variable env2 with message and size parameters:
=> askenv env2 Please type-in a value for env2: 10
Please type-in a value for env2: 1234567890123
- => printenv env2
+ => env print env2
env2=1234567890
Value of a environment variable env3 with size parameter only:
@@ -62,7 +62,7 @@ Value of a environment variable env3 with size parameter only:
=> askenv env3 10
Please enter 'env3': val3
- => printenv env3
+ => env print env3
env3=val3
Configuration
diff --git a/doc/usage/cmd/bootd.rst b/doc/usage/cmd/bootd.rst
index 619cfb601a0..b76930ed929 100644
--- a/doc/usage/cmd/bootd.rst
+++ b/doc/usage/cmd/bootd.rst
@@ -24,13 +24,13 @@ Example
::
- => setenv bootcmd 'echo Hello World'
+ => env set bootcmd 'echo Hello World'
=> bootd
Hello World
- => setenv bootcmd true
+ => env set bootcmd true
=> bootd; echo $?
0
- => setenv bootcmd false
+ => env set bootcmd false
=> bootd; echo $?
1
diff --git a/doc/usage/cmd/bootefi.rst b/doc/usage/cmd/bootefi.rst
index 7c5448586b7..8b237fd75fb 100644
--- a/doc/usage/cmd/bootefi.rst
+++ b/doc/usage/cmd/bootefi.rst
@@ -48,7 +48,7 @@ or
::
- setenv bootargs root=/dev/vda1
+ env set bootargs root=/dev/vda1
load mmc 0:1 $fdt_addr_r dtb
load mmc 0:1 $kernel_addr_r vmlinux
load mmc 0:1 $initrd_addr_r intird
@@ -117,7 +117,7 @@ the *bootefi hello* sub-command. A session might look like
::
- => setenv bootargs 'Greetings to the world'
+ => env set bootargs 'Greetings to the world'
=> bootefi hello
Booting /MemoryMapped(0x0,0x10001000,0x1000)
Hello, world!
@@ -140,7 +140,7 @@ To show a list of the available unit tests the value *list* can be used
::
- => setenv efi_selftest list
+ => env set efi_selftest list
=> bootefi selftest
Available tests:
@@ -154,7 +154,7 @@ environment variable to match one of the listed identifiers
::
- => setenv efi_selftest 'block image transfer'
+ => env set efi_selftest 'block image transfer'
=> bootefi selftest
Some of the tests execute the ExitBootServices() UEFI boot service and will not
diff --git a/doc/usage/cmd/booti.rst b/doc/usage/cmd/booti.rst
index 313efb83cc6..c8e847eae22 100644
--- a/doc/usage/cmd/booti.rst
+++ b/doc/usage/cmd/booti.rst
@@ -77,8 +77,8 @@ Here is the boot log for the compressed kernel:
::
- => setenv kernel_comp_addr_r 0x50000000
- => setenv kernel_comp_size 0x04000000
+ => env set kernel_comp_addr_r 0x50000000
+ => env set kernel_comp_size 0x04000000
=> load mmc 0:1 $fdt_addr_r dtb-5.10.0-3-arm64
27530 bytes read in 6 ms (4.4 MiB/s)
=> load mmc 0:1 $kernel_addr_r vmlinuz-5.10.0-3-arm64.gz
diff --git a/doc/usage/cmd/bootmenu.rst b/doc/usage/cmd/bootmenu.rst
index cd5597bc646..e76e6a6cb6c 100644
--- a/doc/usage/cmd/bootmenu.rst
+++ b/doc/usage/cmd/bootmenu.rst
@@ -75,10 +75,10 @@ to the user.
Example environment::
- setenv bootmenu_0 Boot 1. kernel=bootm 0x82000000 # Set first menu entry
- setenv bootmenu_1 Boot 2. kernel=bootm 0x83000000 # Set second menu entry
- setenv bootmenu_2 Reset board=reset # Set third menu entry
- setenv bootmenu_3 U-Boot boot order=boot # Set fourth menu entry
+ env set bootmenu_0 Boot 1. kernel=bootm 0x82000000 # Set first menu entry
+ env set bootmenu_1 Boot 2. kernel=bootm 0x83000000 # Set second menu entry
+ env set bootmenu_2 Reset board=reset # Set third menu entry
+ env set bootmenu_3 U-Boot boot order=boot # Set fourth menu entry
bootmenu 20 # Run bootmenu with autoboot delay 20s
diff --git a/doc/usage/cmd/button.rst b/doc/usage/cmd/button.rst
index 6c6794f31b8..0b58b91e8da 100644
--- a/doc/usage/cmd/button.rst
+++ b/doc/usage/cmd/button.rst
@@ -32,7 +32,7 @@ variable *status1* you would execute the commands
::
button button1
- setenv status1 $?
+ env set status1 $?
A list of all available buttons and their status can be displayed using
diff --git a/doc/usage/cmd/cedit.rst b/doc/usage/cmd/cedit.rst
index e54ea204b9f..40eb6a2cb54 100644
--- a/doc/usage/cmd/cedit.rst
+++ b/doc/usage/cmd/cedit.rst
@@ -75,8 +75,8 @@ cedit write_env
Writes the settings to environment variables. For each menu item the selected
ID and its text string are written, similar to:
- setenv c.<name> <selected_id>
- setenv c.<name>-str <selected_id's text string>
+ env set c.<name> <selected_id>
+ env set c.<name>-str <selected_id's text string>
The `-v` flag enables verbose mode, where each variable is printed before it is
set.
diff --git a/doc/usage/cmd/config.rst b/doc/usage/cmd/config.rst
new file mode 100644
index 00000000000..bd8aa65ddbc
--- /dev/null
+++ b/doc/usage/cmd/config.rst
@@ -0,0 +1,40 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+.. index::
+ single: config (command)
+
+config command
+==============
+
+Synopsis
+--------
+
+::
+
+ config [<str>]
+
+Description
+-----------
+
+The config command prints the `.config` file used when building U-Boot
+to the console. Note that the `.config` file is usually several 1000
+lines long.
+
+If the optional argument is given, only lines containing that string
+(case insensitively) are printed. That can be useful if one wants to
+check whether a specific option is enabled, or just to limit the
+output to the subsystem of interest.
+
+The `.config` file is stored inside the U-Boot binary in
+gzip-compressed format.
+
+Examples
+--------
+
+.. code-block:: bash
+
+ # Print the entire .config
+ config
+
+ # Print all lines related to pinctrl
+ config pinctrl
diff --git a/doc/usage/cmd/coninfo.rst b/doc/usage/cmd/coninfo.rst
index a66cf90a27b..bbfbebb9dc2 100644
--- a/doc/usage/cmd/coninfo.rst
+++ b/doc/usage/cmd/coninfo.rst
@@ -36,7 +36,7 @@ Example
| |-- stderr
|-- serial (IO)
|-- usbkbd (I)
- => setenv stdin pl011@9000000,usbkbd
+ => env set stdin pl011@9000000,usbkbd
=> coninfo
List of available devices
|-- pl011@9000000 (IO)
diff --git a/doc/usage/cmd/echo.rst b/doc/usage/cmd/echo.rst
index ebc9ff5f843..b747e4b89ac 100644
--- a/doc/usage/cmd/echo.rst
+++ b/doc/usage/cmd/echo.rst
@@ -38,7 +38,7 @@ Observe how variables included in strings are handled:
::
- => setenv var X; echo "a)" ${var} 'b)' '${var}' c) ${var}
+ => env set var X; echo "a)" ${var} 'b)' '${var}' c) ${var}
a) X b) ${var} c) X
=>
diff --git a/doc/usage/cmd/efi.rst b/doc/usage/cmd/efi.rst
index b19d36188a9..62a2638feca 100644
--- a/doc/usage/cmd/efi.rst
+++ b/doc/usage/cmd/efi.rst
@@ -12,7 +12,7 @@ Synopsis
::
- efi mem [all]
+ efi mem
efi tables
Description
@@ -29,34 +29,26 @@ happened.
efi mem
~~~~~~~
-This shows the EFI memory map, sorted in order of physical address.
-
-This is normally a very large table. To help reduce the amount of detritus,
-boot-time memory is normally merged with conventional memory. Use the 'all'
-argument to show everything.
-
-The fields are as follows:
-
-#
- Entry number (sequentially from 0)
+This shows the EFI memory map in the same format as the *efidebug memmap*
+command. One line is printed per memory region with the following fields:
Type
- Memory type. EFI has a large number of memory types. The type is shown in
- the format <n>:<name> where in is the format number in hex and <name> is the
- name.
-
-Physical
- Physical address
-
-Virtual
- Virtual address
+ Memory type, named as in the UEFI specification without the leading
+ 'Efi' and the trailing 'Type', e.g. ConventionalMemory for
+ EfiConventionalMemory.
-Size
- Size of memory area in bytes
+Start, End
+ Physical start and end address of the region. The virtual addresses of
+ the regions are not shown: the memory map is identity mapped when this
+ command can be used, i.e. before SetVirtualAddressMap() is called, so
+ the virtual address field of the memory map carries no information.
Attributes
- Shows a code for memory attributes. The key for this is shown below the
- table.
+ The attributes of the region as a '|'-separated list of mnemonics,
+ e.g. UC for EFI_MEMORY_UC and RT for EFI_MEMORY_RUNTIME. When the
+ region carries ISA-specific attributes (EFI_MEMORY_ISA_VALID is set),
+ the ISA-specific field is shown as ISA=<value>. Attribute bits without
+ a mnemonic are shown as a hexadecimal value.
efi tables
~~~~~~~~~~
@@ -72,142 +64,139 @@ Example
::
=> efi mem
- EFI table at 0, memory map 000000001ad38b60, size 1260, key a79, version 1, descr. size 0x30
- # Type Physical Virtual Size Attributes
- 0 7:conv 0000000000 0000000000 00000a0000 f
- <gap> 00000a0000 0000060000
- 1 7:conv 0000100000 0000000000 0000700000 f
- 2 a:acpi_nvs 0000800000 0000000000 0000008000 f
- 3 7:conv 0000808000 0000000000 0000008000 f
- 4 a:acpi_nvs 0000810000 0000000000 00000f0000 f
- 5 7:conv 0000900000 0000000000 001efef000 f
- 6 6:rt_data 001f8ef000 0000000000 0000100000 rf
- 7 5:rt_code 001f9ef000 0000000000 0000100000 rf
- 8 0:reserved 001faef000 0000000000 0000080000 f
- 9 9:acpi_reclaim 001fb6f000 0000000000 0000010000 f
- 10 a:acpi_nvs 001fb7f000 0000000000 0000080000 f
- 11 7:conv 001fbff000 0000000000 0000359000 f
- 12 6:rt_data 001ff58000 0000000000 0000020000 rf
- 13 a:acpi_nvs 001ff78000 0000000000 0000088000 f
- <gap> 0020000000 0090000000
- 14 0:reserved 00b0000000 0000000000 0010000000 1
-
- Attributes key:
- f: uncached, write-coalescing, write-through, write-back
- rf: uncached, write-coalescing, write-through, write-back, needs runtime mapping
- 1: uncached
- *Some areas are merged (use 'all' to see)
-
-
- => efi mem all
- EFI table at 0, memory map 000000001ad38bb0, size 1260, key a79, version 1, descr. size 0x30
- # Type Physical Virtual Size Attributes
- 0 3:bs_code 0000000000 0000000000 0000001000 f
- 1 7:conv 0000001000 0000000000 000009f000 f
- <gap> 00000a0000 0000060000
- 2 7:conv 0000100000 0000000000 0000700000 f
- 3 a:acpi_nvs 0000800000 0000000000 0000008000 f
- 4 7:conv 0000808000 0000000000 0000008000 f
- 5 a:acpi_nvs 0000810000 0000000000 00000f0000 f
- 6 4:bs_data 0000900000 0000000000 0000c00000 f
- 7 7:conv 0001500000 0000000000 000aa36000 f
- 8 2:loader_data 000bf36000 0000000000 0010000000 f
- 9 4:bs_data 001bf36000 0000000000 0000020000 f
- 10 7:conv 001bf56000 0000000000 00021e1000 f
- 11 1:loader_code 001e137000 0000000000 00000c4000 f
- 12 7:conv 001e1fb000 0000000000 000009b000 f
- 13 1:loader_code 001e296000 0000000000 00000e2000 f
- 14 7:conv 001e378000 0000000000 000005b000 f
- 15 4:bs_data 001e3d3000 0000000000 000001e000 f
- 16 7:conv 001e3f1000 0000000000 0000016000 f
- 17 4:bs_data 001e407000 0000000000 0000016000 f
- 18 2:loader_data 001e41d000 0000000000 0000002000 f
- 19 4:bs_data 001e41f000 0000000000 0000828000 f
- 20 3:bs_code 001ec47000 0000000000 0000045000 f
- 21 4:bs_data 001ec8c000 0000000000 0000001000 f
- 22 3:bs_code 001ec8d000 0000000000 000000e000 f
- 23 4:bs_data 001ec9b000 0000000000 0000001000 f
- 24 3:bs_code 001ec9c000 0000000000 000002c000 f
- 25 4:bs_data 001ecc8000 0000000000 0000001000 f
- 26 3:bs_code 001ecc9000 0000000000 000000c000 f
- 27 4:bs_data 001ecd5000 0000000000 0000006000 f
- 28 3:bs_code 001ecdb000 0000000000 0000014000 f
- 29 4:bs_data 001ecef000 0000000000 0000001000 f
- 30 3:bs_code 001ecf0000 0000000000 000005b000 f
- 31 4:bs_data 001ed4b000 0000000000 000000b000 f
- 32 3:bs_code 001ed56000 0000000000 0000024000 f
- 33 4:bs_data 001ed7a000 0000000000 0000006000 f
- 34 3:bs_code 001ed80000 0000000000 0000010000 f
- 35 4:bs_data 001ed90000 0000000000 0000002000 f
- 36 3:bs_code 001ed92000 0000000000 0000025000 f
- 37 4:bs_data 001edb7000 0000000000 0000003000 f
- 38 3:bs_code 001edba000 0000000000 0000011000 f
- 39 4:bs_data 001edcb000 0000000000 0000008000 f
- 40 3:bs_code 001edd3000 0000000000 000002d000 f
- 41 4:bs_data 001ee00000 0000000000 0000201000 f
- 42 3:bs_code 001f001000 0000000000 0000024000 f
- 43 4:bs_data 001f025000 0000000000 0000002000 f
- 44 3:bs_code 001f027000 0000000000 0000009000 f
- 45 4:bs_data 001f030000 0000000000 0000005000 f
- 46 3:bs_code 001f035000 0000000000 000002f000 f
- 47 4:bs_data 001f064000 0000000000 0000001000 f
- 48 3:bs_code 001f065000 0000000000 0000005000 f
- 49 4:bs_data 001f06a000 0000000000 0000005000 f
- 50 3:bs_code 001f06f000 0000000000 0000007000 f
- 51 4:bs_data 001f076000 0000000000 0000007000 f
- 52 3:bs_code 001f07d000 0000000000 000000d000 f
- 53 4:bs_data 001f08a000 0000000000 0000001000 f
- 54 3:bs_code 001f08b000 0000000000 0000006000 f
- 55 4:bs_data 001f091000 0000000000 0000004000 f
- 56 3:bs_code 001f095000 0000000000 000000d000 f
- 57 4:bs_data 001f0a2000 0000000000 0000003000 f
- 58 3:bs_code 001f0a5000 0000000000 0000026000 f
- 59 4:bs_data 001f0cb000 0000000000 0000005000 f
- 60 3:bs_code 001f0d0000 0000000000 0000019000 f
- 61 4:bs_data 001f0e9000 0000000000 0000004000 f
- 62 3:bs_code 001f0ed000 0000000000 0000024000 f
- 63 4:bs_data 001f111000 0000000000 0000008000 f
- 64 3:bs_code 001f119000 0000000000 000000b000 f
- 65 4:bs_data 001f124000 0000000000 0000001000 f
- 66 3:bs_code 001f125000 0000000000 0000002000 f
- 67 4:bs_data 001f127000 0000000000 0000002000 f
- 68 3:bs_code 001f129000 0000000000 0000009000 f
- 69 4:bs_data 001f132000 0000000000 0000003000 f
- 70 3:bs_code 001f135000 0000000000 0000005000 f
- 71 4:bs_data 001f13a000 0000000000 0000003000 f
- 72 3:bs_code 001f13d000 0000000000 0000005000 f
- 73 4:bs_data 001f142000 0000000000 0000003000 f
- 74 3:bs_code 001f145000 0000000000 0000011000 f
- 75 4:bs_data 001f156000 0000000000 000000b000 f
- 76 3:bs_code 001f161000 0000000000 0000009000 f
- 77 4:bs_data 001f16a000 0000000000 0000400000 f
- 78 3:bs_code 001f56a000 0000000000 0000006000 f
- 79 4:bs_data 001f570000 0000000000 0000001000 f
- 80 3:bs_code 001f571000 0000000000 0000001000 f
- 81 4:bs_data 001f572000 0000000000 0000002000 f
- 82 3:bs_code 001f574000 0000000000 0000017000 f
- 83 4:bs_data 001f58b000 0000000000 0000364000 f
- 84 6:rt_data 001f8ef000 0000000000 0000100000 rf
- 85 5:rt_code 001f9ef000 0000000000 0000100000 rf
- 86 0:reserved 001faef000 0000000000 0000080000 f
- 87 9:acpi_reclaim 001fb6f000 0000000000 0000010000 f
- 88 a:acpi_nvs 001fb7f000 0000000000 0000080000 f
- 89 4:bs_data 001fbff000 0000000000 0000201000 f
- 90 7:conv 001fe00000 0000000000 00000e8000 f
- 91 4:bs_data 001fee8000 0000000000 0000020000 f
- 92 3:bs_code 001ff08000 0000000000 0000026000 f
- 93 4:bs_data 001ff2e000 0000000000 0000009000 f
- 94 3:bs_code 001ff37000 0000000000 0000021000 f
- 95 6:rt_data 001ff58000 0000000000 0000020000 rf
- 96 a:acpi_nvs 001ff78000 0000000000 0000088000 f
- <gap> 0020000000 0090000000
- 97 0:reserved 00b0000000 0000000000 0010000000 1
-
- Attributes key:
- f: uncached, write-coalescing, write-through, write-back
- rf: uncached, write-coalescing, write-through, write-back, needs runtime mapping
- 1: uncached
-
+ EFI table at 0, memory map 000000001a977d90, size 1860, key 9e7, version 1, descr. size 0x30
+ Type Start End Attributes
+ ======================= ================ ================ ==========
+ BootServicesCode 0000000000000000-0000000000001000 UC|WC|WT|WB
+ ConventionalMemory 0000000000001000-00000000000a0000 UC|WC|WT|WB
+ ConventionalMemory 0000000000100000-0000000000800000 UC|WC|WT|WB
+ ACPIMemoryNVS 0000000000800000-0000000000808000 UC|WC|WT|WB
+ ConventionalMemory 0000000000808000-000000000080b000 UC|WC|WT|WB
+ ACPIMemoryNVS 000000000080b000-000000000080c000 UC|WC|WT|WB
+ ConventionalMemory 000000000080c000-0000000000810000 UC|WC|WT|WB
+ ACPIMemoryNVS 0000000000810000-0000000000900000 UC|WC|WT|WB
+ BootServicesData 0000000000900000-0000000001780000 UC|WC|WT|WB
+ ConventionalMemory 0000000001780000-000000000bb75000 UC|WC|WT|WB
+ LoaderData 000000000bb75000-000000001bb75000 UC|WC|WT|WB
+ BootServicesData 000000001bb75000-000000001bb95000 UC|WC|WT|WB
+ ConventionalMemory 000000001bb95000-000000001dd24000 UC|WC|WT|WB
+ LoaderCode 000000001dd24000-000000001ddfe000 UC|WC|WT|WB
+ ConventionalMemory 000000001ddfe000-000000001de99000 UC|WC|WT|WB
+ BootServicesData 000000001de99000-000000001dea9000 UC|WC|WT|WB
+ LoaderData 000000001dea9000-000000001deac000 UC|WC|WT|WB
+ BootServicesData 000000001deac000-000000001e58e000 UC|WC|WT|WB
+ BootServicesCode 000000001e58e000-000000001e642000 UC|WC|WT|WB
+ BootServicesData 000000001e642000-000000001e672000 UC|WC|WT|WB
+ BootServicesCode 000000001e672000-000000001e753000 UC|WC|WT|WB
+ BootServicesData 000000001e753000-000000001e7b8000 UC|WC|WT|WB
+ BootServicesCode 000000001e7b8000-000000001e7c1000 UC|WC|WT|WB
+ BootServicesData 000000001e7c1000-000000001e7c6000 UC|WC|WT|WB
+ BootServicesCode 000000001e7c6000-000000001e7e6000 UC|WC|WT|WB
+ BootServicesData 000000001e7e6000-000000001e7e8000 UC|WC|WT|WB
+ BootServicesCode 000000001e7e8000-000000001e7f2000 UC|WC|WT|WB
+ BootServicesData 000000001e7f2000-000000001e7f3000 UC|WC|WT|WB
+ BootServicesCode 000000001e7f3000-000000001e7fb000 UC|WC|WT|WB
+ BootServicesData 000000001e7fb000-000000001e7fc000 UC|WC|WT|WB
+ BootServicesCode 000000001e7fc000-000000001e80c000 UC|WC|WT|WB
+ BootServicesData 000000001e80c000-000000001e80f000 UC|WC|WT|WB
+ BootServicesCode 000000001e80f000-000000001e812000 UC|WC|WT|WB
+ BootServicesData 000000001e812000-000000001e819000 UC|WC|WT|WB
+ BootServicesCode 000000001e819000-000000001e82b000 UC|WC|WT|WB
+ BootServicesData 000000001e82b000-000000001e834000 UC|WC|WT|WB
+ BootServicesCode 000000001e834000-000000001e842000 UC|WC|WT|WB
+ BootServicesData 000000001e842000-000000001e851000 UC|WC|WT|WB
+ BootServicesCode 000000001e851000-000000001e85c000 UC|WC|WT|WB
+ BootServicesData 000000001e85c000-000000001e867000 UC|WC|WT|WB
+ BootServicesCode 000000001e867000-000000001e87d000 UC|WC|WT|WB
+ BootServicesData 000000001e87d000-000000001e886000 UC|WC|WT|WB
+ BootServicesCode 000000001e886000-000000001e8aa000 UC|WC|WT|WB
+ BootServicesData 000000001e8aa000-000000001e8ad000 UC|WC|WT|WB
+ BootServicesCode 000000001e8ad000-000000001e8c1000 UC|WC|WT|WB
+ BootServicesData 000000001e8c1000-000000001e8c8000 UC|WC|WT|WB
+ BootServicesCode 000000001e8c8000-000000001e8e1000 UC|WC|WT|WB
+ BootServicesData 000000001e8e1000-000000001e8e4000 UC|WC|WT|WB
+ BootServicesCode 000000001e8e4000-000000001e8ea000 UC|WC|WT|WB
+ BootServicesData 000000001e8ea000-000000001e8ec000 UC|WC|WT|WB
+ BootServicesCode 000000001e8ec000-000000001e8ff000 UC|WC|WT|WB
+ BootServicesData 000000001e8ff000-000000001e904000 UC|WC|WT|WB
+ BootServicesCode 000000001e904000-000000001e91a000 UC|WC|WT|WB
+ BootServicesData 000000001e91a000-000000001e91c000 UC|WC|WT|WB
+ BootServicesCode 000000001e91c000-000000001e929000 UC|WC|WT|WB
+ BootServicesData 000000001e929000-000000001e92c000 UC|WC|WT|WB
+ BootServicesCode 000000001e92c000-000000001e932000 UC|WC|WT|WB
+ BootServicesData 000000001e932000-000000001e934000 UC|WC|WT|WB
+ BootServicesCode 000000001e934000-000000001e935000 UC|WC|WT|WB
+ BootServicesData 000000001e935000-000000001e936000 UC|WC|WT|WB
+ BootServicesCode 000000001e936000-000000001e93b000 UC|WC|WT|WB
+ BootServicesData 000000001e93b000-000000001e940000 UC|WC|WT|WB
+ BootServicesCode 000000001e940000-000000001e94c000 UC|WC|WT|WB
+ BootServicesData 000000001e94c000-000000001e94e000 UC|WC|WT|WB
+ BootServicesCode 000000001e94e000-000000001e96b000 UC|WC|WT|WB
+ BootServicesData 000000001e96b000-000000001e96c000 UC|WC|WT|WB
+ BootServicesCode 000000001e96c000-000000001e976000 UC|WC|WT|WB
+ BootServicesData 000000001e976000-000000001e977000 UC|WC|WT|WB
+ BootServicesCode 000000001e977000-000000001e978000 UC|WC|WT|WB
+ BootServicesData 000000001e978000-000000001e97a000 UC|WC|WT|WB
+ BootServicesCode 000000001e97a000-000000001e98f000 UC|WC|WT|WB
+ BootServicesData 000000001e98f000-000000001e992000 UC|WC|WT|WB
+ BootServicesCode 000000001e992000-000000001e994000 UC|WC|WT|WB
+ BootServicesData 000000001e994000-000000001e996000 UC|WC|WT|WB
+ BootServicesCode 000000001e996000-000000001e99d000 UC|WC|WT|WB
+ BootServicesData 000000001e99d000-000000001e9a4000 UC|WC|WT|WB
+ BootServicesCode 000000001e9a4000-000000001e9a8000 UC|WC|WT|WB
+ BootServicesData 000000001e9a8000-000000001e9ae000 UC|WC|WT|WB
+ BootServicesCode 000000001e9ae000-000000001e9b2000 UC|WC|WT|WB
+ BootServicesData 000000001e9b2000-000000001e9b4000 UC|WC|WT|WB
+ BootServicesCode 000000001e9b4000-000000001e9ef000 UC|WC|WT|WB
+ BootServicesData 000000001e9ef000-000000001e9f1000 UC|WC|WT|WB
+ BootServicesCode 000000001e9f1000-000000001e9f5000 UC|WC|WT|WB
+ BootServicesData 000000001e9f5000-000000001e9fd000 UC|WC|WT|WB
+ BootServicesCode 000000001e9fd000-000000001ea00000 UC|WC|WT|WB
+ BootServicesData 000000001ea00000-000000001ec02000 UC|WC|WT|WB
+ BootServicesCode 000000001ec02000-000000001ec0a000 UC|WC|WT|WB
+ BootServicesData 000000001ec0a000-000000001ec0f000 UC|WC|WT|WB
+ RuntimeServicesData 000000001ec0f000-000000001ecd0000 UC|WC|WT|WB|RT
+ BootServicesCode 000000001ecd0000-000000001ece5000 UC|WC|WT|WB
+ BootServicesData 000000001ece5000-000000001ece6000 UC|WC|WT|WB
+ BootServicesCode 000000001ece6000-000000001ecea000 UC|WC|WT|WB
+ BootServicesData 000000001ecea000-000000001eced000 UC|WC|WT|WB
+ BootServicesCode 000000001eced000-000000001ecf6000 UC|WC|WT|WB
+ BootServicesData 000000001ecf6000-000000001ecf7000 UC|WC|WT|WB
+ BootServicesCode 000000001ecf7000-000000001ecf8000 UC|WC|WT|WB
+ BootServicesData 000000001ecf8000-000000001ecfa000 UC|WC|WT|WB
+ BootServicesCode 000000001ecfa000-000000001ecfd000 UC|WC|WT|WB
+ BootServicesData 000000001ecfd000-000000001ecfe000 UC|WC|WT|WB
+ BootServicesCode 000000001ecfe000-000000001ecff000 UC|WC|WT|WB
+ BootServicesData 000000001ecff000-000000001ed00000 UC|WC|WT|WB
+ BootServicesCode 000000001ed00000-000000001ed16000 UC|WC|WT|WB
+ BootServicesData 000000001ed16000-000000001ed17000 UC|WC|WT|WB
+ BootServicesCode 000000001ed17000-000000001ed19000 UC|WC|WT|WB
+ BootServicesData 000000001ed19000-000000001ed2c000 UC|WC|WT|WB
+ BootServicesCode 000000001ed2c000-000000001ed2e000 UC|WC|WT|WB
+ BootServicesData 000000001ed2e000-000000001f12e000 UC|WC|WT|WB
+ BootServicesCode 000000001f12e000-000000001f132000 UC|WC|WT|WB
+ BootServicesData 000000001f132000-000000001f133000 UC|WC|WT|WB
+ BootServicesCode 000000001f133000-000000001f137000 UC|WC|WT|WB
+ BootServicesData 000000001f137000-000000001f13d000 UC|WC|WT|WB
+ BootServicesCode 000000001f13d000-000000001f147000 UC|WC|WT|WB
+ BootServicesData 000000001f147000-000000001f148000 UC|WC|WT|WB
+ BootServicesCode 000000001f148000-000000001f14d000 UC|WC|WT|WB
+ BootServicesData 000000001f14d000-000000001f4ed000 UC|WC|WT|WB
+ RuntimeServicesData 000000001f4ed000-000000001f5ed000 UC|WC|WT|WB|RT
+ RuntimeServicesCode 000000001f5ed000-000000001f6ed000 UC|WC|WT|WB|RT
+ ReservedMemory 000000001f6ed000-000000001f76d000 UC|WC|WT|WB
+ ACPIReclaimMemory 000000001f76d000-000000001f77f000 UC|WC|WT|WB
+ ACPIMemoryNVS 000000001f77f000-000000001f7ff000 UC|WC|WT|WB
+ BootServicesData 000000001f7ff000-000000001fe00000 UC|WC|WT|WB
+ ConventionalMemory 000000001fe00000-000000001fe77000 UC|WC|WT|WB
+ BootServicesData 000000001fe77000-000000001fe97000 UC|WC|WT|WB
+ BootServicesCode 000000001fe97000-000000001feca000 UC|WC|WT|WB
+ BootServicesData 000000001feca000-000000001fedb000 UC|WC|WT|WB
+ BootServicesCode 000000001fedb000-000000001fef4000 UC|WC|WT|WB
+ RuntimeServicesData 000000001fef4000-000000001ff78000 UC|WC|WT|WB|RT
+ ACPIMemoryNVS 000000001ff78000-0000000020000000 UC|WC|WT|WB
+ MemoryMappedIO 00000000ffc00000-0000000100000000 UC|RT
+ ReservedMemory 000000fd00000000-0000010000000000
=> efi tables
000000001f8edf98 ee4e5898-3914-4259-9d6e-dc7bd79403cf EFI_LZMA_COMPRESSED
diff --git a/doc/usage/cmd/eficonfig.rst b/doc/usage/cmd/eficonfig.rst
index 83a3ebf4f0b..e9fc59a93f0 100644
--- a/doc/usage/cmd/eficonfig.rst
+++ b/doc/usage/cmd/eficonfig.rst
@@ -61,7 +61,7 @@ Auto boot with the UEFI Boot Option
To do auto boot according to the UEFI BootOrder variable,
add "bootefi bootmgr" entry as a default or first bootmenu entry::
- CONFIG_PREBOOT="setenv bootmenu_0 UEFI Boot Manager=bootefi bootmgr; setenv bootmenu_1 UEFI Maintenance Menu=eficonfig"
+ CONFIG_PREBOOT="env set bootmenu_0 UEFI Boot Manager=bootefi bootmgr; env set bootmenu_1 UEFI Maintenance Menu=eficonfig"
UEFI Secure Boot Configuration
''''''''''''''''''''''''''''''
@@ -84,7 +84,7 @@ If CONFIG_BOOTMENU_DISABLE_UBOOT_CONSOLE is enabled, the user can not enter
U-Boot console. In this case, the bootmenu can be used to invoke "eficonfig"::
CONFIG_USE_PREBOOT=y
- CONFIG_PREBOOT="setenv bootmenu_0 UEFI Maintenance Menu=eficonfig"
+ CONFIG_PREBOOT="env set bootmenu_0 UEFI Maintenance Menu=eficonfig"
The only way U-Boot can currently store EFI variables on a tamper
resistant medium is via OP-TEE. The Kconfig option that enables that is::
diff --git a/doc/usage/cmd/exit.rst b/doc/usage/cmd/exit.rst
index 2f250bf4bde..b41ca35ff17 100644
--- a/doc/usage/cmd/exit.rst
+++ b/doc/usage/cmd/exit.rst
@@ -19,8 +19,8 @@ If scripts are nested, only the innermost script is left.
::
- => setenv inner 'echo entry inner; exit; echo inner done'
- => setenv outer 'echo entry outer; run inner; echo outer done'
+ => env set inner 'echo entry inner; exit; echo inner done'
+ => env set outer 'echo entry outer; run inner; echo outer done'
=> run outer
entry outer
entry inner
diff --git a/doc/usage/cmd/extension.rst b/doc/usage/cmd/extension.rst
index fbe95aace79..97c48bfd78e 100644
--- a/doc/usage/cmd/extension.rst
+++ b/doc/usage/cmd/extension.rst
@@ -62,8 +62,8 @@ Usage example
::
- => setenv extension_overlay_addr 0x88080000
- => setenv extension_overlay_cmd 'load mmc 0:1 ${extension_overlay_addr} /boot/${extension_overlay_name}'
+ => env set extension_overlay_addr 0x88080000
+ => env set extension_overlay_cmd 'load mmc 0:1 ${extension_overlay_addr} /boot/${extension_overlay_name}'
3. Detect the plugged extension board
diff --git a/doc/usage/cmd/for.rst b/doc/usage/cmd/for.rst
index 729bd4db43c..3db3410a171 100644
--- a/doc/usage/cmd/for.rst
+++ b/doc/usage/cmd/for.rst
@@ -34,14 +34,14 @@ Example
::
- => setenv c
+ => env set c
=> for c in 1 2 3; do echo item ${c}; done
item 1
item 2
item 3
=> echo ${c}
3
- => setenv c x
+ => env set c x
=> for c in 1 2 3; do echo item ${c}; done
item x
item x
diff --git a/doc/usage/cmd/gpt.rst b/doc/usage/cmd/gpt.rst
index 13e8783be9b..6afc634eb0a 100644
--- a/doc/usage/cmd/gpt.rst
+++ b/doc/usage/cmd/gpt.rst
@@ -179,7 +179,7 @@ Examples
Create 6 partitions on a disk::
- => setenv gpt_parts 'uuid_disk=bec9fc2a-86c1-483d-8a0e-0109732277d7;\
+ => env set gpt_parts 'uuid_disk=bec9fc2a-86c1-483d-8a0e-0109732277d7;\
name=boot,start=4M,size=128M,bootable,type=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7;\
name=rootfs,size=3072M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;\
name=system-data,size=512M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;\
@@ -249,7 +249,7 @@ Swap the order of the 'boot' and 'rootfs' partition table entries::
Other example: a disk with known partition types::
- => setenv gpt_parts 'name=u-boot,size=32M,type=data;\
+ => env set gpt_parts 'name=u-boot,size=32M,type=data;\
name=env,size=1M,type=u-boot-env;
name=ESP,size=128M,type=system;
name=rootfs,size=3072M,type=linux;
diff --git a/doc/usage/cmd/imxtract.rst b/doc/usage/cmd/imxtract.rst
index 1621a4a68b2..c631e328569 100644
--- a/doc/usage/cmd/imxtract.rst
+++ b/doc/usage/cmd/imxtract.rst
@@ -52,7 +52,7 @@ extraction. But correct hashes are still indicated in the output
.. code-block:: console
- => setenv verify no
+ => env set verify no
=> imxtract $loadaddr kernel-1 $kernel_addr_r
## Copying 'kernel-1' subimage from FIT image at 40200000 ...
sha256+ sha512+ Loading part 0 ... OK
@@ -62,7 +62,7 @@ With verify=yes incorrect hashes, signatures, or check sums stop the extraction.
.. code-block:: console
- => setenv verify yes
+ => env set verify yes
=> imxtract $loadaddr kernel-1 $kernel_addr_r
## Copying 'kernel-1' subimage from FIT image at 40200000 ...
sha256 error!
diff --git a/doc/usage/cmd/load.rst b/doc/usage/cmd/load.rst
index bfa45c6f36c..bf2fffbed21 100644
--- a/doc/usage/cmd/load.rst
+++ b/doc/usage/cmd/load.rst
@@ -63,6 +63,39 @@ Example
16 bytes read in 1 ms (15.6 KiB/s)
=>
+Null-block-device interfaces
+----------------------------
+
+A few ``<interface>`` values have no underlying block device. Their
+filesystem implementations directly call a back-end (JTAG
+debugger, UBI volume, host running U-Boot under sandbox, ...) and
+ignore the ``<dev[:part]>`` field, which may be given as ``-``. So
+``load <iface> - <addr> <filename>`` works.
+
+semihosting
+ Read files from the host filesystem of an attached JTAG debugger
+ using the ARM semihosting protocol. Useful with OpenOCD.
+ Built when ``CONFIG_SEMIHOSTING=y``.
+
+ubifs
+ Read files from a UBIFS volume that has already been attached
+ and mounted with the ``ubi part`` + ``ubifsmount`` commands.
+ Built when ``CONFIG_CMD_UBIFS=y``.
+
+sandbox
+ Read files from the host filesystem the sandbox binary is
+ running under. Available on sandbox builds.
+
+The ``<dev[:part]>`` argument is conventionally written as ``-`` for
+these interfaces, to make it visible at the call site that the field
+is unused. The filesystem layer never looks at it.
+
+Example::
+
+ => load semihosting - ${kernel_addr_r} kernel.itb
+ 9437184 bytes read in 412 ms (21.8 MiB/s)
+ =>
+
Configuration
-------------
diff --git a/doc/usage/cmd/mbr.rst b/doc/usage/cmd/mbr.rst
index 925a1181055..351959c5097 100644
--- a/doc/usage/cmd/mbr.rst
+++ b/doc/usage/cmd/mbr.rst
@@ -43,7 +43,7 @@ volume'), some of the predefined sizes:
::
- => setenv mbr_parts 'name=boot,start=4M,size=128M,bootable,id=0x0e;
+ => env set mbr_parts 'name=boot,start=4M,size=128M,bootable,id=0x0e;
name=rootfs,size=3072M,id=0x83;
name=system-data,size=512M,id=0x83;
name=[ext],size=-,id=0x05;
diff --git a/doc/usage/cmd/memsize.rst b/doc/usage/cmd/memsize.rst
index 6e99d7c1d33..9ebeefc58fa 100644
--- a/doc/usage/cmd/memsize.rst
+++ b/doc/usage/cmd/memsize.rst
@@ -34,7 +34,7 @@ This second example shows assign ram size to environment variable:
::
=> memsize memsz
- => printenv memsz
+ => env print memsz
memsz=8192
Return value
diff --git a/doc/usage/cmd/printenv.rst b/doc/usage/cmd/printenv.rst
index dfdb3624934..08c63d7e885 100644
--- a/doc/usage/cmd/printenv.rst
+++ b/doc/usage/cmd/printenv.rst
@@ -44,7 +44,7 @@ environment variables:
::
- => setenv .foo bar
+ => env set .foo bar
=> printenv
arch=sandbox
baudrate=115200
diff --git a/doc/usage/cmd/saves.rst b/doc/usage/cmd/saves.rst
index d429eeceddf..c4470b61722 100644
--- a/doc/usage/cmd/saves.rst
+++ b/doc/usage/cmd/saves.rst
@@ -72,7 +72,7 @@ the offset used in the *saves* command.
Really kill this window [y/n]
$ srec_cat out.srec -offset -1337982976 -Output out.txt -binary 2>/dev/null
$ cat out.txt
- setenv autoload no
+ env set autoload no
dhcp
load mmc 0:1 $fdt_addr_r dtb
load mmc 0:1 $kernel_addr_r snp.efi
diff --git a/doc/usage/cmd/sntp.rst b/doc/usage/cmd/sntp.rst
index 433884f18b2..bfbf75464c2 100644
--- a/doc/usage/cmd/sntp.rst
+++ b/doc/usage/cmd/sntp.rst
@@ -43,7 +43,7 @@ Examples
::
- => setenv ntpserverip 109.190.177.205
+ => env set ntpserverip 109.190.177.205
=> date
Date: 2025-06-16 (Monday) Time: 15:19:35
=> date reset
@@ -55,7 +55,7 @@ Examples
Date: 2025-06-16 Time: 15:19:43
=> date
Date: 2025-06-16 (Monday) Time: 15:19:47
- => setenv timeoffset 7200
+ => env set timeoffset 7200
=> sntp
Date: 2025-06-16 Time: 17:19:55
=> date
diff --git a/doc/usage/cmd/tftpput.rst b/doc/usage/cmd/tftpput.rst
index bdffa3af463..3704fdc9896 100644
--- a/doc/usage/cmd/tftpput.rst
+++ b/doc/usage/cmd/tftpput.rst
@@ -48,7 +48,7 @@ In the example the following steps are executed:
::
- => setenv autoload no
+ => env set autoload no
=> dhcp
BOOTP broadcast 1
DHCP client bound to address 192.168.1.40 (7 ms)
diff --git a/doc/usage/cmd/tftpsrv.rst b/doc/usage/cmd/tftpsrv.rst
new file mode 100644
index 00000000000..d067afdba57
--- /dev/null
+++ b/doc/usage/cmd/tftpsrv.rst
@@ -0,0 +1,73 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+.. index::
+ single: tftpsrv (command)
+
+tftpsrv command
+===============
+
+Synopsis
+--------
+
+::
+
+ tftpsrv [loadAddress]
+
+Description
+-----------
+
+The tftpsrv command listens for an incoming TFTP write request and receives
+the first transferred file into memory.
+
+loadAddress
+ memory address where the received file is stored. If not provided, the
+ address is taken from the *loadaddr* environment variable or the default
+ image load address.
+
+After a successful transfer, the *fileaddr* and *filesize* environment
+variables describe the received file. The command returns successfully after
+the transfer has completed. It does not boot the file automatically; boot
+scripts can use commands such as bootm, booti or bootefi to boot from the
+load address.
+
+The transfer is aborted if no transfer has started after about 50 seconds or
+if Ctrl-C is pressed.
+
+Example
+-------
+
+In the example the following steps are executed:
+
+* setup the board network address
+* receive a FIT image from a host
+* boot the received FIT image
+
+::
+
+ => setenv autoload no
+ => dhcp
+ BOOTP broadcast 1
+ DHCP client bound to address 192.168.1.40 (7 ms)
+ => tftpsrv $loadaddr
+ Using ethernet@1c30000 device
+ Listening for TFTP transfer on 192.168.1.40
+ Load address: 0x42000000
+ Loading: #################################################################
+ 6.5 MiB/s
+ done
+ Bytes transferred = 1048576 (100000 hex)
+ => bootm $fileaddr
+
+On the host, send the file to the board while U-Boot is listening:
+
+::
+
+ $ curl --upload-file image.fit tftp://192.168.1.40/image.fit
+
+Configuration
+-------------
+
+The command is only available if CONFIG_CMD_TFTPSRV=y.
+
+The command is supported by both the legacy network stack and the lwIP network
+stack.
diff --git a/doc/usage/cmd/wget.rst b/doc/usage/cmd/wget.rst
index f661d739a19..e6c33b87431 100644
--- a/doc/usage/cmd/wget.rst
+++ b/doc/usage/cmd/wget.rst
@@ -95,7 +95,7 @@ In the example the following steps are executed:
::
- => setenv autoload no
+ => env set autoload no
=> dhcp
BOOTP broadcast 1
*** Unhandled DHCP Option in OFFER/ACK: 23
diff --git a/doc/usage/cmdline.rst b/doc/usage/cmdline.rst
index 79b9baf7bfe..dac6dcccfb7 100644
--- a/doc/usage/cmdline.rst
+++ b/doc/usage/cmdline.rst
@@ -20,11 +20,11 @@ This takes very little code space and offers only basic features:
- special characters ('$', ';') can be escaped by prefixing with '\',
for example::
- setenv bootcmd bootm \${address}
+ env set bootcmd bootm \${address}
- You can also escape text by enclosing in single apostrophes, for example::
- setenv addip 'setenv bootargs $bootargs ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname::off'
+ env set addip 'env set bootargs $bootargs ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname::off'
Hush shell
----------
@@ -36,7 +36,7 @@ This is similar to Bourne shell, with control structures like:
- `while` ... `do` ... `done`
- `until` ... `do` ... `done`
-Hush supports environment ("global") variables (through setenv / saveenv
+Hush supports environment ("global") variables (through env set / saveenv
commands) and local shell variables (through standard shell syntax
`name=value`); only environment variables can be used with the "run" command
diff --git a/doc/usage/dfu.rst b/doc/usage/dfu.rst
index af805514b26..987f287b483 100644
--- a/doc/usage/dfu.rst
+++ b/doc/usage/dfu.rst
@@ -162,8 +162,8 @@ mmc
layout and even set a new *dfu_alt_info* for the newly created partitions.
Such a script would look like::
- setenv dfu_alt_info ...
- setenv mbr_parts ...
+ env set dfu_alt_info ...
+ env set mbr_parts ...
mbr write ...
Please note that this means the user will be able to execute any
@@ -334,7 +334,7 @@ When U-Boot runs the dfu stack, the DFU host tools can be used
to send/receive firmware images on each configured alternate.
For example dfu-util is a host side implementation of the DFU 1.1
-specifications(http://dfu-util.sourceforge.net/) which works with U-Boot.
+specifications(https://dfu-util.sourceforge.net/) which works with U-Boot.
Usage
-----
diff --git a/doc/usage/environment.rst b/doc/usage/environment.rst
index 0143f81f2c0..80498853336 100644
--- a/doc/usage/environment.rst
+++ b/doc/usage/environment.rst
@@ -70,10 +70,10 @@ Example::
/* U-Boot script for booting */
if [ -z ${tftpserverip} ]; then
- echo "Use 'setenv tftpserverip a.b.c.d' to set IP address."
+ echo "Use 'env set tftpserverip a.b.c.d' to set IP address."
fi
- usb start; setenv autoload n; bootp;
+ usb start; env set autoload n; bootp;
tftpboot ${tftpserverip}:
bootm
failed=
@@ -263,7 +263,7 @@ initrd_high
sure that the initrd image is placed in the first
12 MB as well - this can be done with::
- setenv initrd_high 00c00000
+ env set initrd_high 00c00000
If you set initrd_high to 0xffffffff (32-bit machines) or
0xffffffffffffffff (64-bit machines), this is an
@@ -310,9 +310,9 @@ ethact
controls which interface is currently active.
For example you can do the following::
- => setenv ethact FEC
+ => env set ethact FEC
=> ping 192.168.0.1 # traffic sent on FEC
- => setenv ethact SCC
+ => env set ethact SCC
=> ping 10.0.0.1 # traffic sent on SCC
ethrotate
diff --git a/doc/usage/fdt_overlays.rst b/doc/usage/fdt_overlays.rst
index 730cb85b39a..81e9512658a 100644
--- a/doc/usage/fdt_overlays.rst
+++ b/doc/usage/fdt_overlays.rst
@@ -88,8 +88,8 @@ Manually Loading and Applying Overlays
::
- => setenv fdtaddr 0x87f00000
- => setenv fdtovaddr 0x87fc0000
+ => env set fdtaddr 0x87f00000
+ => env set fdtovaddr 0x87fc0000
2. Load the base binary device-tree and the binary device-tree overlay.
diff --git a/doc/usage/fit/beaglebone_vboot.rst b/doc/usage/fit/beaglebone_vboot.rst
index b15399441ee..c587b8c271d 100644
--- a/doc/usage/fit/beaglebone_vboot.rst
+++ b/doc/usage/fit/beaglebone_vboot.rst
@@ -518,13 +518,13 @@ Here the card is /dev/sde::
Boot the board using the commands below::
- setenv bootargs console=ttyO0,115200n8 quiet root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait
+ env set bootargs console=ttyO0,115200n8 quiet root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait
ext2load mmc 0:2 82000000 /boot/image.fit
bootm 82000000
You should then see something like this::
- U-Boot# setenv bootargs console=ttyO0,115200n8 quiet root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait
+ U-Boot# env set bootargs console=ttyO0,115200n8 quiet root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait
U-Boot# ext2load mmc 0:2 82000000 /boot/image.fit
7824930 bytes read in 589 ms (12.7 MiB/s)
U-Boot# bootm 82000000
diff --git a/doc/usage/fit/dm-verity.rst b/doc/usage/fit/dm-verity.rst
index 800a18fceae..76030c751ae 100644
--- a/doc/usage/fit/dm-verity.rst
+++ b/doc/usage/fit/dm-verity.rst
@@ -209,6 +209,11 @@ typically be obtained from its output.
The ``digest`` and ``salt`` byte arrays correspond to the hex-encoded
``Root hash`` and ``Salt`` printed by ``veritysetup format``.
+When the configuration is signed, ``digest`` and ``salt`` are covered by
+the configuration signature (see :doc:`signature`), so the roothash
+cannot be swapped out for a matching one without invalidating the
+signature.
+
Optional boolean properties (when present, they are collected and appended
as dm-verity optional parameters with hyphens converted to underscores):
diff --git a/doc/usage/fit/howto.rst b/doc/usage/fit/howto.rst
index 9c8d86e50be..9c5f989bd75 100644
--- a/doc/usage/fit/howto.rst
+++ b/doc/usage/fit/howto.rst
@@ -197,9 +197,9 @@ specific to the new image format).
[on the target system]::
=> print nfsargs
- nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath}
+ nfsargs=env set bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath}
=> print addip
- addip=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${netdev}:off panic=1
+ addip=env set bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${netdev}:off panic=1
=> run nfsargs addip
=> tftp 900000 /path/to/tftp/location/kernel.itb
Using FEC device
diff --git a/doc/usage/fit/overlay-fdt-boot.rst b/doc/usage/fit/overlay-fdt-boot.rst
index 5df304047c6..e210619a26d 100644
--- a/doc/usage/fit/overlay-fdt-boot.rst
+++ b/doc/usage/fit/overlay-fdt-boot.rst
@@ -111,6 +111,12 @@ Where config is one of::
This selects the DTB to use when booting.
+If no configuration is given, U-Boot picks one automatically: with
+``CONFIG_FIT_BEST_MATCH`` it selects the configuration whose fdt is the most
+compatible with U-Boot's own control devicetree, and falls back to the
+``default`` configuration otherwise. When several configurations match
+equally well, the ``default`` one is preferred.
+
.. _fit_configuration_using_overlays:
Configuration using overlays
diff --git a/doc/usage/fit/signature.rst b/doc/usage/fit/signature.rst
index da08cc75c3a..64bada2f58f 100644
--- a/doc/usage/fit/signature.rst
+++ b/doc/usage/fit/signature.rst
@@ -359,7 +359,7 @@ however, U-Boot does not read 'hashed-nodes'. Instead it rebuilds the node
list from the configuration's own image references (kernel, fdt, ramdisk,
etc.), since 'hashed-nodes' is not itself covered by the signature. The
rebuilt list always includes the root node, the configuration node, each
-referenced image node and its hash/cipher subnodes.
+referenced image node and its hash, cipher and dm-verity subnodes.
The image is walked in order and each tag processed as follows:
diff --git a/doc/usage/os/plan9.rst b/doc/usage/os/plan9.rst
index f91712c0094..27020be65da 100644
--- a/doc/usage/os/plan9.rst
+++ b/doc/usage/os/plan9.rst
@@ -19,4 +19,4 @@ If no command line arguments or bootargs are defined, CONFADDR is left
uninitialized to permit manual configuration. For example, PC-style
configuration could be simulated by issuing a fatload in bootcmd::
- # setenv bootcmd fatload mmc 0 $confaddr plan9.ini; ...; bootm
+ # env set bootcmd fatload mmc 0 $confaddr plan9.ini; ...; bootm
diff --git a/doc/usage/pxe.rst b/doc/usage/pxe.rst
index 18532f182d5..523bf9f565e 100644
--- a/doc/usage/pxe.rst
+++ b/doc/usage/pxe.rst
@@ -30,7 +30,7 @@ Commands
try. The order and contents of paths it tries mirrors exactly
that of PXELINUX - you can read in more detail about it at:
- http://syslinux.zytor.com/wiki/index.php/Doc/pxelinux
+ https://wiki.syslinux.org/wiki/index.php?title=Doc/pxelinux
``pxe boot``
**Syntax:** ``pxe boot [pxefile_addr_r]``
@@ -130,7 +130,7 @@ pxe file format
---------------
The pxe file format is nearly a subset of the PXELINUX file format;
-see http://syslinux.zytor.com/wiki/index.php/PXELINUX. It's composed
+see https://wiki.syslinux.org/wiki/index.php?title=PXELINUX. It's composed
of one line commands - global commands, and commands specific to
labels. Lines beginning with # are treated as comments. White space
between and at the beginning of lines is ignored.