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