bfin_serial_5xx.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /*
  2. * Copyright 2007-2009 Analog Devices Inc.
  3. *
  4. * Licensed under the GPL-2 or later.
  5. */
  6. #include <asm/dma.h>
  7. #include <asm/portmux.h>
  8. #if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) || \
  9. defined(CONFIG_BFIN_UART2_CTSRTS) || defined(CONFIG_BFIN_UART3_CTSRTS)
  10. # define CONFIG_SERIAL_BFIN_HARD_CTSRTS
  11. #endif
  12. struct bfin_serial_res {
  13. unsigned long uart_base_addr;
  14. int uart_irq;
  15. int uart_status_irq;
  16. #ifdef CONFIG_SERIAL_BFIN_DMA
  17. unsigned int uart_tx_dma_channel;
  18. unsigned int uart_rx_dma_channel;
  19. #endif
  20. #ifdef CONFIG_SERIAL_BFIN_HARD_CTSRTS
  21. int uart_cts_pin;
  22. int uart_rts_pin;
  23. #endif
  24. };
  25. struct bfin_serial_res bfin_serial_resource[] = {
  26. #ifdef CONFIG_SERIAL_BFIN_UART0
  27. {
  28. 0xFFC00400,
  29. IRQ_UART0_RX,
  30. IRQ_UART0_ERROR,
  31. #ifdef CONFIG_SERIAL_BFIN_DMA
  32. CH_UART0_TX,
  33. CH_UART0_RX,
  34. #endif
  35. #ifdef CONFIG_SERIAL_BFIN_HARD_CTSRTS
  36. 0,
  37. 0,
  38. #endif
  39. },
  40. #endif
  41. #ifdef CONFIG_SERIAL_BFIN_UART1
  42. {
  43. 0xFFC02000,
  44. IRQ_UART1_RX,
  45. IRQ_UART1_ERROR,
  46. #ifdef CONFIG_SERIAL_BFIN_DMA
  47. CH_UART1_TX,
  48. CH_UART1_RX,
  49. #endif
  50. #ifdef CONFIG_SERIAL_BFIN_HARD_CTSRTS
  51. GPIO_PE10,
  52. GPIO_PE9,
  53. #endif
  54. },
  55. #endif
  56. #ifdef CONFIG_SERIAL_BFIN_UART2
  57. {
  58. 0xFFC02100,
  59. IRQ_UART2_RX,
  60. IRQ_UART2_ERROR,
  61. #ifdef CONFIG_SERIAL_BFIN_DMA
  62. CH_UART2_TX,
  63. CH_UART2_RX,
  64. #endif
  65. #ifdef CONFIG_SERIAL_BFIN_HARD_CTSRTS
  66. 0,
  67. 0,
  68. #endif
  69. },
  70. #endif
  71. #ifdef CONFIG_SERIAL_BFIN_UART3
  72. {
  73. 0xFFC03100,
  74. IRQ_UART3_RX,
  75. IRQ_UART3_ERROR,
  76. #ifdef CONFIG_SERIAL_BFIN_DMA
  77. CH_UART3_TX,
  78. CH_UART3_RX,
  79. #endif
  80. #ifdef CONFIG_SERIAL_BFIN_HARD_CTSRTS
  81. GPIO_PB3,
  82. GPIO_PB2,
  83. #endif
  84. },
  85. #endif
  86. };
  87. #define DRIVER_NAME "bfin-uart"
  88. #include <asm/bfin_serial.h>