* Ingenic JZ4780 NAND/external memory controller (NEMC)

This file documents the device tree bindings for the NEMC external memory
controller in Ingenic JZ4780

Required properties:
- compatible: Should be set to one of:
    "ingenic,jz4740-nemc" (JZ4740)
    "ingenic,jz4780-nemc" (JZ4780)
- reg: Should specify the NEMC controller registers location and length.
- clocks: Clock for the NEMC controller.
- #address-cells: Must be set to 2.
- #size-cells: Must be set to 1.
- ranges: A set of ranges for each bank describing the physical memory layout.
  Each should specify the following 4 integer values:

    <cs number> 0 <physical address of mapping> <size of mapping>

Each child of the NEMC node describes a device connected to the NEMC.

Required child node properties:
- reg: Should contain at least one register specifier, given in the following
  format:

    <cs number> <offset> <size>

  Multiple registers can be specified across multiple banks. This is needed,
  for example, for packaged NAND devices with multiple dies. Such devices
  should be grouped into a single node.

Optional child node properties:
- ingenic,nemc-bus-width: Specifies the bus width in bits. Defaults to 8 bits.
- ingenic,nemc-tAS: Address setup time in nanoseconds.
- ingenic,nemc-tAH: Address hold time in nanoseconds.
- ingenic,nemc-tBP: Burst pitch time in nanoseconds.
- ingenic,nemc-tAW: Access wait time in nanoseconds.
- ingenic,nemc-tSTRV: Static memory recovery time in nanoseconds.

If a child node references multiple banks in its "reg" property, the same value
for all optional parameters will be configured for all banks. If any optional
parameters are omitted, they will be left unchanged from whatever they are
configured to when the NEMC device is probed (which may be the reset value as
given in the hardware reference manual, or a value configured by the boot
loader).

Example (NEMC node with a NAND child device attached at CS1):

nemc: nemc@13410000 {
	compatible = "ingenic,jz4780-nemc";
	reg = <0x13410000 0x10000>;

	#address-cells = <2>;
	#size-cells = <1>;

	ranges = <1 0 0x1b000000 0x1000000
		  2 0 0x1a000000 0x1000000
		  3 0 0x19000000 0x1000000
		  4 0 0x18000000 0x1000000
		  5 0 0x17000000 0x1000000
		  6 0 0x16000000 0x1000000>;

	clocks = <&cgu JZ4780_CLK_NEMC>;

	nand: nand@1 {
		compatible = "ingenic,jz4780-nand";
		reg = <1 0 0x1000000>;

		ingenic,nemc-tAS = <10>;
		ingenic,nemc-tAH = <5>;
		ingenic,nemc-tBP = <10>;
		ingenic,nemc-tAW = <15>;
		ingenic,nemc-tSTRV = <100>;

		...
	};
};
