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