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 clocks: 53 maxItems: 2 54 55 clock-names: 56 items: 57 - const: ipg 58 - const: per 59 60 dmas: 61 items: 62 - description: DMA controller phandle and request line for RX 63 - description: DMA controller phandle and request line for TX 64 65 dma-names: 66 items: 67 - const: rx 68 - const: tx 69 70 interrupts: 71 maxItems: 1 72 73 wakeup-source: true 74 75 fsl,dte-mode: 76 $ref: /schemas/types.yaml#/definitions/flag 77 description: | 78 Indicate the uart works in DTE mode. The uart works in DCE mode by default. 79 80 fsl,inverted-tx: 81 $ref: /schemas/types.yaml#/definitions/flag 82 description: | 83 Indicate that the hardware attached to the peripheral inverts the signal 84 transmitted, and that the peripheral should invert its output using the 85 INVT registers. 86 87 fsl,inverted-rx: 88 $ref: /schemas/types.yaml#/definitions/flag 89 description: | 90 Indicate that the hardware attached to the peripheral inverts the signal 91 received, and that the peripheral should invert its input using the 92 INVR registers. 93 94 fsl,dma-info: 95 $ref: /schemas/types.yaml#/definitions/uint32-array 96 minItems: 2 97 maxItems: 2 98 description: | 99 First cell contains the size of DMA buffer chunks, second cell contains 100 the amount of chunks used for the device. Multiplying both numbers is 101 the total size of memory used for receiving data. 102 When not being configured the system will use default settings, which 103 are sensible for most use cases. If you need low latency processing on 104 slow connections this needs to be configured appropriately. 105 106required: 107 - compatible 108 - reg 109 - clocks 110 - clock-names 111 - interrupts 112 113unevaluatedProperties: false 114 115examples: 116 - | 117 #include <dt-bindings/clock/imx5-clock.h> 118 119 aliases { 120 serial0 = &uart1; 121 }; 122 123 uart1: serial@73fbc000 { 124 compatible = "fsl,imx51-uart", "fsl,imx21-uart"; 125 reg = <0x73fbc000 0x4000>; 126 interrupts = <31>; 127 clocks = <&clks IMX5_CLK_UART1_IPG_GATE>, 128 <&clks IMX5_CLK_UART1_PER_GATE>; 129 clock-names = "ipg", "per"; 130 dmas = <&sdma 18 4 1>, <&sdma 19 4 2>; 131 dma-names = "rx", "tx"; 132 uart-has-rtscts; 133 fsl,dte-mode; 134 }; 135