xref: /linux/Documentation/devicetree/bindings/pmem/pmem-region.yaml (revision 52da431bf03b5506203bca27fe14a97895c80faf)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pmem-region.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7maintainers:
8  - Oliver O'Halloran <oohall@gmail.com>
9
10title: Persistent Memory Regions
11
12description: |
13  Persistent memory refers to a class of memory devices that are:
14
15    a) Usable as main system memory (i.e. cacheable), and
16    b) Retain their contents across power failure.
17
18  Given b) it is best to think of persistent memory as a kind of memory mapped
19  storage device. To ensure data integrity the operating system needs to manage
20  persistent regions separately to the normal memory pool. To aid with that this
21  binding provides a standardised interface for discovering where persistent
22  memory regions exist inside the physical address space.
23
24properties:
25  compatible:
26    const: pmem-region
27
28  reg:
29    maxItems: 1
30
31  volatile:
32    description:
33      Indicates the region is volatile (non-persistent) and the OS can skip
34      cache flushes for writes
35    type: boolean
36
37required:
38  - compatible
39  - reg
40
41additionalProperties: false
42
43examples:
44  - |
45    pmem@5000 {
46        compatible = "pmem-region";
47        reg = <0x00005000 0x00001000>;
48    };
49