| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/pmem-region.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| maintainers: |
| - Oliver O'Halloran <oohall@gmail.com> |
| |
| title: Persistent Memory Regions |
| |
| description: | |
| Persistent memory refers to a class of memory devices that are: |
| |
| a) Usable as main system memory (i.e. cacheable), and |
| b) Retain their contents across power failure. |
| |
| Given b) it is best to think of persistent memory as a kind of memory mapped |
| storage device. To ensure data integrity the operating system needs to manage |
| persistent regions separately to the normal memory pool. To aid with that this |
| binding provides a standardised interface for discovering where persistent |
| memory regions exist inside the physical address space. |
| |
| properties: |
| compatible: |
| const: pmem-region |
| |
| reg: |
| maxItems: 1 |
| |
| volatile: |
| description: |
| Indicates the region is volatile (non-persistent) and the OS can skip |
| cache flushes for writes |
| type: boolean |
| |
| required: |
| - compatible |
| - reg |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| pmem@5000 { |
| compatible = "pmem-region"; |
| reg = <0x00005000 0x00001000>; |
| }; |