blob: 4b912f30f027f1619078b0e167c13bb180f5db2e [file] [log] [blame]
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;
};