[PATCH] dt-bindings: u-boot: Add a few more options bindings
Simon Glass
sjg at chromium.org
Sat Nov 20 01:03:56 CET 2021
This adds three new options with varying degree of interest / precedent.
This being sent to the mailing list since it might attract more review.
A PR will be sent when this has had some review. That is why the file
path is set up for https://github.com/devicetree-org/dt-schema rather
than the Linux kernel.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
schemas/options/u-boot.yaml | 51 +++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/schemas/options/u-boot.yaml b/schemas/options/u-boot.yaml
index 71dfda7..b8bdec1 100644
--- a/schemas/options/u-boot.yaml
+++ b/schemas/options/u-boot.yaml
@@ -71,6 +71,37 @@ properties:
2: use simplified command line (e.g. avoid hush)
3... reserved
+ load-environment:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ default: 1
+ maximum: 1
+ description: |
+ This allows control over whether U-Boot loads its environment after
+ relocation. This normally happens automatically, but can pose a security
+ risk, so disabling it in certain situations is useful.
+
+ Note: This could be a boolean. It is defined as an integer since that
+ allows changing the value without resizing the devicetree. I'm not sure
+ how ugly that is, but IMO the fact that 'false' boolean values are
+ represented by being missing is a bit of a pain. One must either add or
+ delete the property.
+
+ Values:
+
+ 0: don't load the environment
+ 1: do load the environment
+
+ no-apm-final:
+ $ref: /schemas/types.yaml#/definitions/flag
+ description: |
+ For devices running on coreboot, this tells U-Boot not to lock down the
+ Intel Management Engine (ME) registers. This allows U-Boot to access the
+ hardware more fully for platforms that need it.
+
+ Absence of this property indicates that the ME registers should be locked
+ down as part of U-Boot's start-up sequence and before the command line is
+ available.
+
silent-console:
$ref: /schemas/types.yaml#/definitions/uint32
default: 0
@@ -88,6 +119,23 @@ properties:
enabled)
2: console output is suppressed and not recorded
+ spl-payload-offset:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ default: 0
+ description: |
+ If present (and SPL is controlled by the devicetree), this allows the
+ offset of the SPL payload (typically U-Boot) to be specified. The offset
+ is in bytes from the start of the media (typically SPI flash).
+
+ Note: This is quite widely used in U-Boot, but since v2018.01 it is
+ possible to use Binman instead, to provide this offset (and various
+ others) to SPL, or even to U-Boot proper. So far I have not tried sending
+ the Binman bindings upstream, but perhaps that should be done instead.
+
+ See here for details:
+
+ https://u-boot.readthedocs.io/en/latest/develop/package/binman.html#image-description-format
+
required:
- compatible
@@ -101,6 +149,9 @@ examples:
bootcmd = "vboot go auto";
bootdelay-sec = <(-1)>;
bootsecure = <1>;
+ load-environment = <0>;
+ no-apm-final;
silent-console = <1>;
+ spl-payload-offset = <0x40000>; /* 256K */
};
};
--
2.34.0.rc2.393.gf8c9666880-goog
More information about the U-Boot
mailing list