zephyr/dts/bindings/mtd/nordic,owned-partitions.yaml

90 lines
2.4 KiB
YAML

# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
description: |
Nordic Owned Partitions
Memory partition table with permission attributes common to its partitions.
This is a special case of the Nordic Owned Memory binding.
Every compatible node is expected to be a child of a memory node, where the
listed partitions belong.
A single memory node can contain multiple partition tables, each with a
different set of permissions. For each such table, the smallest memory region
spanning the contained partitions will be recorded in the UICR. These regions
are allowed to contain gaps between the partitions, but this is discouraged.
Example:
mram1x: mram@e000000 {
compatible = "nordic,mram";
reg = <0xe000000 0x200000>;
...
rx-partitions {
compatible = "nordic,owned-partitions";
perm-read;
perm-execute;
#address-cells = <1>;
#size-cells = <1>;
slot0_partition: partition@c0000 {
label = "image-0";
reg = <0xc0000 0x40000>;
};
};
rw-partitions {
compatible = "nordic,owned-partitions";
perm-read;
perm-write;
#address-cells = <1>;
#size-cells = <1>;
slot1_partition: partition@100000 {
label = "image-1";
reg = <0x100000 0x50000>;
};
storage_partition: partition@150000 {
label = "storage";
reg = <0x150000 0x6000>;
};
};
};
From this example, two memory regions will be inferred:
- 0x0E0C0000--0x0E100000, with read & execute permissions, containing the
partition labeled "image-0".
- 0x0E100000--0x0E156000, with read & write permissions, containing the
partitions labeled "image-1" and "storage".
compatible: "nordic,owned-partitions"
include:
- name: nordic,owned-memory.yaml
property-blocklist:
- reg
properties:
"#address-cells":
required: true
"#size-cells":
required: true
child-binding:
description: |
Partitions in the table are defined as subnodes. Each partition must have a
size and an offset relative to the base address of the parent memory node.
include:
- name: base.yaml
property-blocklist:
- compatible
properties:
reg:
required: true