atmel-usart.txt 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. * Atmel Universal Synchronous Asynchronous Receiver/Transmitter (USART)
  2. Required properties:
  3. - compatible: Should be "atmel,<chip>-usart" or "atmel,<chip>-dbgu"
  4. The compatible <chip> indicated will be the first SoC to support an
  5. additional mode or an USART new feature.
  6. For the dbgu UART, use "atmel,<chip>-dbgu", "atmel,<chip>-usart"
  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. Optional properties:
  13. - atmel,use-dma-rx: use of PDC or DMA for receiving data
  14. - atmel,use-dma-tx: use of PDC or DMA for transmitting data
  15. - {rts,cts,dtr,dsr,rng,dcd}-gpios: specify a GPIO for RTS/CTS/DTR/DSR/RI/DCD line respectively.
  16. It will use specified PIO instead of the peripheral function pin for the USART feature.
  17. If unsure, don't specify this property.
  18. - add dma bindings for dma transfer:
  19. - dmas: DMA specifier, consisting of a phandle to DMA controller node,
  20. memory peripheral interface and USART DMA channel ID, FIFO configuration.
  21. Refer to dma.txt and atmel-dma.txt for details.
  22. - dma-names: "rx" for RX channel, "tx" for TX channel.
  23. - atmel,fifo-size: maximum number of data the RX and TX FIFOs can store for FIFO
  24. capable USARTs.
  25. - rs485-rts-delay, rs485-rx-during-tx, linux,rs485-enabled-at-boot-time: see rs485.txt
  26. <chip> compatible description:
  27. - at91rm9200: legacy USART support
  28. - at91sam9260: generic USART implementation for SAM9 SoCs
  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. - use DMA:
  47. usart0: serial@f001c000 {
  48. compatible = "atmel,at91sam9260-usart";
  49. reg = <0xf001c000 0x100>;
  50. interrupts = <12 4 5>;
  51. clocks = <&usart0_clk>;
  52. clock-names = "usart";
  53. atmel,use-dma-rx;
  54. atmel,use-dma-tx;
  55. dmas = <&dma0 2 0x3>,
  56. <&dma0 2 0x204>;
  57. dma-names = "tx", "rx";
  58. atmel,fifo-size = <32>;
  59. };