home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-m68knommu / mcfuart.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  7.8 KB  |  204 lines

  1. /****************************************************************************/
  2.  
  3. /*
  4.  *    mcfuart.h -- ColdFire internal UART support defines.
  5.  *
  6.  *    (C) Copyright 1999-2003, Greg Ungerer (gerg@snapgear.com)
  7.  *     (C) Copyright 2000, Lineo Inc. (www.lineo.com) 
  8.  */
  9.  
  10. /****************************************************************************/
  11. #ifndef    mcfuart_h
  12. #define    mcfuart_h
  13. /****************************************************************************/
  14.  
  15.  
  16. /*
  17.  *    Define the base address of the UARTS within the MBAR address
  18.  *    space.
  19.  */
  20. #if defined(CONFIG_M5272)
  21. #define    MCFUART_BASE1        0x100        /* Base address of UART1 */
  22. #define    MCFUART_BASE2        0x140        /* Base address of UART2 */
  23. #elif defined(CONFIG_M5204) || defined(CONFIG_M5206) || defined(CONFIG_M5206e)
  24. #if defined(CONFIG_NETtel)
  25. #define    MCFUART_BASE1        0x180        /* Base address of UART1 */
  26. #define    MCFUART_BASE2        0x140        /* Base address of UART2 */
  27. #else
  28. #define    MCFUART_BASE1        0x140        /* Base address of UART1 */
  29. #define    MCFUART_BASE2        0x180        /* Base address of UART2 */
  30. #endif
  31. #elif defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x)
  32. #define MCFUART_BASE1        0x200           /* Base address of UART1 */
  33. #define MCFUART_BASE2        0x240           /* Base address of UART2 */
  34. #define MCFUART_BASE3        0x280           /* Base address of UART3 */
  35. #elif defined(CONFIG_M5249) || defined(CONFIG_M5307) || defined(CONFIG_M5407)
  36. #if defined(CONFIG_NETtel) || defined(CONFIG_DISKtel) || defined(CONFIG_SECUREEDGEMP3)
  37. #define MCFUART_BASE1        0x200           /* Base address of UART1 */
  38. #define MCFUART_BASE2        0x1c0           /* Base address of UART2 */
  39. #else
  40. #define MCFUART_BASE1        0x1c0           /* Base address of UART1 */
  41. #define MCFUART_BASE2        0x200           /* Base address of UART2 */
  42. #endif
  43. #elif defined(CONFIG_M520x)
  44. #define MCFUART_BASE1        0x60000        /* Base address of UART1 */
  45. #define MCFUART_BASE2        0x64000        /* Base address of UART2 */
  46. #define MCFUART_BASE3        0x68000        /* Base address of UART2 */
  47. #endif
  48.  
  49.  
  50. /*
  51.  *    Define the ColdFire UART register set addresses.
  52.  */
  53. #define    MCFUART_UMR        0x00        /* Mode register (r/w) */
  54. #define    MCFUART_USR        0x04        /* Status register (r) */
  55. #define    MCFUART_UCSR        0x04        /* Clock Select (w) */
  56. #define    MCFUART_UCR        0x08        /* Command register (w) */
  57. #define    MCFUART_URB        0x0c        /* Receiver Buffer (r) */
  58. #define    MCFUART_UTB        0x0c        /* Transmit Buffer (w) */
  59. #define    MCFUART_UIPCR        0x10        /* Input Port Change (r) */
  60. #define    MCFUART_UACR        0x10        /* Auxiliary Control (w) */
  61. #define    MCFUART_UISR        0x14        /* Interrup Status (r) */
  62. #define    MCFUART_UIMR        0x14        /* Interrupt Mask (w) */
  63. #define    MCFUART_UBG1        0x18        /* Baud Rate MSB (r/w) */
  64. #define    MCFUART_UBG2        0x1c        /* Baud Rate LSB (r/w) */
  65. #ifdef    CONFIG_M5272
  66. #define    MCFUART_UTF        0x28        /* Transmitter FIFO (r/w) */
  67. #define    MCFUART_URF        0x2c        /* Receiver FIFO (r/w) */
  68. #define    MCFUART_UFPD        0x30        /* Frac Prec. Divider (r/w) */
  69. #else
  70. #define    MCFUART_UIVR        0x30        /* Interrupt Vector (r/w) */
  71. #endif
  72. #define    MCFUART_UIPR        0x34        /* Input Port (r) */
  73. #define    MCFUART_UOP1        0x38        /* Output Port Bit Set (w) */
  74. #define    MCFUART_UOP0        0x3c        /* Output Port Bit Reset (w) */
  75.  
  76.  
  77. /*
  78.  *    Define bit flags in Mode Register 1 (MR1).
  79.  */
  80. #define    MCFUART_MR1_RXRTS    0x80        /* Auto RTS flow control */
  81. #define    MCFUART_MR1_RXIRQFULL    0x40        /* RX IRQ type FULL */
  82. #define    MCFUART_MR1_RXIRQRDY    0x00        /* RX IRQ type RDY */
  83. #define    MCFUART_MR1_RXERRBLOCK    0x20        /* RX block error mode */
  84. #define    MCFUART_MR1_RXERRCHAR    0x00        /* RX char error mode */
  85.  
  86. #define    MCFUART_MR1_PARITYNONE    0x10        /* No parity */
  87. #define    MCFUART_MR1_PARITYEVEN    0x00        /* Even parity */
  88. #define    MCFUART_MR1_PARITYODD    0x04        /* Odd parity */
  89. #define    MCFUART_MR1_PARITYSPACE    0x08        /* Space parity */
  90. #define    MCFUART_MR1_PARITYMARK    0x0c        /* Mark parity */
  91.  
  92. #define    MCFUART_MR1_CS5        0x00        /* 5 bits per char */
  93. #define    MCFUART_MR1_CS6        0x01        /* 6 bits per char */
  94. #define    MCFUART_MR1_CS7        0x02        /* 7 bits per char */
  95. #define    MCFUART_MR1_CS8        0x03        /* 8 bits per char */
  96.  
  97. /*
  98.  *    Define bit flags in Mode Register 2 (MR2).
  99.  */
  100. #define    MCFUART_MR2_LOOPBACK    0x80        /* Loopback mode */
  101. #define    MCFUART_MR2_REMOTELOOP    0xc0        /* Remote loopback mode */
  102. #define    MCFUART_MR2_AUTOECHO    0x40        /* Automatic echo */
  103. #define    MCFUART_MR2_TXRTS    0x20        /* Assert RTS on TX */
  104. #define    MCFUART_MR2_TXCTS    0x10        /* Auto CTS flow control */
  105.  
  106. #define    MCFUART_MR2_STOP1    0x07        /* 1 stop bit */
  107. #define    MCFUART_MR2_STOP15    0x08        /* 1.5 stop bits */
  108. #define    MCFUART_MR2_STOP2    0x0f        /* 2 stop bits */
  109.  
  110. /*
  111.  *    Define bit flags in Status Register (USR).
  112.  */
  113. #define    MCFUART_USR_RXBREAK    0x80        /* Received BREAK */
  114. #define    MCFUART_USR_RXFRAMING    0x40        /* Received framing error */
  115. #define    MCFUART_USR_RXPARITY    0x20        /* Received parity error */
  116. #define    MCFUART_USR_RXOVERRUN    0x10        /* Received overrun error */
  117. #define    MCFUART_USR_TXEMPTY    0x08        /* Transmitter empty */
  118. #define    MCFUART_USR_TXREADY    0x04        /* Transmitter ready */
  119. #define    MCFUART_USR_RXFULL    0x02        /* Receiver full */
  120. #define    MCFUART_USR_RXREADY    0x01        /* Receiver ready */
  121.  
  122. #define    MCFUART_USR_RXERR    (MCFUART_USR_RXBREAK | MCFUART_USR_RXFRAMING | \
  123.                 MCFUART_USR_RXPARITY | MCFUART_USR_RXOVERRUN)
  124.  
  125. /*
  126.  *    Define bit flags in Clock Select Register (UCSR).
  127.  */
  128. #define    MCFUART_UCSR_RXCLKTIMER    0xd0        /* RX clock is timer */
  129. #define    MCFUART_UCSR_RXCLKEXT16    0xe0        /* RX clock is external x16 */
  130. #define    MCFUART_UCSR_RXCLKEXT1    0xf0        /* RX clock is external x1 */
  131.  
  132. #define    MCFUART_UCSR_TXCLKTIMER    0x0d        /* TX clock is timer */
  133. #define    MCFUART_UCSR_TXCLKEXT16    0x0e        /* TX clock is external x16 */
  134. #define    MCFUART_UCSR_TXCLKEXT1    0x0f        /* TX clock is external x1 */
  135.  
  136. /*
  137.  *    Define bit flags in Command Register (UCR).
  138.  */
  139. #define    MCFUART_UCR_CMDNULL        0x00    /* No command */
  140. #define    MCFUART_UCR_CMDRESETMRPTR    0x10    /* Reset MR pointer */
  141. #define    MCFUART_UCR_CMDRESETRX        0x20    /* Reset receiver */
  142. #define    MCFUART_UCR_CMDRESETTX        0x30    /* Reset transmitter */
  143. #define    MCFUART_UCR_CMDRESETERR        0x40    /* Reset error status */
  144. #define    MCFUART_UCR_CMDRESETBREAK    0x50    /* Reset BREAK change */
  145. #define    MCFUART_UCR_CMDBREAKSTART    0x60    /* Start BREAK */
  146. #define    MCFUART_UCR_CMDBREAKSTOP    0x70    /* Stop BREAK */
  147.  
  148. #define    MCFUART_UCR_TXNULL    0x00        /* No TX command */
  149. #define    MCFUART_UCR_TXENABLE    0x04        /* Enable TX */
  150. #define    MCFUART_UCR_TXDISABLE    0x08        /* Disable TX */
  151. #define    MCFUART_UCR_RXNULL    0x00        /* No RX command */
  152. #define    MCFUART_UCR_RXENABLE    0x01        /* Enable RX */
  153. #define    MCFUART_UCR_RXDISABLE    0x02        /* Disable RX */
  154.  
  155. /*
  156.  *    Define bit flags in Input Port Change Register (UIPCR).
  157.  */
  158. #define    MCFUART_UIPCR_CTSCOS    0x10        /* CTS change of state */
  159. #define    MCFUART_UIPCR_CTS    0x01        /* CTS value */
  160.  
  161. /*
  162.  *    Define bit flags in Input Port Register (UIP).
  163.  */
  164. #define    MCFUART_UIPR_CTS    0x01        /* CTS value */
  165.  
  166. /*
  167.  *    Define bit flags in Output Port Registers (UOP).
  168.  *    Clear bit by writing to UOP0, set by writing to UOP1.
  169.  */
  170. #define    MCFUART_UOP_RTS        0x01        /* RTS set or clear */
  171.  
  172. /*
  173.  *    Define bit flags in the Auxiliary Control Register (UACR).
  174.  */
  175. #define    MCFUART_UACR_IEC    0x01        /* Input enable control */
  176.  
  177. /*
  178.  *    Define bit flags in Interrupt Status Register (UISR).
  179.  *    These same bits are used for the Interrupt Mask Register (UIMR).
  180.  */
  181. #define    MCFUART_UIR_COS        0x80        /* Change of state (CTS) */
  182. #define    MCFUART_UIR_DELTABREAK    0x04        /* Break start or stop */
  183. #define    MCFUART_UIR_RXREADY    0x02        /* Receiver ready */
  184. #define    MCFUART_UIR_TXREADY    0x01        /* Transmitter ready */
  185.  
  186. #ifdef    CONFIG_M5272
  187. /*
  188.  *    Define bit flags in the Transmitter FIFO Register (UTF).
  189.  */
  190. #define    MCFUART_UTF_TXB        0x1f        /* Transmitter data level */
  191. #define    MCFUART_UTF_FULL    0x20        /* Transmitter fifo full */
  192. #define    MCFUART_UTF_TXS        0xc0        /* Transmitter status */
  193.  
  194. /*
  195.  *    Define bit flags in the Receiver FIFO Register (URF).
  196.  */
  197. #define    MCFUART_URF_RXB        0x1f        /* Receiver data level */
  198. #define    MCFUART_URF_FULL    0x20        /* Receiver fifo full */
  199. #define    MCFUART_URF_RXS        0xc0        /* Receiver status */
  200. #endif
  201.  
  202. /****************************************************************************/
  203. #endif    /* mcfuart_h */
  204.