|  | # 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> | 
|  |  | 
|  | 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 | 
|  |  | 
|  | clocks: | 
|  | maxItems: 2 | 
|  |  | 
|  | clock-names: | 
|  | items: | 
|  | - const: ipg | 
|  | - const: per | 
|  |  | 
|  | dmas: | 
|  | items: | 
|  | - description: DMA controller phandle and request line for RX | 
|  | - description: DMA controller phandle and request line for TX | 
|  |  | 
|  | dma-names: | 
|  | items: | 
|  | - const: rx | 
|  | - const: tx | 
|  |  | 
|  | interrupts: | 
|  | items: | 
|  | - description: UART RX Interrupt | 
|  | - description: UART TX Interrupt | 
|  | - description: UART RTS Interrupt | 
|  | minItems: 1 | 
|  |  | 
|  | wakeup-source: true | 
|  |  | 
|  | 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. | 
|  |  | 
|  | required: | 
|  | - compatible | 
|  | - reg | 
|  | - clocks | 
|  | - clock-names | 
|  | - interrupts | 
|  |  | 
|  | allOf: | 
|  | - $ref: serial.yaml# | 
|  | - $ref: rs485.yaml# | 
|  |  | 
|  | - if: | 
|  | properties: | 
|  | compatible: | 
|  | contains: | 
|  | const: fsl,imx1-uart | 
|  | then: | 
|  | properties: | 
|  | interrupts: | 
|  | minItems: 3 | 
|  | maxItems: 3 | 
|  | else: | 
|  | properties: | 
|  | interrupts: | 
|  | maxItems: 1 | 
|  |  | 
|  | unevaluatedProperties: false | 
|  |  | 
|  | examples: | 
|  | - | | 
|  | #include <dt-bindings/clock/imx5-clock.h> | 
|  |  | 
|  | aliases { | 
|  | serial0 = &uart1; | 
|  | }; | 
|  |  | 
|  | uart1: serial@73fbc000 { | 
|  | compatible = "fsl,imx51-uart", "fsl,imx21-uart"; | 
|  | reg = <0x73fbc000 0x4000>; | 
|  | interrupts = <31>; | 
|  | clocks = <&clks IMX5_CLK_UART1_IPG_GATE>, | 
|  | <&clks IMX5_CLK_UART1_PER_GATE>; | 
|  | clock-names = "ipg", "per"; | 
|  | dmas = <&sdma 18 4 1>, <&sdma 19 4 2>; | 
|  | dma-names = "rx", "tx"; | 
|  | uart-has-rtscts; | 
|  | fsl,dte-mode; | 
|  | }; |