mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-03 23:58:05 +00:00
dt-bindings: serial: Convert STM32 UART to json-schema
Convert STM32 UART bindings to json-schema. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com> Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
parent
d50f974c4f
commit
af1c2d8169
2 changed files with 80 additions and 57 deletions
80
Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
Normal file
80
Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/serial/st,stm32-uart.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Erwan Le Ray <erwan.leray@st.com>
|
||||||
|
|
||||||
|
title: STMicroelectronics STM32 USART bindings
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: rs485.yaml
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- st,stm32-uart
|
||||||
|
- st,stm32f7-uart
|
||||||
|
- st,stm32h7-uart
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
label:
|
||||||
|
description: label associated with this uart
|
||||||
|
|
||||||
|
st,hw-flow-ctrl:
|
||||||
|
description: enable hardware flow control
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
dmas:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
dma-names:
|
||||||
|
items:
|
||||||
|
enum: [ rx, tx ]
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
wakeup-source: true
|
||||||
|
|
||||||
|
rs485-rts-delay: true
|
||||||
|
rs485-rts-active-low: true
|
||||||
|
linux,rs485-enabled-at-boot-time: true
|
||||||
|
rs485-rx-during-tx: true
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- clocks
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/stm32mp1-clks.h>
|
||||||
|
usart1: serial@40011000 {
|
||||||
|
compatible = "st,stm32-uart";
|
||||||
|
reg = <0x40011000 0x400>;
|
||||||
|
interrupts = <37>;
|
||||||
|
clocks = <&rcc 0 164>;
|
||||||
|
dmas = <&dma2 2 4 0x414 0x0>,
|
||||||
|
<&dma2 7 4 0x414 0x0>;
|
||||||
|
dma-names = "rx", "tx";
|
||||||
|
rs485-rts-active-low;
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -1,57 +0,0 @@
|
||||||
* STMicroelectronics STM32 USART
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: can be either:
|
|
||||||
- "st,stm32-uart",
|
|
||||||
- "st,stm32f7-uart",
|
|
||||||
- "st,stm32h7-uart".
|
|
||||||
depending is compatible with stm32(f4), stm32f7 or stm32h7.
|
|
||||||
- reg: The address and length of the peripheral registers space
|
|
||||||
- interrupts:
|
|
||||||
- The interrupt line for the USART instance,
|
|
||||||
- An optional wake-up interrupt.
|
|
||||||
- clocks: The input clock of the USART instance
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- resets: Must contain the phandle to the reset controller.
|
|
||||||
- pinctrl: The reference on the pins configuration
|
|
||||||
- st,hw-flow-ctrl: bool flag to enable hardware flow control.
|
|
||||||
- rs485-rts-delay, rs485-rx-during-tx, rs485-rts-active-low,
|
|
||||||
linux,rs485-enabled-at-boot-time: see rs485.txt.
|
|
||||||
- dmas: phandle(s) to DMA controller node(s). Refer to stm32-dma.txt
|
|
||||||
- dma-names: "rx" and/or "tx"
|
|
||||||
- wakeup-source: bool flag to indicate this device has wakeup capabilities
|
|
||||||
- interrupt-names, if optional wake-up interrupt is used, should be:
|
|
||||||
- "event": the name for the interrupt line of the USART instance
|
|
||||||
- "wakeup" the name for the optional wake-up interrupt
|
|
||||||
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
usart4: serial@40004c00 {
|
|
||||||
compatible = "st,stm32-uart";
|
|
||||||
reg = <0x40004c00 0x400>;
|
|
||||||
interrupts = <52>;
|
|
||||||
clocks = <&clk_pclk1>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&pinctrl_usart4>;
|
|
||||||
};
|
|
||||||
|
|
||||||
usart2: serial@40004400 {
|
|
||||||
compatible = "st,stm32-uart";
|
|
||||||
reg = <0x40004400 0x400>;
|
|
||||||
interrupts = <38>;
|
|
||||||
clocks = <&clk_pclk1>;
|
|
||||||
st,hw-flow-ctrl;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&pinctrl_usart2 &pinctrl_usart2_rtscts>;
|
|
||||||
};
|
|
||||||
|
|
||||||
usart1: serial@40011000 {
|
|
||||||
compatible = "st,stm32-uart";
|
|
||||||
reg = <0x40011000 0x400>;
|
|
||||||
interrupts = <37>;
|
|
||||||
clocks = <&rcc 0 164>;
|
|
||||||
dmas = <&dma2 2 4 0x414 0x0>,
|
|
||||||
<&dma2 7 4 0x414 0x0>;
|
|
||||||
dma-names = "rx", "tx";
|
|
||||||
};
|
|
Loading…
Reference in a new issue