spi: Document the STM32 SPI bindings
authorAmelie Delaunay <amelie.delaunay@st.com>
Wed, 21 Jun 2017 14:32:05 +0000 (16:32 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 21 Jun 2017 15:15:50 +0000 (16:15 +0100)
This patch adds the documentation of device tree bindings
for the STM32 SPI controller.

Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/spi/spi-stm32.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/spi/spi-stm32.txt b/Documentation/devicetree/bindings/spi/spi-stm32.txt
new file mode 100644 (file)
index 0000000..3958bf6
--- /dev/null
@@ -0,0 +1,60 @@
+STMicroelectronics STM32 SPI Controller
+
+The STM32 SPI controller is used to communicate with external devices using
+the Serial Peripheral Interface. It supports full-duplex, half-duplex and
+simplex synchronous serial communication with external devices. It supports
+from 4 to 32-bit data size. Although it can be configured as master or slave,
+only master is supported by the driver.
+
+Required properties:
+- compatible: Must be "st,stm32-spi".
+- reg: Offset and length of the device's register set.
+- interrupts: Must contain the interrupt id.
+- clocks: Must contain an entry for spiclk (which feeds the internal clock
+         generator).
+- #address-cells:  Number of cells required to define a chip select address.
+- #size-cells: Should be zero.
+
+Optional properties:
+- resets: Must contain the phandle to the reset controller.
+- A pinctrl state named "default" may be defined to set pins in mode of
+  operation for SPI transfer.
+- dmas: DMA specifiers for tx and rx dma. DMA fifo mode must be used. See the
+  STM32 DMA bindings, Documentation/devicetree/bindings/dma/stm32-dma.txt.
+- dma-names: DMA request names should include "tx" and "rx" if present.
+- cs-gpios: list of GPIO chip selects. See the SPI bus bindings,
+  Documentation/devicetree/bindings/spi/spi-bus.txt
+
+
+Child nodes represent devices on the SPI bus
+  See ../spi/spi-bus.txt
+
+Optional properties:
+- st,spi-midi-ns: (Master Inter-Data Idleness) minimum time delay in
+                 nanoseconds inserted between two consecutive data frames.
+
+
+Example:
+       spi2: spi@40003800 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "st,stm32-spi";
+               reg = <0x40003800 0x400>;
+               interrupts = <36>;
+               clocks = <&rcc SPI2_CK>;
+               resets = <&rcc 1166>;
+               dmas = <&dmamux1 0 39 0x400 0x01>,
+                      <&dmamux1 1 40 0x400 0x01>;
+               dma-names = "rx", "tx";
+               pinctrl-0 = <&spi2_pins_b>;
+               pinctrl-names = "default";
+               status = "okay";
+               cs-gpios = <&gpioa 11 0>;
+
+               spidev@0 {
+                       compatible = "spidev";
+                       reg = <0>;
+                       spi-max-frequency = <4000000>;
+                       st,spi-midi = <4000>;
+               };
+       };