mirror of
https://github.com/torvalds/linux.git
synced 2024-12-24 20:01:55 +00:00
7c573d7ea6
Dedicated CTS and RTS pins are unusable together with a lot of other peripherals because they share the same line. Pinctrl is limited. Moreover, the AUART controller doesn't handle DTR/DSR/DCD/RI signals, so we have to control them via GPIO. This patch permits to use GPIOs to control the CTS/RTS/DTR/DSR/DCD/RI signals. Signed-off-by: Janusz Uzycki <j.uzycki@elproma.com.pl> Reviewed-by: Richard Genoud <richard.genoud@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
46 lines
1.4 KiB
Plaintext
46 lines
1.4 KiB
Plaintext
* Freescale MXS Application UART (AUART)
|
|
|
|
Required properties:
|
|
- compatible : Should be "fsl,<soc>-auart". The supported SoCs include
|
|
imx23 and imx28.
|
|
- reg : Address and length of the register set for the device
|
|
- interrupts : Should contain the auart interrupt numbers
|
|
- dmas: DMA specifier, consisting of a phandle to DMA controller node
|
|
and AUART DMA channel ID.
|
|
Refer to dma.txt and fsl-mxs-dma.txt for details.
|
|
- dma-names: "rx" for RX channel, "tx" for TX channel.
|
|
|
|
Optional properties:
|
|
- fsl,uart-has-rtscts : Indicate the UART has RTS and CTS lines
|
|
for hardware flow control,
|
|
it also means you enable the DMA support for this UART.
|
|
- {rts,cts,dtr,dsr,rng,dcd}-gpios: specify a GPIO for RTS/CTS/DTR/DSR/RI/DCD
|
|
line respectively. It will use specified PIO instead of the peripheral
|
|
function pin for the USART feature.
|
|
If unsure, don't specify this property.
|
|
|
|
Example:
|
|
auart0: serial@8006a000 {
|
|
compatible = "fsl,imx28-auart", "fsl,imx23-auart";
|
|
reg = <0x8006a000 0x2000>;
|
|
interrupts = <112>;
|
|
dmas = <&dma_apbx 8>, <&dma_apbx 9>;
|
|
dma-names = "rx", "tx";
|
|
cts-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
|
|
dsr-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
|
|
dcd-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
Note: Each auart port should have an alias correctly numbered in "aliases"
|
|
node.
|
|
|
|
Example:
|
|
|
|
aliases {
|
|
serial0 = &auart0;
|
|
serial1 = &auart1;
|
|
serial2 = &auart2;
|
|
serial3 = &auart3;
|
|
serial4 = &auart4;
|
|
};
|