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  fsl,dma-info:
75    $ref: /schemas/types.yaml#/definitions/uint32-array
76    minItems: 2
77    maxItems: 2
78    description: |
79      First cell contains the size of DMA buffer chunks, second cell contains
80      the amount of chunks used for the device. Multiplying both numbers is
81      the total size of memory used for receiving data.
82      When not being configured the system will use default settings, which
83      are sensible for most use cases. If you need low latency processing on
84      slow connections this needs to be configured appropriately.
85
86required:
87  - compatible
88  - reg
89  - interrupts
90
91unevaluatedProperties: false
92
93examples:
94  - |
95    aliases {
96        serial0 = &uart1;
97    };
98
99    uart1: serial@73fbc000 {
100        compatible = "fsl,imx51-uart", "fsl,imx21-uart";
101        reg = <0x73fbc000 0x4000>;
102        interrupts = <31>;
103        uart-has-rtscts;
104        fsl,dte-mode;
105    };
106