* SPI NOR flash: ST M25Pxx (and similar) serial flash chips

Required properties:
- #address-cells, #size-cells : Must be present if the device has sub-nodes
  representing partitions.
- compatible : May include a device-specific string consisting of the
               manufacturer and name of the chip. A list of supported chip
               names follows.
               Must also include "jedec,spi-nor" for any SPI NOR flash that can
               be identified by the JEDEC READ ID opcode (0x9F).

               Supported chip names:
                 at25df321a
                 at25df641
                 at26df081a
                 mr25h128
                 mr25h256
                 mr25h10
                 mr25h40
                 mx25l4005a
                 mx25l1606e
                 mx25l6405d
                 mx25l12805d
                 mx25l25635e
                 n25q064
                 n25q128a11
                 n25q128a13
                 n25q512a
                 s25fl256s1
                 s25fl512s
                 s25sl12801
                 s25fl008k
                 s25fl064k
                 sst25vf040b
                 m25p40
                 m25p80
                 m25p16
                 m25p32
                 m25p64
                 m25p128
                 w25x80
                 w25x32
                 w25q32
                 w25q64
                 w25q32dw
                 w25q80bl
                 w25q128
                 w25q256

               The following chip names have been used historically to
               designate quirky versions of flash chips that do not support the
               JEDEC READ ID opcode (0x9F):
                 m25p05-nonjedec
                 m25p10-nonjedec
                 m25p20-nonjedec
                 m25p40-nonjedec
                 m25p80-nonjedec
                 m25p16-nonjedec
                 m25p32-nonjedec
                 m25p64-nonjedec
                 m25p128-nonjedec

- reg : Chip-Select number
- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at

Optional properties:
- m25p,fast-read : Use the "fast read" opcode to read data from the chip instead
                   of the usual "read" opcode. This opcode is not supported by
                   all chips and support for it can not be detected at runtime.
                   Refer to your chips' datasheet to check if this is supported
                   by your chip.
- broken-flash-reset : Some flash devices utilize stateful addressing modes
		   (e.g., for 32-bit addressing) which need to be managed
		   carefully by a system. Because these sorts of flash don't
		   have a standardized software reset command, and because some
		   systems don't toggle the flash RESET# pin upon system reset
		   (if the pin even exists at all), there are systems which
		   cannot reboot properly if the flash is left in the "wrong"
		   state. This boolean flag can be used on such systems, to
		   denote the absence of a reliable reset mechanism.

Example:

	flash: m25p80@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "spansion,m25p80", "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <40000000>;
		m25p,fast-read;
	};
