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@xxxxxxxxxxxx> --- 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