rcar-base.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700
  1. /*
  2. * arch/arm/include/asm/arch-rmobile/rcar-base.h
  3. *
  4. * Copyright (C) 2013,2014 Renesas Electronics Corporation
  5. *
  6. * SPDX-License-Identifier: GPL-2.0
  7. */
  8. #ifndef __ASM_ARCH_RCAR_BASE_H
  9. #define __ASM_ARCH_RCAR_BASE_H
  10. /*
  11. * R-Car (R8A7790/R8A7791/R8A7793/R8A7794) I/O Addresses
  12. */
  13. #define RWDT_BASE 0xE6020000
  14. #define SWDT_BASE 0xE6030000
  15. #define LBSC_BASE 0xFEC00200
  16. #define DBSC3_0_BASE 0xE6790000
  17. #define DBSC3_1_BASE 0xE67A0000
  18. #define TMU_BASE 0xE61E0000
  19. #define GPIO5_BASE 0xE6055000
  20. #define SH_QSPI_BASE 0xE6B10000
  21. /* SCIF */
  22. #define SCIF0_BASE 0xE6E60000
  23. #define SCIF1_BASE 0xE6E68000
  24. #define SCIF2_BASE 0xE6E58000
  25. #define SCIF3_BASE 0xE6EA8000
  26. #define SCIF4_BASE 0xE6EE0000
  27. #define SCIF5_BASE 0xE6EE8000
  28. /* Module stop status register */
  29. #define MSTPSR0 0xE6150030
  30. #define MSTPSR1 0xE6150038
  31. #define MSTPSR2 0xE6150040
  32. #define MSTPSR3 0xE6150048
  33. #define MSTPSR4 0xE615004C
  34. #define MSTPSR5 0xE615003C
  35. #define MSTPSR7 0xE61501C4
  36. #define MSTPSR8 0xE61509A0
  37. #define MSTPSR9 0xE61509A4
  38. #define MSTPSR10 0xE61509A8
  39. #define MSTPSR11 0xE61509AC
  40. /* Realtime module stop control register */
  41. #define RMSTPCR0 0xE6150110
  42. #define RMSTPCR1 0xE6150114
  43. #define RMSTPCR2 0xE6150118
  44. #define RMSTPCR3 0xE615011C
  45. #define RMSTPCR4 0xE6150120
  46. #define RMSTPCR5 0xE6150124
  47. #define RMSTPCR7 0xE615012C
  48. #define RMSTPCR8 0xE6150980
  49. #define RMSTPCR9 0xE6150984
  50. #define RMSTPCR10 0xE6150988
  51. #define RMSTPCR11 0xE615098C
  52. /* System module stop control register */
  53. #define SMSTPCR0 0xE6150130
  54. #define SMSTPCR1 0xE6150134
  55. #define SMSTPCR2 0xE6150138
  56. #define SMSTPCR3 0xE615013C
  57. #define SMSTPCR4 0xE6150140
  58. #define SMSTPCR5 0xE6150144
  59. #define SMSTPCR7 0xE615014C
  60. #define SMSTPCR8 0xE6150990
  61. #define SMSTPCR9 0xE6150994
  62. #define SMSTPCR10 0xE6150998
  63. #define SMSTPCR11 0xE615099C
  64. /*
  65. * SH-I2C
  66. * Ch2 and ch3 are different address. These are defined
  67. * in the header of each SoCs.
  68. */
  69. #define CONFIG_SYS_I2C_SH_BASE0 0xE6500000
  70. #define CONFIG_SYS_I2C_SH_BASE1 0xE6510000
  71. /* RCAR-I2C */
  72. #define CONFIG_SYS_RCAR_I2C0_BASE 0xE6508000
  73. #define CONFIG_SYS_RCAR_I2C1_BASE 0xE6518000
  74. #define CONFIG_SYS_RCAR_I2C2_BASE 0xE6530000
  75. #define CONFIG_SYS_RCAR_I2C3_BASE 0xE6540000
  76. #define S3C_BASE 0xE6784000
  77. #define S3C_INT_BASE 0xE6784A00
  78. #define S3C_MEDIA_BASE 0xE6784B00
  79. #define S3C_QOS_DCACHE_BASE 0xE6784BDC
  80. #define S3C_QOS_CCI0_BASE 0xE6784C00
  81. #define S3C_QOS_CCI1_BASE 0xE6784C24
  82. #define S3C_QOS_MXI_BASE 0xE6784C48
  83. #define S3C_QOS_AXI_BASE 0xE6784C6C
  84. #define DBSC3_0_QOS_R0_BASE 0xE6791000
  85. #define DBSC3_0_QOS_R1_BASE 0xE6791100
  86. #define DBSC3_0_QOS_R2_BASE 0xE6791200
  87. #define DBSC3_0_QOS_R3_BASE 0xE6791300
  88. #define DBSC3_0_QOS_R4_BASE 0xE6791400
  89. #define DBSC3_0_QOS_R5_BASE 0xE6791500
  90. #define DBSC3_0_QOS_R6_BASE 0xE6791600
  91. #define DBSC3_0_QOS_R7_BASE 0xE6791700
  92. #define DBSC3_0_QOS_R8_BASE 0xE6791800
  93. #define DBSC3_0_QOS_R9_BASE 0xE6791900
  94. #define DBSC3_0_QOS_R10_BASE 0xE6791A00
  95. #define DBSC3_0_QOS_R11_BASE 0xE6791B00
  96. #define DBSC3_0_QOS_R12_BASE 0xE6791C00
  97. #define DBSC3_0_QOS_R13_BASE 0xE6791D00
  98. #define DBSC3_0_QOS_R14_BASE 0xE6791E00
  99. #define DBSC3_0_QOS_R15_BASE 0xE6791F00
  100. #define DBSC3_0_QOS_W0_BASE 0xE6792000
  101. #define DBSC3_0_QOS_W1_BASE 0xE6792100
  102. #define DBSC3_0_QOS_W2_BASE 0xE6792200
  103. #define DBSC3_0_QOS_W3_BASE 0xE6792300
  104. #define DBSC3_0_QOS_W4_BASE 0xE6792400
  105. #define DBSC3_0_QOS_W5_BASE 0xE6792500
  106. #define DBSC3_0_QOS_W6_BASE 0xE6792600
  107. #define DBSC3_0_QOS_W7_BASE 0xE6792700
  108. #define DBSC3_0_QOS_W8_BASE 0xE6792800
  109. #define DBSC3_0_QOS_W9_BASE 0xE6792900
  110. #define DBSC3_0_QOS_W10_BASE 0xE6792A00
  111. #define DBSC3_0_QOS_W11_BASE 0xE6792B00
  112. #define DBSC3_0_QOS_W12_BASE 0xE6792C00
  113. #define DBSC3_0_QOS_W13_BASE 0xE6792D00
  114. #define DBSC3_0_QOS_W14_BASE 0xE6792E00
  115. #define DBSC3_0_QOS_W15_BASE 0xE6792F00
  116. #define DBSC3_0_DBADJ2 0xE67900C8
  117. #define CCI_400_MAXOT_1 0xF0091110
  118. #define CCI_400_MAXOT_2 0xF0092110
  119. #define CCI_400_QOSCNTL_1 0xF009110C
  120. #define CCI_400_QOSCNTL_2 0xF009210C
  121. #define MXI_BASE 0xFE960000
  122. #define MXI_QOS_BASE 0xFE960300
  123. #define SYS_AXI_SYX64TO128_BASE 0xFF800300
  124. #define SYS_AXI_AVB_BASE 0xFF800340
  125. #define SYS_AXI_G2D_BASE 0xFF800540
  126. #define SYS_AXI_IMP0_BASE 0xFF800580
  127. #define SYS_AXI_IMP1_BASE 0xFF8005C0
  128. #define SYS_AXI_IMUX0_BASE 0xFF800600
  129. #define SYS_AXI_IMUX1_BASE 0xFF800640
  130. #define SYS_AXI_IMUX2_BASE 0xFF800680
  131. #define SYS_AXI_LBS_BASE 0xFF8006C0
  132. #define SYS_AXI_MMUDS_BASE 0xFF800700
  133. #define SYS_AXI_MMUM_BASE 0xFF800740
  134. #define SYS_AXI_MMUR_BASE 0xFF800780
  135. #define SYS_AXI_MMUS0_BASE 0xFF8007C0
  136. #define SYS_AXI_MMUS1_BASE 0xFF800800
  137. #define SYS_AXI_MTSB0_BASE 0xFF800880
  138. #define SYS_AXI_MTSB1_BASE 0xFF8008C0
  139. #define SYS_AXI_PCI_BASE 0xFF800900
  140. #define SYS_AXI_RTX_BASE 0xFF800940
  141. #define SYS_AXI_SDS0_BASE 0xFF800A80
  142. #define SYS_AXI_SDS1_BASE 0xFF800AC0
  143. #define SYS_AXI_USB20_BASE 0xFF800C00
  144. #define SYS_AXI_USB21_BASE 0xFF800C40
  145. #define SYS_AXI_USB22_BASE 0xFF800C80
  146. #define SYS_AXI_USB30_BASE 0xFF800CC0
  147. #define SYS_AXI_AX2M_BASE 0xFF800380
  148. #define SYS_AXI_CC50_BASE 0xFF8003C0
  149. #define SYS_AXI_CCI_BASE 0xFF800440
  150. #define SYS_AXI_CS_BASE 0xFF800480
  151. #define SYS_AXI_DDM_BASE 0xFF8004C0
  152. #define SYS_AXI_ETH_BASE 0xFF800500
  153. #define SYS_AXI_MPXM_BASE 0xFF800840
  154. #define SYS_AXI_SAT0_BASE 0xFF800980
  155. #define SYS_AXI_SAT1_BASE 0xFF8009C0
  156. #define SYS_AXI_SDM0_BASE 0xFF800A00
  157. #define SYS_AXI_SDM1_BASE 0xFF800A40
  158. #define SYS_AXI_TRAB_BASE 0xFF800B00 /* SYS_AXI_TRKF_BASE in R*A7794 */
  159. #define SYS_AXI_UDM0_BASE 0xFF800B80
  160. #define SYS_AXI_UDM1_BASE 0xFF800BC0
  161. #define RT_AXI_SHX_BASE 0xFF810100
  162. #define RT_AXI_DBG_BASE 0xFF810140 /* R8A7791 only */
  163. #define RT_AXI_RDM_BASE 0xFF810180 /* R8A7791 only */
  164. #define RT_AXI_RDS_BASE 0xFF8101C0
  165. #define RT_AXI_RTX64TO128_BASE 0xFF810200
  166. #define RT_AXI_STPRO_BASE 0xFF810240
  167. #define RT_AXI_SY2RT_BASE 0xFF810280 /* R8A7791 only */
  168. #define MP_AXI_ADSP_BASE 0xFF820100
  169. #define MP_AXI_ASDS0_BASE 0xFF8201C0
  170. #define MP_AXI_ASDS1_BASE 0xFF820200
  171. #define MP_AXI_MLP_BASE 0xFF820240
  172. #define MP_AXI_MMUMP_BASE 0xFF820280
  173. #define MP_AXI_SPU_BASE 0xFF8202C0
  174. #define MP_AXI_SPUC_BASE 0xFF820300
  175. #define SYS_AXI256_AXI128TO256_BASE 0xFF860100
  176. #define SYS_AXI256_SYX_BASE 0xFF860140
  177. #define SYS_AXI256_MPX_BASE 0xFF860180
  178. #define SYS_AXI256_MXI_BASE 0xFF8601C0
  179. #define CCI_AXI_MMUS0_BASE 0xFF880100
  180. #define CCI_AXI_SYX2_BASE 0xFF880140
  181. #define CCI_AXI_MMUR_BASE 0xFF880180
  182. #define CCI_AXI_MMUDS_BASE 0xFF8801C0
  183. #define CCI_AXI_MMUM_BASE 0xFF880200
  184. #define CCI_AXI_MXI_BASE 0xFF880240
  185. #define CCI_AXI_MMUS1_BASE 0xFF880280
  186. #define CCI_AXI_MMUMP_BASE 0xFF8802C0
  187. #define MEDIA_AXI_MXR_BASE 0xFE960080 /* R8A7791 only */
  188. #define MEDIA_AXI_MXW_BASE 0xFE9600C0 /* R8A7791 only */
  189. #define MEDIA_AXI_JPR_BASE 0xFE964100
  190. #define MEDIA_AXI_JPW_BASE 0xFE966100
  191. #define MEDIA_AXI_GCU0R_BASE 0xFE964140
  192. #define MEDIA_AXI_GCU0W_BASE 0xFE966140
  193. #define MEDIA_AXI_GCU1R_BASE 0xFE964180
  194. #define MEDIA_AXI_GCU1W_BASE 0xFE966180
  195. #define MEDIA_AXI_TDMR_BASE 0xFE964500
  196. #define MEDIA_AXI_TDMW_BASE 0xFE966500
  197. #define MEDIA_AXI_VSP0CR_BASE 0xFE964540
  198. #define MEDIA_AXI_VSP0CW_BASE 0xFE966540
  199. #define MEDIA_AXI_VSP1CR_BASE 0xFE964580
  200. #define MEDIA_AXI_VSP1CW_BASE 0xFE966580
  201. #define MEDIA_AXI_VSPDU0CR_BASE 0xFE9645C0
  202. #define MEDIA_AXI_VSPDU0CW_BASE 0xFE9665C0
  203. #define MEDIA_AXI_VSPDU1CR_BASE 0xFE964600
  204. #define MEDIA_AXI_VSPDU1CW_BASE 0xFE966600
  205. #define MEDIA_AXI_VIN0W_BASE 0xFE966900
  206. #define MEDIA_AXI_VSP0R_BASE 0xFE964D00
  207. #define MEDIA_AXI_VSP0W_BASE 0xFE966D00
  208. #define MEDIA_AXI_FDP0R_BASE 0xFE964D40
  209. #define MEDIA_AXI_FDP0W_BASE 0xFE966D40
  210. #define MEDIA_AXI_IMSR_BASE 0xFE964D80
  211. #define MEDIA_AXI_IMSW_BASE 0xFE966D80
  212. #define MEDIA_AXI_VSP1R_BASE 0xFE965100
  213. #define MEDIA_AXI_VSP1W_BASE 0xFE967100
  214. #define MEDIA_AXI_FDP1R_BASE 0xFE965140
  215. #define MEDIA_AXI_FDP1W_BASE 0xFE967140
  216. #define MEDIA_AXI_IMRR_BASE 0xFE965180
  217. #define MEDIA_AXI_IMRW_BASE 0xFE967180
  218. #define MEDIA_AXI_FDP2R_BASE 0xFE9651C0
  219. #define MEDIA_AXI_FDP2W_BASE 0xFE966DC0
  220. #define MEDIA_AXI_VSPD0R_BASE 0xFE965500
  221. #define MEDIA_AXI_VSPD0W_BASE 0xFE967500
  222. #define MEDIA_AXI_VSPD1R_BASE 0xFE965540
  223. #define MEDIA_AXI_VSPD1W_BASE 0xFE967540
  224. #define MEDIA_AXI_DU0R_BASE 0xFE965580
  225. #define MEDIA_AXI_DU0W_BASE 0xFE967580
  226. #define MEDIA_AXI_DU1R_BASE 0xFE9655C0
  227. #define MEDIA_AXI_DU1W_BASE 0xFE9675C0
  228. #define MEDIA_AXI_VCP0CR_BASE 0xFE965900
  229. #define MEDIA_AXI_VCP0CW_BASE 0xFE967900
  230. #define MEDIA_AXI_VCP0VR_BASE 0xFE965940
  231. #define MEDIA_AXI_VCP0VW_BASE 0xFE967940
  232. #define MEDIA_AXI_VPC0R_BASE 0xFE965980
  233. #define MEDIA_AXI_VCP1CR_BASE 0xFE965D00
  234. #define MEDIA_AXI_VCP1CW_BASE 0xFE967D00
  235. #define MEDIA_AXI_VCP1VR_BASE 0xFE965D40
  236. #define MEDIA_AXI_VCP1VW_BASE 0xFE967D40
  237. #define MEDIA_AXI_VPC1R_BASE 0xFE965D80
  238. #define SYS_AXI_AVBDMSCR 0xFF802000
  239. #define SYS_AXI_SYX2DMSCR 0xFF802004
  240. #define SYS_AXI_CC50DMSCR 0xFF802008
  241. #define SYS_AXI_CC51DMSCR 0xFF80200C
  242. #define SYS_AXI_CCIDMSCR 0xFF802010
  243. #define SYS_AXI_CSDMSCR 0xFF802014
  244. #define SYS_AXI_DDMDMSCR 0xFF802018
  245. #define SYS_AXI_ETHDMSCR 0xFF80201C
  246. #define SYS_AXI_G2DDMSCR 0xFF802020
  247. #define SYS_AXI_IMP0DMSCR 0xFF802024
  248. #define SYS_AXI_IMP1DMSCR 0xFF802028
  249. #define SYS_AXI_LBSDMSCR 0xFF80202C
  250. #define SYS_AXI_MMUDSDMSCR 0xFF802030
  251. #define SYS_AXI_MMUMXDMSCR 0xFF802034
  252. #define SYS_AXI_MMURDDMSCR 0xFF802038
  253. #define SYS_AXI_MMUS0DMSCR 0xFF80203C
  254. #define SYS_AXI_MMUS1DMSCR 0xFF802040
  255. #define SYS_AXI_MPXDMSCR 0xFF802044
  256. #define SYS_AXI_MTSB0DMSCR 0xFF802048
  257. #define SYS_AXI_MTSB1DMSCR 0xFF80204C
  258. #define SYS_AXI_PCIDMSCR 0xFF802050
  259. #define SYS_AXI_RTXDMSCR 0xFF802054
  260. #define SYS_AXI_SAT0DMSCR 0xFF802058
  261. #define SYS_AXI_SAT1DMSCR 0xFF80205C
  262. #define SYS_AXI_SDM0DMSCR 0xFF802060
  263. #define SYS_AXI_SDM1DMSCR 0xFF802064
  264. #define SYS_AXI_SDS0DMSCR 0xFF802068
  265. #define SYS_AXI_SDS1DMSCR 0xFF80206C
  266. #define SYS_AXI_ETRABDMSCR 0xFF802070
  267. #define SYS_AXI_ETRKFDMSCR 0xFF802074
  268. #define SYS_AXI_UDM0DMSCR 0xFF802078
  269. #define SYS_AXI_UDM1DMSCR 0xFF80207C
  270. #define SYS_AXI_USB20DMSCR 0xFF802080
  271. #define SYS_AXI_USB21DMSCR 0xFF802084
  272. #define SYS_AXI_USB22DMSCR 0xFF802088
  273. #define SYS_AXI_USB30DMSCR 0xFF80208C
  274. #define SYS_AXI_X128TO64SLVDMSCR 0xFF802100
  275. #define SYS_AXI_X64TO128SLVDMSCR 0xFF802104
  276. #define SYS_AXI_AVBSLVDMSCR 0xFF802108
  277. #define SYS_AXI_SYX2SLVDMSCR 0xFF80210C
  278. #define SYS_AXI_ETHSLVDMSCR 0xFF802110
  279. #define SYS_AXI_GICSLVDMSCR 0xFF802114
  280. #define SYS_AXI_IMPSLVDMSCR 0xFF802118
  281. #define SYS_AXI_IMX0SLVDMSCR 0xFF80211C
  282. #define SYS_AXI_IMX1SLVDMSCR 0xFF802120
  283. #define SYS_AXI_IMX2SLVDMSCR 0xFF802124
  284. #define SYS_AXI_LBSSLVDMSCR 0xFF802128
  285. #define SYS_AXI_MMC0SLVDMSCR 0xFF80212C
  286. #define SYS_AXI_MMC1SLVDMSCR 0xFF802130
  287. #define SYS_AXI_MPXSLVDMSCR 0xFF802134
  288. #define SYS_AXI_MTSB0SLVDMSCR 0xFF802138
  289. #define SYS_AXI_MTSB1SLVDMSCR 0xFF80213C
  290. #define SYS_AXI_MXTSLVDMSCR 0xFF802140
  291. #define SYS_AXI_PCISLVDMSCR 0xFF802144
  292. #define SYS_AXI_SYAPBSLVDMSCR 0xFF802148
  293. #define SYS_AXI_QSAPBSLVDMSCR 0xFF80214C
  294. #define SYS_AXI_RTXSLVDMSCR 0xFF802150
  295. #define SYS_AXI_SAT0SLVDMSCR 0xFF802168
  296. #define SYS_AXI_SAT1SLVDMSCR 0xFF80216C
  297. #define SYS_AXI_SDAP0SLVDMSCR 0xFF802170
  298. #define SYS_AXI_SDAP1SLVDMSCR 0xFF802174
  299. #define SYS_AXI_SDAP2SLVDMSCR 0xFF802178
  300. #define SYS_AXI_SDAP3SLVDMSCR 0xFF80217C
  301. #define SYS_AXI_SGXSLVDMSCR 0xFF802180
  302. #define SYS_AXI_STBSLVDMSCR 0xFF802188
  303. #define SYS_AXI_STMSLVDMSCR 0xFF80218C
  304. #define SYS_AXI_TSPL0SLVDMSCR 0xFF802194
  305. #define SYS_AXI_TSPL1SLVDMSCR 0xFF802198
  306. #define SYS_AXI_TSPL2SLVDMSCR 0xFF80219C
  307. #define SYS_AXI_USB20SLVDMSCR 0xFF8021A0
  308. #define SYS_AXI_USB21SLVDMSCR 0xFF8021A4
  309. #define SYS_AXI_USB22SLVDMSCR 0xFF8021A8
  310. #define SYS_AXI_USB30SLVDMSCR 0xFF8021AC
  311. #define RT_AXI_CBMDMSCR 0xFF812000
  312. #define RT_AXI_DBDMSCR 0xFF812004
  313. #define RT_AXI_RDMDMSCR 0xFF812008
  314. #define RT_AXI_RDSDMSCR 0xFF81200C
  315. #define RT_AXI_STRDMSCR 0xFF812010
  316. #define RT_AXI_SY2RTDMSCR 0xFF812014
  317. #define RT_AXI_CBSSLVDMSCR 0xFF812100
  318. #define RT_AXI_DBSSLVDMSCR 0xFF812104
  319. #define RT_AXI_RTAP1SLVDMSCR 0xFF812108
  320. #define RT_AXI_RTAP2SLVDMSCR 0xFF81210C
  321. #define RT_AXI_RTAP3SLVDMSCR 0xFF812110
  322. #define RT_AXI_RT2SYSLVDMSCR 0xFF812114
  323. #define RT_AXI_A128TO64SLVDMSCR 0xFF812118
  324. #define RT_AXI_A64TO128SLVDMSCR 0xFF81211C
  325. #define RT_AXI_A64TO128CSLVDMSCR 0xFF812120
  326. #define RT_AXI_UTLBRSLVDMSCR 0xFF812128
  327. #define MP_AXI_ADSPDMSCR 0xFF822000
  328. #define MP_AXI_ASDM0DMSCR 0xFF822004
  329. #define MP_AXI_ASDM1DMSCR 0xFF822008
  330. #define MP_AXI_ASDS0DMSCR 0xFF82200C
  331. #define MP_AXI_ASDS1DMSCR 0xFF822010
  332. #define MP_AXI_MLPDMSCR 0xFF822014
  333. #define MP_AXI_MMUMPDMSCR 0xFF822018
  334. #define MP_AXI_SPUDMSCR 0xFF82201C
  335. #define MP_AXI_SPUCDMSCR 0xFF822020
  336. #define MP_AXI_SY2MPDMSCR 0xFF822024
  337. #define MP_AXI_ADSPSLVDMSCR 0xFF822100
  338. #define MP_AXI_MLMSLVDMSCR 0xFF822104
  339. #define MP_AXI_MPAP4SLVDMSCR 0xFF822108
  340. #define MP_AXI_MPAP5SLVDMSCR 0xFF82210C
  341. #define MP_AXI_MPAP6SLVDMSCR 0xFF822110
  342. #define MP_AXI_MPAP7SLVDMSCR 0xFF822114
  343. #define MP_AXI_MP2SYSLVDMSCR 0xFF822118
  344. #define MP_AXI_MP2SY2SLVDMSCR 0xFF82211C
  345. #define MP_AXI_MPXAPSLVDMSCR 0xFF822124
  346. #define MP_AXI_SPUSLVDMSCR 0xFF822128
  347. #define MP_AXI_UTLBMPSLVDMSCR 0xFF82212C
  348. #define ADM_AXI_ASDM0DMSCR 0xFF842000
  349. #define ADM_AXI_ASDM1DMSCR 0xFF842004
  350. #define ADM_AXI_MPAP1SLVDMSCR 0xFF842104
  351. #define ADM_AXI_MPAP2SLVDMSCR 0xFF842108
  352. #define ADM_AXI_MPAP3SLVDMSCR 0xFF84210C
  353. #define DM_AXI_RDMDMSCR 0xFF852000
  354. #define DM_AXI_SDM0DMSCR 0xFF852004
  355. #define DM_AXI_SDM1DMSCR 0xFF852008
  356. #define DM_AXI_MMAP0SLVDMSCR 0xFF852100
  357. #define DM_AXI_MMAP1SLVDMSCR 0xFF852104
  358. #define DM_AXI_QSPAPSLVDMSCR 0xFF852108
  359. #define DM_AXI_RAP4SLVDMSCR 0xFF85210C
  360. #define DM_AXI_RAP5SLVDMSCR 0xFF852110
  361. #define DM_AXI_SAP4SLVDMSCR 0xFF852114
  362. #define DM_AXI_SAP5SLVDMSCR 0xFF852118
  363. #define DM_AXI_SAP6SLVDMSCR 0xFF85211C
  364. #define DM_AXI_SAP65SLVDMSCR 0xFF852120
  365. #define DM_AXI_SDAP0SLVDMSCR 0xFF852124
  366. #define DM_AXI_SDAP1SLVDMSCR 0xFF852128
  367. #define DM_AXI_SDAP2SLVDMSCR 0xFF85212C
  368. #define DM_AXI_SDAP3SLVDMSCR 0xFF852130
  369. #define SYS_AXI256_SYXDMSCR 0xFF862000
  370. #define SYS_AXI256_MPXDMSCR 0xFF862004
  371. #define SYS_AXI256_MXIDMSCR 0xFF862008
  372. #define SYS_AXI256_X128TO256SLVDMSCR 0xFF862100
  373. #define SYS_AXI256_X256TO128SLVDMSCR 0xFF862104
  374. #define SYS_AXI256_SYXSLVDMSCR 0xFF862108
  375. #define SYS_AXI256_CCXSLVDMSCR 0xFF86210C
  376. #define SYS_AXI256_S3CSLVDMSCR 0xFF862110
  377. #define MXT_SYXDMSCR 0xFF872000
  378. #define MXT_CMM0SLVDMSCR 0xFF872100
  379. #define MXT_CMM1SLVDMSCR 0xFF872104
  380. #define MXT_CMM2SLVDMSCR 0xFF872108
  381. #define MXT_FDPSLVDMSCR 0xFF87210C
  382. #define MXT_IMRSLVDMSCR 0xFF872110
  383. #define MXT_VINSLVDMSCR 0xFF872114
  384. #define MXT_VPC0SLVDMSCR 0xFF872118
  385. #define MXT_VPC1SLVDMSCR 0xFF87211C
  386. #define MXT_VSP0SLVDMSCR 0xFF872120
  387. #define MXT_VSP1SLVDMSCR 0xFF872124
  388. #define MXT_VSPD0SLVDMSCR 0xFF872128
  389. #define MXT_VSPD1SLVDMSCR 0xFF87212C
  390. #define MXT_MAP1SLVDMSCR 0xFF872130
  391. #define MXT_MAP2SLVDMSCR 0xFF872134
  392. #define CCI_AXI_MMUS0DMSCR 0xFF882000
  393. #define CCI_AXI_SYX2DMSCR 0xFF882004
  394. #define CCI_AXI_MMURDMSCR 0xFF882008
  395. #define CCI_AXI_MMUDSDMSCR 0xFF88200C
  396. #define CCI_AXI_MMUMDMSCR 0xFF882010
  397. #define CCI_AXI_MXIDMSCR 0xFF882014
  398. #define CCI_AXI_MMUS1DMSCR 0xFF882018
  399. #define CCI_AXI_MMUMPDMSCR 0xFF88201C
  400. #define CCI_AXI_DVMDMSCR 0xFF882020
  401. #define CCI_AXI_CCISLVDMSCR 0xFF882100
  402. #define CCI_AXI_IPMMUIDVMCR 0xFF880400
  403. #define CCI_AXI_IPMMURDVMCR 0xFF880404
  404. #define CCI_AXI_IPMMUS0DVMCR 0xFF880408
  405. #define CCI_AXI_IPMMUS1DVMCR 0xFF88040C
  406. #define CCI_AXI_IPMMUMPDVMCR 0xFF880410
  407. #define CCI_AXI_IPMMUDSDVMCR 0xFF880414
  408. #define CCI_AXI_AX2ADDRMASK 0xFF88041C
  409. #define PLL0CR 0xE61500D8
  410. #define PLL0_STC_MASK 0x7F000000
  411. #define PLL0_STC_BIT 24
  412. #define PLLECR 0xE61500D0
  413. #define PLL0ST 0x100
  414. #ifndef __ASSEMBLY__
  415. #include <asm/types.h>
  416. /* RWDT */
  417. struct rcar_rwdt {
  418. u32 rwtcnt; /* 0x00 */
  419. u32 rwtcsra; /* 0x04 */
  420. u16 rwtcsrb; /* 0x08 */
  421. };
  422. /* SWDT */
  423. struct rcar_swdt {
  424. u32 swtcnt; /* 0x00 */
  425. u32 swtcsra; /* 0x04 */
  426. u16 swtcsrb; /* 0x08 */
  427. };
  428. /* LBSC */
  429. struct rcar_lbsc {
  430. u32 cs0ctrl;
  431. u32 cs1ctrl;
  432. u32 ecs0ctrl;
  433. u32 ecs1ctrl;
  434. u32 ecs2ctrl;
  435. u32 ecs3ctrl;
  436. u32 ecs4ctrl;
  437. u32 ecs5ctrl;
  438. u32 dummy0[4]; /* 0x20 .. 0x2C */
  439. u32 cswcr0;
  440. u32 cswcr1;
  441. u32 ecswcr0;
  442. u32 ecswcr1;
  443. u32 ecswcr2;
  444. u32 ecswcr3;
  445. u32 ecswcr4;
  446. u32 ecswcr5;
  447. u32 exdmawcr0;
  448. u32 exdmawcr1;
  449. u32 exdmawcr2;
  450. u32 dummy1[9]; /* 0x5C .. 0x7C */
  451. u32 cspwcr0;
  452. u32 cspwcr1;
  453. u32 ecspwcr0;
  454. u32 ecspwcr1;
  455. u32 ecspwcr2;
  456. u32 ecspwcr3;
  457. u32 ecspwcr4;
  458. u32 ecspwcr5;
  459. u32 exwtsync;
  460. u32 dummy2[3]; /* 0xA4 .. 0xAC */
  461. u32 cs0bstctl;
  462. u32 cs0btph;
  463. u32 dummy3[2]; /* 0xB8 .. 0xBC */
  464. u32 cs1gdst;
  465. u32 ecs0gdst;
  466. u32 ecs1gdst;
  467. u32 ecs2gdst;
  468. u32 ecs3gdst;
  469. u32 ecs4gdst;
  470. u32 ecs5gdst;
  471. u32 dummy4[5]; /* 0xDC .. 0xEC */
  472. u32 exdmaset0;
  473. u32 exdmaset1;
  474. u32 exdmaset2;
  475. u32 dummy5[5]; /* 0xFC .. 0x10C */
  476. u32 exdmcr0;
  477. u32 exdmcr1;
  478. u32 exdmcr2;
  479. u32 dummy6[5]; /* 0x11C .. 0x12C */
  480. u32 bcintsr;
  481. u32 bcintcr;
  482. u32 bcintmr;
  483. u32 dummy7; /* 0x13C */
  484. u32 exbatlv;
  485. u32 exwtsts;
  486. u32 dummy8[14]; /* 0x148 .. 0x17C */
  487. u32 atacsctrl;
  488. u32 dummy9[15]; /* 0x184 .. 0x1BC */
  489. u32 exbct;
  490. u32 extct;
  491. };
  492. /* DBSC3 */
  493. struct rcar_dbsc3 {
  494. u32 dummy0[3]; /* 0x00 .. 0x08 */
  495. u32 dbstate1;
  496. u32 dbacen;
  497. u32 dbrfen;
  498. u32 dbcmd;
  499. u32 dbwait;
  500. u32 dbkind;
  501. u32 dbconf0;
  502. u32 dummy1[2]; /* 0x28 .. 0x2C */
  503. u32 dbphytype;
  504. u32 dummy2[3]; /* 0x34 .. 0x3C */
  505. u32 dbtr0;
  506. u32 dbtr1;
  507. u32 dbtr2;
  508. u32 dummy3; /* 0x4C */
  509. u32 dbtr3;
  510. u32 dbtr4;
  511. u32 dbtr5;
  512. u32 dbtr6;
  513. u32 dbtr7;
  514. u32 dbtr8;
  515. u32 dbtr9;
  516. u32 dbtr10;
  517. u32 dbtr11;
  518. u32 dbtr12;
  519. u32 dbtr13;
  520. u32 dbtr14;
  521. u32 dbtr15;
  522. u32 dbtr16;
  523. u32 dbtr17;
  524. u32 dbtr18;
  525. u32 dbtr19;
  526. u32 dummy4[7]; /* 0x94 .. 0xAC */
  527. u32 dbbl;
  528. u32 dummy5[3]; /* 0xB4 .. 0xBC */
  529. u32 dbadj0;
  530. u32 dummy6; /* 0xC4 */
  531. u32 dbadj2;
  532. u32 dummy7[5]; /* 0xCC .. 0xDC */
  533. u32 dbrfcnf0;
  534. u32 dbrfcnf1;
  535. u32 dbrfcnf2;
  536. u32 dummy8[2]; /* 0xEC .. 0xF0 */
  537. u32 dbcalcnf;
  538. u32 dbcaltr;
  539. u32 dummy9; /* 0xFC */
  540. u32 dbrnk0;
  541. u32 dummy10[31]; /* 0x104 .. 0x17C */
  542. u32 dbpdncnf;
  543. u32 dummy11[47]; /* 0x184 ..0x23C */
  544. u32 dbdfistat;
  545. u32 dbdficnt;
  546. u32 dummy12[14]; /* 0x248 .. 0x27C */
  547. u32 dbpdlck;
  548. u32 dummy13[3]; /* 0x284 .. 0x28C */
  549. u32 dbpdrga;
  550. u32 dummy14[3]; /* 0x294 .. 0x29C */
  551. u32 dbpdrgd;
  552. u32 dummy15[24]; /* 0x2A4 .. 0x300 */
  553. u32 dbbs0cnt1;
  554. u32 dummy16[30]; /* 0x308 .. 0x37C */
  555. u32 dbwt0cnf0;
  556. u32 dbwt0cnf1;
  557. u32 dbwt0cnf2;
  558. u32 dbwt0cnf3;
  559. u32 dbwt0cnf4;
  560. };
  561. /* GPIO */
  562. struct rcar_gpio {
  563. u32 iointsel;
  564. u32 inoutsel;
  565. u32 outdt;
  566. u32 indt;
  567. u32 intdt;
  568. u32 intclr;
  569. u32 intmsk;
  570. u32 posneg;
  571. u32 edglevel;
  572. u32 filonoff;
  573. u32 intmsks;
  574. u32 mskclrs;
  575. u32 outdtsel;
  576. u32 outdth;
  577. u32 outdtl;
  578. u32 bothedge;
  579. };
  580. /* S3C(QoS) */
  581. struct rcar_s3c {
  582. u32 s3cexcladdmsk;
  583. u32 s3cexclidmsk;
  584. u32 s3cadsplcr;
  585. u32 s3cmaar;
  586. u32 s3carcr11;
  587. u32 s3crorr;
  588. u32 s3cworr;
  589. u32 s3carcr22;
  590. u32 dummy1[2]; /* 0x20 .. 0x24 */
  591. u32 s3cmctr;
  592. u32 dummy2; /* 0x2C */
  593. u32 cconf0;
  594. u32 cconf1;
  595. u32 cconf2;
  596. u32 cconf3;
  597. };
  598. struct rcar_s3c_qos {
  599. u32 s3cqos0;
  600. u32 s3cqos1;
  601. u32 s3cqos2;
  602. u32 s3cqos3;
  603. u32 s3cqos4;
  604. u32 s3cqos5;
  605. u32 s3cqos6;
  606. u32 s3cqos7;
  607. u32 s3cqos8;
  608. };
  609. /* DBSC(QoS) */
  610. struct rcar_dbsc3_qos {
  611. u32 dblgcnt;
  612. u32 dbtmval0;
  613. u32 dbtmval1;
  614. u32 dbtmval2;
  615. u32 dbtmval3;
  616. u32 dbrqctr;
  617. u32 dbthres0;
  618. u32 dbthres1;
  619. u32 dbthres2;
  620. u32 dummy0; /* 0x24 */
  621. u32 dblgqon;
  622. };
  623. /* MXI(QoS) */
  624. struct rcar_mxi {
  625. u32 mxsaar0;
  626. u32 mxsaar1;
  627. u32 dummy0[7]; /* 0x08 .. 0x20 */
  628. u32 mxaxiracr; /* R8a7790 only */
  629. u32 mxs3cracr;
  630. u32 dummy1[2]; /* 0x2C .. 0x30 */
  631. u32 mxaxiwacr; /* R8a7790 only */
  632. u32 mxs3cwacr;
  633. u32 dummy2; /* 0x3C */
  634. u32 mxrtcr;
  635. u32 mxwtcr;
  636. };
  637. struct rcar_mxi_qos {
  638. u32 vspdu0;
  639. u32 vspdu1;
  640. u32 du0;
  641. u32 du1;
  642. };
  643. /* AXI(QoS) */
  644. struct rcar_axi_qos {
  645. u32 qosconf;
  646. u32 qosctset0;
  647. u32 qosctset1;
  648. u32 qosctset2;
  649. u32 qosctset3;
  650. u32 qosreqctr;
  651. u32 qosthres0;
  652. u32 qosthres1;
  653. u32 qosthres2;
  654. u32 qosqon;
  655. };
  656. #endif
  657. #endif /* __ASM_ARCH_RCAR_BASE_H */