1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/serial/st,stm32-uart.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7maintainers: 8 - Erwan Le Ray <erwan.leray@foss.st.com> 9 10title: STMicroelectronics STM32 USART 11 12properties: 13 compatible: 14 enum: 15 - st,stm32-uart 16 - st,stm32f7-uart 17 - st,stm32h7-uart 18 19 reg: 20 maxItems: 1 21 22 interrupts: 23 maxItems: 1 24 25 clocks: 26 maxItems: 1 27 28 resets: 29 maxItems: 1 30 31 label: 32 description: label associated with this uart 33 34 st,hw-flow-ctrl: 35 description: enable hardware flow control (deprecated) 36 $ref: /schemas/types.yaml#/definitions/flag 37 38 rx-tx-swap: true 39 40 dmas: 41 minItems: 1 42 maxItems: 2 43 44 dma-names: 45 items: 46 enum: [ rx, tx ] 47 minItems: 1 48 maxItems: 2 49 50# cts-gpios and rts-gpios properties can be used instead of 'uart-has-rtscts' 51# or 'st,hw-flow-ctrl' (deprecated) for making use of any gpio pins for flow 52# control instead of dedicated pins. 53# 54# It should be noted that both cts-gpios/rts-gpios and 'uart-has-rtscts' or 55# 'st,hw-flow-ctrl' (deprecated) properties cannot co-exist in a design. 56 cts-gpios: true 57 rts-gpios: true 58 59 wakeup-source: true 60 61 power-domains: 62 maxItems: 1 63 64 rx-threshold: 65 description: 66 If value is set to 1, RX FIFO threshold is disabled. 67 enum: [1, 2, 4, 8, 12, 14, 16] 68 default: 8 69 70 tx-threshold: 71 description: 72 If value is set to 1, TX FIFO threshold is disabled. 73 enum: [1, 2, 4, 8, 12, 14, 16] 74 default: 8 75 76allOf: 77 - $ref: rs485.yaml# 78 - $ref: serial.yaml# 79 - if: 80 required: 81 - st,hw-flow-ctrl 82 then: 83 properties: 84 cts-gpios: false 85 rts-gpios: false 86 - if: 87 properties: 88 compatible: 89 const: st,stm32-uart 90 then: 91 properties: 92 rx-tx-swap: false 93 - if: 94 properties: 95 compatible: 96 contains: 97 enum: 98 - st,stm32-uart 99 - st,stm32f7-uart 100 then: 101 properties: 102 rx-threshold: false 103 tx-threshold: false 104 105required: 106 - compatible 107 - reg 108 - interrupts 109 - clocks 110 111unevaluatedProperties: false 112 113examples: 114 - | 115 #include <dt-bindings/clock/stm32mp1-clks.h> 116 usart1: serial@40011000 { 117 compatible = "st,stm32h7-uart"; 118 reg = <0x40011000 0x400>; 119 interrupts = <37>; 120 clocks = <&rcc 0 164>; 121 dmas = <&dma2 2 4 0x414 0x0>, 122 <&dma2 7 4 0x414 0x0>; 123 dma-names = "rx", "tx"; 124 rx-threshold = <4>; 125 tx-threshold = <4>; 126 rs485-rts-active-low; 127 }; 128 129... 130