GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / serial / st,stm32-usart.txt
1 * STMicroelectronics STM32 USART
2
3 Required properties:
4 - compatible: can be either:
5   - "st,stm32-usart",
6   - "st,stm32-uart",
7   - "st,stm32f7-usart",
8   - "st,stm32f7-uart",
9   - "st,stm32h7-usart"
10   - "st,stm32h7-uart".
11   depending on whether the device supports synchronous mode
12   and is compatible with stm32(f4), stm32f7 or stm32h7.
13 - reg: The address and length of the peripheral registers space
14 - interrupts:
15   - The interrupt line for the USART instance,
16   - An optional wake-up interrupt.
17 - clocks: The input clock of the USART instance
18
19 Optional properties:
20 - pinctrl: The reference on the pins configuration
21 - st,hw-flow-ctrl: bool flag to enable hardware flow control.
22 - dmas: phandle(s) to DMA controller node(s). Refer to stm32-dma.txt
23 - dma-names: "rx" and/or "tx"
24
25 Examples:
26 usart4: serial@40004c00 {
27         compatible = "st,stm32-uart";
28         reg = <0x40004c00 0x400>;
29         interrupts = <52>;
30         clocks = <&clk_pclk1>;
31         pinctrl-names = "default";
32         pinctrl-0 = <&pinctrl_usart4>;
33 };
34
35 usart2: serial@40004400 {
36         compatible = "st,stm32-usart", "st,stm32-uart";
37         reg = <0x40004400 0x400>;
38         interrupts = <38>;
39         clocks = <&clk_pclk1>;
40         st,hw-flow-ctrl;
41         pinctrl-names = "default";
42         pinctrl-0 = <&pinctrl_usart2 &pinctrl_usart2_rtscts>;
43 };
44
45 usart1: serial@40011000 {
46         compatible = "st,stm32-usart", "st,stm32-uart";
47         reg = <0x40011000 0x400>;
48         interrupts = <37>;
49         clocks = <&rcc 0 164>;
50         dmas = <&dma2 2 4 0x414 0x0>,
51                <&dma2 7 4 0x414 0x0>;
52         dma-names = "rx", "tx";
53 };