1# Copyright (c) 2024 Nordic Semiconductor ASA 2# SPDX-License-Identifier: Apache-2.0 3 4description: | 5 Nordic Owned Partitions 6 7 Memory partition table with permission attributes common to its partitions. 8 This is a special case of the Nordic Owned Memory binding. 9 10 Every compatible node is expected to be a child of a memory node, where the 11 listed partitions belong. 12 13 A single memory node can contain multiple partition tables, each with a 14 different set of permissions. For each such table, the smallest memory region 15 spanning the contained partitions will be recorded in the UICR. These regions 16 are allowed to contain gaps between the partitions, but this is discouraged. 17 18 Example: 19 20 mram1x: mram@e000000 { 21 compatible = "nordic,mram"; 22 reg = <0xe000000 0x200000>; 23 ... 24 25 rx-partitions { 26 compatible = "nordic,owned-partitions"; 27 nordic,access = <NRF_OWNER_ID_APPLICATION NRF_PERM_RX>; 28 #address-cells = <1>; 29 #size-cells = <1>; 30 31 slot0_partition: partition@c0000 { 32 label = "image-0"; 33 reg = <0xc0000 0x40000>; 34 }; 35 }; 36 37 rw-partitions { 38 compatible = "nordic,owned-partitions"; 39 nordic,access = <NRF_OWNER_ID_APPLICATION NRF_PERM_RW>; 40 #address-cells = <1>; 41 #size-cells = <1>; 42 43 slot1_partition: partition@100000 { 44 label = "image-1"; 45 reg = <0x100000 0x50000>; 46 }; 47 storage_partition: partition@150000 { 48 label = "storage"; 49 reg = <0x150000 0x6000>; 50 }; 51 }; 52 }; 53 54 From this example, two memory regions will be inferred: 55 56 - 0x0E0C0000--0x0E100000, with read & execute permissions, containing the 57 partition labeled "image-0". 58 - 0x0E100000--0x0E156000, with read & write permissions, containing the 59 partitions labeled "image-1" and "storage". 60 61compatible: "nordic,owned-partitions" 62 63include: 64 - name: nordic,owned-memory.yaml 65 property-blocklist: 66 - reg 67 68properties: 69 "#address-cells": 70 required: true 71 72 "#size-cells": 73 required: true 74 75child-binding: 76 description: | 77 Partitions in the table are defined as subnodes. Each partition must have a 78 size and an offset relative to the base address of the parent memory node. 79 80 include: 81 - name: base.yaml 82 property-blocklist: 83 - compatible 84 85 properties: 86 reg: 87 required: true 88