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