diff --git a/.gitattributes b/.gitattributes
index 735b13da278..7a7c4163560 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -6,4 +6,3 @@
*.ttf binary
*.gz binary
*.png binary
-*.svg binary
diff --git a/doc/README.commands.itest b/doc/README.commands.itest
deleted file mode 100644
index 5e0fe86247a..00000000000
--- a/doc/README.commands.itest
+++ /dev/null
@@ -1,16 +0,0 @@
-A slow day today so here is a revised itest command with provisional
-support for comparing strings as well :-))
-
-Now table driven to allow the operators
--eq, -ne, -lt, -gt, -le, -ge, ==, !=, <>, <, >, <=, >=
-
-Uses the expected command modifier for integer compares of width 1, 2 or
-4 bytes of .b, .w, .l and the new modifer of .s for a string compare.
-String comparison is over the length of the shorter, this hopefully
-avoids missing terminators when using an indirect pointer.
-
-eg.
-if itest.l *40000 == 12345678 then; ....
-if itest.w *40000 != 1234 then; ....
-if itest.b *40000 >= 12 then; ....
-if itest.s *40000 -eq hello then; ....
diff --git a/doc/arch/nios2.rst b/doc/arch/nios2.rst
index 34a75e7fb00..90b4ddf387b 100644
--- a/doc/arch/nios2.rst
+++ b/doc/arch/nios2.rst
@@ -13,7 +13,7 @@ Please refer to the link for Linux port and toolchains:
http://rocketboards.org/foswiki/view/Documentation/NiosIILinuxUserManual
The Nios II port of u-boot is controlled by device tree. Please check
-out doc/README.fdt-control.
+out :doc:`/develop/devicetree/control`.
To add a new board/configuration (eg, mysystem) to u-boot, you will need
three files.
diff --git a/doc/board/ti/am335x_evm.rst b/doc/board/ti/am335x_evm.rst
index 7a3125d705b..40e144948a3 100644
--- a/doc/board/ti/am335x_evm.rst
+++ b/doc/board/ti/am335x_evm.rst
@@ -354,6 +354,16 @@ first.
Falcon Mode: FAT SD cards
-------------------------
+Compile with additional changes in config variables in menuconfig:
+
+::
+
+ CONFIG_SPL_LEGACY_IMAGE_FORMAT=y # to support non-FIT images
+ CONFIG_LEGACY_IMAGE_FORMAT=y # if commented then SPL Legacy support stops
+ # CONFIG_SPL_ENV_IS_NOWHERE is not set
+ CONFIG_SPL_ENV_IS_IN_FAT=y
+
+
In this case the additional file is written to the filesystem. In this
example we assume that the uImage and device tree to be used are already on
the FAT filesystem (only the uImage MUST be for this to function
diff --git a/doc/build/documentation.rst b/doc/build/documentation.rst
index 098c96a4c4f..b55a4666643 100644
--- a/doc/build/documentation.rst
+++ b/doc/build/documentation.rst
@@ -16,6 +16,9 @@ the following dependencies are needed to build the documentation:
* texinfo (if building the `Infodoc documentation`_)
+When submitting patches for documentation always build with KDOC_WERROR=1 to
+treat warnings as errors.
+
HTML documentation
------------------
diff --git a/doc/develop/devicetree/control.rst b/doc/develop/devicetree/control.rst
index 0233945f8b6..8811e1d5c23 100644
--- a/doc/develop/devicetree/control.rst
+++ b/doc/develop/devicetree/control.rst
@@ -282,7 +282,7 @@ U-Boot can be divided into three phases: TPL, SPL and U-Boot proper.
The full devicetree is available to U-Boot proper, but normally only a subset
(or none at all) is available to TPL and SPL. See 'Pre-Relocation Support' and
-'SPL Support' in doc/driver-model/design.rst for more details.
+'SPL Support' in :doc:`/develop/driver-model/design` for more details.
Using several DTBs in the SPL (SPL_MULTI_DTB_FIT Kconfig option)
diff --git a/doc/develop/driver-model/ethernet.rst b/doc/develop/driver-model/ethernet.rst
index 73c3a728dbf..2e1df744d4a 100644
--- a/doc/develop/driver-model/ethernet.rst
+++ b/doc/develop/driver-model/ethernet.rst
@@ -8,7 +8,7 @@ own ethernet device driver. Here we will describe a new pseudo 'APE' driver.
Most existing drivers do already - and new network driver MUST - use the
U-Boot core driver model. Generic information about this can be found in
-doc/driver-model/design.rst, this document will thus focus on the network
+:doc:`/develop/driver-model/design`, this document will thus focus on the network
specific code parts.
Some drivers are still using the old Ethernet interface, differences between
the two and hints about porting will be handled at the end.
diff --git a/doc/develop/pics/spl_after_reloc.svg b/doc/develop/pics/spl_after_reloc.svg
index 93e3d599526..052ae3fcc8f 100644
--- a/doc/develop/pics/spl_after_reloc.svg
+++ b/doc/develop/pics/spl_after_reloc.svg
@@ -1,4 +1,293 @@
-
-
-
-
\ No newline at end of file
+
+
+
+
diff --git a/doc/develop/pics/spl_before_reloc.svg b/doc/develop/pics/spl_before_reloc.svg
index e69de29bb2d..7b967097ff9 100644
--- a/doc/develop/pics/spl_before_reloc.svg
+++ b/doc/develop/pics/spl_before_reloc.svg
@@ -0,0 +1,386 @@
+
+
+
+
diff --git a/doc/develop/process.rst b/doc/develop/process.rst
index 0c6fb31e87b..4bfbf0eb9c6 100644
--- a/doc/develop/process.rst
+++ b/doc/develop/process.rst
@@ -139,7 +139,9 @@ comments). Even a "I have no time now, will look into it later"
message is better than nothing. Also, if there are remarks to a
patch, these should leave no doubt if they were just comments and the
patch will be accepted anyway, or if the patch should be
-reworked/resubmitted, or if it was rejected.
+reworked/resubmitted, or if it was rejected. However, if a submitter
+feels it has been too long since posting their patch and not received
+any feedback, it is OK to follow-up and ask.
Review Process, Git Tags
------------------------
diff --git a/doc/develop/spl.rst b/doc/develop/spl.rst
index 7f2eac50806..08b51172014 100644
--- a/doc/develop/spl.rst
+++ b/doc/develop/spl.rst
@@ -145,7 +145,7 @@ fdtgrep is also used to remove:
'bootph-verify' (VPL))
All the nodes remaining in the SPL devicetree are bound
-(see doc/driver-model/design.rst).
+(see :doc:`/develop/driver-model/design`).
NOTE: U-Boot migrated to a new schema for the u-boot,dm-* tags in 2023. Please
update to use the new bootph-* tags as described in the
diff --git a/doc/usage/environment.rst b/doc/usage/environment.rst
index 77197d79380..3764f65c221 100644
--- a/doc/usage/environment.rst
+++ b/doc/usage/environment.rst
@@ -99,9 +99,6 @@ For this particular issue you can use ``DEFAULT_DEVICE_TREE`` instead::
There is no general way to remove quotes.
-If CONFIG_ENV_SOURCE_FILE is empty and the default filename is not present, then
-the old-style C environment is used instead. See below.
-
Old-style C environment
-----------------------
@@ -114,6 +111,9 @@ Board maintainers are encouraged to migrate to the text-based environment as it
is easier to maintain. The distro-board script still requires the old-style
environments, so use :doc:`/develop/bootstd/index` instead.
+If both the text-based environment file and the old-style C environment are
+defined, the variables from the old-style C environment will override those set
+in the text-based environment file.
List of environment variables
-----------------------------
diff --git a/doc/usage/fit/overlay-fdt-boot.rst b/doc/usage/fit/overlay-fdt-boot.rst
index 3d7296ad913..d687e98ea2a 100644
--- a/doc/usage/fit/overlay-fdt-boot.rst
+++ b/doc/usage/fit/overlay-fdt-boot.rst
@@ -13,7 +13,7 @@ that matches the desired configuration.
This document focuses on specifically using overlays as part of a FIT image.
General information regarding overlays including its syntax and building it
-can be found in doc/README.fdt-overlays
+can be found in :doc:`/usage/fdt_overlays`
Configuration without overlays
------------------------------
diff --git a/dts/Makefile b/dts/Makefile
index 86bf8dc2156..fd4ae31a533 100644
--- a/dts/Makefile
+++ b/dts/Makefile
@@ -3,7 +3,7 @@
# Copyright (c) 2011 The Chromium OS Authors.
# This Makefile builds the internal U-Boot fdt if CONFIG_OF_CONTROL is
-# enabled. See doc/README.fdt-control for more details.
+# enabled. See doc/develop/devicetree/control.rst for more details.
DEVICE_TREE ?= $(CONFIG_DEFAULT_DEVICE_TREE:"%"=%)
ifeq ($(DEVICE_TREE),)
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index 900113ca3e9..13e44be1d06 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -123,22 +123,6 @@ config EFI_VARIABLE_FILE_STORE
Select this option if you want non-volatile UEFI variables to be
stored as file /ubootefi.var on the EFI system partition.
-config EFI_RT_VOLATILE_STORE
- bool "Allow variable runtime services in volatile storage (e.g RAM)"
- depends on EFI_VARIABLE_FILE_STORE
- help
- When EFI variables are stored on file we don't allow SetVariableRT,
- since the OS doesn't know how to write that file. At the same time
- we copy runtime variables in DRAM and support GetVariableRT
-
- Enable this option to allow SetVariableRT on the RAM backend of
- the EFI variable storage. The OS will be responsible for syncing
- the RAM contents to the file, otherwise any changes made during
- runtime won't persist reboots.
- Authenticated variables are not supported. Note that this will
- violate the EFI spec since writing auth variables will return
- EFI_INVALID_PARAMETER
-
config EFI_MM_COMM_TEE
bool "UEFI variables storage service via the trusted world"
depends on OPTEE
@@ -157,6 +141,31 @@ config EFI_MM_COMM_TEE
MM buffer. The data is copied by u-boot to the shared buffer before issuing
the door bell event.
+config EFI_VARIABLE_NO_STORE
+ bool "Don't persist non-volatile UEFI variables"
+ help
+ If you choose this option, non-volatile variables cannot be persisted.
+ You could still provide non-volatile variables via
+ EFI_VARIABLES_PRESEED.
+
+endchoice
+
+config EFI_RT_VOLATILE_STORE
+ bool "Allow variable runtime services in volatile storage (e.g RAM)"
+ depends on EFI_VARIABLE_FILE_STORE
+ help
+ When EFI variables are stored on file we don't allow SetVariableRT,
+ since the OS doesn't know how to write that file. At the same time
+ we copy runtime variables in DRAM and support GetVariableRT
+
+ Enable this option to allow SetVariableRT on the RAM backend of
+ the EFI variable storage. The OS will be responsible for syncing
+ the RAM contents to the file, otherwise any changes made during
+ runtime won't persist reboots.
+ Authenticated variables are not supported. Note that this will
+ violate the EFI spec since writing auth variables will return
+ EFI_INVALID_PARAMETER
+
config FFA_SHARED_MM_BUF_SIZE
int "Memory size of the shared MM communication buffer"
depends on EFI_MM_COMM_TEE && ARM_FFA_TRANSPORT
@@ -184,15 +193,6 @@ config FFA_SHARED_MM_BUF_ADDR
the MM SP in secure world.
It is assumed that the MM SP knows the address of the shared MM communication buffer.
-config EFI_VARIABLE_NO_STORE
- bool "Don't persist non-volatile UEFI variables"
- help
- If you choose this option, non-volatile variables cannot be persisted.
- You could still provide non-volatile variables via
- EFI_VARIABLES_PRESEED.
-
-endchoice
-
config EFI_VARIABLES_PRESEED
bool "Initial values for UEFI variables"
depends on !COMPILE_TEST