CFI or JEDEC memory-mapped NOR flash, MTD-RAM (NVRAM...)

Flash chips (Memory Technology Devices) are often used for solid state
file systems on embedded devices.

 - compatible : should contain the specific model of mtd chip(s)
   used, if known, followed by either "cfi-flash", "jedec-flash"
   or "mtd-ram".
 - reg : Address range(s) of the mtd chip(s)
   It's possible to (optionally) define multiple "reg" tuples so that
   non-identical chips can be described in one node.
 - bank-width : Width (in bytes) of the bank.  Equal to the
   device width times the number of interleaved chips.
 - device-width : (optional) Width of a single mtd chip.  If
   omitted, assumed to be equal to 'bank-width'.
 - #address-cells, #size-cells : Must be present if the device has
   sub-nodes representing partitions (see below).  In this case
   both #address-cells and #size-cells must be equal to 1.
 - no-unaligned-direct-access: boolean to disable the default direct
   mapping of the flash.
   On some platforms (e.g. MPC5200) a direct 1:1 mapping may cause
   problems with JFFS2 usage, as the local bus (LPB) doesn't support
   unaligned accesses as implemented in the JFFS2 code via memcpy().
   By defining "no-unaligned-direct-access", the flash will not be
   exposed directly to the MTD users (e.g. JFFS2) any more.
 - linux,mtd-name: allow to specify the mtd name for retro capability with
   physmap-flash drivers as boot loader pass the mtd partition via the old
   device name physmap-flash.
 - use-advanced-sector-protection: boolean to enable support for the
   advanced sector protection (Spansion: PPB - Persistent Protection
   Bits) locking.

For JEDEC compatible devices, the following additional properties
are defined:

 - vendor-id : Contains the flash chip's vendor id (1 byte).
 - device-id : Contains the flash chip's device id (1 byte).

The device tree may optionally contain sub-nodes describing partitions of the
address space. See partition.txt for more detail.

Example:

	flash@ff000000 {
		compatible = "amd,am29lv128ml", "cfi-flash";
		reg = <ff000000 01000000>;
		bank-width = <4>;
		device-width = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		fs@0 {
			label = "fs";
			reg = <0 f80000>;
		};
		firmware@f80000 {
			label ="firmware";
			reg = <f80000 80000>;
			read-only;
		};
	};

Here an example with multiple "reg" tuples:

	flash@f0000000,0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "intel,PC48F4400P0VB", "cfi-flash";
		reg = <0 0x00000000 0x02000000
		       0 0x02000000 0x02000000>;
		bank-width = <2>;
		partition@0 {
			label = "test-part1";
			reg = <0 0x04000000>;
		};
	};

An example using SRAM:

	sram@2,0 {
		compatible = "samsung,k6f1616u6a", "mtd-ram";
		reg = <2 0 0x00200000>;
		bank-width = <2>;
	};

