zephyr/dts/bindings/retention/zephyr,retention.yaml
Jamie McCrae 64f4404481 retention: Add retention system
Adds a retention system which builds on top of retained_mem
drivers to allow partitioning of areas and data integrity with
magic header prefixes and checksum of stored data.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-04-24 13:27:53 +02:00

67 lines
1.8 KiB
YAML

# Copyright (c) 2023 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
description: |
Retention subsystem area, which has a retained memory parent. Example
64-byte area with 2-byte prefix and 1-byte checksum with 61 usable bytes
for user storage:
sram@2003FFC0 {
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0x2003FFC0 64>;
zephyr,memory-region = "RetainedMem";
status = "okay";
retainedmem {
compatible = "zephyr,retained-ram";
status = "okay";
#address-cells = <1>;
#size-cells = <1>;
retention0: retention@0 {
compatible = "zephyr,retention";
status = "okay";
reg = <0x0 0x40>;
prefix = [04 fa];
checksum = <1>;
};
};
};
compatible: "zephyr,retention"
include: base.yaml
properties:
"#address-cells":
const: 1
description: |
Address reg cell is for the offset of the area in parent node, can be
increased if multiple retention partitions are used or parts are
reserved.
"#size-cells":
const: 1
description: |
Size reg cell is for the size of the area, which includes sizes of
prefix and checksum (if enabled).
reg:
required: true
prefix:
description: |
An optional magic prefix, which indicates that the data has been set
(applies to the header of the data, reduces the available user data
size).
type: uint8-array
checksum:
description: |
An optional data verification checksum, which indicates that the data is
valid (appended to the footer of the data, reduces the available user
data size). Value is size in bytes (0 for none, 1 for 8-bit CRC, 2 for
16-bit CRC, 4 for 32-bit CRC). Default is to not use a checksum.
type: int
default: 0