1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/serial/fsl-imx-uart.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Freescale i.MX Universal Asynchronous Receiver/Transmitter (UART)
8
9maintainers:
10  - Fabio Estevam <festevam@gmail.com>
11
12allOf:
13  - $ref: "serial.yaml"
14  - $ref: "rs485.yaml"
15
16properties:
17  compatible:
18    oneOf:
19      - const: fsl,imx1-uart
20      - const: fsl,imx21-uart
21      - items:
22          - enum:
23              - fsl,imx25-uart
24              - fsl,imx27-uart
25              - fsl,imx31-uart
26              - fsl,imx35-uart
27              - fsl,imx50-uart
28              - fsl,imx51-uart
29              - fsl,imx53-uart
30              - fsl,imx6q-uart
31          - const: fsl,imx21-uart
32      - items:
33          - enum:
34              - fsl,imx6sl-uart
35              - fsl,imx6sll-uart
36              - fsl,imx6sx-uart
37          - const: fsl,imx6q-uart
38          - const: fsl,imx21-uart
39      - items:
40          - enum:
41              - fsl,imx6ul-uart
42              - fsl,imx7d-uart
43              - fsl,imx8mm-uart
44              - fsl,imx8mn-uart
45              - fsl,imx8mp-uart
46              - fsl,imx8mq-uart
47          - const: fsl,imx6q-uart
48
49  reg:
50    maxItems: 1
51
52  interrupts:
53    maxItems: 1
54
55  fsl,dte-mode:
56    $ref: /schemas/types.yaml#/definitions/flag
57    description: |
58      Indicate the uart works in DTE mode. The uart works in DCE mode by default.
59
60  fsl,inverted-tx:
61    $ref: /schemas/types.yaml#/definitions/flag
62    description: |
63      Indicate that the hardware attached to the peripheral inverts the signal
64      transmitted, and that the peripheral should invert its output using the
65      INVT registers.
66
67  fsl,inverted-rx:
68    $ref: /schemas/types.yaml#/definitions/flag
69    description: |
70      Indicate that the hardware attached to the peripheral inverts the signal
71      received, and that the peripheral should invert its input using the
72      INVR registers.
73
74  uart-has-rtscts: true
75
76  rs485-rts-delay: true
77  rs485-rts-active-low: true
78  rs485-rx-during-tx: true
79  linux,rs485-enabled-at-boot-time: true
80
81required:
82  - compatible
83  - reg
84  - interrupts
85
86unevaluatedProperties: false
87
88examples:
89  - |
90    aliases {
91        serial0 = &uart1;
92    };
93
94    uart1: serial@73fbc000 {
95        compatible = "fsl,imx51-uart", "fsl,imx21-uart";
96        reg = <0x73fbc000 0x4000>;
97        interrupts = <31>;
98        uart-has-rtscts;
99        fsl,dte-mode;
100    };
101