gt64240.h 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235
  1. /*
  2. * This file is subject to the terms and conditions of the GNU General Public
  3. * License. See the file "COPYING" in the main directory of this archive
  4. * for more details.
  5. *
  6. * Copyright - Galileo technology.
  7. * Copyright (C) 2004 by Ralf Baechle
  8. */
  9. #ifndef __ASM_MIPS_MV64240_H
  10. #define __ASM_MIPS_MV64240_H
  11. #include <asm/addrspace.h>
  12. #include <asm/marvell.h>
  13. /*
  14. * CPU Control Registers
  15. */
  16. #define CPU_CONFIGURATION 0x000
  17. #define CPU_MODE 0x120
  18. #define CPU_READ_RESPONSE_CROSSBAR_LOW 0x170
  19. #define CPU_READ_RESPONSE_CROSSBAR_HIGH 0x178
  20. /*
  21. * Processor Address Space
  22. */
  23. /* Sdram's BAR'S */
  24. #define SCS_0_LOW_DECODE_ADDRESS 0x008
  25. #define SCS_0_HIGH_DECODE_ADDRESS 0x010
  26. #define SCS_1_LOW_DECODE_ADDRESS 0x208
  27. #define SCS_1_HIGH_DECODE_ADDRESS 0x210
  28. #define SCS_2_LOW_DECODE_ADDRESS 0x018
  29. #define SCS_2_HIGH_DECODE_ADDRESS 0x020
  30. #define SCS_3_LOW_DECODE_ADDRESS 0x218
  31. #define SCS_3_HIGH_DECODE_ADDRESS 0x220
  32. /* Devices BAR'S */
  33. #define CS_0_LOW_DECODE_ADDRESS 0x028
  34. #define CS_0_HIGH_DECODE_ADDRESS 0x030
  35. #define CS_1_LOW_DECODE_ADDRESS 0x228
  36. #define CS_1_HIGH_DECODE_ADDRESS 0x230
  37. #define CS_2_LOW_DECODE_ADDRESS 0x248
  38. #define CS_2_HIGH_DECODE_ADDRESS 0x250
  39. #define CS_3_LOW_DECODE_ADDRESS 0x038
  40. #define CS_3_HIGH_DECODE_ADDRESS 0x040
  41. #define BOOTCS_LOW_DECODE_ADDRESS 0x238
  42. #define BOOTCS_HIGH_DECODE_ADDRESS 0x240
  43. #define PCI_0I_O_LOW_DECODE_ADDRESS 0x048
  44. #define PCI_0I_O_HIGH_DECODE_ADDRESS 0x050
  45. #define PCI_0MEMORY0_LOW_DECODE_ADDRESS 0x058
  46. #define PCI_0MEMORY0_HIGH_DECODE_ADDRESS 0x060
  47. #define PCI_0MEMORY1_LOW_DECODE_ADDRESS 0x080
  48. #define PCI_0MEMORY1_HIGH_DECODE_ADDRESS 0x088
  49. #define PCI_0MEMORY2_LOW_DECODE_ADDRESS 0x258
  50. #define PCI_0MEMORY2_HIGH_DECODE_ADDRESS 0x260
  51. #define PCI_0MEMORY3_LOW_DECODE_ADDRESS 0x280
  52. #define PCI_0MEMORY3_HIGH_DECODE_ADDRESS 0x288
  53. #define PCI_1I_O_LOW_DECODE_ADDRESS 0x090
  54. #define PCI_1I_O_HIGH_DECODE_ADDRESS 0x098
  55. #define PCI_1MEMORY0_LOW_DECODE_ADDRESS 0x0a0
  56. #define PCI_1MEMORY0_HIGH_DECODE_ADDRESS 0x0a8
  57. #define PCI_1MEMORY1_LOW_DECODE_ADDRESS 0x0b0
  58. #define PCI_1MEMORY1_HIGH_DECODE_ADDRESS 0x0b8
  59. #define PCI_1MEMORY2_LOW_DECODE_ADDRESS 0x2a0
  60. #define PCI_1MEMORY2_HIGH_DECODE_ADDRESS 0x2a8
  61. #define PCI_1MEMORY3_LOW_DECODE_ADDRESS 0x2b0
  62. #define PCI_1MEMORY3_HIGH_DECODE_ADDRESS 0x2b8
  63. #define INTERNAL_SPACE_DECODE 0x068
  64. #define CPU_0_LOW_DECODE_ADDRESS 0x290
  65. #define CPU_0_HIGH_DECODE_ADDRESS 0x298
  66. #define CPU_1_LOW_DECODE_ADDRESS 0x2c0
  67. #define CPU_1_HIGH_DECODE_ADDRESS 0x2c8
  68. #define PCI_0I_O_ADDRESS_REMAP 0x0f0
  69. #define PCI_0MEMORY0_ADDRESS_REMAP 0x0f8
  70. #define PCI_0MEMORY0_HIGH_ADDRESS_REMAP 0x320
  71. #define PCI_0MEMORY1_ADDRESS_REMAP 0x100
  72. #define PCI_0MEMORY1_HIGH_ADDRESS_REMAP 0x328
  73. #define PCI_0MEMORY2_ADDRESS_REMAP 0x2f8
  74. #define PCI_0MEMORY2_HIGH_ADDRESS_REMAP 0x330
  75. #define PCI_0MEMORY3_ADDRESS_REMAP 0x300
  76. #define PCI_0MEMORY3_HIGH_ADDRESS_REMAP 0x338
  77. #define PCI_1I_O_ADDRESS_REMAP 0x108
  78. #define PCI_1MEMORY0_ADDRESS_REMAP 0x110
  79. #define PCI_1MEMORY0_HIGH_ADDRESS_REMAP 0x340
  80. #define PCI_1MEMORY1_ADDRESS_REMAP 0x118
  81. #define PCI_1MEMORY1_HIGH_ADDRESS_REMAP 0x348
  82. #define PCI_1MEMORY2_ADDRESS_REMAP 0x310
  83. #define PCI_1MEMORY2_HIGH_ADDRESS_REMAP 0x350
  84. #define PCI_1MEMORY3_ADDRESS_REMAP 0x318
  85. #define PCI_1MEMORY3_HIGH_ADDRESS_REMAP 0x358
  86. /*
  87. * CPU Sync Barrier
  88. */
  89. #define PCI_0SYNC_BARIER_VIRTUAL_REGISTER 0x0c0
  90. #define PCI_1SYNC_BARIER_VIRTUAL_REGISTER 0x0c8
  91. /*
  92. * CPU Access Protect
  93. */
  94. #define CPU_LOW_PROTECT_ADDRESS_0 0X180
  95. #define CPU_HIGH_PROTECT_ADDRESS_0 0X188
  96. #define CPU_LOW_PROTECT_ADDRESS_1 0X190
  97. #define CPU_HIGH_PROTECT_ADDRESS_1 0X198
  98. #define CPU_LOW_PROTECT_ADDRESS_2 0X1a0
  99. #define CPU_HIGH_PROTECT_ADDRESS_2 0X1a8
  100. #define CPU_LOW_PROTECT_ADDRESS_3 0X1b0
  101. #define CPU_HIGH_PROTECT_ADDRESS_3 0X1b8
  102. #define CPU_LOW_PROTECT_ADDRESS_4 0X1c0
  103. #define CPU_HIGH_PROTECT_ADDRESS_4 0X1c8
  104. #define CPU_LOW_PROTECT_ADDRESS_5 0X1d0
  105. #define CPU_HIGH_PROTECT_ADDRESS_5 0X1d8
  106. #define CPU_LOW_PROTECT_ADDRESS_6 0X1e0
  107. #define CPU_HIGH_PROTECT_ADDRESS_6 0X1e8
  108. #define CPU_LOW_PROTECT_ADDRESS_7 0X1f0
  109. #define CPU_HIGH_PROTECT_ADDRESS_7 0X1f8
  110. /*
  111. * Snoop Control
  112. */
  113. #define SNOOP_BASE_ADDRESS_0 0x380
  114. #define SNOOP_TOP_ADDRESS_0 0x388
  115. #define SNOOP_BASE_ADDRESS_1 0x390
  116. #define SNOOP_TOP_ADDRESS_1 0x398
  117. #define SNOOP_BASE_ADDRESS_2 0x3a0
  118. #define SNOOP_TOP_ADDRESS_2 0x3a8
  119. #define SNOOP_BASE_ADDRESS_3 0x3b0
  120. #define SNOOP_TOP_ADDRESS_3 0x3b8
  121. /*
  122. * CPU Error Report
  123. */
  124. #define CPU_ERROR_ADDRESS_LOW 0x070
  125. #define CPU_ERROR_ADDRESS_HIGH 0x078
  126. #define CPU_ERROR_DATA_LOW 0x128
  127. #define CPU_ERROR_DATA_HIGH 0x130
  128. #define CPU_ERROR_PARITY 0x138
  129. #define CPU_ERROR_CAUSE 0x140
  130. #define CPU_ERROR_MASK 0x148
  131. /*
  132. * Pslave Debug
  133. */
  134. #define X_0_ADDRESS 0x360
  135. #define X_0_COMMAND_ID 0x368
  136. #define X_1_ADDRESS 0x370
  137. #define X_1_COMMAND_ID 0x378
  138. #define WRITE_DATA_LOW 0x3c0
  139. #define WRITE_DATA_HIGH 0x3c8
  140. #define WRITE_BYTE_ENABLE 0X3e0
  141. #define READ_DATA_LOW 0x3d0
  142. #define READ_DATA_HIGH 0x3d8
  143. #define READ_ID 0x3e8
  144. /*
  145. * SDRAM and Device Address Space
  146. */
  147. /*
  148. * SDRAM Configuration
  149. */
  150. #define SDRAM_CONFIGURATION 0x448
  151. #define SDRAM_OPERATION_MODE 0x474
  152. #define SDRAM_ADDRESS_DECODE 0x47C
  153. #define SDRAM_TIMING_PARAMETERS 0x4b4
  154. #define SDRAM_UMA_CONTROL 0x4a4
  155. #define SDRAM_CROSS_BAR_CONTROL_LOW 0x4a8
  156. #define SDRAM_CROSS_BAR_CONTROL_HIGH 0x4ac
  157. #define SDRAM_CROSS_BAR_TIMEOUT 0x4b0
  158. /*
  159. * SDRAM Parameters
  160. */
  161. #define SDRAM_BANK0PARAMETERS 0x44C
  162. #define SDRAM_BANK1PARAMETERS 0x450
  163. #define SDRAM_BANK2PARAMETERS 0x454
  164. #define SDRAM_BANK3PARAMETERS 0x458
  165. /*
  166. * SDRAM Error Report
  167. */
  168. #define SDRAM_ERROR_DATA_LOW 0x484
  169. #define SDRAM_ERROR_DATA_HIGH 0x480
  170. #define SDRAM_AND_DEVICE_ERROR_ADDRESS 0x490
  171. #define SDRAM_RECEIVED_ECC 0x488
  172. #define SDRAM_CALCULATED_ECC 0x48c
  173. #define SDRAM_ECC_CONTROL 0x494
  174. #define SDRAM_ECC_ERROR_COUNTER 0x498
  175. /*
  176. * SDunit Debug (for internal use)
  177. */
  178. #define X0_ADDRESS 0x500
  179. #define X0_COMMAND_AND_ID 0x504
  180. #define X0_WRITE_DATA_LOW 0x508
  181. #define X0_WRITE_DATA_HIGH 0x50c
  182. #define X0_WRITE_BYTE_ENABLE 0x518
  183. #define X0_READ_DATA_LOW 0x510
  184. #define X0_READ_DATA_HIGH 0x514
  185. #define X0_READ_ID 0x51c
  186. #define X1_ADDRESS 0x520
  187. #define X1_COMMAND_AND_ID 0x524
  188. #define X1_WRITE_DATA_LOW 0x528
  189. #define X1_WRITE_DATA_HIGH 0x52c
  190. #define X1_WRITE_BYTE_ENABLE 0x538
  191. #define X1_READ_DATA_LOW 0x530
  192. #define X1_READ_DATA_HIGH 0x534
  193. #define X1_READ_ID 0x53c
  194. #define X0_SNOOP_ADDRESS 0x540
  195. #define X0_SNOOP_COMMAND 0x544
  196. #define X1_SNOOP_ADDRESS 0x548
  197. #define X1_SNOOP_COMMAND 0x54c
  198. /*
  199. * Device Parameters
  200. */
  201. #define DEVICE_BANK0PARAMETERS 0x45c
  202. #define DEVICE_BANK1PARAMETERS 0x460
  203. #define DEVICE_BANK2PARAMETERS 0x464
  204. #define DEVICE_BANK3PARAMETERS 0x468
  205. #define DEVICE_BOOT_BANK_PARAMETERS 0x46c
  206. #define DEVICE_CONTROL 0x4c0
  207. #define DEVICE_CROSS_BAR_CONTROL_LOW 0x4c8
  208. #define DEVICE_CROSS_BAR_CONTROL_HIGH 0x4cc
  209. #define DEVICE_CROSS_BAR_TIMEOUT 0x4c4
  210. /*
  211. * Device Interrupt
  212. */
  213. #define DEVICE_INTERRUPT_CAUSE 0x4d0
  214. #define DEVICE_INTERRUPT_MASK 0x4d4
  215. #define DEVICE_ERROR_ADDRESS 0x4d8
  216. /*
  217. * DMA Record
  218. */
  219. #define CHANNEL0_DMA_BYTE_COUNT 0x800
  220. #define CHANNEL1_DMA_BYTE_COUNT 0x804
  221. #define CHANNEL2_DMA_BYTE_COUNT 0x808
  222. #define CHANNEL3_DMA_BYTE_COUNT 0x80C
  223. #define CHANNEL4_DMA_BYTE_COUNT 0x900
  224. #define CHANNEL5_DMA_BYTE_COUNT 0x904
  225. #define CHANNEL6_DMA_BYTE_COUNT 0x908
  226. #define CHANNEL7_DMA_BYTE_COUNT 0x90C
  227. #define CHANNEL0_DMA_SOURCE_ADDRESS 0x810
  228. #define CHANNEL1_DMA_SOURCE_ADDRESS 0x814
  229. #define CHANNEL2_DMA_SOURCE_ADDRESS 0x818
  230. #define CHANNEL3_DMA_SOURCE_ADDRESS 0x81C
  231. #define CHANNEL4_DMA_SOURCE_ADDRESS 0x910
  232. #define CHANNEL5_DMA_SOURCE_ADDRESS 0x914
  233. #define CHANNEL6_DMA_SOURCE_ADDRESS 0x918
  234. #define CHANNEL7_DMA_SOURCE_ADDRESS 0x91C
  235. #define CHANNEL0_DMA_DESTINATION_ADDRESS 0x820
  236. #define CHANNEL1_DMA_DESTINATION_ADDRESS 0x824
  237. #define CHANNEL2_DMA_DESTINATION_ADDRESS 0x828
  238. #define CHANNEL3_DMA_DESTINATION_ADDRESS 0x82C
  239. #define CHANNEL4_DMA_DESTINATION_ADDRESS 0x920
  240. #define CHANNEL5_DMA_DESTINATION_ADDRESS 0x924
  241. #define CHANNEL6_DMA_DESTINATION_ADDRESS 0x928
  242. #define CHANNEL7_DMA_DESTINATION_ADDRESS 0x92C
  243. #define CHANNEL0NEXT_RECORD_POINTER 0x830
  244. #define CHANNEL1NEXT_RECORD_POINTER 0x834
  245. #define CHANNEL2NEXT_RECORD_POINTER 0x838
  246. #define CHANNEL3NEXT_RECORD_POINTER 0x83C
  247. #define CHANNEL4NEXT_RECORD_POINTER 0x930
  248. #define CHANNEL5NEXT_RECORD_POINTER 0x934
  249. #define CHANNEL6NEXT_RECORD_POINTER 0x938
  250. #define CHANNEL7NEXT_RECORD_POINTER 0x93C
  251. #define CHANNEL0CURRENT_DESCRIPTOR_POINTER 0x870
  252. #define CHANNEL1CURRENT_DESCRIPTOR_POINTER 0x874
  253. #define CHANNEL2CURRENT_DESCRIPTOR_POINTER 0x878
  254. #define CHANNEL3CURRENT_DESCRIPTOR_POINTER 0x87C
  255. #define CHANNEL4CURRENT_DESCRIPTOR_POINTER 0x970
  256. #define CHANNEL5CURRENT_DESCRIPTOR_POINTER 0x974
  257. #define CHANNEL6CURRENT_DESCRIPTOR_POINTER 0x978
  258. #define CHANNEL7CURRENT_DESCRIPTOR_POINTER 0x97C
  259. #define CHANNEL0_DMA_SOURCE_HIGH_PCI_ADDRESS 0x890
  260. #define CHANNEL1_DMA_SOURCE_HIGH_PCI_ADDRESS 0x894
  261. #define CHANNEL2_DMA_SOURCE_HIGH_PCI_ADDRESS 0x898
  262. #define CHANNEL3_DMA_SOURCE_HIGH_PCI_ADDRESS 0x89c
  263. #define CHANNEL4_DMA_SOURCE_HIGH_PCI_ADDRESS 0x990
  264. #define CHANNEL5_DMA_SOURCE_HIGH_PCI_ADDRESS 0x994
  265. #define CHANNEL6_DMA_SOURCE_HIGH_PCI_ADDRESS 0x998
  266. #define CHANNEL7_DMA_SOURCE_HIGH_PCI_ADDRESS 0x99c
  267. #define CHANNEL0_DMA_DESTINATION_HIGH_PCI_ADDRESS 0x8a0
  268. #define CHANNEL1_DMA_DESTINATION_HIGH_PCI_ADDRESS 0x8a4
  269. #define CHANNEL2_DMA_DESTINATION_HIGH_PCI_ADDRESS 0x8a8
  270. #define CHANNEL3_DMA_DESTINATION_HIGH_PCI_ADDRESS 0x8ac
  271. #define CHANNEL4_DMA_DESTINATION_HIGH_PCI_ADDRESS 0x9a0
  272. #define CHANNEL5_DMA_DESTINATION_HIGH_PCI_ADDRESS 0x9a4
  273. #define CHANNEL6_DMA_DESTINATION_HIGH_PCI_ADDRESS 0x9a8
  274. #define CHANNEL7_DMA_DESTINATION_HIGH_PCI_ADDRESS 0x9ac
  275. #define CHANNEL0_DMA_NEXT_RECORD_POINTER_HIGH_PCI_ADDRESS 0x8b0
  276. #define CHANNEL1_DMA_NEXT_RECORD_POINTER_HIGH_PCI_ADDRESS 0x8b4
  277. #define CHANNEL2_DMA_NEXT_RECORD_POINTER_HIGH_PCI_ADDRESS 0x8b8
  278. #define CHANNEL3_DMA_NEXT_RECORD_POINTER_HIGH_PCI_ADDRESS 0x8bc
  279. #define CHANNEL4_DMA_NEXT_RECORD_POINTER_HIGH_PCI_ADDRESS 0x9b0
  280. #define CHANNEL5_DMA_NEXT_RECORD_POINTER_HIGH_PCI_ADDRESS 0x9b4
  281. #define CHANNEL6_DMA_NEXT_RECORD_POINTER_HIGH_PCI_ADDRESS 0x9b8
  282. #define CHANNEL7_DMA_NEXT_RECORD_POINTER_HIGH_PCI_ADDRESS 0x9bc
  283. /*
  284. * DMA Channel Control
  285. */
  286. #define CHANNEL0CONTROL 0x840
  287. #define CHANNEL0CONTROL_HIGH 0x880
  288. #define CHANNEL1CONTROL 0x844
  289. #define CHANNEL1CONTROL_HIGH 0x884
  290. #define CHANNEL2CONTROL 0x848
  291. #define CHANNEL2CONTROL_HIGH 0x888
  292. #define CHANNEL3CONTROL 0x84C
  293. #define CHANNEL3CONTROL_HIGH 0x88C
  294. #define CHANNEL4CONTROL 0x940
  295. #define CHANNEL4CONTROL_HIGH 0x980
  296. #define CHANNEL5CONTROL 0x944
  297. #define CHANNEL5CONTROL_HIGH 0x984
  298. #define CHANNEL6CONTROL 0x948
  299. #define CHANNEL6CONTROL_HIGH 0x988
  300. #define CHANNEL7CONTROL 0x94C
  301. #define CHANNEL7CONTROL_HIGH 0x98C
  302. /*
  303. * DMA Arbiter
  304. */
  305. #define ARBITER_CONTROL_0_3 0x860
  306. #define ARBITER_CONTROL_4_7 0x960
  307. /*
  308. * DMA Interrupt
  309. */
  310. #define CHANELS0_3_INTERRUPT_CAUSE 0x8c0
  311. #define CHANELS0_3_INTERRUPT_MASK 0x8c4
  312. #define CHANELS0_3_ERROR_ADDRESS 0x8c8
  313. #define CHANELS0_3_ERROR_SELECT 0x8cc
  314. #define CHANELS4_7_INTERRUPT_CAUSE 0x9c0
  315. #define CHANELS4_7_INTERRUPT_MASK 0x9c4
  316. #define CHANELS4_7_ERROR_ADDRESS 0x9c8
  317. #define CHANELS4_7_ERROR_SELECT 0x9cc
  318. /*
  319. * DMA Debug (for internal use)
  320. */
  321. #define DMA_X0_ADDRESS 0x8e0
  322. #define DMA_X0_COMMAND_AND_ID 0x8e4
  323. #define DMA_X0_WRITE_DATA_LOW 0x8e8
  324. #define DMA_X0_WRITE_DATA_HIGH 0x8ec
  325. #define DMA_X0_WRITE_BYTE_ENABLE 0x8f8
  326. #define DMA_X0_READ_DATA_LOW 0x8f0
  327. #define DMA_X0_READ_DATA_HIGH 0x8f4
  328. #define DMA_X0_READ_ID 0x8fc
  329. #define DMA_X1_ADDRESS 0x9e0
  330. #define DMA_X1_COMMAND_AND_ID 0x9e4
  331. #define DMA_X1_WRITE_DATA_LOW 0x9e8
  332. #define DMA_X1_WRITE_DATA_HIGH 0x9ec
  333. #define DMA_X1_WRITE_BYTE_ENABLE 0x9f8
  334. #define DMA_X1_READ_DATA_LOW 0x9f0
  335. #define DMA_X1_READ_DATA_HIGH 0x9f4
  336. #define DMA_X1_READ_ID 0x9fc
  337. /*
  338. * Timer_Counter
  339. */
  340. #define TIMER_COUNTER0 0x850
  341. #define TIMER_COUNTER1 0x854
  342. #define TIMER_COUNTER2 0x858
  343. #define TIMER_COUNTER3 0x85C
  344. #define TIMER_COUNTER_0_3_CONTROL 0x864
  345. #define TIMER_COUNTER_0_3_INTERRUPT_CAUSE 0x868
  346. #define TIMER_COUNTER_0_3_INTERRUPT_MASK 0x86c
  347. #define TIMER_COUNTER4 0x950
  348. #define TIMER_COUNTER5 0x954
  349. #define TIMER_COUNTER6 0x958
  350. #define TIMER_COUNTER7 0x95C
  351. #define TIMER_COUNTER_4_7_CONTROL 0x964
  352. #define TIMER_COUNTER_4_7_INTERRUPT_CAUSE 0x968
  353. #define TIMER_COUNTER_4_7_INTERRUPT_MASK 0x96c
  354. /*
  355. * PCI Slave Address Decoding
  356. */
  357. #define PCI_0SCS_0_BANK_SIZE 0xc08
  358. #define PCI_1SCS_0_BANK_SIZE 0xc88
  359. #define PCI_0SCS_1_BANK_SIZE 0xd08
  360. #define PCI_1SCS_1_BANK_SIZE 0xd88
  361. #define PCI_0SCS_2_BANK_SIZE 0xc0c
  362. #define PCI_1SCS_2_BANK_SIZE 0xc8c
  363. #define PCI_0SCS_3_BANK_SIZE 0xd0c
  364. #define PCI_1SCS_3_BANK_SIZE 0xd8c
  365. #define PCI_0CS_0_BANK_SIZE 0xc10
  366. #define PCI_1CS_0_BANK_SIZE 0xc90
  367. #define PCI_0CS_1_BANK_SIZE 0xd10
  368. #define PCI_1CS_1_BANK_SIZE 0xd90
  369. #define PCI_0CS_2_BANK_SIZE 0xd18
  370. #define PCI_1CS_2_BANK_SIZE 0xd98
  371. #define PCI_0CS_3_BANK_SIZE 0xc14
  372. #define PCI_1CS_3_BANK_SIZE 0xc94
  373. #define PCI_0CS_BOOT_BANK_SIZE 0xd14
  374. #define PCI_1CS_BOOT_BANK_SIZE 0xd94
  375. #define PCI_0P2P_MEM0_BAR_SIZE 0xd1c
  376. #define PCI_1P2P_MEM0_BAR_SIZE 0xd9c
  377. #define PCI_0P2P_MEM1_BAR_SIZE 0xd20
  378. #define PCI_1P2P_MEM1_BAR_SIZE 0xda0
  379. #define PCI_0P2P_I_O_BAR_SIZE 0xd24
  380. #define PCI_1P2P_I_O_BAR_SIZE 0xda4
  381. #define PCI_0CPU_BAR_SIZE 0xd28
  382. #define PCI_1CPU_BAR_SIZE 0xda8
  383. #define PCI_0DAC_SCS_0_BANK_SIZE 0xe00
  384. #define PCI_1DAC_SCS_0_BANK_SIZE 0xe80
  385. #define PCI_0DAC_SCS_1_BANK_SIZE 0xe04
  386. #define PCI_1DAC_SCS_1_BANK_SIZE 0xe84
  387. #define PCI_0DAC_SCS_2_BANK_SIZE 0xe08
  388. #define PCI_1DAC_SCS_2_BANK_SIZE 0xe88
  389. #define PCI_0DAC_SCS_3_BANK_SIZE 0xe0c
  390. #define PCI_1DAC_SCS_3_BANK_SIZE 0xe8c
  391. #define PCI_0DAC_CS_0_BANK_SIZE 0xe10
  392. #define PCI_1DAC_CS_0_BANK_SIZE 0xe90
  393. #define PCI_0DAC_CS_1_BANK_SIZE 0xe14
  394. #define PCI_1DAC_CS_1_BANK_SIZE 0xe94
  395. #define PCI_0DAC_CS_2_BANK_SIZE 0xe18
  396. #define PCI_1DAC_CS_2_BANK_SIZE 0xe98
  397. #define PCI_0DAC_CS_3_BANK_SIZE 0xe1c
  398. #define PCI_1DAC_CS_3_BANK_SIZE 0xe9c
  399. #define PCI_0DAC_BOOTCS_BANK_SIZE 0xe20
  400. #define PCI_1DAC_BOOTCS_BANK_SIZE 0xea0
  401. #define PCI_0DAC_P2P_MEM0_BAR_SIZE 0xe24
  402. #define PCI_1DAC_P2P_MEM0_BAR_SIZE 0xea4
  403. #define PCI_0DAC_P2P_MEM1_BAR_SIZE 0xe28
  404. #define PCI_1DAC_P2P_MEM1_BAR_SIZE 0xea8
  405. #define PCI_0DAC_CPU_BAR_SIZE 0xe2c
  406. #define PCI_1DAC_CPU_BAR_SIZE 0xeac
  407. #define PCI_0EXPANSION_ROM_BAR_SIZE 0xd2c
  408. #define PCI_1EXPANSION_ROM_BAR_SIZE 0xdac
  409. #define PCI_0BASE_ADDRESS_REGISTERS_ENABLE 0xc3c
  410. #define PCI_1BASE_ADDRESS_REGISTERS_ENABLE 0xcbc
  411. #define PCI_0SCS_0_BASE_ADDRESS_REMAP 0xc48
  412. #define PCI_1SCS_0_BASE_ADDRESS_REMAP 0xcc8
  413. #define PCI_0SCS_1_BASE_ADDRESS_REMAP 0xd48
  414. #define PCI_1SCS_1_BASE_ADDRESS_REMAP 0xdc8
  415. #define PCI_0SCS_2_BASE_ADDRESS_REMAP 0xc4c
  416. #define PCI_1SCS_2_BASE_ADDRESS_REMAP 0xccc
  417. #define PCI_0SCS_3_BASE_ADDRESS_REMAP 0xd4c
  418. #define PCI_1SCS_3_BASE_ADDRESS_REMAP 0xdcc
  419. #define PCI_0CS_0_BASE_ADDRESS_REMAP 0xc50
  420. #define PCI_1CS_0_BASE_ADDRESS_REMAP 0xcd0
  421. #define PCI_0CS_1_BASE_ADDRESS_REMAP 0xd50
  422. #define PCI_1CS_1_BASE_ADDRESS_REMAP 0xdd0
  423. #define PCI_0CS_2_BASE_ADDRESS_REMAP 0xd58
  424. #define PCI_1CS_2_BASE_ADDRESS_REMAP 0xdd8
  425. #define PCI_0CS_3_BASE_ADDRESS_REMAP 0xc54
  426. #define PCI_1CS_3_BASE_ADDRESS_REMAP 0xcd4
  427. #define PCI_0CS_BOOTCS_BASE_ADDRESS_REMAP 0xd54
  428. #define PCI_1CS_BOOTCS_BASE_ADDRESS_REMAP 0xdd4
  429. #define PCI_0P2P_MEM0_BASE_ADDRESS_REMAP_LOW 0xd5c
  430. #define PCI_1P2P_MEM0_BASE_ADDRESS_REMAP_LOW 0xddc
  431. #define PCI_0P2P_MEM0_BASE_ADDRESS_REMAP_HIGH 0xd60
  432. #define PCI_1P2P_MEM0_BASE_ADDRESS_REMAP_HIGH 0xde0
  433. #define PCI_0P2P_MEM1_BASE_ADDRESS_REMAP_LOW 0xd64
  434. #define PCI_1P2P_MEM1_BASE_ADDRESS_REMAP_LOW 0xde4
  435. #define PCI_0P2P_MEM1_BASE_ADDRESS_REMAP_HIGH 0xd68
  436. #define PCI_1P2P_MEM1_BASE_ADDRESS_REMAP_HIGH 0xde8
  437. #define PCI_0P2P_I_O_BASE_ADDRESS_REMAP 0xd6c
  438. #define PCI_1P2P_I_O_BASE_ADDRESS_REMAP 0xdec
  439. #define PCI_0CPU_BASE_ADDRESS_REMAP 0xd70
  440. #define PCI_1CPU_BASE_ADDRESS_REMAP 0xdf0
  441. #define PCI_0DAC_SCS_0_BASE_ADDRESS_REMAP 0xf00
  442. #define PCI_1DAC_SCS_0_BASE_ADDRESS_REMAP 0xff0
  443. #define PCI_0DAC_SCS_1_BASE_ADDRESS_REMAP 0xf04
  444. #define PCI_1DAC_SCS_1_BASE_ADDRESS_REMAP 0xf84
  445. #define PCI_0DAC_SCS_2_BASE_ADDRESS_REMAP 0xf08
  446. #define PCI_1DAC_SCS_2_BASE_ADDRESS_REMAP 0xf88
  447. #define PCI_0DAC_SCS_3_BASE_ADDRESS_REMAP 0xf0c
  448. #define PCI_1DAC_SCS_3_BASE_ADDRESS_REMAP 0xf8c
  449. #define PCI_0DAC_CS_0_BASE_ADDRESS_REMAP 0xf10
  450. #define PCI_1DAC_CS_0_BASE_ADDRESS_REMAP 0xf90
  451. #define PCI_0DAC_CS_1_BASE_ADDRESS_REMAP 0xf14
  452. #define PCI_1DAC_CS_1_BASE_ADDRESS_REMAP 0xf94
  453. #define PCI_0DAC_CS_2_BASE_ADDRESS_REMAP 0xf18
  454. #define PCI_1DAC_CS_2_BASE_ADDRESS_REMAP 0xf98
  455. #define PCI_0DAC_CS_3_BASE_ADDRESS_REMAP 0xf1c
  456. #define PCI_1DAC_CS_3_BASE_ADDRESS_REMAP 0xf9c
  457. #define PCI_0DAC_BOOTCS_BASE_ADDRESS_REMAP 0xf20
  458. #define PCI_1DAC_BOOTCS_BASE_ADDRESS_REMAP 0xfa0
  459. #define PCI_0DAC_P2P_MEM0_BASE_ADDRESS_REMAP_LOW 0xf24
  460. #define PCI_1DAC_P2P_MEM0_BASE_ADDRESS_REMAP_LOW 0xfa4
  461. #define PCI_0DAC_P2P_MEM0_BASE_ADDRESS_REMAP_HIGH 0xf28
  462. #define PCI_1DAC_P2P_MEM0_BASE_ADDRESS_REMAP_HIGH 0xfa8
  463. #define PCI_0DAC_P2P_MEM1_BASE_ADDRESS_REMAP_LOW 0xf2c
  464. #define PCI_1DAC_P2P_MEM1_BASE_ADDRESS_REMAP_LOW 0xfac
  465. #define PCI_0DAC_P2P_MEM1_BASE_ADDRESS_REMAP_HIGH 0xf30
  466. #define PCI_1DAC_P2P_MEM1_BASE_ADDRESS_REMAP_HIGH 0xfb0
  467. #define PCI_0DAC_CPU_BASE_ADDRESS_REMAP 0xf34
  468. #define PCI_1DAC_CPU_BASE_ADDRESS_REMAP 0xfb4
  469. #define PCI_0EXPANSION_ROM_BASE_ADDRESS_REMAP 0xf38
  470. #define PCI_1EXPANSION_ROM_BASE_ADDRESS_REMAP 0xfb8
  471. #define PCI_0ADDRESS_DECODE_CONTROL 0xd3c
  472. #define PCI_1ADDRESS_DECODE_CONTROL 0xdbc
  473. /*
  474. * PCI Control
  475. */
  476. #define PCI_0COMMAND 0xc00
  477. #define PCI_1COMMAND 0xc80
  478. #define PCI_0MODE 0xd00
  479. #define PCI_1MODE 0xd80
  480. #define PCI_0TIMEOUT_RETRY 0xc04
  481. #define PCI_1TIMEOUT_RETRY 0xc84
  482. #define PCI_0READ_BUFFER_DISCARD_TIMER 0xd04
  483. #define PCI_1READ_BUFFER_DISCARD_TIMER 0xd84
  484. #define MSI_0TRIGGER_TIMER 0xc38
  485. #define MSI_1TRIGGER_TIMER 0xcb8
  486. #define PCI_0ARBITER_CONTROL 0x1d00
  487. #define PCI_1ARBITER_CONTROL 0x1d80
  488. /* changing untill here */
  489. #define PCI_0CROSS_BAR_CONTROL_LOW 0x1d08
  490. #define PCI_0CROSS_BAR_CONTROL_HIGH 0x1d0c
  491. #define PCI_0CROSS_BAR_TIMEOUT 0x1d04
  492. #define PCI_0READ_RESPONSE_CROSS_BAR_CONTROL_LOW 0x1d18
  493. #define PCI_0READ_RESPONSE_CROSS_BAR_CONTROL_HIGH 0x1d1c
  494. #define PCI_0SYNC_BARRIER_VIRTUAL_REGISTER 0x1d10
  495. #define PCI_0P2P_CONFIGURATION 0x1d14
  496. #define PCI_0ACCESS_CONTROL_BASE_0_LOW 0x1e00
  497. #define PCI_0ACCESS_CONTROL_BASE_0_HIGH 0x1e04
  498. #define PCI_0ACCESS_CONTROL_TOP_0 0x1e08
  499. #define PCI_0ACCESS_CONTROL_BASE_1_LOW 0c1e10
  500. #define PCI_0ACCESS_CONTROL_BASE_1_HIGH 0x1e14
  501. #define PCI_0ACCESS_CONTROL_TOP_1 0x1e18
  502. #define PCI_0ACCESS_CONTROL_BASE_2_LOW 0c1e20
  503. #define PCI_0ACCESS_CONTROL_BASE_2_HIGH 0x1e24
  504. #define PCI_0ACCESS_CONTROL_TOP_2 0x1e28
  505. #define PCI_0ACCESS_CONTROL_BASE_3_LOW 0c1e30
  506. #define PCI_0ACCESS_CONTROL_BASE_3_HIGH 0x1e34
  507. #define PCI_0ACCESS_CONTROL_TOP_3 0x1e38
  508. #define PCI_0ACCESS_CONTROL_BASE_4_LOW 0c1e40
  509. #define PCI_0ACCESS_CONTROL_BASE_4_HIGH 0x1e44
  510. #define PCI_0ACCESS_CONTROL_TOP_4 0x1e48
  511. #define PCI_0ACCESS_CONTROL_BASE_5_LOW 0c1e50
  512. #define PCI_0ACCESS_CONTROL_BASE_5_HIGH 0x1e54
  513. #define PCI_0ACCESS_CONTROL_TOP_5 0x1e58
  514. #define PCI_0ACCESS_CONTROL_BASE_6_LOW 0c1e60
  515. #define PCI_0ACCESS_CONTROL_BASE_6_HIGH 0x1e64
  516. #define PCI_0ACCESS_CONTROL_TOP_6 0x1e68
  517. #define PCI_0ACCESS_CONTROL_BASE_7_LOW 0c1e70
  518. #define PCI_0ACCESS_CONTROL_BASE_7_HIGH 0x1e74
  519. #define PCI_0ACCESS_CONTROL_TOP_7 0x1e78
  520. #define PCI_1CROSS_BAR_CONTROL_LOW 0x1d88
  521. #define PCI_1CROSS_BAR_CONTROL_HIGH 0x1d8c
  522. #define PCI_1CROSS_BAR_TIMEOUT 0x1d84
  523. #define PCI_1READ_RESPONSE_CROSS_BAR_CONTROL_LOW 0x1d98
  524. #define PCI_1READ_RESPONSE_CROSS_BAR_CONTROL_HIGH 0x1d9c
  525. #define PCI_1SYNC_BARRIER_VIRTUAL_REGISTER 0x1d90
  526. #define PCI_1P2P_CONFIGURATION 0x1d94
  527. #define PCI_1ACCESS_CONTROL_BASE_0_LOW 0x1e80
  528. #define PCI_1ACCESS_CONTROL_BASE_0_HIGH 0x1e84
  529. #define PCI_1ACCESS_CONTROL_TOP_0 0x1e88
  530. #define PCI_1ACCESS_CONTROL_BASE_1_LOW 0c1e90
  531. #define PCI_1ACCESS_CONTROL_BASE_1_HIGH 0x1e94
  532. #define PCI_1ACCESS_CONTROL_TOP_1 0x1e98
  533. #define PCI_1ACCESS_CONTROL_BASE_2_LOW 0c1ea0
  534. #define PCI_1ACCESS_CONTROL_BASE_2_HIGH 0x1ea4
  535. #define PCI_1ACCESS_CONTROL_TOP_2 0x1ea8
  536. #define PCI_1ACCESS_CONTROL_BASE_3_LOW 0c1eb0
  537. #define PCI_1ACCESS_CONTROL_BASE_3_HIGH 0x1eb4
  538. #define PCI_1ACCESS_CONTROL_TOP_3 0x1eb8
  539. #define PCI_1ACCESS_CONTROL_BASE_4_LOW 0c1ec0
  540. #define PCI_1ACCESS_CONTROL_BASE_4_HIGH 0x1ec4
  541. #define PCI_1ACCESS_CONTROL_TOP_4 0x1ec8
  542. #define PCI_1ACCESS_CONTROL_BASE_5_LOW 0c1ed0
  543. #define PCI_1ACCESS_CONTROL_BASE_5_HIGH 0x1ed4
  544. #define PCI_1ACCESS_CONTROL_TOP_5 0x1ed8
  545. #define PCI_1ACCESS_CONTROL_BASE_6_LOW 0c1ee0
  546. #define PCI_1ACCESS_CONTROL_BASE_6_HIGH 0x1ee4
  547. #define PCI_1ACCESS_CONTROL_TOP_6 0x1ee8
  548. #define PCI_1ACCESS_CONTROL_BASE_7_LOW 0c1ef0
  549. #define PCI_1ACCESS_CONTROL_BASE_7_HIGH 0x1ef4
  550. #define PCI_1ACCESS_CONTROL_TOP_7 0x1ef8
  551. /*
  552. * PCI Snoop Control
  553. */
  554. #define PCI_0SNOOP_CONTROL_BASE_0_LOW 0x1f00
  555. #define PCI_0SNOOP_CONTROL_BASE_0_HIGH 0x1f04
  556. #define PCI_0SNOOP_CONTROL_TOP_0 0x1f08
  557. #define PCI_0SNOOP_CONTROL_BASE_1_0_LOW 0x1f10
  558. #define PCI_0SNOOP_CONTROL_BASE_1_0_HIGH 0x1f14
  559. #define PCI_0SNOOP_CONTROL_TOP_1 0x1f18
  560. #define PCI_0SNOOP_CONTROL_BASE_2_0_LOW 0x1f20
  561. #define PCI_0SNOOP_CONTROL_BASE_2_0_HIGH 0x1f24
  562. #define PCI_0SNOOP_CONTROL_TOP_2 0x1f28
  563. #define PCI_0SNOOP_CONTROL_BASE_3_0_LOW 0x1f30
  564. #define PCI_0SNOOP_CONTROL_BASE_3_0_HIGH 0x1f34
  565. #define PCI_0SNOOP_CONTROL_TOP_3 0x1f38
  566. #define PCI_1SNOOP_CONTROL_BASE_0_LOW 0x1f80
  567. #define PCI_1SNOOP_CONTROL_BASE_0_HIGH 0x1f84
  568. #define PCI_1SNOOP_CONTROL_TOP_0 0x1f88
  569. #define PCI_1SNOOP_CONTROL_BASE_1_0_LOW 0x1f90
  570. #define PCI_1SNOOP_CONTROL_BASE_1_0_HIGH 0x1f94
  571. #define PCI_1SNOOP_CONTROL_TOP_1 0x1f98
  572. #define PCI_1SNOOP_CONTROL_BASE_2_0_LOW 0x1fa0
  573. #define PCI_1SNOOP_CONTROL_BASE_2_0_HIGH 0x1fa4
  574. #define PCI_1SNOOP_CONTROL_TOP_2 0x1fa8
  575. #define PCI_1SNOOP_CONTROL_BASE_3_0_LOW 0x1fb0
  576. #define PCI_1SNOOP_CONTROL_BASE_3_0_HIGH 0x1fb4
  577. #define PCI_1SNOOP_CONTROL_TOP_3 0x1fb8
  578. /*
  579. * PCI Configuration Address
  580. */
  581. #define PCI_0CONFIGURATION_ADDRESS 0xcf8
  582. #define PCI_0CONFIGURATION_DATA_VIRTUAL_REGISTER 0xcfc
  583. #define PCI_1CONFIGURATION_ADDRESS 0xc78
  584. #define PCI_1CONFIGURATION_DATA_VIRTUAL_REGISTER 0xc7c
  585. #define PCI_0INTERRUPT_ACKNOWLEDGE_VIRTUAL_REGISTER 0xc34
  586. #define PCI_1INTERRUPT_ACKNOWLEDGE_VIRTUAL_REGISTER 0xcb4
  587. /*
  588. * PCI Error Report
  589. */
  590. #define PCI_0SERR_MASK 0xc28
  591. #define PCI_0ERROR_ADDRESS_LOW 0x1d40
  592. #define PCI_0ERROR_ADDRESS_HIGH 0x1d44
  593. #define PCI_0ERROR_DATA_LOW 0x1d48
  594. #define PCI_0ERROR_DATA_HIGH 0x1d4c
  595. #define PCI_0ERROR_COMMAND 0x1d50
  596. #define PCI_0ERROR_CAUSE 0x1d58
  597. #define PCI_0ERROR_MASK 0x1d5c
  598. #define PCI_1SERR_MASK 0xca8
  599. #define PCI_1ERROR_ADDRESS_LOW 0x1dc0
  600. #define PCI_1ERROR_ADDRESS_HIGH 0x1dc4
  601. #define PCI_1ERROR_DATA_LOW 0x1dc8
  602. #define PCI_1ERROR_DATA_HIGH 0x1dcc
  603. #define PCI_1ERROR_COMMAND 0x1dd0
  604. #define PCI_1ERROR_CAUSE 0x1dd8
  605. #define PCI_1ERROR_MASK 0x1ddc
  606. /*
  607. * Lslave Debug (for internal use)
  608. */
  609. #define L_SLAVE_X0_ADDRESS 0x1d20
  610. #define L_SLAVE_X0_COMMAND_AND_ID 0x1d24
  611. #define L_SLAVE_X1_ADDRESS 0x1d28
  612. #define L_SLAVE_X1_COMMAND_AND_ID 0x1d2c
  613. #define L_SLAVE_WRITE_DATA_LOW 0x1d30
  614. #define L_SLAVE_WRITE_DATA_HIGH 0x1d34
  615. #define L_SLAVE_WRITE_BYTE_ENABLE 0x1d60
  616. #define L_SLAVE_READ_DATA_LOW 0x1d38
  617. #define L_SLAVE_READ_DATA_HIGH 0x1d3c
  618. #define L_SLAVE_READ_ID 0x1d64
  619. #if 0 /* Disabled because PCI_* namespace belongs to PCI subsystem ... */
  620. /*
  621. * PCI Configuration Function 0
  622. */
  623. #define PCI_DEVICE_AND_VENDOR_ID 0x000
  624. #define PCI_STATUS_AND_COMMAND 0x004
  625. #define PCI_CLASS_CODE_AND_REVISION_ID 0x008
  626. #define PCI_BIST_HEADER_TYPE_LATENCY_TIMER_CACHE_LINE 0x00C
  627. #define PCI_SCS_0_BASE_ADDRESS 0x010
  628. #define PCI_SCS_1_BASE_ADDRESS 0x014
  629. #define PCI_SCS_2_BASE_ADDRESS 0x018
  630. #define PCI_SCS_3_BASE_ADDRESS 0x01C
  631. #define PCI_INTERNAL_REGISTERS_MEMORY_MAPPED_BASE_ADDRESS 0x020
  632. #define PCI_INTERNAL_REGISTERS_I_OMAPPED_BASE_ADDRESS 0x024
  633. #define PCI_SUBSYSTEM_ID_AND_SUBSYSTEM_VENDOR_ID 0x02C
  634. #define PCI_EXPANSION_ROM_BASE_ADDRESS_REGISTER 0x030
  635. #define PCI_CAPABILTY_LIST_POINTER 0x034
  636. #define PCI_INTERRUPT_PIN_AND_LINE 0x03C
  637. #define PCI_POWER_MANAGEMENT_CAPABILITY 0x040
  638. #define PCI_POWER_MANAGEMENT_STATUS_AND_CONTROL 0x044
  639. #define PCI_VPD_ADDRESS 0x048
  640. #define PCI_VPD_DATA 0X04c
  641. #define PCI_MSI_MESSAGE_CONTROL 0x050
  642. #define PCI_MSI_MESSAGE_ADDRESS 0x054
  643. #define PCI_MSI_MESSAGE_UPPER_ADDRESS 0x058
  644. #define PCI_MSI_MESSAGE_DATA 0x05c
  645. #define PCI_COMPACT_PCI_HOT_SWAP_CAPABILITY 0x058
  646. /*
  647. * PCI Configuration Function 1
  648. */
  649. #define PCI_CS_0_BASE_ADDRESS 0x110
  650. #define PCI_CS_1_BASE_ADDRESS 0x114
  651. #define PCI_CS_2_BASE_ADDRESS 0x118
  652. #define PCI_CS_3_BASE_ADDRESS 0x11c
  653. #define PCI_BOOTCS_BASE_ADDRESS 0x120
  654. /*
  655. * PCI Configuration Function 2
  656. */
  657. #define PCI_P2P_MEM0_BASE_ADDRESS 0x210
  658. #define PCI_P2P_MEM1_BASE_ADDRESS 0x214
  659. #define PCI_P2P_I_O_BASE_ADDRESS 0x218
  660. #define PCI_CPU_BASE_ADDRESS 0x21c
  661. /*
  662. * PCI Configuration Function 4
  663. */
  664. #define PCI_DAC_SCS_0_BASE_ADDRESS_LOW 0x410
  665. #define PCI_DAC_SCS_0_BASE_ADDRESS_HIGH 0x414
  666. #define PCI_DAC_SCS_1_BASE_ADDRESS_LOW 0x418
  667. #define PCI_DAC_SCS_1_BASE_ADDRESS_HIGH 0x41c
  668. #define PCI_DAC_P2P_MEM0_BASE_ADDRESS_LOW 0x420
  669. #define PCI_DAC_P2P_MEM0_BASE_ADDRESS_HIGH 0x424
  670. /*
  671. * PCI Configuration Function 5
  672. */
  673. #define PCI_DAC_SCS_2_BASE_ADDRESS_LOW 0x510
  674. #define PCI_DAC_SCS_2_BASE_ADDRESS_HIGH 0x514
  675. #define PCI_DAC_SCS_3_BASE_ADDRESS_LOW 0x518
  676. #define PCI_DAC_SCS_3_BASE_ADDRESS_HIGH 0x51c
  677. #define PCI_DAC_P2P_MEM1_BASE_ADDRESS_LOW 0x520
  678. #define PCI_DAC_P2P_MEM1_BASE_ADDRESS_HIGH 0x524
  679. /*
  680. * PCI Configuration Function 6
  681. */
  682. #define PCI_DAC_CS_0_BASE_ADDRESS_LOW 0x610
  683. #define PCI_DAC_CS_0_BASE_ADDRESS_HIGH 0x614
  684. #define PCI_DAC_CS_1_BASE_ADDRESS_LOW 0x618
  685. #define PCI_DAC_CS_1_BASE_ADDRESS_HIGH 0x61c
  686. #define PCI_DAC_CS_2_BASE_ADDRESS_LOW 0x620
  687. #define PCI_DAC_CS_2_BASE_ADDRESS_HIGH 0x624
  688. /*
  689. * PCI Configuration Function 7
  690. */
  691. #define PCI_DAC_CS_3_BASE_ADDRESS_LOW 0x710
  692. #define PCI_DAC_CS_3_BASE_ADDRESS_HIGH 0x714
  693. #define PCI_DAC_BOOTCS_BASE_ADDRESS_LOW 0x718
  694. #define PCI_DAC_BOOTCS_BASE_ADDRESS_HIGH 0x71c
  695. #define PCI_DAC_CPU_BASE_ADDRESS_LOW 0x720
  696. #define PCI_DAC_CPU_BASE_ADDRESS_HIGH 0x724
  697. #endif
  698. /*
  699. * Interrupts
  700. */
  701. #define LOW_INTERRUPT_CAUSE_REGISTER 0xc18
  702. #define HIGH_INTERRUPT_CAUSE_REGISTER 0xc68
  703. #define CPU_INTERRUPT_MASK_REGISTER_LOW 0xc1c
  704. #define CPU_INTERRUPT_MASK_REGISTER_HIGH 0xc6c
  705. #define CPU_SELECT_CAUSE_REGISTER 0xc70
  706. #define PCI_0INTERRUPT_CAUSE_MASK_REGISTER_LOW 0xc24
  707. #define PCI_0INTERRUPT_CAUSE_MASK_REGISTER_HIGH 0xc64
  708. #define PCI_0SELECT_CAUSE 0xc74
  709. #define PCI_1INTERRUPT_CAUSE_MASK_REGISTER_LOW 0xca4
  710. #define PCI_1INTERRUPT_CAUSE_MASK_REGISTER_HIGH 0xce4
  711. #define PCI_1SELECT_CAUSE 0xcf4
  712. #define CPU_INT_0_MASK 0xe60
  713. #define CPU_INT_1_MASK 0xe64
  714. #define CPU_INT_2_MASK 0xe68
  715. #define CPU_INT_3_MASK 0xe6c
  716. /*
  717. * I20 Support registers
  718. */
  719. #define INBOUND_MESSAGE_REGISTER0_PCI0_SIDE 0x010
  720. #define INBOUND_MESSAGE_REGISTER1_PCI0_SIDE 0x014
  721. #define OUTBOUND_MESSAGE_REGISTER0_PCI0_SIDE 0x018
  722. #define OUTBOUND_MESSAGE_REGISTER1_PCI0_SIDE 0x01C
  723. #define INBOUND_DOORBELL_REGISTER_PCI0_SIDE 0x020
  724. #define INBOUND_INTERRUPT_CAUSE_REGISTER_PCI0_SIDE 0x024
  725. #define INBOUND_INTERRUPT_MASK_REGISTER_PCI0_SIDE 0x028
  726. #define OUTBOUND_DOORBELL_REGISTER_PCI0_SIDE 0x02C
  727. #define OUTBOUND_INTERRUPT_CAUSE_REGISTER_PCI0_SIDE 0x030
  728. #define OUTBOUND_INTERRUPT_MASK_REGISTER_PCI0_SIDE 0x034
  729. #define INBOUND_QUEUE_PORT_VIRTUAL_REGISTER_PCI0_SIDE 0x040
  730. #define OUTBOUND_QUEUE_PORT_VIRTUAL_REGISTER_PCI0_SIDE 0x044
  731. #define QUEUE_CONTROL_REGISTER_PCI0_SIDE 0x050
  732. #define QUEUE_BASE_ADDRESS_REGISTER_PCI0_SIDE 0x054
  733. #define INBOUND_FREE_HEAD_POINTER_REGISTER_PCI0_SIDE 0x060
  734. #define INBOUND_FREE_TAIL_POINTER_REGISTER_PCI0_SIDE 0x064
  735. #define INBOUND_POST_HEAD_POINTER_REGISTER_PCI0_SIDE 0x068
  736. #define INBOUND_POST_TAIL_POINTER_REGISTER_PCI0_SIDE 0x06C
  737. #define OUTBOUND_FREE_HEAD_POINTER_REGISTER_PCI0_SIDE 0x070
  738. #define OUTBOUND_FREE_TAIL_POINTER_REGISTER_PCI0_SIDE 0x074
  739. #define OUTBOUND_POST_HEAD_POINTER_REGISTER_PCI0_SIDE 0x0F8
  740. #define OUTBOUND_POST_TAIL_POINTER_REGISTER_PCI0_SIDE 0x0FC
  741. #define INBOUND_MESSAGE_REGISTER0_PCI1_SIDE 0x090
  742. #define INBOUND_MESSAGE_REGISTER1_PCI1_SIDE 0x094
  743. #define OUTBOUND_MESSAGE_REGISTER0_PCI1_SIDE 0x098
  744. #define OUTBOUND_MESSAGE_REGISTER1_PCI1_SIDE 0x09C
  745. #define INBOUND_DOORBELL_REGISTER_PCI1_SIDE 0x0A0
  746. #define INBOUND_INTERRUPT_CAUSE_REGISTER_PCI1_SIDE 0x0A4
  747. #define INBOUND_INTERRUPT_MASK_REGISTER_PCI1_SIDE 0x0A8
  748. #define OUTBOUND_DOORBELL_REGISTER_PCI1_SIDE 0x0AC
  749. #define OUTBOUND_INTERRUPT_CAUSE_REGISTER_PCI1_SIDE 0x0B0
  750. #define OUTBOUND_INTERRUPT_MASK_REGISTER_PCI1_SIDE 0x0B4
  751. #define INBOUND_QUEUE_PORT_VIRTUAL_REGISTER_PCI1_SIDE 0x0C0
  752. #define OUTBOUND_QUEUE_PORT_VIRTUAL_REGISTER_PCI1_SIDE 0x0C4
  753. #define QUEUE_CONTROL_REGISTER_PCI1_SIDE 0x0D0
  754. #define QUEUE_BASE_ADDRESS_REGISTER_PCI1_SIDE 0x0D4
  755. #define INBOUND_FREE_HEAD_POINTER_REGISTER_PCI1_SIDE 0x0E0
  756. #define INBOUND_FREE_TAIL_POINTER_REGISTER_PCI1_SIDE 0x0E4
  757. #define INBOUND_POST_HEAD_POINTER_REGISTER_PCI1_SIDE 0x0E8
  758. #define INBOUND_POST_TAIL_POINTER_REGISTER_PCI1_SIDE 0x0EC
  759. #define OUTBOUND_FREE_HEAD_POINTER_REGISTER_PCI1_SIDE 0x0F0
  760. #define OUTBOUND_FREE_TAIL_POINTER_REGISTER_PCI1_SIDE 0x0F4
  761. #define OUTBOUND_POST_HEAD_POINTER_REGISTER_PCI1_SIDE 0x078
  762. #define OUTBOUND_POST_TAIL_POINTER_REGISTER_PCI1_SIDE 0x07C
  763. #define INBOUND_MESSAGE_REGISTER0_CPU0_SIDE 0X1C10
  764. #define INBOUND_MESSAGE_REGISTER1_CPU0_SIDE 0X1C14
  765. #define OUTBOUND_MESSAGE_REGISTER0_CPU0_SIDE 0X1C18
  766. #define OUTBOUND_MESSAGE_REGISTER1_CPU0_SIDE 0X1C1C
  767. #define INBOUND_DOORBELL_REGISTER_CPU0_SIDE 0X1C20
  768. #define INBOUND_INTERRUPT_CAUSE_REGISTER_CPU0_SIDE 0X1C24
  769. #define INBOUND_INTERRUPT_MASK_REGISTER_CPU0_SIDE 0X1C28
  770. #define OUTBOUND_DOORBELL_REGISTER_CPU0_SIDE 0X1C2C
  771. #define OUTBOUND_INTERRUPT_CAUSE_REGISTER_CPU0_SIDE 0X1C30
  772. #define OUTBOUND_INTERRUPT_MASK_REGISTER_CPU0_SIDE 0X1C34
  773. #define INBOUND_QUEUE_PORT_VIRTUAL_REGISTER_CPU0_SIDE 0X1C40
  774. #define OUTBOUND_QUEUE_PORT_VIRTUAL_REGISTER_CPU0_SIDE 0X1C44
  775. #define QUEUE_CONTROL_REGISTER_CPU0_SIDE 0X1C50
  776. #define QUEUE_BASE_ADDRESS_REGISTER_CPU0_SIDE 0X1C54
  777. #define INBOUND_FREE_HEAD_POINTER_REGISTER_CPU0_SIDE 0X1C60
  778. #define INBOUND_FREE_TAIL_POINTER_REGISTER_CPU0_SIDE 0X1C64
  779. #define INBOUND_POST_HEAD_POINTER_REGISTER_CPU0_SIDE 0X1C68
  780. #define INBOUND_POST_TAIL_POINTER_REGISTER_CPU0_SIDE 0X1C6C
  781. #define OUTBOUND_FREE_HEAD_POINTER_REGISTER_CPU0_SIDE 0X1C70
  782. #define OUTBOUND_FREE_TAIL_POINTER_REGISTER_CPU0_SIDE 0X1C74
  783. #define OUTBOUND_POST_HEAD_POINTER_REGISTER_CPU0_SIDE 0X1CF8
  784. #define OUTBOUND_POST_TAIL_POINTER_REGISTER_CPU0_SIDE 0X1CFC
  785. #define INBOUND_MESSAGE_REGISTER0_CPU1_SIDE 0X1C90
  786. #define INBOUND_MESSAGE_REGISTER1_CPU1_SIDE 0X1C94
  787. #define OUTBOUND_MESSAGE_REGISTER0_CPU1_SIDE 0X1C98
  788. #define OUTBOUND_MESSAGE_REGISTER1_CPU1_SIDE 0X1C9C
  789. #define INBOUND_DOORBELL_REGISTER_CPU1_SIDE 0X1CA0
  790. #define INBOUND_INTERRUPT_CAUSE_REGISTER_CPU1_SIDE 0X1CA4
  791. #define INBOUND_INTERRUPT_MASK_REGISTER_CPU1_SIDE 0X1CA8
  792. #define OUTBOUND_DOORBELL_REGISTER_CPU1_SIDE 0X1CAC
  793. #define OUTBOUND_INTERRUPT_CAUSE_REGISTER_CPU1_SIDE 0X1CB0
  794. #define OUTBOUND_INTERRUPT_MASK_REGISTER_CPU1_SIDE 0X1CB4
  795. #define INBOUND_QUEUE_PORT_VIRTUAL_REGISTER_CPU1_SIDE 0X1CC0
  796. #define OUTBOUND_QUEUE_PORT_VIRTUAL_REGISTER_CPU1_SIDE 0X1CC4
  797. #define QUEUE_CONTROL_REGISTER_CPU1_SIDE 0X1CD0
  798. #define QUEUE_BASE_ADDRESS_REGISTER_CPU1_SIDE 0X1CD4
  799. #define INBOUND_FREE_HEAD_POINTER_REGISTER_CPU1_SIDE 0X1CE0
  800. #define INBOUND_FREE_TAIL_POINTER_REGISTER_CPU1_SIDE 0X1CE4
  801. #define INBOUND_POST_HEAD_POINTER_REGISTER_CPU1_SIDE 0X1CE8
  802. #define INBOUND_POST_TAIL_POINTER_REGISTER_CPU1_SIDE 0X1CEC
  803. #define OUTBOUND_FREE_HEAD_POINTER_REGISTER_CPU1_SIDE 0X1CF0
  804. #define OUTBOUND_FREE_TAIL_POINTER_REGISTER_CPU1_SIDE 0X1CF4
  805. #define OUTBOUND_POST_HEAD_POINTER_REGISTER_CPU1_SIDE 0X1C78
  806. #define OUTBOUND_POST_TAIL_POINTER_REGISTER_CPU1_SIDE 0X1C7C
  807. /*
  808. * Communication Unit Registers
  809. */
  810. #define ETHERNET_0_ADDRESS_CONTROL_LOW
  811. #define ETHERNET_0_ADDRESS_CONTROL_HIGH 0xf204
  812. #define ETHERNET_0_RECEIVE_BUFFER_PCI_HIGH_ADDRESS 0xf208
  813. #define ETHERNET_0_TRANSMIT_BUFFER_PCI_HIGH_ADDRESS 0xf20c
  814. #define ETHERNET_0_RECEIVE_DESCRIPTOR_PCI_HIGH_ADDRESS 0xf210
  815. #define ETHERNET_0_TRANSMIT_DESCRIPTOR_PCI_HIGH_ADDRESS 0xf214
  816. #define ETHERNET_0_HASH_TABLE_PCI_HIGH_ADDRESS 0xf218
  817. #define ETHERNET_1_ADDRESS_CONTROL_LOW 0xf220
  818. #define ETHERNET_1_ADDRESS_CONTROL_HIGH 0xf224
  819. #define ETHERNET_1_RECEIVE_BUFFER_PCI_HIGH_ADDRESS 0xf228
  820. #define ETHERNET_1_TRANSMIT_BUFFER_PCI_HIGH_ADDRESS 0xf22c
  821. #define ETHERNET_1_RECEIVE_DESCRIPTOR_PCI_HIGH_ADDRESS 0xf230
  822. #define ETHERNET_1_TRANSMIT_DESCRIPTOR_PCI_HIGH_ADDRESS 0xf234
  823. #define ETHERNET_1_HASH_TABLE_PCI_HIGH_ADDRESS 0xf238
  824. #define ETHERNET_2_ADDRESS_CONTROL_LOW 0xf240
  825. #define ETHERNET_2_ADDRESS_CONTROL_HIGH 0xf244
  826. #define ETHERNET_2_RECEIVE_BUFFER_PCI_HIGH_ADDRESS 0xf248
  827. #define ETHERNET_2_TRANSMIT_BUFFER_PCI_HIGH_ADDRESS 0xf24c
  828. #define ETHERNET_2_RECEIVE_DESCRIPTOR_PCI_HIGH_ADDRESS 0xf250
  829. #define ETHERNET_2_TRANSMIT_DESCRIPTOR_PCI_HIGH_ADDRESS 0xf254
  830. #define ETHERNET_2_HASH_TABLE_PCI_HIGH_ADDRESS 0xf258
  831. #define MPSC_0_ADDRESS_CONTROL_LOW 0xf280
  832. #define MPSC_0_ADDRESS_CONTROL_HIGH 0xf284
  833. #define MPSC_0_RECEIVE_BUFFER_PCI_HIGH_ADDRESS 0xf288
  834. #define MPSC_0_TRANSMIT_BUFFER_PCI_HIGH_ADDRESS 0xf28c
  835. #define MPSC_0_RECEIVE_DESCRIPTOR_PCI_HIGH_ADDRESS 0xf290
  836. #define MPSC_0_TRANSMIT_DESCRIPTOR_PCI_HIGH_ADDRESS 0xf294
  837. #define MPSC_1_ADDRESS_CONTROL_LOW 0xf2a0
  838. #define MPSC_1_ADDRESS_CONTROL_HIGH 0xf2a4
  839. #define MPSC_1_RECEIVE_BUFFER_PCI_HIGH_ADDRESS 0xf2a8
  840. #define MPSC_1_TRANSMIT_BUFFER_PCI_HIGH_ADDRESS 0xf2ac
  841. #define MPSC_1_RECEIVE_DESCRIPTOR_PCI_HIGH_ADDRESS 0xf2b0
  842. #define MPSC_1_TRANSMIT_DESCRIPTOR_PCI_HIGH_ADDRESS 0xf2b4
  843. #define MPSC_2_ADDRESS_CONTROL_LOW 0xf2c0
  844. #define MPSC_2_ADDRESS_CONTROL_HIGH 0xf2c4
  845. #define MPSC_2_RECEIVE_BUFFER_PCI_HIGH_ADDRESS 0xf2c8
  846. #define MPSC_2_TRANSMIT_BUFFER_PCI_HIGH_ADDRESS 0xf2cc
  847. #define MPSC_2_RECEIVE_DESCRIPTOR_PCI_HIGH_ADDRESS 0xf2d0
  848. #define MPSC_2_TRANSMIT_DESCRIPTOR_PCI_HIGH_ADDRESS 0xf2d4
  849. #define SERIAL_INIT_PCI_HIGH_ADDRESS 0xf320
  850. #define SERIAL_INIT_LAST_DATA 0xf324
  851. #define SERIAL_INIT_STATUS_AND_CONTROL 0xf328
  852. #define COMM_UNIT_ARBITER_CONTROL 0xf300
  853. #define COMM_UNIT_CROSS_BAR_TIMEOUT 0xf304
  854. #define COMM_UNIT_INTERRUPT_CAUSE 0xf310
  855. #define COMM_UNIT_INTERRUPT_MASK 0xf314
  856. #define COMM_UNIT_ERROR_ADDRESS 0xf314
  857. /*
  858. * Cunit Debug (for internal use)
  859. */
  860. #define CUNIT_ADDRESS 0xf340
  861. #define CUNIT_COMMAND_AND_ID 0xf344
  862. #define CUNIT_WRITE_DATA_LOW 0xf348
  863. #define CUNIT_WRITE_DATA_HIGH 0xf34c
  864. #define CUNIT_WRITE_BYTE_ENABLE 0xf358
  865. #define CUNIT_READ_DATA_LOW 0xf350
  866. #define CUNIT_READ_DATA_HIGH 0xf354
  867. #define CUNIT_READ_ID 0xf35c
  868. /*
  869. * Fast Ethernet Unit Registers
  870. */
  871. /* Ethernet */
  872. #define ETHERNET_PHY_ADDRESS_REGISTER 0x2000
  873. #define ETHERNET_SMI_REGISTER 0x2010
  874. /* Ethernet 0 */
  875. #define ETHERNET0_PORT_CONFIGURATION_REGISTER 0x2400
  876. #define ETHERNET0_PORT_CONFIGURATION_EXTEND_REGISTER 0x2408
  877. #define ETHERNET0_PORT_COMMAND_REGISTER 0x2410
  878. #define ETHERNET0_PORT_STATUS_REGISTER 0x2418
  879. #define ETHERNET0_SERIAL_PARAMETRS_REGISTER 0x2420
  880. #define ETHERNET0_HASH_TABLE_POINTER_REGISTER 0x2428
  881. #define ETHERNET0_FLOW_CONTROL_SOURCE_ADDRESS_LOW 0x2430
  882. #define ETHERNET0_FLOW_CONTROL_SOURCE_ADDRESS_HIGH 0x2438
  883. #define ETHERNET0_SDMA_CONFIGURATION_REGISTER 0x2440
  884. #define ETHERNET0_SDMA_COMMAND_REGISTER 0x2448
  885. #define ETHERNET0_INTERRUPT_CAUSE_REGISTER 0x2450
  886. #define ETHERNET0_INTERRUPT_MASK_REGISTER 0x2458
  887. #define ETHERNET0_FIRST_RX_DESCRIPTOR_POINTER0 0x2480
  888. #define ETHERNET0_FIRST_RX_DESCRIPTOR_POINTER1 0x2484
  889. #define ETHERNET0_FIRST_RX_DESCRIPTOR_POINTER2 0x2488
  890. #define ETHERNET0_FIRST_RX_DESCRIPTOR_POINTER3 0x248c
  891. #define ETHERNET0_CURRENT_RX_DESCRIPTOR_POINTER0 0x24a0
  892. #define ETHERNET0_CURRENT_RX_DESCRIPTOR_POINTER1 0x24a4
  893. #define ETHERNET0_CURRENT_RX_DESCRIPTOR_POINTER2 0x24a8
  894. #define ETHERNET0_CURRENT_RX_DESCRIPTOR_POINTER3 0x24ac
  895. #define ETHERNET0_CURRENT_TX_DESCRIPTOR_POINTER0 0x24e0
  896. #define ETHERNET0_CURRENT_TX_DESCRIPTOR_POINTER1 0x24e4
  897. #define ETHERNET0_MIB_COUNTER_BASE 0x2500
  898. /* Ethernet 1 */
  899. #define ETHERNET1_PORT_CONFIGURATION_REGISTER 0x2800
  900. #define ETHERNET1_PORT_CONFIGURATION_EXTEND_REGISTER 0x2808
  901. #define ETHERNET1_PORT_COMMAND_REGISTER 0x2810
  902. #define ETHERNET1_PORT_STATUS_REGISTER 0x2818
  903. #define ETHERNET1_SERIAL_PARAMETRS_REGISTER 0x2820
  904. #define ETHERNET1_HASH_TABLE_POINTER_REGISTER 0x2828
  905. #define ETHERNET1_FLOW_CONTROL_SOURCE_ADDRESS_LOW 0x2830
  906. #define ETHERNET1_FLOW_CONTROL_SOURCE_ADDRESS_HIGH 0x2838
  907. #define ETHERNET1_SDMA_CONFIGURATION_REGISTER 0x2840
  908. #define ETHERNET1_SDMA_COMMAND_REGISTER 0x2848
  909. #define ETHERNET1_INTERRUPT_CAUSE_REGISTER 0x2850
  910. #define ETHERNET1_INTERRUPT_MASK_REGISTER 0x2858
  911. #define ETHERNET1_FIRST_RX_DESCRIPTOR_POINTER0 0x2880
  912. #define ETHERNET1_FIRST_RX_DESCRIPTOR_POINTER1 0x2884
  913. #define ETHERNET1_FIRST_RX_DESCRIPTOR_POINTER2 0x2888
  914. #define ETHERNET1_FIRST_RX_DESCRIPTOR_POINTER3 0x288c
  915. #define ETHERNET1_CURRENT_RX_DESCRIPTOR_POINTER0 0x28a0
  916. #define ETHERNET1_CURRENT_RX_DESCRIPTOR_POINTER1 0x28a4
  917. #define ETHERNET1_CURRENT_RX_DESCRIPTOR_POINTER2 0x28a8
  918. #define ETHERNET1_CURRENT_RX_DESCRIPTOR_POINTER3 0x28ac
  919. #define ETHERNET1_CURRENT_TX_DESCRIPTOR_POINTER0 0x28e0
  920. #define ETHERNET1_CURRENT_TX_DESCRIPTOR_POINTER1 0x28e4
  921. #define ETHERNET1_MIB_COUNTER_BASE 0x2900
  922. /* Ethernet 2 */
  923. #define ETHERNET2_PORT_CONFIGURATION_REGISTER 0x2c00
  924. #define ETHERNET2_PORT_CONFIGURATION_EXTEND_REGISTER 0x2c08
  925. #define ETHERNET2_PORT_COMMAND_REGISTER 0x2c10
  926. #define ETHERNET2_PORT_STATUS_REGISTER 0x2c18
  927. #define ETHERNET2_SERIAL_PARAMETRS_REGISTER 0x2c20
  928. #define ETHERNET2_HASH_TABLE_POINTER_REGISTER 0x2c28
  929. #define ETHERNET2_FLOW_CONTROL_SOURCE_ADDRESS_LOW 0x2c30
  930. #define ETHERNET2_FLOW_CONTROL_SOURCE_ADDRESS_HIGH 0x2c38
  931. #define ETHERNET2_SDMA_CONFIGURATION_REGISTER 0x2c40
  932. #define ETHERNET2_SDMA_COMMAND_REGISTER 0x2c48
  933. #define ETHERNET2_INTERRUPT_CAUSE_REGISTER 0x2c50
  934. #define ETHERNET2_INTERRUPT_MASK_REGISTER 0x2c58
  935. #define ETHERNET2_FIRST_RX_DESCRIPTOR_POINTER0 0x2c80
  936. #define ETHERNET2_FIRST_RX_DESCRIPTOR_POINTER1 0x2c84
  937. #define ETHERNET2_FIRST_RX_DESCRIPTOR_POINTER2 0x2c88
  938. #define ETHERNET2_FIRST_RX_DESCRIPTOR_POINTER3 0x2c8c
  939. #define ETHERNET2_CURRENT_RX_DESCRIPTOR_POINTER0 0x2ca0
  940. #define ETHERNET2_CURRENT_RX_DESCRIPTOR_POINTER1 0x2ca4
  941. #define ETHERNET2_CURRENT_RX_DESCRIPTOR_POINTER2 0x2ca8
  942. #define ETHERNET2_CURRENT_RX_DESCRIPTOR_POINTER3 0x2cac
  943. #define ETHERNET2_CURRENT_TX_DESCRIPTOR_POINTER0 0x2ce0
  944. #define ETHERNET2_CURRENT_TX_DESCRIPTOR_POINTER1 0x2ce4
  945. #define ETHERNET2_MIB_COUNTER_BASE 0x2d00
  946. /*
  947. * SDMA Registers
  948. */
  949. #define SDMA_GROUP_CONFIGURATION_REGISTER 0xb1f0
  950. #define CHANNEL0_CONFIGURATION_REGISTER 0x4000
  951. #define CHANNEL0_COMMAND_REGISTER 0x4008
  952. #define CHANNEL0_RX_CMD_STATUS 0x4800
  953. #define CHANNEL0_RX_PACKET_AND_BUFFER_SIZES 0x4804
  954. #define CHANNEL0_RX_BUFFER_POINTER 0x4808
  955. #define CHANNEL0_RX_NEXT_POINTER 0x480c
  956. #define CHANNEL0_CURRENT_RX_DESCRIPTOR_POINTER 0x4810
  957. #define CHANNEL0_TX_CMD_STATUS 0x4C00
  958. #define CHANNEL0_TX_PACKET_SIZE 0x4C04
  959. #define CHANNEL0_TX_BUFFER_POINTER 0x4C08
  960. #define CHANNEL0_TX_NEXT_POINTER 0x4C0c
  961. #define CHANNEL0_CURRENT_TX_DESCRIPTOR_POINTER 0x4c10
  962. #define CHANNEL0_FIRST_TX_DESCRIPTOR_POINTER 0x4c14
  963. #define CHANNEL1_CONFIGURATION_REGISTER 0x6000
  964. #define CHANNEL1_COMMAND_REGISTER 0x6008
  965. #define CHANNEL1_RX_CMD_STATUS 0x6800
  966. #define CHANNEL1_RX_PACKET_AND_BUFFER_SIZES 0x6804
  967. #define CHANNEL1_RX_BUFFER_POINTER 0x6808
  968. #define CHANNEL1_RX_NEXT_POINTER 0x680c
  969. #define CHANNEL1_CURRENT_RX_DESCRIPTOR_POINTER 0x6810
  970. #define CHANNEL1_TX_CMD_STATUS 0x6C00
  971. #define CHANNEL1_TX_PACKET_SIZE 0x6C04
  972. #define CHANNEL1_TX_BUFFER_POINTER 0x6C08
  973. #define CHANNEL1_TX_NEXT_POINTER 0x6C0c
  974. #define CHANNEL1_CURRENT_RX_DESCRIPTOR_POINTER 0x6810
  975. #define CHANNEL1_CURRENT_TX_DESCRIPTOR_POINTER 0x6c10
  976. #define CHANNEL1_FIRST_TX_DESCRIPTOR_POINTER 0x6c14
  977. /* SDMA Interrupt */
  978. #define SDMA_CAUSE 0xb820
  979. #define SDMA_MASK 0xb8a0
  980. /*
  981. * Baude Rate Generators Registers
  982. */
  983. /* BRG 0 */
  984. #define BRG0_CONFIGURATION_REGISTER 0xb200
  985. #define BRG0_BAUDE_TUNING_REGISTER 0xb204
  986. /* BRG 1 */
  987. #define BRG1_CONFIGURATION_REGISTER 0xb208
  988. #define BRG1_BAUDE_TUNING_REGISTER 0xb20c
  989. /* BRG 2 */
  990. #define BRG2_CONFIGURATION_REGISTER 0xb210
  991. #define BRG2_BAUDE_TUNING_REGISTER 0xb214
  992. /* BRG Interrupts */
  993. #define BRG_CAUSE_REGISTER 0xb834
  994. #define BRG_MASK_REGISTER 0xb8b4
  995. /* MISC */
  996. #define MAIN_ROUTING_REGISTER 0xb400
  997. #define RECEIVE_CLOCK_ROUTING_REGISTER 0xb404
  998. #define TRANSMIT_CLOCK_ROUTING_REGISTER 0xb408
  999. #define COMM_UNIT_ARBITER_CONFIGURATION_REGISTER 0xb40c
  1000. #define WATCHDOG_CONFIGURATION_REGISTER 0xb410
  1001. #define WATCHDOG_VALUE_REGISTER 0xb414
  1002. /*
  1003. * Flex TDM Registers
  1004. */
  1005. /* FTDM Port */
  1006. #define FLEXTDM_TRANSMIT_READ_POINTER 0xa800
  1007. #define FLEXTDM_RECEIVE_READ_POINTER 0xa804
  1008. #define FLEXTDM_CONFIGURATION_REGISTER 0xa808
  1009. #define FLEXTDM_AUX_CHANNELA_TX_REGISTER 0xa80c
  1010. #define FLEXTDM_AUX_CHANNELA_RX_REGISTER 0xa810
  1011. #define FLEXTDM_AUX_CHANNELB_TX_REGISTER 0xa814
  1012. #define FLEXTDM_AUX_CHANNELB_RX_REGISTER 0xa818
  1013. /* FTDM Interrupts */
  1014. #define FTDM_CAUSE_REGISTER 0xb830
  1015. #define FTDM_MASK_REGISTER 0xb8b0
  1016. /*
  1017. * GPP Interface Registers
  1018. */
  1019. #define GPP_IO_CONTROL 0xf100
  1020. #define GPP_LEVEL_CONTROL 0xf110
  1021. #define GPP_VALUE 0xf104
  1022. #define GPP_INTERRUPT_CAUSE 0xf108
  1023. #define GPP_INTERRUPT_MASK 0xf10c
  1024. #define MPP_CONTROL0 0xf000
  1025. #define MPP_CONTROL1 0xf004
  1026. #define MPP_CONTROL2 0xf008
  1027. #define MPP_CONTROL3 0xf00c
  1028. #define DEBUG_PORT_MULTIPLEX 0xf014
  1029. #define SERIAL_PORT_MULTIPLEX 0xf010
  1030. /*
  1031. * I2C Registers
  1032. */
  1033. #define I2C_SLAVE_ADDRESS 0xc000
  1034. #define I2C_EXTENDED_SLAVE_ADDRESS 0xc040
  1035. #define I2C_DATA 0xc004
  1036. #define I2C_CONTROL 0xc008
  1037. #define I2C_STATUS_BAUDE_RATE 0xc00C
  1038. #define I2C_SOFT_RESET 0xc01c
  1039. /*
  1040. * MPSC Registers
  1041. */
  1042. /*
  1043. * MPSC0
  1044. */
  1045. #define MPSC0_MAIN_CONFIGURATION_LOW 0x8000
  1046. #define MPSC0_MAIN_CONFIGURATION_HIGH 0x8004
  1047. #define MPSC0_PROTOCOL_CONFIGURATION 0x8008
  1048. #define CHANNEL0_REGISTER1 0x800c
  1049. #define CHANNEL0_REGISTER2 0x8010
  1050. #define CHANNEL0_REGISTER3 0x8014
  1051. #define CHANNEL0_REGISTER4 0x8018
  1052. #define CHANNEL0_REGISTER5 0x801c
  1053. #define CHANNEL0_REGISTER6 0x8020
  1054. #define CHANNEL0_REGISTER7 0x8024
  1055. #define CHANNEL0_REGISTER8 0x8028
  1056. #define CHANNEL0_REGISTER9 0x802c
  1057. #define CHANNEL0_REGISTER10 0x8030
  1058. #define CHANNEL0_REGISTER11 0x8034
  1059. /*
  1060. * MPSC1
  1061. */
  1062. #define MPSC1_MAIN_CONFIGURATION_LOW 0x9000
  1063. #define MPSC1_MAIN_CONFIGURATION_HIGH 0x9004
  1064. #define MPSC1_PROTOCOL_CONFIGURATION 0x9008
  1065. #define CHANNEL1_REGISTER1 0x900c
  1066. #define CHANNEL1_REGISTER2 0x9010
  1067. #define CHANNEL1_REGISTER3 0x9014
  1068. #define CHANNEL1_REGISTER4 0x9018
  1069. #define CHANNEL1_REGISTER5 0x901c
  1070. #define CHANNEL1_REGISTER6 0x9020
  1071. #define CHANNEL1_REGISTER7 0x9024
  1072. #define CHANNEL1_REGISTER8 0x9028
  1073. #define CHANNEL1_REGISTER9 0x902c
  1074. #define CHANNEL1_REGISTER10 0x9030
  1075. #define CHANNEL1_REGISTER11 0x9034
  1076. /*
  1077. * MPSCs Interupts
  1078. */
  1079. #define MPSC0_CAUSE 0xb804
  1080. #define MPSC0_MASK 0xb884
  1081. #define MPSC1_CAUSE 0xb80c
  1082. #define MPSC1_MASK 0xb88c
  1083. #endif /* __ASM_MIPS_MV64240_H */