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