Qualcomm Serial Peripheral Interface (SPI)

Required properties:
- compatible : Should be "qcom,spi-qup-v2".
- reg : Offset and length of the register regions for the device
- reg-names : Register region names referenced in reg above.
	Required register resource entries are:
	"spi_physical" : Physical address of controller register blocks.
- interrupts : Interrupt numbers used by this controller
- interrupt-names : Interrupt resource names referenced in interrupts above.
	Required interrupt resource entries are:
	"spi_irq" : QUP-core interrupt.
- spi-max-frequency : Specifies maximum SPI clock frequency, Units - Hz.

Required alias:
- The desired bus-number is specified via an alias with the following format
	'spi{n}' where n is the bus number.

Optional properties:
- gpios : Specifies the gpio pins to be used for SPI CLK, MISO, MOSI in
  that order.
- cs-gpios : Specifies the gpio pins to be used for chipselects.
- qcom,infinite-mode: When missing or set to zero, QUP uses infinite-mode. When
  value is non-zero, the value is the number of words in maximum transfer
  length.

Optional properties which are required for support of BAM-mode:
- qcom,ver-reg-exists : Boolean. When present, allows driver to verify if HW
  version support latest features (e.g. BAM) and then enable them. Should be
  removed for legacy HW.
- qcom,use-bam : Boolean. When present, enables BAM-mode.
- qcom,bam-consumer-pipe-index : BAM consumer-pipe index.
- qcom,bam-producer-pipe-index : BAM producer-pipe index.
- reg-names : register region names referenced in reg.
	Required register resource for BAM are:
	"spi_bam_physical" : Physical address of BAM for this controller.
- interrupt-names : interrupt resource names referenced in interrupts.
	Required interrupt resource from BAM are:
	"spi_bam_irq" : BAM interrupt used by the controller.

Optional SPI slave nodes must be children of the SPI master node and contain
the following properties.
- reg: (required) chip-select address of the device.
- compatible : (required) Name of SPI device following generic names.
- spi-max-frequency : (required) Maximum SPI clocking speed of device in Hz
- interrupts : (recommended) Should contain the SPI slave interrupt number
  encoded depending on the type of the interrupt controller.
- interrupt-parent : (recommended) The phandle for the interrupt controller
  that services interrupts for this device.
- spi-cpol : (optional) Empty property indicating device requires inverse
  clock polarity (CPOL) mode
- spi-cpha : (optional) Empty property indicating device requires shifted
  clock phase (CPHA) mode
- spi-cs-high : (optional) Empty property indicating device requires
  chip select active high

Example:
	aliases {
		spi0 = &spi_0;
	};

	spi_0: spi@f9923000 {
		compatible = "qcom,spi-qup-v2";

		reg-names = "spi_physical", "spi_bam_physical";
		reg = <0xf9923000 0x1000>,
			<0xf9904000 0x10000>;
		interrupt-names = "spi_irq", "spi_bam_irq";
		interrupts = <0 95 0>, <0 238 0>;

		spi-max-frequency = <19200000>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpios = <&msmgpio 3 0>, /* CLK  */
			<&msmgpio 1 0>, /* MISO */
			<&msmgpio 0 0>; /* MOSI */
		cs-gpios = <&msmgpio 9 0>;

		qcom,infinite-mode = <0>;
		qcom,use-bam;
		qcom,bam-consumer-pipe-index = <12>;
		qcom,bam-producer-pipe-index = <13>;
		qcom,ver-reg-exists;
	};
