87 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/spi/st,stm32-spi.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: STMicroelectronics STM32 SPI Controller8 9description: |10 The STM32 SPI controller is used to communicate with external devices using11 the Serial Peripheral Interface. It supports full-duplex, half-duplex and12 simplex synchronous serial communication with external devices. It supports13 from 4 to 32-bit data size.14 15maintainers:16 - Erwan Leray <erwan.leray@foss.st.com>17 - Fabrice Gasnier <fabrice.gasnier@foss.st.com>18 19allOf:20 - $ref: spi-controller.yaml#21 22properties:23 compatible:24 enum:25 - st,stm32f4-spi26 - st,stm32f7-spi27 - st,stm32h7-spi28 - st,stm32mp25-spi29 30 reg:31 maxItems: 132 33 clocks:34 maxItems: 135 36 interrupts:37 maxItems: 138 39 resets:40 maxItems: 141 42 dmas:43 description: |44 DMA specifiers for tx and rx dma. DMA fifo mode must be used. See45 the STM32 DMA controllers bindings Documentation/devicetree/bindings/dma/stm32/*.yaml.46 items:47 - description: rx DMA channel48 - description: tx DMA channel49 50 dma-names:51 items:52 - const: rx53 - const: tx54 55 access-controllers:56 minItems: 157 maxItems: 258 59required:60 - compatible61 - reg62 - clocks63 - interrupts64 65unevaluatedProperties: false66 67examples:68 - |69 #include <dt-bindings/interrupt-controller/arm-gic.h>70 #include <dt-bindings/clock/stm32mp1-clks.h>71 #include <dt-bindings/reset/stm32mp1-resets.h>72 spi@4000b000 {73 #address-cells = <1>;74 #size-cells = <0>;75 compatible = "st,stm32h7-spi";76 reg = <0x4000b000 0x400>;77 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;78 clocks = <&rcc SPI2_K>;79 resets = <&rcc SPI2_R>;80 dmas = <&dmamux1 0 39 0x400 0x05>,81 <&dmamux1 1 40 0x400 0x05>;82 dma-names = "rx", "tx";83 cs-gpios = <&gpioa 11 0>;84 };85 86...87