1# Copyright (c) 2023 Nordic Semiconductor ASA
2# SPDX-License-Identifier: Apache-2.0
3
4description: |
5  Retention subsystem area, which has a retained memory parent. Example
6  64-byte area with 2-byte prefix and 1-byte checksum with 61 usable bytes
7  for user storage:
8
9  sram@2003FFC0 {
10    compatible = "zephyr,memory-region", "mmio-sram";
11    reg = <0x2003FFC0 64>;
12    zephyr,memory-region = "RetainedMem";
13    status = "okay";
14
15    retainedmem {
16      compatible = "zephyr,retained-ram";
17      status = "okay";
18      #address-cells = <1>;
19      #size-cells = <1>;
20
21      retention0: retention@0 {
22        compatible = "zephyr,retention";
23        status = "okay";
24        reg = <0x0 0x40>;
25        prefix = [04 fa];
26        checksum = <1>;
27      };
28    };
29  };
30
31compatible: "zephyr,retention"
32
33include: base.yaml
34
35properties:
36  "#address-cells":
37    const: 1
38    description: |
39      Address reg cell is for the offset of the area in parent node, can be
40      increased if multiple retention partitions are used or parts are
41      reserved.
42
43  "#size-cells":
44    const: 1
45    description: |
46      Size reg cell is for the size of the area, which includes sizes of
47      prefix and checksum (if enabled).
48
49  reg:
50    required: true
51
52  prefix:
53    description: |
54      An optional magic prefix, which indicates that the data has been set
55      (applies to the header of the data, reduces the available user data
56      size).
57    type: uint8-array
58
59  checksum:
60    description: |
61      An optional data verification checksum, which indicates that the data is
62      valid (appended to the footer of the data, reduces the available user
63      data size). Value is size in bytes (0 for none, 1 for 8-bit CRC, 2 for
64      16-bit CRC, 4 for 32-bit CRC). Default is to not use a checksum.
65    type: int
66    default: 0
67