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 specificy 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 assocativity 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;
	};

