1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/spi/st,stm3 4 $id: http://devicetree.org/schemas/spi/st,stm32-spi.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: STMicroelectronics STM32 SPI Controller !! 7 title: STMicroelectronics STM32 SPI Controller bindings 8 8 9 description: | 9 description: | 10 The STM32 SPI controller is used to communic 10 The STM32 SPI controller is used to communicate with external devices using 11 the Serial Peripheral Interface. It supports 11 the Serial Peripheral Interface. It supports full-duplex, half-duplex and 12 simplex synchronous serial communication wit 12 simplex synchronous serial communication with external devices. It supports 13 from 4 to 32-bit data size. 13 from 4 to 32-bit data size. 14 14 15 maintainers: 15 maintainers: 16 - Erwan Leray <erwan.leray@foss.st.com> !! 16 - Erwan Leray <erwan.leray@st.com> 17 - Fabrice Gasnier <fabrice.gasnier@foss.st.co !! 17 - Fabrice Gasnier <fabrice.gasnier@st.com> 18 18 19 allOf: 19 allOf: 20 - $ref: spi-controller.yaml# !! 20 - $ref: "spi-controller.yaml#" >> 21 - if: >> 22 properties: >> 23 compatible: >> 24 contains: >> 25 const: st,stm32f4-spi >> 26 >> 27 then: >> 28 properties: >> 29 st,spi-midi-ns: false 21 30 22 properties: 31 properties: 23 compatible: 32 compatible: 24 enum: 33 enum: 25 - st,stm32f4-spi 34 - st,stm32f4-spi 26 - st,stm32f7-spi << 27 - st,stm32h7-spi 35 - st,stm32h7-spi 28 - st,stm32mp25-spi << 29 36 30 reg: 37 reg: 31 maxItems: 1 38 maxItems: 1 32 39 33 clocks: 40 clocks: 34 maxItems: 1 41 maxItems: 1 35 42 36 interrupts: 43 interrupts: 37 maxItems: 1 44 maxItems: 1 38 45 39 resets: 46 resets: 40 maxItems: 1 47 maxItems: 1 41 48 42 dmas: 49 dmas: 43 description: | 50 description: | 44 DMA specifiers for tx and rx dma. DMA fi 51 DMA specifiers for tx and rx dma. DMA fifo mode must be used. See 45 the STM32 DMA controllers bindings Docum !! 52 the STM32 DMA bindings Documentation/devicetree/bindings/dma/st,stm32-dma.yaml. 46 items: 53 items: 47 - description: rx DMA channel 54 - description: rx DMA channel 48 - description: tx DMA channel 55 - description: tx DMA channel 49 56 50 dma-names: 57 dma-names: 51 items: 58 items: 52 - const: rx 59 - const: rx 53 - const: tx 60 - const: tx 54 61 55 access-controllers: !! 62 patternProperties: 56 minItems: 1 !! 63 "^[a-zA-Z][a-zA-Z0-9,+\\-._]{0,63}@[0-9a-f]+$": 57 maxItems: 2 !! 64 type: object >> 65 # SPI slave nodes must be children of the SPI master node and can >> 66 # contain the following properties. >> 67 properties: >> 68 st,spi-midi-ns: >> 69 description: | >> 70 Only for STM32H7, (Master Inter-Data Idleness) minimum time >> 71 delay in nanoseconds inserted between two consecutive data frames. 58 72 59 required: 73 required: 60 - compatible 74 - compatible 61 - reg 75 - reg 62 - clocks 76 - clocks 63 - interrupts 77 - interrupts 64 78 65 unevaluatedProperties: false << 66 << 67 examples: 79 examples: 68 - | 80 - | 69 #include <dt-bindings/interrupt-controller 81 #include <dt-bindings/interrupt-controller/arm-gic.h> 70 #include <dt-bindings/clock/stm32mp1-clks. 82 #include <dt-bindings/clock/stm32mp1-clks.h> 71 #include <dt-bindings/reset/stm32mp1-reset 83 #include <dt-bindings/reset/stm32mp1-resets.h> 72 spi@4000b000 { 84 spi@4000b000 { 73 #address-cells = <1>; !! 85 #address-cells = <1>; 74 #size-cells = <0>; !! 86 #size-cells = <0>; 75 compatible = "st,stm32h7-spi"; !! 87 compatible = "st,stm32h7-spi"; 76 reg = <0x4000b000 0x400>; !! 88 reg = <0x4000b000 0x400>; 77 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVE !! 89 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 78 clocks = <&rcc SPI2_K>; !! 90 clocks = <&rcc SPI2_K>; 79 resets = <&rcc SPI2_R>; !! 91 resets = <&rcc SPI2_R>; 80 dmas = <&dmamux1 0 39 0x400 0x05>, !! 92 dmas = <&dmamux1 0 39 0x400 0x05>, 81 <&dmamux1 1 40 0x400 0x05>; !! 93 <&dmamux1 1 40 0x400 0x05>; 82 dma-names = "rx", "tx"; !! 94 dma-names = "rx", "tx"; 83 cs-gpios = <&gpioa 11 0>; !! 95 cs-gpios = <&gpioa 11 0>; >> 96 >> 97 aardvark@0 { >> 98 compatible = "totalphase,aardvark"; >> 99 reg = <0>; >> 100 spi-max-frequency = <4000000>; >> 101 st,spi-midi-ns = <4000>; >> 102 }; 84 }; 103 }; 85 104 86 ... 105 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.