Merge commit '81fd23e2b3ccf71c807e671444e8accaba98ca53' of https://git.pengutronix...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / serial / fsl-imx-uart.yaml
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
7 title: Freescale i.MX Universal Asynchronous Receiver/Transmitter (UART)
8
9 maintainers:
10   - Fabio Estevam <festevam@gmail.com>
11
12 allOf:
13   - $ref: "serial.yaml"
14   - $ref: "rs485.yaml"
15
16 properties:
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
86   uart-has-rtscts: true
87
88   rs485-rts-delay: true
89   rs485-rts-active-low: true
90   rs485-rx-during-tx: true
91   linux,rs485-enabled-at-boot-time: true
92
93 required:
94   - compatible
95   - reg
96   - interrupts
97
98 unevaluatedProperties: false
99
100 examples:
101   - |
102     aliases {
103         serial0 = &uart1;
104     };
105
106     uart1: serial@73fbc000 {
107         compatible = "fsl,imx51-uart", "fsl,imx21-uart";
108         reg = <0x73fbc000 0x4000>;
109         interrupts = <31>;
110         uart-has-rtscts;
111         fsl,dte-mode;
112     };