18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/serial/st,stm32-uart.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cimaintainers:
88c2ecf20Sopenharmony_ci  - Erwan Le Ray <erwan.leray@st.com>
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_cititle: STMicroelectronics STM32 USART bindings
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciallOf:
138c2ecf20Sopenharmony_ci  - $ref: rs485.yaml
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciproperties:
168c2ecf20Sopenharmony_ci  compatible:
178c2ecf20Sopenharmony_ci    enum:
188c2ecf20Sopenharmony_ci      - st,stm32-uart
198c2ecf20Sopenharmony_ci      - st,stm32f7-uart
208c2ecf20Sopenharmony_ci      - st,stm32h7-uart
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci  reg:
238c2ecf20Sopenharmony_ci    maxItems: 1
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci  interrupts:
268c2ecf20Sopenharmony_ci    maxItems: 1
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci  clocks:
298c2ecf20Sopenharmony_ci    maxItems: 1
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  resets:
328c2ecf20Sopenharmony_ci    maxItems: 1
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci  label:
358c2ecf20Sopenharmony_ci    description: label associated with this uart
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci  st,hw-flow-ctrl:
388c2ecf20Sopenharmony_ci    description: enable hardware flow control (deprecated)
398c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci  uart-has-rtscts: true
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci  dmas:
448c2ecf20Sopenharmony_ci    minItems: 1
458c2ecf20Sopenharmony_ci    maxItems: 2
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  dma-names:
488c2ecf20Sopenharmony_ci    items:
498c2ecf20Sopenharmony_ci      enum: [ rx, tx ]
508c2ecf20Sopenharmony_ci    minItems: 1
518c2ecf20Sopenharmony_ci    maxItems: 2
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci  cts-gpios:
548c2ecf20Sopenharmony_ci    maxItems: 1
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci  rts-gpios:
578c2ecf20Sopenharmony_ci    maxItems: 1
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci  wakeup-source: true
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci  rs485-rts-delay: true
628c2ecf20Sopenharmony_ci  rs485-rts-active-low: true
638c2ecf20Sopenharmony_ci  linux,rs485-enabled-at-boot-time: true
648c2ecf20Sopenharmony_ci  rs485-rx-during-tx: true
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciif:
678c2ecf20Sopenharmony_ci  required:
688c2ecf20Sopenharmony_ci    - st,hw-flow-ctrl
698c2ecf20Sopenharmony_cithen:
708c2ecf20Sopenharmony_ci  properties:
718c2ecf20Sopenharmony_ci    cts-gpios: false
728c2ecf20Sopenharmony_ci    rts-gpios: false
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_cirequired:
758c2ecf20Sopenharmony_ci  - compatible
768c2ecf20Sopenharmony_ci  - reg
778c2ecf20Sopenharmony_ci  - interrupts
788c2ecf20Sopenharmony_ci  - clocks
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ciadditionalProperties:
818c2ecf20Sopenharmony_ci  type: object
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ciexamples:
848c2ecf20Sopenharmony_ci  - |
858c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/stm32mp1-clks.h>
868c2ecf20Sopenharmony_ci    usart1: serial@40011000 {
878c2ecf20Sopenharmony_ci      compatible = "st,stm32-uart";
888c2ecf20Sopenharmony_ci      reg = <0x40011000 0x400>;
898c2ecf20Sopenharmony_ci      interrupts = <37>;
908c2ecf20Sopenharmony_ci      clocks = <&rcc 0 164>;
918c2ecf20Sopenharmony_ci      dmas = <&dma2 2 4 0x414 0x0>,
928c2ecf20Sopenharmony_ci             <&dma2 7 4 0x414 0x0>;
938c2ecf20Sopenharmony_ci      dma-names = "rx", "tx";
948c2ecf20Sopenharmony_ci      rs485-rts-active-low;
958c2ecf20Sopenharmony_ci    };
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci...
98