6fdc6e23a7
This doesn't yet do anything in the tools, but make it explicit so we can check either 'unevaluatedProperties' or 'additionalProperties' is present in schemas. 'unevaluatedProperties' is appropriate when including another schema (via '$ref') and all possible properties and/or child nodes are not explicitly listed in the schema with the '$ref'. This is in preparation to add a meta-schema to check for missing 'unevaluatedProperties' or 'additionalProperties'. This has been a constant source of review issues. Acked-by: Mark Brown <broonie@kernel.org> Acked-by: Wolfram Sang <wsa@kernel.org> Acked-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-By: Vinod Koul <vkoul@kernel.org> Acked-by: Geert Uytterhoeven <geert+renesas@glider.be> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Mathieu Poirier <mathieu.poirier@linaro.org> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Link: https://lore.kernel.org/r/20201005183830.486085-2-robh@kernel.org Signed-off-by: Rob Herring <robh@kernel.org>
108 lines
2.5 KiB
YAML
108 lines
2.5 KiB
YAML
# 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 <erwan.leray@st.com>
|
|
- Fabrice Gasnier <fabrice.gasnier@st.com>
|
|
|
|
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>;
|
|
|
|
aardvark@0 {
|
|
compatible = "totalphase,aardvark";
|
|
reg = <0>;
|
|
spi-max-frequency = <4000000>;
|
|
st,spi-midi-ns = <4000>;
|
|
};
|
|
};
|
|
|
|
...
|