Device-tree bindings for persistent memory regions
-----------------------------------------------------

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.

Bindings for the region nodes:
-----------------------------

Required properties:
	- compatible = "pmem-region"

	- reg = <base, size>;
		The reg property should specify an address range that is
		translatable to a system physical address range. This address
		range should be mappable as normal system memory would be
		(i.e cacheable).

		If the reg property contains multiple address ranges
		each address range will be treated as though it was specified
		in a separate device node. Having multiple address ranges in a
		node implies no special relationship between the two ranges.

Optional properties:
	- Any relevant NUMA associativity properties for the target platform.

	- volatile; This property indicates that this region is actually
	  backed by non-persistent memory. This lets the OS know that it
	  may skip the cache flushes required to ensure data is made
	  persistent after a write.

	  If this property is absent then the OS must assume that the region
	  is backed by non-volatile memory.

Examples:
--------------------

	/*
	 * This node specifies one 4KB region spanning from
	 * 0x5000 to 0x5fff that is backed by non-volatile memory.
	 */
	pmem@5000 {
		compatible = "pmem-region";
		reg = <0x00005000 0x00001000>;
	};

	/*
	 * This node specifies two 4KB regions that are backed by
	 * volatile (normal) memory.
	 */
	pmem@6000 {
		compatible = "pmem-region";
		reg = < 0x00006000 0x00001000
			0x00008000 0x00001000 >;
		volatile;
	};

