Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1* Atmel Universal Synchronous Asynchronous Receiver/Transmitter (USART)
2
3Required 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
14Optional 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
33Example:
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 };