# 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>;
        };
    };
