123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- 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:
- - qcom,gpio-mosi : GPIO pin number of the MOSI bus line.
- - qcom,gpio-miso : GPIO pin number of the MISO bus line.
- - qcom,gpio-clk : GPIO pin number of the CLK bus line.
- - qcom,gpio-cs0 : GPIO pin number of the chipselect0 bus line.
- - qcom,gpio-cs1 : GPIO pin number of the chipselect1 bus line.
- - qcom,gpio-cs2 : GPIO pin number of the chipselect2 bus line.
- - qcom,gpio-cs3 : GPIO pin number of the chipselect3 bus line.
- - 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.
- - qcom,active-only : Vote for core clock when the application processor goes
- to active state and remove that vote when it goes to idle state. This flag may
- improve service time of first spi request at the expense of power consumption.
- When this entry is not present, voting is done by the runtime-pm callbacks.
- - qcom,master-id : Master endpoint number used for voting on clocks using the
- bus-scaling driver.
- - qcom,rt-priority : whether spi message queue is set to run as a realtime task.
- With this spi transaction message pump with high (realtime) priority to reduce
- the transfer latency on the bus by minimising the delay between a transfer request
- - qcom,shared : whether this qup is shared with other ee's
- 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,use-pinctrl : Boolean. When present, enables pinctrl frame work to configure GPIO's
- instead of existing gpio mux hence gpio entries are no more required if present.
- - pinctrl-names : Property must contain "spi_default" and "spi_sleep" if
- pinctrl is to be used.
- instead of existing gpio mux hence gpio entries are no more required if present.
- - 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>;
- qcom,gpio-mosi = <&msmgpio 0 0>;
- qcom,gpio-miso = <&msmgpio 1 0>;
- qcom,gpio-clk = <&msmgpio 3 0>;
- qcom,gpio-cs2 = <&msmgpio 9 0>;
- qcom,infinite-mode = <0>;
- qcom,use-bam;
- qcom,use-pinctrl;
- qcom,bam-consumer-pipe-index = <12>;
- qcom,bam-producer-pipe-index = <13>;
- qcom,ver-reg-exists;
- qcom,master-id = <86>;
- qcom,rt-priority;
- };
|