142 lines
4.9 KiB
YAML
142 lines
4.9 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mtd/partitions/partition.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Partition
|
|
|
|
description: |
|
|
This binding describes a single flash partition. Each partition must have its
|
|
relative offset and size specified. Depending on partition function extra
|
|
properties can be used.
|
|
|
|
A partition may be dynamically allocated by a specific parser at runtime.
|
|
In this specific case, a specific suffix is required to the node name.
|
|
Everything after 'partition-' will be used as the partition name to compare
|
|
with the one dynamically allocated by the specific parser.
|
|
If the partition contains invalid char a label can be provided that will
|
|
be used instead of the node name to make the comparison.
|
|
This is used to assign an OF node to the dynamiccally allocated partition
|
|
so that subsystem like NVMEM can provide an OF node and declare NVMEM cells.
|
|
The OF node will be assigned only if the partition label declared match the
|
|
one assigned by the parser at runtime.
|
|
|
|
maintainers:
|
|
- Rafał Miłecki <rafal@milecki.pl>
|
|
|
|
properties:
|
|
reg:
|
|
description: partition's offset and size within the flash
|
|
maxItems: 1
|
|
|
|
label:
|
|
description: The label / name for this partition. If omitted, the label
|
|
is taken from the node name (excluding the unit address).
|
|
|
|
read-only:
|
|
description: This parameter, if present, is a hint that this partition
|
|
should only be mounted read-only. This is usually used for flash
|
|
partitions containing early-boot firmware images or data which should
|
|
not be clobbered.
|
|
type: boolean
|
|
|
|
lock:
|
|
description: Do not unlock the partition at initialization time (not
|
|
supported on all devices)
|
|
type: boolean
|
|
|
|
slc-mode:
|
|
description: This parameter, if present, allows one to emulate SLC mode
|
|
on a partition attached to an MLC NAND thus making this partition
|
|
immune to paired-pages corruptions
|
|
type: boolean
|
|
|
|
linux,rootfs:
|
|
description: Marks partition that contains root filesystem to mount and boot
|
|
user space from
|
|
type: boolean
|
|
|
|
align:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
minimum: 2
|
|
maximum: 0x80000000
|
|
multipleOf: 2
|
|
description:
|
|
This sets the alignment of the entry in bytes.
|
|
|
|
The entry offset is adjusted so that the entry starts on an aligned
|
|
boundary within the containing section or image. For example ‘align =
|
|
<16>’ means that the entry will start on a 16-byte boundary. This may
|
|
mean that padding is added before the entry. The padding is part of
|
|
the containing section but is not included in the entry, meaning that
|
|
an empty space may be created before the entry starts. Alignment
|
|
must be a power of 2. If ‘align’ is not provided, no alignment is
|
|
performed.
|
|
|
|
align-size:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
minimum: 2
|
|
maximum: 0x80000000
|
|
multipleOf: 2
|
|
description:
|
|
This sets the alignment of the entry size in bytes. It must be a power
|
|
of 2.
|
|
|
|
For example, to ensure that the size of an entry is a multiple of 64
|
|
bytes, set this to 64. While this does not affect the content of the
|
|
entry itself (the padding is performed only when its parent section is
|
|
assembled), the end result is that the entry ends with the padding
|
|
bytes, so may grow. If ‘align-size’ is not provided, no alignment is
|
|
performed.
|
|
|
|
align-end:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
minimum: 2
|
|
maximum: 0x80000000
|
|
multipleOf: 2
|
|
description:
|
|
This sets the alignment (in bytes) of the end of an entry with respect
|
|
to the containing section. It must be a power of 2.
|
|
|
|
Some entries require that they end on an alignment boundary,
|
|
regardless of where they start. This does not move the start of the
|
|
entry, so the content of the entry will still start at the beginning.
|
|
But there may be padding at the end. While this does not affect the
|
|
content of the entry itself (the padding is performed only when its
|
|
parent section is assembled), the end result is that the entry ends
|
|
with the padding bytes, so may grow. If ‘align-end’ is not provided,
|
|
no alignment is performed.
|
|
|
|
if:
|
|
not:
|
|
required: [ reg ]
|
|
then:
|
|
properties:
|
|
$nodename:
|
|
pattern: '^partition-.*$'
|
|
|
|
# This is a generic file other binding inherit from and extend
|
|
additionalProperties: true
|
|
|
|
examples:
|
|
- |
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
partition@100000 {
|
|
compatible = "u-boot";
|
|
reg = <0x100000 0xf00000>;
|
|
align-size = <0x1000>;
|
|
align-end = <0x10000>;
|
|
};
|
|
|
|
partition@200000 {
|
|
compatible = "tfa-bl31";
|
|
reg = <0x200000 0x100000>;
|
|
align = <0x4000>;
|
|
};
|
|
};
|