|  | 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: Should be one of: | 
|  | "st,stm32h7-spi" | 
|  | "st,stm32f4-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: Only for STM32H7, (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,stm32h7-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"; | 
|  | cs-gpios = <&gpioa 11 0>; | 
|  |  | 
|  | aardvark@0 { | 
|  | compatible = "totalphase,aardvark"; | 
|  | reg = <0>; | 
|  | spi-max-frequency = <4000000>; | 
|  | st,spi-midi-ns = <4000>; | 
|  | }; | 
|  | }; |