134 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---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 USART11 12properties:13 compatible:14 enum:15 - st,stm32-uart16 - st,stm32f7-uart17 - st,stm32h7-uart18 19 reg:20 maxItems: 121 22 interrupts:23 maxItems: 124 25 clocks:26 maxItems: 127 28 resets:29 maxItems: 130 31 label:32 description: label associated with this uart33 34 st,hw-flow-ctrl:35 description: enable hardware flow control (deprecated)36 $ref: /schemas/types.yaml#/definitions/flag37 38 rx-tx-swap: true39 40 dmas:41 minItems: 142 maxItems: 243 44 dma-names:45 items:46 enum: [ rx, tx ]47 minItems: 148 maxItems: 249 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 flow52# control instead of dedicated pins.53#54# It should be noted that both cts-gpios/rts-gpios and 'uart-has-rtscts' or55# 'st,hw-flow-ctrl' (deprecated) properties cannot co-exist in a design.56 cts-gpios: true57 rts-gpios: true58 59 wakeup-source: true60 61 power-domains:62 maxItems: 163 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: 869 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: 875 76 access-controllers:77 minItems: 178 maxItems: 279 80allOf:81 - $ref: rs485.yaml#82 - $ref: serial.yaml#83 - if:84 required:85 - st,hw-flow-ctrl86 then:87 properties:88 cts-gpios: false89 rts-gpios: false90 - if:91 properties:92 compatible:93 const: st,stm32-uart94 then:95 properties:96 rx-tx-swap: false97 - if:98 properties:99 compatible:100 contains:101 enum:102 - st,stm32-uart103 - st,stm32f7-uart104 then:105 properties:106 rx-threshold: false107 tx-threshold: false108 109required:110 - compatible111 - reg112 - interrupts113 - clocks114 115unevaluatedProperties: false116 117examples:118 - |119 #include <dt-bindings/clock/stm32mp1-clks.h>120 usart1: serial@40011000 {121 compatible = "st,stm32h7-uart";122 reg = <0x40011000 0x400>;123 interrupts = <37>;124 clocks = <&rcc 0 164>;125 dmas = <&dma2 2 4 0x414 0x0>,126 <&dma2 7 4 0x414 0x0>;127 dma-names = "rx", "tx";128 rx-threshold = <4>;129 tx-threshold = <4>;130 rs485-rts-active-low;131 };132 133...134