0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/serial/fsl-imx-uart.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Freescale i.MX Universal Asynchronous Receiver/Transmitter (UART)
0008
0009 maintainers:
0010 - Fabio Estevam <festevam@gmail.com>
0011
0012 allOf:
0013 - $ref: "serial.yaml"
0014 - $ref: "rs485.yaml"
0015
0016 properties:
0017 compatible:
0018 oneOf:
0019 - const: fsl,imx1-uart
0020 - const: fsl,imx21-uart
0021 - items:
0022 - enum:
0023 - fsl,imx25-uart
0024 - fsl,imx27-uart
0025 - fsl,imx31-uart
0026 - fsl,imx35-uart
0027 - fsl,imx50-uart
0028 - fsl,imx51-uart
0029 - fsl,imx53-uart
0030 - fsl,imx6q-uart
0031 - const: fsl,imx21-uart
0032 - items:
0033 - enum:
0034 - fsl,imx6sl-uart
0035 - fsl,imx6sll-uart
0036 - fsl,imx6sx-uart
0037 - const: fsl,imx6q-uart
0038 - const: fsl,imx21-uart
0039 - items:
0040 - enum:
0041 - fsl,imx6ul-uart
0042 - fsl,imx7d-uart
0043 - fsl,imx8mm-uart
0044 - fsl,imx8mn-uart
0045 - fsl,imx8mp-uart
0046 - fsl,imx8mq-uart
0047 - const: fsl,imx6q-uart
0048
0049 reg:
0050 maxItems: 1
0051
0052 interrupts:
0053 maxItems: 1
0054
0055 fsl,dte-mode:
0056 $ref: /schemas/types.yaml#/definitions/flag
0057 description: |
0058 Indicate the uart works in DTE mode. The uart works in DCE mode by default.
0059
0060 fsl,inverted-tx:
0061 $ref: /schemas/types.yaml#/definitions/flag
0062 description: |
0063 Indicate that the hardware attached to the peripheral inverts the signal
0064 transmitted, and that the peripheral should invert its output using the
0065 INVT registers.
0066
0067 fsl,inverted-rx:
0068 $ref: /schemas/types.yaml#/definitions/flag
0069 description: |
0070 Indicate that the hardware attached to the peripheral inverts the signal
0071 received, and that the peripheral should invert its input using the
0072 INVR registers.
0073
0074 fsl,dma-info:
0075 $ref: /schemas/types.yaml#/definitions/uint32-array
0076 minItems: 2
0077 maxItems: 2
0078 description: |
0079 First cell contains the size of DMA buffer chunks, second cell contains
0080 the amount of chunks used for the device. Multiplying both numbers is
0081 the total size of memory used for receiving data.
0082 When not being configured the system will use default settings, which
0083 are sensible for most use cases. If you need low latency processing on
0084 slow connections this needs to be configured appropriately.
0085
0086 uart-has-rtscts: true
0087
0088 rs485-rts-delay: true
0089 rs485-rts-active-low: true
0090 rs485-rx-during-tx: true
0091 linux,rs485-enabled-at-boot-time: true
0092
0093 required:
0094 - compatible
0095 - reg
0096 - interrupts
0097
0098 unevaluatedProperties: false
0099
0100 examples:
0101 - |
0102 aliases {
0103 serial0 = &uart1;
0104 };
0105
0106 uart1: serial@73fbc000 {
0107 compatible = "fsl,imx51-uart", "fsl,imx21-uart";
0108 reg = <0x73fbc000 0x4000>;
0109 interrupts = <31>;
0110 uart-has-rtscts;
0111 fsl,dte-mode;
0112 };