forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.4 KiB
101 lines
2.4 KiB
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
|
%YAML 1.2 |
|
--- |
|
$id: http://devicetree.org/schemas/spi/st,stm32-spi.yaml# |
|
$schema: http://devicetree.org/meta-schemas/core.yaml# |
|
|
|
title: STMicroelectronics STM32 SPI Controller bindings |
|
|
|
description: | |
|
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. |
|
|
|
maintainers: |
|
- Erwan Leray <[email protected]> |
|
- Fabrice Gasnier <[email protected]> |
|
|
|
allOf: |
|
- $ref: "spi-controller.yaml#" |
|
- if: |
|
properties: |
|
compatible: |
|
contains: |
|
const: st,stm32f4-spi |
|
|
|
then: |
|
properties: |
|
st,spi-midi-ns: false |
|
|
|
properties: |
|
compatible: |
|
enum: |
|
- st,stm32f4-spi |
|
- st,stm32h7-spi |
|
|
|
reg: |
|
maxItems: 1 |
|
|
|
clocks: |
|
maxItems: 1 |
|
|
|
interrupts: |
|
maxItems: 1 |
|
|
|
resets: |
|
maxItems: 1 |
|
|
|
dmas: |
|
description: | |
|
DMA specifiers for tx and rx dma. DMA fifo mode must be used. See |
|
the STM32 DMA bindings Documentation/devicetree/bindings/dma/st,stm32-dma.yaml. |
|
items: |
|
- description: rx DMA channel |
|
- description: tx DMA channel |
|
|
|
dma-names: |
|
items: |
|
- const: rx |
|
- const: tx |
|
|
|
patternProperties: |
|
"^[a-zA-Z][a-zA-Z0-9,+\\-._]{0,63}@[0-9a-f]+$": |
|
type: object |
|
# SPI slave nodes must be children of the SPI master node and can |
|
# contain the following properties. |
|
properties: |
|
st,spi-midi-ns: |
|
description: | |
|
Only for STM32H7, (Master Inter-Data Idleness) minimum time |
|
delay in nanoseconds inserted between two consecutive data frames. |
|
|
|
required: |
|
- compatible |
|
- reg |
|
- clocks |
|
- interrupts |
|
|
|
unevaluatedProperties: false |
|
|
|
examples: |
|
- | |
|
#include <dt-bindings/interrupt-controller/arm-gic.h> |
|
#include <dt-bindings/clock/stm32mp1-clks.h> |
|
#include <dt-bindings/reset/stm32mp1-resets.h> |
|
spi@4000b000 { |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
compatible = "st,stm32h7-spi"; |
|
reg = <0x4000b000 0x400>; |
|
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; |
|
clocks = <&rcc SPI2_K>; |
|
resets = <&rcc SPI2_R>; |
|
dmas = <&dmamux1 0 39 0x400 0x05>, |
|
<&dmamux1 1 40 0x400 0x05>; |
|
dma-names = "rx", "tx"; |
|
cs-gpios = <&gpioa 11 0>; |
|
|
|
}; |
|
|
|
...
|
|
|