File Index
Files and directories
Sign in
FILE

partition.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/mtd/partitions/partition.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/mtd/partitions/partition.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Partition
  8
  9description: |
 10  This binding describes a single flash partition. Each partition must have its
 11  relative offset and size specified. Depending on partition function extra
 12  properties can be used.
 13
 14  A partition may be dynamically allocated by a specific parser at runtime.
 15  In this specific case, a specific suffix is required to the node name.
 16  Everything after 'partition-' will be used as the partition name to compare
 17  with the one dynamically allocated by the specific parser.
 18  If the partition contains invalid char a label can be provided that will
 19  be used instead of the node name to make the comparison.
 20  This is used to assign an OF node to the dynamiccally allocated partition
 21  so that subsystem like NVMEM can provide an OF node and declare NVMEM cells.
 22  The OF node will be assigned only if the partition label declared match the
 23  one assigned by the parser at runtime.
 24
 25maintainers:
 26  - Rafał Miłecki <rafal@milecki.pl>
 27
 28properties:
 29  reg:
 30    description: partition's offset and size within the flash
 31    maxItems: 1
 32
 33  label:
 34    description: The label / name for this partition. If omitted, the label
 35      is taken from the node name (excluding the unit address).
 36
 37  read-only:
 38    description: This parameter, if present, is a hint that this partition
 39      should only be mounted read-only. This is usually used for flash
 40      partitions containing early-boot firmware images or data which should
 41      not be clobbered.
 42    type: boolean
 43
 44  lock:
 45    description: Do not unlock the partition at initialization time (not
 46      supported on all devices)
 47    type: boolean
 48
 49  slc-mode:
 50    description: This parameter, if present, allows one to emulate SLC mode
 51      on a partition attached to an MLC NAND thus making this partition
 52      immune to paired-pages corruptions
 53    type: boolean
 54
 55  linux,rootfs:
 56    description: Marks partition that contains root filesystem to mount and boot
 57      user space from
 58    type: boolean
 59
 60  align:
 61    $ref: /schemas/types.yaml#/definitions/uint32
 62    minimum: 2
 63    maximum: 0x80000000
 64    multipleOf: 2
 65    description:
 66      This sets the alignment of the entry in bytes.
 67
 68      The entry offset is adjusted so that the entry starts on an aligned
 69      boundary within the containing section or image. For example ‘align =
 70      <16>’ means that the entry will start on a 16-byte boundary. This may
 71      mean that padding is added before the entry. The padding is part of
 72      the containing section but is not included in the entry, meaning that
 73      an empty space may be created before the entry starts. Alignment
 74      must be a power of 2. If ‘align’ is not provided, no alignment is
 75      performed.
 76
 77  align-size:
 78    $ref: /schemas/types.yaml#/definitions/uint32
 79    minimum: 2
 80    maximum: 0x80000000
 81    multipleOf: 2
 82    description:
 83      This sets the alignment of the entry size in bytes. It must be a power
 84      of 2.
 85
 86      For example, to ensure that the size of an entry is a multiple of 64
 87      bytes, set this to 64. While this does not affect the content of the
 88      entry itself (the padding is performed only when its parent section is
 89      assembled), the end result is that the entry ends with the padding
 90      bytes, so may grow. If ‘align-size’ is not provided, no alignment is
 91      performed.
 92
 93  align-end:
 94    $ref: /schemas/types.yaml#/definitions/uint32
 95    minimum: 2
 96    maximum: 0x80000000
 97    multipleOf: 2
 98    description:
 99      This sets the alignment (in bytes) of the end of an entry with respect
100      to the containing section. It must be a power of 2.
101
102      Some entries require that they end on an alignment boundary,
103      regardless of where they start. This does not move the start of the
104      entry, so the content of the entry will still start at the beginning.
105      But there may be padding at the end. While this does not affect the
106      content of the entry itself (the padding is performed only when its
107      parent section is assembled), the end result is that the entry ends
108      with the padding bytes, so may grow. If ‘align-end’ is not provided,
109      no alignment is performed.
110
111if:
112  not:
113    required: [ reg ]
114then:
115  properties:
116    $nodename:
117      pattern: '^partition-.*$'
118
119# This is a generic file other binding inherit from and extend
120additionalProperties: true
121
122examples:
123  - |
124    partitions {
125        compatible = "fixed-partitions";
126        #address-cells = <1>;
127        #size-cells = <1>;
128
129        partition@100000 {
130            compatible = "u-boot";
131            reg = <0x100000 0xf00000>;
132            align-size = <0x1000>;
133            align-end = <0x10000>;
134        };
135
136        partition@200000 {
137            compatible = "tfa-bl31";
138            reg = <0x200000 0x100000>;
139            align = <0x4000>;
140        };
141    };
~/ Read-only file preview.