About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / serial / atmel-usart.txt


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:52 EST.

1	* Atmel Universal Synchronous Asynchronous Receiver/Transmitter (USART)
2	
3	Required properties:
4	- compatible: Should be "atmel,<chip>-usart" or "atmel,<chip>-dbgu"
5	  The compatible <chip> indicated will be the first SoC to support an
6	  additional mode or an USART new feature.
7	  For the dbgu UART, use "atmel,<chip>-dbgu", "atmel,<chip>-usart"
8	- reg: Should contain registers location and length
9	- interrupts: Should contain interrupt
10	- clock-names: tuple listing input clock names.
11		Required elements: "usart"
12	- clocks: phandles to input clocks.
13	
14	Optional properties:
15	- atmel,use-dma-rx: use of PDC or DMA for receiving data
16	- atmel,use-dma-tx: use of PDC or DMA for transmitting data
17	- {rts,cts,dtr,dsr,rng,dcd}-gpios: specify a GPIO for RTS/CTS/DTR/DSR/RI/DCD line respectively.
18	  It will use specified PIO instead of the peripheral function pin for the USART feature.
19	  If unsure, don't specify this property.
20	- add dma bindings for dma transfer:
21		- dmas: DMA specifier, consisting of a phandle to DMA controller node,
22			memory peripheral interface and USART DMA channel ID, FIFO configuration.
23			Refer to dma.txt and atmel-dma.txt for details.
24		- dma-names: "rx" for RX channel, "tx" for TX channel.
25	- atmel,fifo-size: maximum number of data the RX and TX FIFOs can store for FIFO
26	  capable USARTs.
27	- rs485-rts-delay, rs485-rx-during-tx, linux,rs485-enabled-at-boot-time: see rs485.txt
28	
29	<chip> compatible description:
30	- at91rm9200:  legacy USART support
31	- at91sam9260: generic USART implementation for SAM9 SoCs
32	
33	Example:
34	- use PDC:
35		usart0: serial@fff8c000 {
36			compatible = "atmel,at91sam9260-usart";
37			reg = <0xfff8c000 0x4000>;
38			interrupts = <7>;
39			clocks = <&usart0_clk>;
40			clock-names = "usart";
41			atmel,use-dma-rx;
42			atmel,use-dma-tx;
43			rts-gpios = <&pioD 15 GPIO_ACTIVE_LOW>;
44			cts-gpios = <&pioD 16 GPIO_ACTIVE_LOW>;
45			dtr-gpios = <&pioD 17 GPIO_ACTIVE_LOW>;
46			dsr-gpios = <&pioD 18 GPIO_ACTIVE_LOW>;
47			dcd-gpios = <&pioD 20 GPIO_ACTIVE_LOW>;
48			rng-gpios = <&pioD 19 GPIO_ACTIVE_LOW>;
49		};
50	
51	- use DMA:
52		usart0: serial@f001c000 {
53			compatible = "atmel,at91sam9260-usart";
54			reg = <0xf001c000 0x100>;
55			interrupts = <12 4 5>;
56			clocks = <&usart0_clk>;
57			clock-names = "usart";
58			atmel,use-dma-rx;
59			atmel,use-dma-tx;
60			dmas = <&dma0 2 0x3>,
61			       <&dma0 2 0x204>;
62			dma-names = "tx", "rx";
63			atmel,fifo-size = <32>;
64		};
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog