db0a196bd8
In order to optimize serial communication (performance/throughput VS latency), we may need to tweak DMA period number and size. This adds DT properties to configure those values before initialising DMA. The defaults will stay the same as before. [update documentation and commit message, rebase to current master, switch back to DT instead of sysfs] Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.com> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> Link: https://lore.kernel.org/r/20210430175038.103226-2-sebastian.reichel@collabora.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
113 lines
3.0 KiB
YAML
113 lines
3.0 KiB
YAML
# 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;
|
|
};
|