Device tree configuration for Renesas RSPI/QSPI driver

Required properties:
- compatible       : For Renesas Serial Peripheral Interface on legacy SH:
		     "renesas,rspi-<soctype>", "renesas,rspi" as fallback.
		     For Renesas Serial Peripheral Interface on RZ/A:
		     "renesas,rspi-<soctype>", "renesas,rspi-rz" as fallback.
		     For Quad Serial Peripheral Interface on R-Car Gen2 and
		     RZ/G1 devices:
		     "renesas,qspi-<soctype>", "renesas,qspi" as fallback.
		     Examples with soctypes are:
		        - "renesas,rspi-sh7757" (SH)
			- "renesas,rspi-r7s72100" (RZ/A1H)
			- "renesas,rspi-r7s9210" (RZ/A2)
			- "renesas,qspi-r8a7743" (RZ/G1M)
			- "renesas,qspi-r8a7744" (RZ/G1N)
			- "renesas,qspi-r8a7745" (RZ/G1E)
			- "renesas,qspi-r8a77470" (RZ/G1C)
			- "renesas,qspi-r8a7790" (R-Car H2)
			- "renesas,qspi-r8a7791" (R-Car M2-W)
			- "renesas,qspi-r8a7792" (R-Car V2H)
			- "renesas,qspi-r8a7793" (R-Car M2-N)
			- "renesas,qspi-r8a7794" (R-Car E2)
- reg              : Address start and address range size of the device
- interrupts       : A list of interrupt-specifiers, one for each entry in
		     interrupt-names.
		     If interrupt-names is not present, an interrupt specifier
		     for a single muxed interrupt.
- interrupt-names  : A list of interrupt names. Should contain (if present):
		       - "error" for SPEI,
		       - "rx" for SPRI,
		       - "tx" to SPTI,
		       - "mux" for a single muxed interrupt.
- num-cs	   : Number of chip selects. Some RSPI cores have more than 1.
- #address-cells   : Must be <1>
- #size-cells      : Must be <0>

Optional properties:
- clocks           : Must contain a reference to the functional clock.
- dmas             : Must contain a list of two references to DMA specifiers,
		     one for transmission, and one for reception.
- dma-names        : Must contain a list of two DMA names, "tx" and "rx".

Pinctrl properties might be needed, too.  See
Documentation/devicetree/bindings/pinctrl/renesas,*.

Examples:

	spi0: spi@e800c800 {
		compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz";
		reg = <0xe800c800 0x24>;
		interrupts = <0 238 IRQ_TYPE_LEVEL_HIGH>,
			     <0 239 IRQ_TYPE_LEVEL_HIGH>,
			     <0 240 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "error", "rx", "tx";
		interrupt-parent = <&gic>;
		num-cs = <1>;
		#address-cells = <1>;
		#size-cells = <0>;
	};

	spi: spi@e6b10000 {
		compatible = "renesas,qspi-r8a7791", "renesas,qspi";
		reg = <0 0xe6b10000 0 0x2c>;
		interrupt-parent = <&gic>;
		interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&mstp9_clks R8A7791_CLK_QSPI_MOD>;
		num-cs = <1>;
		#address-cells = <1>;
		#size-cells = <0>;
		dmas = <&dmac0 0x17>, <&dmac0 0x18>;
		dma-names = "tx", "rx";
	};
