analysisDataOperation.h 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447
  1. /*
  2. * FILE SA-1100.h
  3. *
  4. * Version 1.2
  5. * Author Copyright (c) Marc A. Viredaz, 1998
  6. * DEC Western Research Laboratory, Palo Alto, CA
  7. * Date January 1998 (April 1997)
  8. * System StrongARM SA-1100
  9. * Language C or ARM Assembly
  10. * Purpose Definition of constants related to the StrongARM
  11. * SA-1100 microprocessor (Advanced RISC Machine (ARM)
  12. * architecture version 4). This file is based on the
  13. * StrongARM SA-1100 data sheet version 2.2.
  14. *
  15. */
  16. /* Be sure that virtual mapping is defined right */
  17. #ifndef __ASM_ARCH_HARDWARE_H
  18. #error You must include hardware.h not SA-1100.h
  19. #endif
  20. #include "bitfield.h"
  21. /*
  22. * SA1100 CS line to physical address
  23. */
  24. #define SA1100_CS0_PHYS 0x00000000
  25. #define SA1100_CS1_PHYS 0x08000000
  26. #define SA1100_CS2_PHYS 0x10000000
  27. #define SA1100_CS3_PHYS 0x18000000
  28. #define SA1100_CS4_PHYS 0x40000000
  29. #define SA1100_CS5_PHYS 0x48000000
  30. /*
  31. * Personal Computer Memory Card International Association (PCMCIA) sockets
  32. */
  33. #define PCMCIAPrtSp 0x04000000 /* PCMCIA Partition Space [byte] */
  34. #define PCMCIASp (4*PCMCIAPrtSp) /* PCMCIA Space [byte] */
  35. #define PCMCIAIOSp PCMCIAPrtSp /* PCMCIA I/O Space [byte] */
  36. #define PCMCIAAttrSp PCMCIAPrtSp /* PCMCIA Attribute Space [byte] */
  37. #define PCMCIAMemSp PCMCIAPrtSp /* PCMCIA Memory Space [byte] */
  38. #define PCMCIA0Sp PCMCIASp /* PCMCIA 0 Space [byte] */
  39. #define PCMCIA0IOSp PCMCIAIOSp /* PCMCIA 0 I/O Space [byte] */
  40. #define PCMCIA0AttrSp PCMCIAAttrSp /* PCMCIA 0 Attribute Space [byte] */
  41. #define PCMCIA0MemSp PCMCIAMemSp /* PCMCIA 0 Memory Space [byte] */
  42. #define PCMCIA1Sp PCMCIASp /* PCMCIA 1 Space [byte] */
  43. #define PCMCIA1IOSp PCMCIAIOSp /* PCMCIA 1 I/O Space [byte] */
  44. #define PCMCIA1AttrSp PCMCIAAttrSp /* PCMCIA 1 Attribute Space [byte] */
  45. #define PCMCIA1MemSp PCMCIAMemSp /* PCMCIA 1 Memory Space [byte] */
  46. #define _PCMCIA(Nb) /* PCMCIA [0..1] */ \
  47. (0x20000000 + (Nb)*PCMCIASp)
  48. #define _PCMCIAIO(Nb) _PCMCIA (Nb) /* PCMCIA I/O [0..1] */
  49. #define _PCMCIAAttr(Nb) /* PCMCIA Attribute [0..1] */ \
  50. (_PCMCIA (Nb) + 2*PCMCIAPrtSp)
  51. #define _PCMCIAMem(Nb) /* PCMCIA Memory [0..1] */ \
  52. (_PCMCIA (Nb) + 3*PCMCIAPrtSp)
  53. #define _PCMCIA0 _PCMCIA (0) /* PCMCIA 0 */
  54. #define _PCMCIA0IO _PCMCIAIO (0) /* PCMCIA 0 I/O */
  55. #define _PCMCIA0Attr _PCMCIAAttr (0) /* PCMCIA 0 Attribute */
  56. #define _PCMCIA0Mem _PCMCIAMem (0) /* PCMCIA 0 Memory */
  57. #define _PCMCIA1 _PCMCIA (1) /* PCMCIA 1 */
  58. #define _PCMCIA1IO _PCMCIAIO (1) /* PCMCIA 1 I/O */
  59. #define _PCMCIA1Attr _PCMCIAAttr (1) /* PCMCIA 1 Attribute */
  60. #define _PCMCIA1Mem _PCMCIAMem (1) /* PCMCIA 1 Memory */
  61. /*
  62. * Universal Serial Bus (USB) Device Controller (UDC) control registers
  63. *
  64. * Registers
  65. * Ser0UDCCR Serial port 0 Universal Serial Bus (USB) Device
  66. * Controller (UDC) Control Register (read/write).
  67. * Ser0UDCAR Serial port 0 Universal Serial Bus (USB) Device
  68. * Controller (UDC) Address Register (read/write).
  69. * Ser0UDCOMP Serial port 0 Universal Serial Bus (USB) Device
  70. * Controller (UDC) Output Maximum Packet size register
  71. * (read/write).
  72. * Ser0UDCIMP Serial port 0 Universal Serial Bus (USB) Device
  73. * Controller (UDC) Input Maximum Packet size register
  74. * (read/write).
  75. * Ser0UDCCS0 Serial port 0 Universal Serial Bus (USB) Device
  76. * Controller (UDC) Control/Status register end-point 0
  77. * (read/write).
  78. * Ser0UDCCS1 Serial port 0 Universal Serial Bus (USB) Device
  79. * Controller (UDC) Control/Status register end-point 1
  80. * (output, read/write).
  81. * Ser0UDCCS2 Serial port 0 Universal Serial Bus (USB) Device
  82. * Controller (UDC) Control/Status register end-point 2
  83. * (input, read/write).
  84. * Ser0UDCD0 Serial port 0 Universal Serial Bus (USB) Device
  85. * Controller (UDC) Data register end-point 0
  86. * (read/write).
  87. * Ser0UDCWC Serial port 0 Universal Serial Bus (USB) Device
  88. * Controller (UDC) Write Count register end-point 0
  89. * (read).
  90. * Ser0UDCDR Serial port 0 Universal Serial Bus (USB) Device
  91. * Controller (UDC) Data Register (read/write).
  92. * Ser0UDCSR Serial port 0 Universal Serial Bus (USB) Device
  93. * Controller (UDC) Status Register (read/write).
  94. */
  95. #define Ser0UDCCR __REG(0x80000000) /* Ser. port 0 UDC Control Reg. */
  96. #define Ser0UDCAR __REG(0x80000004) /* Ser. port 0 UDC Address Reg. */
  97. #define Ser0UDCOMP __REG(0x80000008) /* Ser. port 0 UDC Output Maximum Packet size reg. */
  98. #define Ser0UDCIMP __REG(0x8000000C) /* Ser. port 0 UDC Input Maximum Packet size reg. */
  99. #define Ser0UDCCS0 __REG(0x80000010) /* Ser. port 0 UDC Control/Status reg. end-point 0 */
  100. #define Ser0UDCCS1 __REG(0x80000014) /* Ser. port 0 UDC Control/Status reg. end-point 1 (output) */
  101. #define Ser0UDCCS2 __REG(0x80000018) /* Ser. port 0 UDC Control/Status reg. end-point 2 (input) */
  102. #define Ser0UDCD0 __REG(0x8000001C) /* Ser. port 0 UDC Data reg. end-point 0 */
  103. #define Ser0UDCWC __REG(0x80000020) /* Ser. port 0 UDC Write Count reg. end-point 0 */
  104. #define Ser0UDCDR __REG(0x80000028) /* Ser. port 0 UDC Data Reg. */
  105. #define Ser0UDCSR __REG(0x80000030) /* Ser. port 0 UDC Status Reg. */
  106. #define UDCCR_UDD 0x00000001 /* UDC Disable */
  107. #define UDCCR_UDA 0x00000002 /* UDC Active (read) */
  108. #define UDCCR_RESIM 0x00000004 /* Resume Interrupt Mask, per errata */
  109. #define UDCCR_EIM 0x00000008 /* End-point 0 Interrupt Mask */
  110. /* (disable) */
  111. #define UDCCR_RIM 0x00000010 /* Receive Interrupt Mask */
  112. /* (disable) */
  113. #define UDCCR_TIM 0x00000020 /* Transmit Interrupt Mask */
  114. /* (disable) */
  115. #define UDCCR_SRM 0x00000040 /* Suspend/Resume interrupt Mask */
  116. /* (disable) */
  117. #define UDCCR_SUSIM UDCCR_SRM /* Per errata, SRM just masks suspend */
  118. #define UDCCR_REM 0x00000080 /* REset interrupt Mask (disable) */
  119. #define UDCAR_ADD Fld (7, 0) /* function ADDress */
  120. #define UDCOMP_OUTMAXP Fld (8, 0) /* OUTput MAXimum Packet size - 1 */
  121. /* [byte] */
  122. #define UDCOMP_OutMaxPkt(Size) /* Output Maximum Packet size */ \
  123. /* [1..256 byte] */ \
  124. (((Size) - 1) << FShft (UDCOMP_OUTMAXP))
  125. #define UDCIMP_INMAXP Fld (8, 0) /* INput MAXimum Packet size - 1 */
  126. /* [byte] */
  127. #define UDCIMP_InMaxPkt(Size) /* Input Maximum Packet size */ \
  128. /* [1..256 byte] */ \
  129. (((Size) - 1) << FShft (UDCIMP_INMAXP))
  130. #define UDCCS0_OPR 0x00000001 /* Output Packet Ready (read) */
  131. #define UDCCS0_IPR 0x00000002 /* Input Packet Ready */
  132. #define UDCCS0_SST 0x00000004 /* Sent STall */
  133. #define UDCCS0_FST 0x00000008 /* Force STall */
  134. #define UDCCS0_DE 0x00000010 /* Data End */
  135. #define UDCCS0_SE 0x00000020 /* Setup End (read) */
  136. #define UDCCS0_SO 0x00000040 /* Serviced Output packet ready */
  137. /* (write) */
  138. #define UDCCS0_SSE 0x00000080 /* Serviced Setup End (write) */
  139. #define UDCCS1_RFS 0x00000001 /* Receive FIFO 12-bytes or more */
  140. /* Service request (read) */
  141. #define UDCCS1_RPC 0x00000002 /* Receive Packet Complete */
  142. #define UDCCS1_RPE 0x00000004 /* Receive Packet Error (read) */
  143. #define UDCCS1_SST 0x00000008 /* Sent STall */
  144. #define UDCCS1_FST 0x00000010 /* Force STall */
  145. #define UDCCS1_RNE 0x00000020 /* Receive FIFO Not Empty (read) */
  146. #define UDCCS2_TFS 0x00000001 /* Transmit FIFO 8-bytes or less */
  147. /* Service request (read) */
  148. #define UDCCS2_TPC 0x00000002 /* Transmit Packet Complete */
  149. #define UDCCS2_TPE 0x00000004 /* Transmit Packet Error (read) */
  150. #define UDCCS2_TUR 0x00000008 /* Transmit FIFO Under-Run */
  151. #define UDCCS2_SST 0x00000010 /* Sent STall */
  152. #define UDCCS2_FST 0x00000020 /* Force STall */
  153. #define UDCD0_DATA Fld (8, 0) /* receive/transmit DATA FIFOs */
  154. #define UDCWC_WC Fld (4, 0) /* Write Count */
  155. #define UDCDR_DATA Fld (8, 0) /* receive/transmit DATA FIFOs */
  156. #define UDCSR_EIR 0x00000001 /* End-point 0 Interrupt Request */
  157. #define UDCSR_RIR 0x00000002 /* Receive Interrupt Request */
  158. #define UDCSR_TIR 0x00000004 /* Transmit Interrupt Request */
  159. #define UDCSR_SUSIR 0x00000008 /* SUSpend Interrupt Request */
  160. #define UDCSR_RESIR 0x00000010 /* RESume Interrupt Request */
  161. #define UDCSR_RSTIR 0x00000020 /* ReSeT Interrupt Request */
  162. /*
  163. * Universal Asynchronous Receiver/Transmitter (UART) control registers
  164. *
  165. * Registers
  166. * Ser1UTCR0 Serial port 1 Universal Asynchronous
  167. * Receiver/Transmitter (UART) Control Register 0
  168. * (read/write).
  169. * Ser1UTCR1 Serial port 1 Universal Asynchronous
  170. * Receiver/Transmitter (UART) Control Register 1
  171. * (read/write).
  172. * Ser1UTCR2 Serial port 1 Universal Asynchronous
  173. * Receiver/Transmitter (UART) Control Register 2
  174. * (read/write).
  175. * Ser1UTCR3 Serial port 1 Universal Asynchronous
  176. * Receiver/Transmitter (UART) Control Register 3
  177. * (read/write).
  178. * Ser1UTDR Serial port 1 Universal Asynchronous
  179. * Receiver/Transmitter (UART) Data Register
  180. * (read/write).
  181. * Ser1UTSR0 Serial port 1 Universal Asynchronous
  182. * Receiver/Transmitter (UART) Status Register 0
  183. * (read/write).
  184. * Ser1UTSR1 Serial port 1 Universal Asynchronous
  185. * Receiver/Transmitter (UART) Status Register 1 (read).
  186. *
  187. * Ser2UTCR0 Serial port 2 Universal Asynchronous
  188. * Receiver/Transmitter (UART) Control Register 0
  189. * (read/write).
  190. * Ser2UTCR1 Serial port 2 Universal Asynchronous
  191. * Receiver/Transmitter (UART) Control Register 1
  192. * (read/write).
  193. * Ser2UTCR2 Serial port 2 Universal Asynchronous
  194. * Receiver/Transmitter (UART) Control Register 2
  195. * (read/write).
  196. * Ser2UTCR3 Serial port 2 Universal Asynchronous
  197. * Receiver/Transmitter (UART) Control Register 3
  198. * (read/write).
  199. * Ser2UTCR4 Serial port 2 Universal Asynchronous
  200. * Receiver/Transmitter (UART) Control Register 4
  201. * (read/write).
  202. * Ser2UTDR Serial port 2 Universal Asynchronous
  203. * Receiver/Transmitter (UART) Data Register
  204. * (read/write).
  205. * Ser2UTSR0 Serial port 2 Universal Asynchronous
  206. * Receiver/Transmitter (UART) Status Register 0
  207. * (read/write).
  208. * Ser2UTSR1 Serial port 2 Universal Asynchronous
  209. * Receiver/Transmitter (UART) Status Register 1 (read).
  210. *
  211. * Ser3UTCR0 Serial port 3 Universal Asynchronous
  212. * Receiver/Transmitter (UART) Control Register 0
  213. * (read/write).
  214. * Ser3UTCR1 Serial port 3 Universal Asynchronous
  215. * Receiver/Transmitter (UART) Control Register 1
  216. * (read/write).
  217. * Ser3UTCR2 Serial port 3 Universal Asynchronous
  218. * Receiver/Transmitter (UART) Control Register 2
  219. * (read/write).
  220. * Ser3UTCR3 Serial port 3 Universal Asynchronous
  221. * Receiver/Transmitter (UART) Control Register 3
  222. * (read/write).
  223. * Ser3UTDR Serial port 3 Universal Asynchronous
  224. * Receiver/Transmitter (UART) Data Register
  225. * (read/write).
  226. * Ser3UTSR0 Serial port 3 Universal Asynchronous
  227. * Receiver/Transmitter (UART) Status Register 0
  228. * (read/write).
  229. * Ser3UTSR1 Serial port 3 Universal Asynchronous
  230. * Receiver/Transmitter (UART) Status Register 1 (read).
  231. *
  232. * Clocks
  233. * fxtl, Txtl Frequency, period of the system crystal (3.6864 MHz
  234. * or 3.5795 MHz).
  235. * fua, Tua Frequency, period of the UART communication.
  236. */
  237. #define _UTCR0(Nb) __REG(0x80010000 + ((Nb) - 1)*0x00020000) /* UART Control Reg. 0 [1..3] */
  238. #define _UTCR1(Nb) __REG(0x80010004 + ((Nb) - 1)*0x00020000) /* UART Control Reg. 1 [1..3] */
  239. #define _UTCR2(Nb) __REG(0x80010008 + ((Nb) - 1)*0x00020000) /* UART Control Reg. 2 [1..3] */
  240. #define _UTCR3(Nb) __REG(0x8001000C + ((Nb) - 1)*0x00020000) /* UART Control Reg. 3 [1..3] */
  241. #define _UTCR4(Nb) __REG(0x80010010 + ((Nb) - 1)*0x00020000) /* UART Control Reg. 4 [2] */
  242. #define _UTDR(Nb) __REG(0x80010014 + ((Nb) - 1)*0x00020000) /* UART Data Reg. [1..3] */
  243. #define _UTSR0(Nb) __REG(0x8001001C + ((Nb) - 1)*0x00020000) /* UART Status Reg. 0 [1..3] */
  244. #define _UTSR1(Nb) __REG(0x80010020 + ((Nb) - 1)*0x00020000) /* UART Status Reg. 1 [1..3] */
  245. #define Ser1UTCR0 _UTCR0 (1) /* Ser. port 1 UART Control Reg. 0 */
  246. #define Ser1UTCR1 _UTCR1 (1) /* Ser. port 1 UART Control Reg. 1 */
  247. #define Ser1UTCR2 _UTCR2 (1) /* Ser. port 1 UART Control Reg. 2 */
  248. #define Ser1UTCR3 _UTCR3 (1) /* Ser. port 1 UART Control Reg. 3 */
  249. #define Ser1UTDR _UTDR (1) /* Ser. port 1 UART Data Reg. */
  250. #define Ser1UTSR0 _UTSR0 (1) /* Ser. port 1 UART Status Reg. 0 */
  251. #define Ser1UTSR1 _UTSR1 (1) /* Ser. port 1 UART Status Reg. 1 */
  252. #define Ser2UTCR0 _UTCR0 (2) /* Ser. port 2 UART Control Reg. 0 */
  253. #define Ser2UTCR1 _UTCR1 (2) /* Ser. port 2 UART Control Reg. 1 */
  254. #define Ser2UTCR2 _UTCR2 (2) /* Ser. port 2 UART Control Reg. 2 */
  255. #define Ser2UTCR3 _UTCR3 (2) /* Ser. port 2 UART Control Reg. 3 */
  256. #define Ser2UTCR4 _UTCR4 (2) /* Ser. port 2 UART Control Reg. 4 */
  257. #define Ser2UTDR _UTDR (2) /* Ser. port 2 UART Data Reg. */
  258. #define Ser2UTSR0 _UTSR0 (2) /* Ser. port 2 UART Status Reg. 0 */
  259. #define Ser2UTSR1 _UTSR1 (2) /* Ser. port 2 UART Status Reg. 1 */
  260. #define Ser3UTCR0 _UTCR0 (3) /* Ser. port 3 UART Control Reg. 0 */
  261. #define Ser3UTCR1 _UTCR1 (3) /* Ser. port 3 UART Control Reg. 1 */
  262. #define Ser3UTCR2 _UTCR2 (3) /* Ser. port 3 UART Control Reg. 2 */
  263. #define Ser3UTCR3 _UTCR3 (3) /* Ser. port 3 UART Control Reg. 3 */
  264. #define Ser3UTDR _UTDR (3) /* Ser. port 3 UART Data Reg. */
  265. #define Ser3UTSR0 _UTSR0 (3) /* Ser. port 3 UART Status Reg. 0 */
  266. #define Ser3UTSR1 _UTSR1 (3) /* Ser. port 3 UART Status Reg. 1 */
  267. /* Those are still used in some places */
  268. #define _Ser1UTCR0 __PREG(Ser1UTCR0)
  269. #define _Ser2UTCR0 __PREG(Ser2UTCR0)
  270. #define _Ser3UTCR0 __PREG(Ser3UTCR0)
  271. /* Register offsets */
  272. #define UTCR0 0x00
  273. #define UTCR1 0x04
  274. #define UTCR2 0x08
  275. #define UTCR3 0x0c
  276. #define UTDR 0x14
  277. #define UTSR0 0x1c
  278. #define UTSR1 0x20
  279. #define UTCR0_PE 0x00000001 /* Parity Enable */
  280. #define UTCR0_OES 0x00000002 /* Odd/Even parity Select */
  281. #define UTCR0_OddPar (UTCR0_OES*0) /* Odd Parity */
  282. #define UTCR0_EvenPar (UTCR0_OES*1) /* Even Parity */
  283. #define UTCR0_SBS 0x00000004 /* Stop Bit Select */
  284. #define UTCR0_1StpBit (UTCR0_SBS*0) /* 1 Stop Bit per frame */
  285. #define UTCR0_2StpBit (UTCR0_SBS*1) /* 2 Stop Bits per frame */
  286. #define UTCR0_DSS 0x00000008 /* Data Size Select */
  287. #define UTCR0_7BitData (UTCR0_DSS*0) /* 7-Bit Data */
  288. #define UTCR0_8BitData (UTCR0_DSS*1) /* 8-Bit Data */
  289. #define UTCR0_SCE 0x00000010 /* Sample Clock Enable */
  290. /* (ser. port 1: GPIO [18], */
  291. /* ser. port 3: GPIO [20]) */
  292. #define UTCR0_RCE 0x00000020 /* Receive Clock Edge select */
  293. #define UTCR0_RcRsEdg (UTCR0_RCE*0) /* Receive clock Rising-Edge */
  294. #define UTCR0_RcFlEdg (UTCR0_RCE*1) /* Receive clock Falling-Edge */
  295. #define UTCR0_TCE 0x00000040 /* Transmit Clock Edge select */
  296. #define UTCR0_TrRsEdg (UTCR0_TCE*0) /* Transmit clock Rising-Edge */
  297. #define UTCR0_TrFlEdg (UTCR0_TCE*1) /* Transmit clock Falling-Edge */
  298. #define UTCR0_Ser2IrDA /* Ser. port 2 IrDA settings */ \
  299. (UTCR0_1StpBit + UTCR0_8BitData)
  300. #define UTCR1_BRD Fld (4, 0) /* Baud Rate Divisor/16 - 1 [11:8] */
  301. #define UTCR2_BRD Fld (8, 0) /* Baud Rate Divisor/16 - 1 [7:0] */
  302. /* fua = fxtl/(16*(BRD[11:0] + 1)) */
  303. /* Tua = 16*(BRD [11:0] + 1)*Txtl */
  304. #define UTCR1_BdRtDiv(Div) /* Baud Rate Divisor [16..65536] */ \
  305. (((Div) - 16)/16 >> FSize (UTCR2_BRD) << \
  306. FShft (UTCR1_BRD))
  307. #define UTCR2_BdRtDiv(Div) /* Baud Rate Divisor [16..65536] */ \
  308. (((Div) - 16)/16 & FAlnMsk (UTCR2_BRD) << \
  309. FShft (UTCR2_BRD))
  310. /* fua = fxtl/(16*Floor (Div/16)) */
  311. /* Tua = 16*Floor (Div/16)*Txtl */
  312. #define UTCR1_CeilBdRtDiv(Div) /* Ceil. of BdRtDiv [16..65536] */ \
  313. (((Div) - 1)/16 >> FSize (UTCR2_BRD) << \
  314. FShft (UTCR1_BRD))
  315. #define UTCR2_CeilBdRtDiv(Div) /* Ceil. of BdRtDiv [16..65536] */ \
  316. (((Div) - 1)/16 & FAlnMsk (UTCR2_BRD) << \
  317. FShft (UTCR2_BRD))
  318. /* fua = fxtl/(16*Ceil (Div/16)) */
  319. /* Tua = 16*Ceil (Div/16)*Txtl */
  320. #define UTCR3_RXE 0x00000001 /* Receive Enable */
  321. #define UTCR3_TXE 0x00000002 /* Transmit Enable */
  322. #define UTCR3_BRK 0x00000004 /* BReaK mode */
  323. #define UTCR3_RIE 0x00000008 /* Receive FIFO 1/3-to-2/3-full or */
  324. /* more Interrupt Enable */
  325. #define UTCR3_TIE 0x00000010 /* Transmit FIFO 1/2-full or less */
  326. /* Interrupt Enable */
  327. #define UTCR3_LBM 0x00000020 /* Look-Back Mode */
  328. #define UTCR3_Ser2IrDA /* Ser. port 2 IrDA settings (RIE, */ \
  329. /* TIE, LBM can be set or cleared) */ \
  330. (UTCR3_RXE + UTCR3_TXE)
  331. #define UTCR4_HSE 0x00000001 /* Hewlett-Packard Serial InfraRed */
  332. /* (HP-SIR) modulation Enable */
  333. #define UTCR4_NRZ (UTCR4_HSE*0) /* Non-Return to Zero modulation */
  334. #define UTCR4_HPSIR (UTCR4_HSE*1) /* HP-SIR modulation */
  335. #define UTCR4_LPM 0x00000002 /* Low-Power Mode */
  336. #define UTCR4_Z3_16Bit (UTCR4_LPM*0) /* Zero pulse = 3/16 Bit time */
  337. #define UTCR4_Z1_6us (UTCR4_LPM*1) /* Zero pulse = 1.6 us */
  338. #define UTDR_DATA Fld (8, 0) /* receive/transmit DATA FIFOs */
  339. #if 0 /* Hidden receive FIFO bits */
  340. #define UTDR_PRE 0x00000100 /* receive PaRity Error (read) */
  341. #define UTDR_FRE 0x00000200 /* receive FRaming Error (read) */
  342. #define UTDR_ROR 0x00000400 /* Receive FIFO Over-Run (read) */
  343. #endif /* 0 */
  344. #define UTSR0_TFS 0x00000001 /* Transmit FIFO 1/2-full or less */
  345. /* Service request (read) */
  346. #define UTSR0_RFS 0x00000002 /* Receive FIFO 1/3-to-2/3-full or */
  347. /* more Service request (read) */
  348. #define UTSR0_RID 0x00000004 /* Receiver IDle */
  349. #define UTSR0_RBB 0x00000008 /* Receive Beginning of Break */
  350. #define UTSR0_REB 0x00000010 /* Receive End of Break */
  351. #define UTSR0_EIF 0x00000020 /* Error In FIFO (read) */
  352. #define UTSR1_TBY 0x00000001 /* Transmitter BusY (read) */
  353. #define UTSR1_RNE 0x00000002 /* Receive FIFO Not Empty (read) */
  354. #define UTSR1_TNF 0x00000004 /* Transmit FIFO Not Full (read) */
  355. #define UTSR1_PRE 0x00000008 /* receive PaRity Error (read) */
  356. #define UTSR1_FRE 0x00000010 /* receive FRaming Error (read) */
  357. #define UTSR1_ROR 0x00000020 /* Receive FIFO Over-Run (read) */
  358. /*
  359. * Synchronous Data Link Controller (SDLC) control registers
  360. *
  361. * Registers
  362. * Ser1SDCR0 Serial port 1 Synchronous Data Link Controller (SDLC)
  363. * Control Register 0 (read/write).
  364. * Ser1SDCR1 Serial port 1 Synchronous Data Link Controller (SDLC)
  365. * Control Register 1 (read/write).
  366. * Ser1SDCR2 Serial port 1 Synchronous Data Link Controller (SDLC)
  367. * Control Register 2 (read/write).
  368. * Ser1SDCR3 Serial port 1 Synchronous Data Link Controller (SDLC)
  369. * Control Register 3 (read/write).
  370. * Ser1SDCR4 Serial port 1 Synchronous Data Link Controller (SDLC)
  371. * Control Register 4 (read/write).
  372. * Ser1SDDR Serial port 1 Synchronous Data Link Controller (SDLC)
  373. * Data Register (read/write).
  374. * Ser1SDSR0 Serial port 1 Synchronous Data Link Controller (SDLC)
  375. * Status Register 0 (read/write).
  376. * Ser1SDSR1 Serial port 1 Synchronous Data Link Controller (SDLC)
  377. * Status Register 1 (read/write).
  378. *
  379. * Clocks
  380. * fxtl, Txtl Frequency, period of the system crystal (3.6864 MHz
  381. * or 3.5795 MHz).
  382. * fsd, Tsd Frequency, period of the SDLC communication.
  383. */
  384. #define Ser1SDCR0 __REG(0x80020060) /* Ser. port 1 SDLC Control Reg. 0 */
  385. #define Ser1SDCR1 __REG(0x80020064) /* Ser. port 1 SDLC Control Reg. 1 */
  386. #define Ser1SDCR2 __REG(0x80020068) /* Ser. port 1 SDLC Control Reg. 2 */
  387. #define Ser1SDCR3 __REG(0x8002006C) /* Ser. port 1 SDLC Control Reg. 3 */
  388. #define Ser1SDCR4 __REG(0x80020070) /* Ser. port 1 SDLC Control Reg. 4 */
  389. #define Ser1SDDR __REG(0x80020078) /* Ser. port 1 SDLC Data Reg. */
  390. #define Ser1SDSR0 __REG(0x80020080) /* Ser. port 1 SDLC Status Reg. 0 */
  391. #define Ser1SDSR1 __REG(0x80020084) /* Ser. port 1 SDLC Status Reg. 1 */
  392. #define SDCR0_SUS 0x00000001 /* SDLC/UART Select */
  393. #define SDCR0_SDLC (SDCR0_SUS*0) /* SDLC mode (TXD1 & RXD1) */
  394. #define SDCR0_UART (SDCR0_SUS*1) /* UART mode (TXD1 & RXD1) */
  395. #define SDCR0_SDF 0x00000002 /* Single/Double start Flag select */
  396. #define SDCR0_SglFlg (SDCR0_SDF*0) /* Single start Flag */
  397. #define SDCR0_DblFlg (SDCR0_SDF*1) /* Double start Flag */
  398. #define SDCR0_LBM 0x00000004 /* Look-Back Mode */
  399. #define SDCR0_BMS 0x00000008 /* Bit Modulation Select */
  400. #define SDCR0_FM0 (SDCR0_BMS*0) /* Freq. Modulation zero (0) */
  401. #define SDCR0_NRZ (SDCR0_BMS*1) /* Non-Return to Zero modulation */
  402. #define SDCR0_SCE 0x00000010 /* Sample Clock Enable (GPIO [16]) */