Merge tag 'efi-2020-07-rc6' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
[oweals/u-boot.git] / arch / arm / mach-rmobile / include / mach / rcar-base.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * arch/arm/include/asm/arch-rmobile/rcar-base.h
4  *
5  * Copyright (C) 2013,2014 Renesas Electronics Corporation
6  */
7
8 #ifndef __ASM_ARCH_RCAR_BASE_H
9 #define __ASM_ARCH_RCAR_BASE_H
10
11 /*
12  * R-Car (R8A7790/R8A7791/R8A7792/R8A7793/R8A7794) I/O Addresses
13  */
14 #define RWDT_BASE               0xE6020000
15 #define SWDT_BASE               0xE6030000
16 #define LBSC_BASE               0xFEC00200
17 #define DBSC3_0_BASE            0xE6790000
18 #define DBSC3_1_BASE            0xE67A0000
19 #define TMU_BASE                0xE61E0000
20 #define GPIO5_BASE              0xE6055000
21 #define SH_QSPI_BASE            0xE6B10000
22
23 /* SCIF */
24 #define SCIF0_BASE              0xE6E60000
25 #define SCIF1_BASE              0xE6E68000
26 #define SCIF2_BASE              0xE6E58000
27 #define SCIF3_BASE              0xE6EA8000
28 #define SCIF4_BASE              0xE6EE0000
29 #define SCIF5_BASE              0xE6EE8000
30 #define SCIFA0_BASE             0xE6C40000
31 #define SCIFA1_BASE             0xE6C50000
32 #define SCIFA2_BASE             0xE6C60000
33
34 /* Module stop status register */
35 #define MSTPSR0                 0xE6150030
36 #define MSTPSR1                 0xE6150038
37 #define MSTPSR2                 0xE6150040
38 #define MSTPSR3                 0xE6150048
39 #define MSTPSR4                 0xE615004C
40 #define MSTPSR5                 0xE615003C
41 #define MSTPSR7                 0xE61501C4
42 #define MSTPSR8                 0xE61509A0
43 #define MSTPSR9                 0xE61509A4
44 #define MSTPSR10                0xE61509A8
45 #define MSTPSR11                0xE61509AC
46
47 /* Realtime module stop control register */
48 #define RMSTPCR0                0xE6150110
49 #define RMSTPCR1                0xE6150114
50 #define RMSTPCR2                0xE6150118
51 #define RMSTPCR3                0xE615011C
52 #define RMSTPCR4                0xE6150120
53 #define RMSTPCR5                0xE6150124
54 #define RMSTPCR7                0xE615012C
55 #define RMSTPCR8                0xE6150980
56 #define RMSTPCR9                0xE6150984
57 #define RMSTPCR10               0xE6150988
58 #define RMSTPCR11               0xE615098C
59
60 /* System module stop control register */
61 #define SMSTPCR0                0xE6150130
62 #define SMSTPCR1                0xE6150134
63 #define SMSTPCR2                0xE6150138
64 #define SMSTPCR3                0xE615013C
65 #define SMSTPCR4                0xE6150140
66 #define SMSTPCR5                0xE6150144
67 #define SMSTPCR7                0xE615014C
68 #define SMSTPCR8                0xE6150990
69 #define SMSTPCR9                0xE6150994
70 #define SMSTPCR10               0xE6150998
71 #define SMSTPCR11               0xE615099C
72
73 /*
74  * SH-I2C
75  * Ch2 and ch3 are different address. These are defined
76  * in the header of each SoCs.
77  */
78 #define CONFIG_SYS_I2C_SH_BASE0 0xE6500000
79 #define CONFIG_SYS_I2C_SH_BASE1 0xE6510000
80
81 /* RCAR-I2C */
82 #define CONFIG_SYS_RCAR_I2C0_BASE       0xE6508000
83 #define CONFIG_SYS_RCAR_I2C1_BASE       0xE6518000
84 #define CONFIG_SYS_RCAR_I2C2_BASE       0xE6530000
85 #define CONFIG_SYS_RCAR_I2C3_BASE       0xE6540000
86
87 /* SDHI */
88 #define CONFIG_SYS_SH_SDHI0_BASE        0xEE100000
89
90 #define S3C_BASE                0xE6784000
91 #define S3C_INT_BASE            0xE6784A00
92 #define S3C_MEDIA_BASE          0xE6784B00
93
94 #define S3C_QOS_DCACHE_BASE     0xE6784BDC
95 #define S3C_QOS_CCI0_BASE       0xE6784C00
96 #define S3C_QOS_CCI1_BASE       0xE6784C24
97 #define S3C_QOS_MXI_BASE        0xE6784C48
98 #define S3C_QOS_AXI_BASE        0xE6784C6C
99
100 #define DBSC3_0_QOS_R0_BASE     0xE6791000
101 #define DBSC3_0_QOS_R1_BASE     0xE6791100
102 #define DBSC3_0_QOS_R2_BASE     0xE6791200
103 #define DBSC3_0_QOS_R3_BASE     0xE6791300
104 #define DBSC3_0_QOS_R4_BASE     0xE6791400
105 #define DBSC3_0_QOS_R5_BASE     0xE6791500
106 #define DBSC3_0_QOS_R6_BASE     0xE6791600
107 #define DBSC3_0_QOS_R7_BASE     0xE6791700
108 #define DBSC3_0_QOS_R8_BASE     0xE6791800
109 #define DBSC3_0_QOS_R9_BASE     0xE6791900
110 #define DBSC3_0_QOS_R10_BASE    0xE6791A00
111 #define DBSC3_0_QOS_R11_BASE    0xE6791B00
112 #define DBSC3_0_QOS_R12_BASE    0xE6791C00
113 #define DBSC3_0_QOS_R13_BASE    0xE6791D00
114 #define DBSC3_0_QOS_R14_BASE    0xE6791E00
115 #define DBSC3_0_QOS_R15_BASE    0xE6791F00
116 #define DBSC3_0_QOS_W0_BASE     0xE6792000
117 #define DBSC3_0_QOS_W1_BASE     0xE6792100
118 #define DBSC3_0_QOS_W2_BASE     0xE6792200
119 #define DBSC3_0_QOS_W3_BASE     0xE6792300
120 #define DBSC3_0_QOS_W4_BASE     0xE6792400
121 #define DBSC3_0_QOS_W5_BASE     0xE6792500
122 #define DBSC3_0_QOS_W6_BASE     0xE6792600
123 #define DBSC3_0_QOS_W7_BASE     0xE6792700
124 #define DBSC3_0_QOS_W8_BASE     0xE6792800
125 #define DBSC3_0_QOS_W9_BASE     0xE6792900
126 #define DBSC3_0_QOS_W10_BASE    0xE6792A00
127 #define DBSC3_0_QOS_W11_BASE    0xE6792B00
128 #define DBSC3_0_QOS_W12_BASE    0xE6792C00
129 #define DBSC3_0_QOS_W13_BASE    0xE6792D00
130 #define DBSC3_0_QOS_W14_BASE    0xE6792E00
131 #define DBSC3_0_QOS_W15_BASE    0xE6792F00
132 #define DBSC3_0_DBADJ2          0xE67900C8
133
134 #define CCI_400_MAXOT_1         0xF0091110
135 #define CCI_400_MAXOT_2         0xF0092110
136 #define CCI_400_QOSCNTL_1       0xF009110C
137 #define CCI_400_QOSCNTL_2       0xF009210C
138
139 #define MXI_BASE                0xFE960000
140 #define MXI_QOS_BASE            0xFE960300
141
142 #define SYS_AXI_SYX64TO128_BASE 0xFF800300
143 #define SYS_AXI_AVB_BASE        0xFF800340
144 #define SYS_AXI_AX2M_BASE       0xFF800380
145 #define SYS_AXI_CC50_BASE       0xFF8003C0
146 #define SYS_AXI_CCI_BASE        0xFF800440
147 #define SYS_AXI_CS_BASE         0xFF800480
148 #define SYS_AXI_DDM_BASE        0xFF8004C0
149 #define SYS_AXI_ETH_BASE        0xFF800500
150 #define SYS_AXI_G2D_BASE        0xFF800540
151 #define SYS_AXI_IMP0_BASE       0xFF800580
152 #define SYS_AXI_IMP1_BASE       0xFF8005C0
153 #define SYS_AXI_IMUX0_BASE      0xFF800600
154 #define SYS_AXI_IMUX1_BASE      0xFF800640
155 #define SYS_AXI_IMUX2_BASE      0xFF800680
156 #define SYS_AXI_LBS_BASE        0xFF8006C0
157 #define SYS_AXI_MMUDS_BASE      0xFF800700
158 #define SYS_AXI_MMUM_BASE       0xFF800740
159 #define SYS_AXI_MMUR_BASE       0xFF800780
160 #define SYS_AXI_MMUS0_BASE      0xFF8007C0
161 #define SYS_AXI_MMUS1_BASE      0xFF800800
162 #define SYS_AXI_MPXM_BASE       0xFF800840
163 #define SYS_AXI_MTSB0_BASE      0xFF800880
164 #define SYS_AXI_MTSB1_BASE      0xFF8008C0
165 #define SYS_AXI_PCI_BASE        0xFF800900
166 #define SYS_AXI_RTX_BASE        0xFF800940
167 #define SYS_AXI_SAT0_BASE       0xFF800980
168 #define SYS_AXI_SAT1_BASE       0xFF8009C0
169 #define SYS_AXI_SDM0_BASE       0xFF800A00
170 #define SYS_AXI_SDM1_BASE       0xFF800A40
171 #define SYS_AXI_SDS0_BASE       0xFF800A80
172 #define SYS_AXI_SDS1_BASE       0xFF800AC0
173 #define SYS_AXI_TRAB_BASE       0xFF800B00 /* SYS_AXI_TRKF_BASE in R*A7794 */
174 #define SYS_AXI_UDM0_BASE       0xFF800B80
175 #define SYS_AXI_UDM1_BASE       0xFF800BC0
176 #define SYS_AXI_USB20_BASE      0xFF800C00
177 #define SYS_AXI_USB21_BASE      0xFF800C40
178 #define SYS_AXI_USB22_BASE      0xFF800C80
179 #define SYS_AXI_USB30_BASE      0xFF800CC0
180 #define SYS_AXI_ADM_BASE        0xFF800D00
181 #define SYS_AXI_ADS_BASE        0xFF800D40
182 #define SYS_AXI_SYX_BASE        0xFF800FB8
183
184 #define SYS_AXI_AXI64TO128W_BASE        0xFF801300
185 #define SYS_AXI_AVBW_BASE       0xFF801340
186 #define SYS_AXI_CC50W_BASE      0xFF8013C0
187 #define SYS_AXI_CCIW_BASE       0xFF801440
188 #define SYS_AXI_CSW_BASE        0xFF801480
189 #define SYS_AXI_G2DW_BASE       0xFF801540
190 #define SYS_AXI_IMUX0W_BASE     0xFF801600
191 #define SYS_AXI_IMUX1W_BASE     0xFF801640
192 #define SYS_AXI_IMUX2W_BASE     0xFF801680
193 #define SYS_AXI_LBSW_BASE       0xFF8016C0
194 #define SYS_AXI_RTXW_BASE       0xFF801940
195 #define SYS_AXI_SDM0W_BASE      0xFF801A00
196 #define SYS_AXI_SDM1W_BASE      0xFF801A40
197 #define SYS_AXI_SDS0W_BASE      0xFF801A80
198 #define SYS_AXI_SDS1W_BASE      0xFF801AC0
199 #define SYS_AXI_TRABW_BASE      0xFF801B00 /* SYS_AXI_TRKF_BASE in R*A7794 */
200 #define SYS_AXI_UDM0W_BASE      0xFF801B80
201 #define SYS_AXI_UDM1W_BASE      0xFF801BC0
202 #define SYS_AXI_ADMW_BASE       0xFF801D00
203 #define SYS_AXI_ADSW_BASE       0xFF801D40
204 #define SYS_AXI_SYXW_BASE       0xFF801FB8
205
206 #define RT_AXI_SHX_BASE         0xFF810100
207 #define RT_AXI_DBG_BASE         0xFF810140 /* R8A7791 only */
208 #define RT_AXI_RDM_BASE         0xFF810180 /* R8A7791 only */
209 #define RT_AXI_RDS_BASE         0xFF8101C0
210 #define RT_AXI_RTX64TO128_BASE  0xFF810200
211 #define RT_AXI_STPRO_BASE       0xFF810240
212 #define RT_AXI_SY2RT_BASE       0xFF810280 /* R8A7791 only */
213 #define RT_AXI_RT_BASE          0xFF810FC0
214 #define RT_AXI_SHXW_BASE        0xFF811100
215 #define RT_AXI_DBGW_BASE        0xFF811140
216 #define RT_AXI_RTX64TO128W_BASE 0xFF811200
217 #define RT_AXI_RTW_BASE         0xFF811FC0
218
219 #define MP_AXI_ADSP_BASE        0xFF820100
220 #define MP_AXI_ASDS0_BASE       0xFF8201C0
221 #define MP_AXI_ASDS1_BASE       0xFF820200
222 #define MP_AXI_MLP_BASE         0xFF820240
223 #define MP_AXI_MMUMP_BASE       0xFF820280
224 #define MP_AXI_SPU_BASE         0xFF8202C0
225 #define MP_AXI_SPUC_BASE        0xFF820300
226
227 #define SYS_AXI256_AXI128TO256_BASE     0xFF860100
228 #define SYS_AXI256_SYX_BASE     0xFF860140
229 #define SYS_AXI256_AXM_BASE     0xFF860140
230 #define SYS_AXI256_MPX_BASE     0xFF860180
231 #define SYS_AXI256_MXI_BASE     0xFF8601C0
232 #define SYS_AXI256_IMP0_BASE    0xFF860580
233 #define SYS_AXI256_SY2_BASE     0xFF860FC0
234 #define SYS_AXI256_AXI128TO256W_BASE    0xFF861100
235 #define SYS_AXI256_AXMW_BASE    0xFF861140
236 #define SYS_AXI256_MXIW_BASE    0xFF8611C0
237 #define SYS_AXI256_IMP0W_BASE   0xFF861580
238 #define SYS_AXI256_SY2W_BASE    0xFF861FC0
239
240 #define CCI_AXI_MMUS0_BASE      0xFF880100
241 #define CCI_AXI_SYX2_BASE       0xFF880140
242 #define CCI_AXI_MMUR_BASE       0xFF880180
243 #define CCI_AXI_MMUDS_BASE      0xFF8801C0
244 #define CCI_AXI_MMUM_BASE       0xFF880200
245 #define CCI_AXI_MXI_BASE        0xFF880240
246 #define CCI_AXI_MMUS1_BASE      0xFF880280
247 #define CCI_AXI_MMUMP_BASE      0xFF8802C0
248
249 #define MEDIA_AXI_MXR_BASE      0xFE960080 /* R8A7791 only */
250 #define MEDIA_AXI_MXW_BASE      0xFE9600C0 /* R8A7791 only */
251 #define MEDIA_AXI_JPR_BASE      0xFE964100
252 #define MEDIA_AXI_JPW_BASE      0xFE966100
253 #define MEDIA_AXI_GCU0R_BASE    0xFE964140
254 #define MEDIA_AXI_GCU0W_BASE    0xFE966140
255 #define MEDIA_AXI_GCU1R_BASE    0xFE964180
256 #define MEDIA_AXI_GCU1W_BASE    0xFE966180
257 #define MEDIA_AXI_TDMR_BASE     0xFE964500
258 #define MEDIA_AXI_TDMW_BASE     0xFE966500
259 #define MEDIA_AXI_VSP0CR_BASE   0xFE964540
260 #define MEDIA_AXI_VSP0CW_BASE   0xFE966540
261 #define MEDIA_AXI_VSP1CR_BASE   0xFE964580
262 #define MEDIA_AXI_VSP1CW_BASE   0xFE966580
263 #define MEDIA_AXI_VSPDU0CR_BASE 0xFE9645C0
264 #define MEDIA_AXI_VSPDU0CW_BASE 0xFE9665C0
265 #define MEDIA_AXI_VSPDU1CR_BASE 0xFE964600
266 #define MEDIA_AXI_VSPDU1CW_BASE 0xFE966600
267 #define MEDIA_AXI_FDP0R_BASE    0xFE964D40
268 #define MEDIA_AXI_FDP0W_BASE    0xFE966D40
269 #define MEDIA_AXI_IMSR_BASE     0xFE964D80
270 #define MEDIA_AXI_IMSW_BASE     0xFE966D80
271 #define MEDIA_AXI_VSP1R_BASE    0xFE965100
272 #define MEDIA_AXI_VSP1W_BASE    0xFE967100
273 #define MEDIA_AXI_FDP1R_BASE    0xFE965140
274 #define MEDIA_AXI_FDP1W_BASE    0xFE967140
275 #define MEDIA_AXI_IMRR_BASE     0xFE965180
276 #define MEDIA_AXI_IMRW_BASE     0xFE967180
277 #define MEDIA_AXI_FDP2R_BASE    0xFE9651C0
278 #define MEDIA_AXI_FDP2W_BASE    0xFE966DC0
279 #define MEDIA_AXI_DU1R_BASE     0xFE9655C0
280 #define MEDIA_AXI_DU1W_BASE     0xFE9675C0
281 #define MEDIA_AXI_VCP0CR_BASE   0xFE965900
282 #define MEDIA_AXI_VCP0CW_BASE   0xFE967900
283 #define MEDIA_AXI_VCP0VR_BASE   0xFE965940
284 #define MEDIA_AXI_VCP0VW_BASE   0xFE967940
285 #define MEDIA_AXI_VPC0R_BASE    0xFE965980
286 #define MEDIA_AXI_VCP1CR_BASE   0xFE965D00
287 #define MEDIA_AXI_VCP1CW_BASE   0xFE967D00
288 #define MEDIA_AXI_VCP1VR_BASE   0xFE965D40
289 #define MEDIA_AXI_VCP1VW_BASE   0xFE967D40
290 #define MEDIA_AXI_VPC1R_BASE    0xFE965D80
291
292 #if defined (CONFIG_R8A7792)
293 #define MEDIA_AXI_VCTU0R_BASE   0xFE964500 /* R8A7792 */
294 #define MEDIA_AXI_VCTU0W_BASE   0xFE966500
295 #define MEDIA_AXI_VDCTU0R_BASE  0xFE964540
296 #define MEDIA_AXI_VDCTU0W_BASE  0xFE966540
297 #define MEDIA_AXI_VDCTU1R_BASE  0xFE964580
298 #define MEDIA_AXI_VDCTU1W_BASE  0xFE966580
299 #define MEDIA_AXI_VIN0W_BASE    0xFE967580
300 #define MEDIA_AXI_VIN1W_BASE    0xFE966D80
301 #define MEDIA_AXI_RDRW_BASE     0xFE9675C0
302 #define MEDIA_AXI_IMS01R_BASE   0xFE965500
303 #define MEDIA_AXI_IMS01W_BASE   0xFE967500
304 #define MEDIA_AXI_IMS23R_BASE   0xFE965540 /* FIXME */
305 #define MEDIA_AXI_IMS23W_BASE   0xFE967540
306 #define MEDIA_AXI_IMS45R_BASE   0xFE964D00
307 #define MEDIA_AXI_IMS45W_BASE   0xFE966D00
308 #define MEDIA_AXI_ROTCE4R_BASE  0xFE965100
309 #define MEDIA_AXI_ROTCE4W_BASE  0xFE967100
310 #define MEDIA_AXI_ROTVLC4R_BASE 0xFE965140
311 #define MEDIA_AXI_ROTVLC4W_BASE 0xFE965140
312 #define MEDIA_AXI_VSPD0R_BASE   0xFE964900
313 #define MEDIA_AXI_VSPD0W_BASE   0xFE966900
314 #define MEDIA_AXI_VSPD1R_BASE   0xFE964940
315 #define MEDIA_AXI_VSPD1W_BASE   0xFE966940
316 #define MEDIA_AXI_DU0R_BASE     0xFE964980
317 #define MEDIA_AXI_DU0W_BASE     0xFE966980
318 #define MEDIA_AXI_VSP0R_BASE    0xFE9649C0
319 #define MEDIA_AXI_VSP0W_BASE    0xFE9669C0
320 #define MEDIA_AXI_ROTCE0R_BASE  0xFE965900
321 #define MEDIA_AXI_ROTCE0W_BASE  0xFE967900
322 #define MEDIA_AXI_ROTVLC0R_BASE 0xFE965940
323 #define MEDIA_AXI_ROTVLC0W_BASE 0xFE967940
324 #define MEDIA_AXI_ROTCE1R_BASE  0xFE965980
325 #define MEDIA_AXI_ROTCE1W_BASE  0xFE967980
326 #define MEDIA_AXI_ROTVLC1R_BASE 0xFE9659C0
327 #define MEDIA_AXI_ROTVLC1W_BASE 0xFE9679C0
328 #define MEDIA_AXI_ROTCE2R_BASE  0xFE965D00
329 #define MEDIA_AXI_ROTCE2W_BASE  0xFE967D00
330 #define MEDIA_AXI_ROTVLC2R_BASE 0xFE965D40
331 #define MEDIA_AXI_ROTVLC2W_BASE 0xFE967D40
332 #define MEDIA_AXI_ROTCE3R_BASE  0xFE965D80
333 #define MEDIA_AXI_ROTCE3W_BASE  0xFE967D80
334 #define MEDIA_AXI_ROTVLC3R_BASE 0xFE965DC0
335 #define MEDIA_AXI_ROTVLC3W_BASE 0xFE967DC0
336 #else   /* R8A7792 */
337 #define MEDIA_AXI_VIN0W_BASE    0xFE966900
338 #define MEDIA_AXI_VSPD0R_BASE   0xFE965500
339 #define MEDIA_AXI_VSPD0W_BASE   0xFE967500
340 #define MEDIA_AXI_VSPD1R_BASE   0xFE965540
341 #define MEDIA_AXI_VSPD1W_BASE   0xFE967540
342 #define MEDIA_AXI_DU0R_BASE     0xFE965580
343 #define MEDIA_AXI_DU0W_BASE     0xFE967580
344 #define MEDIA_AXI_VSP0R_BASE    0xFE964D00
345 #define MEDIA_AXI_VSP0W_BASE    0xFE966D00
346 #endif  /* R8A7792 */
347
348
349 #define SYS_AXI_AVBDMSCR        0xFF802000
350 #define SYS_AXI_SYX2DMSCR       0xFF802004
351 #define SYS_AXI_AX2MDMSCR       0xFF802004
352 #define SYS_AXI_CC50DMSCR       0xFF802008
353 #define SYS_AXI_CC51DMSCR       0xFF80200C
354 #define SYS_AXI_CCIDMSCR        0xFF802010
355 #define SYS_AXI_CSDMSCR         0xFF802014
356 #define SYS_AXI_DDMDMSCR        0xFF802018
357 #define SYS_AXI_ETHDMSCR        0xFF80201C
358 #define SYS_AXI_G2DDMSCR        0xFF802020
359 #define SYS_AXI_IMP0DMSCR       0xFF802024
360 #define SYS_AXI_IMP1DMSCR       0xFF802028
361 #define SYS_AXI_LBSDMSCR        0xFF80202C
362 #define SYS_AXI_MMUDSDMSCR      0xFF802030
363 #define SYS_AXI_MMUMXDMSCR      0xFF802034
364 #define SYS_AXI_MMURDDMSCR      0xFF802038
365 #define SYS_AXI_MMUS0DMSCR      0xFF80203C
366 #define SYS_AXI_MMUS1DMSCR      0xFF802040
367 #define SYS_AXI_MPXDMSCR        0xFF802044
368 #define SYS_AXI_MTSB0DMSCR      0xFF802048
369 #define SYS_AXI_MTSB1DMSCR      0xFF80204C
370 #define SYS_AXI_PCIDMSCR        0xFF802050
371 #define SYS_AXI_RTXDMSCR        0xFF802054
372 #define SYS_AXI_SAT0DMSCR       0xFF802058
373 #define SYS_AXI_SAT1DMSCR       0xFF80205C
374 #define SYS_AXI_SDM0DMSCR       0xFF802060
375 #define SYS_AXI_SDM1DMSCR       0xFF802064
376 #define SYS_AXI_SDS0DMSCR       0xFF802068
377 #define SYS_AXI_SDS1DMSCR       0xFF80206C
378 #define SYS_AXI_ETRABDMSCR      0xFF802070
379 #define SYS_AXI_ETRKFDMSCR      0xFF802074
380 #define SYS_AXI_UDM0DMSCR       0xFF802078
381 #define SYS_AXI_UDM1DMSCR       0xFF80207C
382 #define SYS_AXI_USB20DMSCR      0xFF802080
383 #define SYS_AXI_USB21DMSCR      0xFF802084
384 #define SYS_AXI_USB22DMSCR      0xFF802088
385 #define SYS_AXI_USB30DMSCR      0xFF80208C
386 #define SYS_AXI_X128TO64SLVDMSCR        0xFF802100
387 #define SYS_AXI_X64TO128SLVDMSCR        0xFF802104
388 #define SYS_AXI_AVBSLVDMSCR     0xFF802108
389 #define SYS_AXI_SYX2SLVDMSCR    0xFF80210C
390 #define SYS_AXI_AX2SLVDMSCR     0xFF80210C
391 #define SYS_AXI_ETHSLVDMSCR     0xFF802110
392 #define SYS_AXI_GICSLVDMSCR     0xFF802114
393 #define SYS_AXI_IMPSLVDMSCR     0xFF802118
394 #define SYS_AXI_IMX0SLVDMSCR    0xFF80211C
395 #define SYS_AXI_IMX1SLVDMSCR    0xFF802120
396 #define SYS_AXI_IMX2SLVDMSCR    0xFF802124
397 #define SYS_AXI_LBSSLVDMSCR     0xFF802128
398 #define SYS_AXI_MMC0SLVDMSCR    0xFF80212C
399 #define SYS_AXI_MMC1SLVDMSCR    0xFF802130
400 #define SYS_AXI_MPXSLVDMSCR     0xFF802134
401 #define SYS_AXI_MTSB0SLVDMSCR   0xFF802138
402 #define SYS_AXI_MTSB1SLVDMSCR   0xFF80213C
403 #define SYS_AXI_MXTSLVDMSCR     0xFF802140
404 #define SYS_AXI_PCISLVDMSCR     0xFF802144
405 #define SYS_AXI_SYAPBSLVDMSCR   0xFF802148
406 #define SYS_AXI_QSAPBSLVDMSCR   0xFF80214C
407 #define SYS_AXI_RTXSLVDMSCR     0xFF802150
408 #define SYS_AXI_SAPC1SLVDMSCR   0xFF802154
409 #define SYS_AXI_SAPC2SLVDMSCR   0xFF802158
410 #define SYS_AXI_SAPC3SLVDMSCR   0xFF80215C
411 #define SYS_AXI_SAPC65SLVDMSCR  0xFF802160
412 #define SYS_AXI_SAPC8SLVDMSCR   0xFF802164
413 #define SYS_AXI_SAT0SLVDMSCR    0xFF802168
414 #define SYS_AXI_SAT1SLVDMSCR    0xFF80216C
415 #define SYS_AXI_SDAP0SLVDMSCR   0xFF802170
416 #define SYS_AXI_SDAP1SLVDMSCR   0xFF802174
417 #define SYS_AXI_SDAP2SLVDMSCR   0xFF802178
418 #define SYS_AXI_SDAP3SLVDMSCR   0xFF80217C
419 #define SYS_AXI_SGXSLVDMSCR     0xFF802180
420 #define SYS_AXI_SGXSLV1SLVDMSCR 0xFF802184
421 #define SYS_AXI_STBSLVDMSCR     0xFF802188
422 #define SYS_AXI_STMSLVDMSCR     0xFF80218C
423 #define SYS_AXI_SYXXDEFAULTSLAVESLVDMSCR        0xFF802190
424 #define SYS_AXI_TSPL0SLVDMSCR   0xFF802194
425 #define SYS_AXI_TSPL1SLVDMSCR   0xFF802198
426 #define SYS_AXI_TSPL2SLVDMSCR   0xFF80219C
427 #define SYS_AXI_USB20SLVDMSCR   0xFF8021A0
428 #define SYS_AXI_USB21SLVDMSCR   0xFF8021A4
429 #define SYS_AXI_USB22SLVDMSCR   0xFF8021A8
430 #define SYS_AXI_USB30SLVDMSCR   0xFF8021AC
431 #define SYS_AXI_UTLBDSSLVDMSCR  0xFF8021B0
432 #define SYS_AXI_UTLBS0SLVDMSCR  0xFF8021B4
433 #define SYS_AXI_UTLBS1SLVDMSCR  0xFF8021B8
434 #define SYS_AXI_ROT0DMSCR       0xFF802320
435 #define SYS_AXI_ROT1DMSCR       0xFF802324
436 #define SYS_AXI_ROT2DMSCR       0xFF802328
437 #define SYS_AXI_ROT3DMSCR       0xFF80232C
438 #define SYS_AXI_ROT4DMSCR       0xFF802330
439 #define SYS_AXI_IMUX3SLVDMSCR   0xFF802334
440 #define SYS_AXI_STBR0SLVDMSCR   0xFF803200
441 #define SYS_AXI_STBR0PSLVDMSCR  0xFF803204
442 #define SYS_AXI_STBR0XSLVDMSCR  0xFF803208
443 #define SYS_AXI_STBR1SLVDMSCR   0xFF803210
444 #define SYS_AXI_STBR1PSLVDMSCR  0xFF803214
445 #define SYS_AXI_STBR1XSLVDMSCR  0xFF803218
446 #define SYS_AXI_STBR2SLVDMSCR   0xFF803220
447 #define SYS_AXI_STBR2PSLVDMSCR  0xFF803224
448 #define SYS_AXI_STBR2XSLVDMSCR  0xFF803228
449 #define SYS_AXI_STBR3SLVDMSCR   0xFF803230
450 #define SYS_AXI_STBR3PSLVDMSCR  0xFF803234
451 #define SYS_AXI_STBR3XSLVDMSCR  0xFF803238
452 #define SYS_AXI_STBR4SLVDMSCR   0xFF803240
453 #define SYS_AXI_STBR4PSLVDMSCR  0xFF803244
454 #define SYS_AXI_STBR4XSLVDMSCR  0xFF803248
455 #define SYS_AXI_ADM_DMSCR       0xFF803260
456 #define SYS_AXI_ADS_DMSCR       0xFF803264
457
458 #define RT_AXI_CBMDMSCR         0xFF812000
459 #define RT_AXI_DBDMSCR          0xFF812004
460 #define RT_AXI_RDMDMSCR         0xFF812008
461 #define RT_AXI_RDSDMSCR         0xFF81200C
462 #define RT_AXI_STRDMSCR         0xFF812010
463 #define RT_AXI_SY2RTDMSCR       0xFF812014
464 #define RT_AXI_CBSSLVDMSCR      0xFF812100
465 #define RT_AXI_DBSSLVDMSCR      0xFF812104
466 #define RT_AXI_RTAP1SLVDMSCR    0xFF812108
467 #define RT_AXI_RTAP2SLVDMSCR    0xFF81210C
468 #define RT_AXI_RTAP3SLVDMSCR    0xFF812110
469 #define RT_AXI_RT2SYSLVDMSCR    0xFF812114
470 #define RT_AXI_A128TO64SLVDMSCR 0xFF812118
471 #define RT_AXI_A64TO128SLVDMSCR 0xFF81211C
472 #define RT_AXI_A64TO128CSLVDMSCR        0xFF812120
473 #define RT_AXI_UTLBRSLVDMSCR    0xFF812128
474
475 #define MP_AXI_ADSPDMSCR        0xFF822000
476 #define MP_AXI_ASDM0DMSCR       0xFF822004
477 #define MP_AXI_ASDM1DMSCR       0xFF822008
478 #define MP_AXI_ASDS0DMSCR       0xFF82200C
479 #define MP_AXI_ASDS1DMSCR       0xFF822010
480 #define MP_AXI_MLPDMSCR         0xFF822014
481 #define MP_AXI_MMUMPDMSCR       0xFF822018
482 #define MP_AXI_SPUDMSCR         0xFF82201C
483 #define MP_AXI_SPUCDMSCR        0xFF822020
484 #define MP_AXI_SY2MPDMSCR       0xFF822024
485 #define MP_AXI_ADSPSLVDMSCR     0xFF822100
486 #define MP_AXI_MLMSLVDMSCR      0xFF822104
487 #define MP_AXI_MPAP4SLVDMSCR    0xFF822108
488 #define MP_AXI_MPAP5SLVDMSCR    0xFF82210C
489 #define MP_AXI_MPAP6SLVDMSCR    0xFF822110
490 #define MP_AXI_MPAP7SLVDMSCR    0xFF822114
491 #define MP_AXI_MP2SYSLVDMSCR    0xFF822118
492 #define MP_AXI_MP2SY2SLVDMSCR   0xFF82211C
493 #define MP_AXI_MPXAPSLVDMSCR    0xFF822124
494 #define MP_AXI_SPUSLVDMSCR      0xFF822128
495 #define MP_AXI_UTLBMPSLVDMSCR   0xFF82212C
496
497 #define ADM_AXI_ASDM0DMSCR      0xFF842000
498 #define ADM_AXI_ASDM1DMSCR      0xFF842004
499 #define ADM_AXI_MPAP1SLVDMSCR   0xFF842104
500 #define ADM_AXI_MPAP2SLVDMSCR   0xFF842108
501 #define ADM_AXI_MPAP3SLVDMSCR   0xFF84210C
502
503 #define DM_AXI_DMAXICONF        0xFF850000
504 #define DM_AXI_DMAPBCONF        0xFF850004
505 #define DM_AXI_DMADMCONF        0xFF850020
506 #define DM_AXI_DMSDM0CONF       0xFF850024
507 #define DM_AXI_DMSDM1CONF       0xFF850028
508 #define DM_AXI_DMQSPAPSLVCONF   0xFF850030
509 #define DM_AXI_RAPD4SLVCONF     0xFF850034
510 #define DM_AXI_SAPD4SLVCONF     0xFF85003C
511 #define DM_AXI_SAPD5SLVCONF     0xFF850040
512 #define DM_AXI_SAPD6SLVCONF     0xFF850044
513 #define DM_AXI_SAPD65DSLVCONF   0xFF850048
514 #define DM_AXI_SDAP0SLVCONF     0xFF85004C
515 #define DM_AXI_MAPD2SLVCONF     0xFF850050
516 #define DM_AXI_MAPD3SLVCONF     0xFF850054
517 #define DM_AXI_DMXXDEFAULTSLAVESLVCONF  0xFF850058
518 #define DM_AXI_DMADMRQOSCONF    0xFF850100
519 #define DM_AXI_DMADMRQOSCTSET0  0xFF850104
520 #define DM_AXI_DMADMRQOSREQCTR  0xFF850114
521 #define DM_AXI_DMADMRQOSQON     0xFF850124
522 #define DM_AXI_DMADMRQOSIN      0xFF850128
523 #define DM_AXI_DMADMRQOSSTAT    0xFF85012C
524 #define DM_AXI_DMSDM0RQOSCONF   0xFF850140
525 #define DM_AXI_DMSDM0RQOSCTSET0 0xFF850144
526 #define DM_AXI_DMSDM0RQOSREQCTR 0xFF850154
527 #define DM_AXI_DMSDM0RQOSQON    0xFF850164
528 #define DM_AXI_DMSDM0RQOSIN     0xFF850168
529 #define DM_AXI_DMSDM0RQOSSTAT   0xFF85016C
530 #define DM_AXI_DMSDM1RQOSCONF   0xFF850180
531 #define DM_AXI_DMSDM1RQOSCTSET0 0xFF850184
532 #define DM_AXI_DMSDM1RQOSREQCTR 0xFF850194
533 #define DM_AXI_DMSDM1RQOSQON    0xFF8501A4
534 #define DM_AXI_DMSDM1RQOSIN     0xFF8501A8
535 #define DM_AXI_DMSDM1RQOSSTAT   0xFF8501AC
536 #define DM_AXI_DMRQOSCTSET1     0xFF850FC0
537 #define DM_AXI_DMRQOSCTSET2     0xFF850FC4
538 #define DM_AXI_DMRQOSCTSET3     0xFF850FC8
539 #define DM_AXI_DMRQOSTHRES0     0xFF850FCC
540 #define DM_AXI_DMRQOSTHRES1     0xFF850FD0
541 #define DM_AXI_DMRQOSTHRES2     0xFF850FD4
542 #define DM_AXI_DMADMWQOSCONF    0xFF851100
543 #define DM_AXI_DMADMWQOSCTSET0  0xFF851104
544 #define DM_AXI_DMADMWQOSREQCTR  0xFF851114
545 #define DM_AXI_DMADMWQOSQON     0xFF851124
546 #define DM_AXI_DMADMWQOSIN      0xFF851128
547 #define DM_AXI_DMADMWQOSSTAT    0xFF85112C
548 #define DM_AXI_DMSDM0WQOSCONF   0xFF851140
549 #define DM_AXI_DMSDM0WQOSCTSET0 0xFF851144
550 #define DM_AXI_DMSDM0WQOSREQCTR 0xFF851154
551 #define DM_AXI_DMSDM0WQOSQON    0xFF851164
552 #define DM_AXI_DMSDM0WQOSIN     0xFF851168
553 #define DM_AXI_DMSDM0WQOSSTAT   0xFF85116C
554 #define DM_AXI_DMSDM1WQOSCONF   0xFF851180
555 #define DM_AXI_DMSDM1WQOSCTSET0 0xFF851184
556 #define DM_AXI_DMSDM1WQOSREQCTR 0xFF851194
557 #define DM_AXI_DMSDM1WQOSQON    0xFF8511A4
558 #define DM_AXI_DMSDM1WQOSIN     0xFF8511A8
559 #define DM_AXI_DMSDM1WQOSSTAT   0xFF8511AC
560 #define DM_AXI_DMWQOSCTSET1     0xFF851FC0
561 #define DM_AXI_DMWQOSCTSET2     0xFF851FC4
562 #define DM_AXI_DMWQOSCTSET3     0xFF851FC8
563 #define DM_AXI_DMWQOSTHRES0     0xFF851FCC
564 #define DM_AXI_DMWQOSTHRES1     0xFF851FD0
565 #define DM_AXI_DMWQOSTHRES2     0xFF851FD4
566
567 #define DM_AXI_RDMDMSCR         0xFF852000
568 #define DM_AXI_SDM0DMSCR        0xFF852004
569 #define DM_AXI_SDM1DMSCR        0xFF852008
570 #if defined(CONFIG_R8A7792)
571 #define DM_AXI_DMQSPAPSLVDMSCR  0xFF852104
572 #define DM_AXI_RAPD4SLVDMSCR    0xFF852108
573 #define DM_AXI_SAPD4SLVDMSCR    0xFF852110
574 #define DM_AXI_SAPD5SLVDMSCR    0xFF852114
575 #define DM_AXI_SAPD6SLVDMSCR    0xFF852118
576 #define DM_AXI_SAPD65DSLVDMSCR  0xFF85211C
577 #define DM_AXI_SDAP0SLVDMSCR    0xFF852120
578 #define DM_AXI_MAPD2SLVDMSCR    0xFF852124
579 #define DM_AXI_MAPD3SLVDMSCR    0xFF852128
580 #define DM_AXI_DMXXDEFAULTSLAVESLVDMSCR 0xFF85212C
581 #define DM_AXI_DMXREGDMSENN     0xFF852200
582 #else
583 #define DM_AXI_MMAP0SLVDMSCR    0xFF852100
584 #define DM_AXI_MMAP1SLVDMSCR    0xFF852104
585 #define DM_AXI_QSPAPSLVDMSCR    0xFF852108
586 #define DM_AXI_RAP4SLVDMSCR     0xFF85210C
587 #define DM_AXI_RAP5SLVDMSCR     0xFF852110
588 #define DM_AXI_SAP4SLVDMSCR     0xFF852114
589 #define DM_AXI_SAP5SLVDMSCR     0xFF852118
590 #define DM_AXI_SAP6SLVDMSCR     0xFF85211C
591 #define DM_AXI_SAP65SLVDMSCR    0xFF852120
592 #define DM_AXI_SDAP0SLVDMSCR    0xFF852124
593 #define DM_AXI_SDAP1SLVDMSCR    0xFF852128
594 #define DM_AXI_SDAP2SLVDMSCR    0xFF85212C
595 #define DM_AXI_SDAP3SLVDMSCR    0xFF852130
596 #endif
597
598 #define SYS_AXI256_SYXDMSCR     0xFF862000
599 #define SYS_AXI256_MPXDMSCR     0xFF862004
600 #define SYS_AXI256_MXIDMSCR     0xFF862008
601 #define SYS_AXI256_X128TO256SLVDMSCR    0xFF862100
602 #define SYS_AXI256_X256TO128SLVDMSCR    0xFF862104
603 #define SYS_AXI256_SYXSLVDMSCR  0xFF862108
604 #define SYS_AXI256_CCXSLVDMSCR  0xFF86210C
605 #define SYS_AXI256_S3CSLVDMSCR  0xFF862110
606
607 #define MXT_SYXDMSCR            0xFF872000
608 #if defined(CONFIG_R8A7792)
609 #define MXT_IMRSLVDMSCR         0xFF872110
610 #define MXT_VINSLVDMSCR         0xFF872114
611 #define MXT_VSP1SLVDMSCR        0xFF87211C
612 #define MXT_VSPD0SLVDMSCR       0xFF872120
613 #define MXT_VSPD1SLVDMSCR       0xFF872124
614 #define MXT_MAP1SLVDMSCR        0xFF872128
615 #define MXT_MAP2SLVDMSCR        0xFF87212C
616 #define MXT_MAP2BSLVDMSCR       0xFF872134
617 #else   /* R8A7792 */
618 #define MXT_CMM0SLVDMSCR        0xFF872100
619 #define MXT_CMM1SLVDMSCR        0xFF872104
620 #define MXT_CMM2SLVDMSCR        0xFF872108
621 #define MXT_FDPSLVDMSCR         0xFF87210C
622 #define MXT_IMRSLVDMSCR         0xFF872110
623 #define MXT_VINSLVDMSCR         0xFF872114
624 #define MXT_VPC0SLVDMSCR        0xFF872118
625 #define MXT_VPC1SLVDMSCR        0xFF87211C
626 #define MXT_VSP0SLVDMSCR        0xFF872120
627 #define MXT_VSP1SLVDMSCR        0xFF872124
628 #define MXT_VSPD0SLVDMSCR       0xFF872128
629 #define MXT_VSPD1SLVDMSCR       0xFF87212C
630 #define MXT_MAP1SLVDMSCR        0xFF872130
631 #define MXT_MAP2SLVDMSCR        0xFF872134
632 #endif  /* R8A7792 */
633
634 /* DMS Register (MXI) */
635 #if defined(CONFIG_R8A7792)
636 #define MXI_JPURDMSCR           0xFE964200
637 #define MXI_JPUWDMSCR           0xFE966200
638 #define MXI_VCTU0RDMSCR         0xFE964600
639 #define MXI_VCTU0WDMSCR         0xFE966600
640 #define MXI_VDCTU0RDMSCR        0xFE964604
641 #define MXI_VDCTU0WDMSCR        0xFE966604
642 #define MXI_VDCTU1RDMSCR        0xFE964608
643 #define MXI_VDCTU1WDMSCR        0xFE966608
644 #define MXI_VIN0WDMSCR          0xFE967608
645 #define MXI_VIN1WDMSCR          0xFE966E08
646 #define MXI_RDRWDMSCR           0xFE96760C
647 #define MXI_IMS01RDMSCR         0xFE965600
648 #define MXI_IMS01WDMSCR         0xFE967600
649 #define MXI_IMS23RDMSCR         0xFE965604
650 #define MXI_IMS23WDMSCR         0xFE967604
651 #define MXI_IMS45RDMSCR         0xFE964E00
652 #define MXI_IMS45WDMSCR         0xFE966E00
653 #define MXI_IMRRDMSCR           0xFE964E04
654 #define MXI_IMRWDMSCR           0xFE966E04
655 #define MXI_ROTCE4RDMSCR        0xFE965200
656 #define MXI_ROTCE4WDMSCR        0xFE967200
657 #define MXI_ROTVLC4RDMSCR       0xFE965204
658 #define MXI_ROTVLC4WDMSCR       0xFE967204
659 #define MXI_VSPD0RDMSCR         0xFE964A00
660 #define MXI_VSPD0WDMSCR         0xFE966A00
661 #define MXI_VSPD1RDMSCR         0xFE964A04
662 #define MXI_VSPD1WDMSCR         0xFE966A04
663 #define MXI_DU0RDMSCR           0xFE964A08
664 #define MXI_DU0WDMSCR           0xFE966A08
665 #define MXI_VSP0RDMSCR          0xFE964A0C
666 #define MXI_VSP0WDMSCR          0xFE966A0C
667 #define MXI_ROTCE0RDMSCR        0xFE965A00
668 #define MXI_ROTCE0WDMSCR        0xFE967A00
669 #define MXI_ROTVLC0RDMSCR       0xFE965A04
670 #define MXI_ROTVLC0WDMSCR       0xFE967A04
671 #define MXI_ROTCE1RDMSCR        0xFE965A08
672 #define MXI_ROTCE1WDMSCR        0xFE967A08
673 #define MXI_ROTVLC1RDMSCR       0xFE965A0C
674 #define MXI_ROTVLC1WDMSCR       0xFE967A0C
675 #define MXI_ROTCE2RDMSCR        0xFE965E00
676 #define MXI_ROTCE2WDMSCR        0xFE967E00
677 #define MXI_ROTVLC2RDMSCR       0xFE965E04
678 #define MXI_ROTVLC2WDMSCR       0xFE967E04
679 #define MXI_ROTCE3RDMSCR        0xFE965E08
680 #define MXI_ROTCE3WDMSCR        0xFE967E08
681 #define MXI_ROTVLC3RDMSCR       0xFE965E0C
682 #define MXI_ROTVLC3WDMSCR       0xFE967E0C
683 #endif  /* R8A7792 */
684
685 #define CCI_AXI_MMUS0DMSCR      0xFF882000
686 #define CCI_AXI_SYX2DMSCR       0xFF882004
687 #define CCI_AXI_MMURDMSCR       0xFF882008
688 #define CCI_AXI_MMUDSDMSCR      0xFF88200C
689 #define CCI_AXI_MMUMDMSCR       0xFF882010
690 #define CCI_AXI_MXIDMSCR        0xFF882014
691 #define CCI_AXI_MMUS1DMSCR      0xFF882018
692 #define CCI_AXI_MMUMPDMSCR      0xFF88201C
693 #define CCI_AXI_DVMDMSCR        0xFF882020
694 #define CCI_AXI_CCISLVDMSCR     0xFF882100
695
696 #define CCI_AXI_IPMMUIDVMCR     0xFF880400
697 #define CCI_AXI_IPMMURDVMCR     0xFF880404
698 #define CCI_AXI_IPMMUS0DVMCR    0xFF880408
699 #define CCI_AXI_IPMMUS1DVMCR    0xFF88040C
700 #define CCI_AXI_IPMMUMPDVMCR    0xFF880410
701 #define CCI_AXI_IPMMUDSDVMCR    0xFF880414
702 #define CCI_AXI_AX2ADDRMASK     0xFF88041C
703
704 #define PLL0CR                  0xE61500D8
705 #define PLL0_STC_MASK           0x7F000000
706 #define PLL0_STC_BIT            24
707 #define PLLECR                  0xE61500D0
708 #define PLL0ST                  0x100
709
710 #ifndef __ASSEMBLY__
711 #include <asm/types.h>
712
713 /* RWDT */
714 struct rcar_rwdt {
715         u32 rwtcnt;     /* 0x00 */
716         u32 rwtcsra;    /* 0x04 */
717         u16 rwtcsrb;    /* 0x08 */
718 };
719
720 /* SWDT */
721 struct rcar_swdt {
722         u32 swtcnt;     /* 0x00 */
723         u32 swtcsra;    /* 0x04 */
724         u16 swtcsrb;    /* 0x08 */
725 };
726
727 /* LBSC */
728 struct rcar_lbsc {
729         u32 cs0ctrl;
730         u32 cs1ctrl;
731         u32 ecs0ctrl;
732         u32 ecs1ctrl;
733         u32 ecs2ctrl;
734         u32 ecs3ctrl;
735         u32 ecs4ctrl;
736         u32 ecs5ctrl;
737         u32 dummy0[4];  /* 0x20 .. 0x2C */
738         u32 cswcr0;
739         u32 cswcr1;
740         u32 ecswcr0;
741         u32 ecswcr1;
742         u32 ecswcr2;
743         u32 ecswcr3;
744         u32 ecswcr4;
745         u32 ecswcr5;
746         u32 exdmawcr0;
747         u32 exdmawcr1;
748         u32 exdmawcr2;
749         u32 dummy1[9];  /* 0x5C .. 0x7C */
750         u32 cspwcr0;
751         u32 cspwcr1;
752         u32 ecspwcr0;
753         u32 ecspwcr1;
754         u32 ecspwcr2;
755         u32 ecspwcr3;
756         u32 ecspwcr4;
757         u32 ecspwcr5;
758         u32 exwtsync;
759         u32 dummy2[3];  /* 0xA4 .. 0xAC */
760         u32 cs0bstctl;
761         u32 cs0btph;
762         u32 dummy3[2];  /* 0xB8 .. 0xBC */
763         u32 cs1gdst;
764         u32 ecs0gdst;
765         u32 ecs1gdst;
766         u32 ecs2gdst;
767         u32 ecs3gdst;
768         u32 ecs4gdst;
769         u32 ecs5gdst;
770         u32 dummy4[5];  /* 0xDC .. 0xEC */
771         u32 exdmaset0;
772         u32 exdmaset1;
773         u32 exdmaset2;
774         u32 dummy5[5];  /* 0xFC .. 0x10C */
775         u32 exdmcr0;
776         u32 exdmcr1;
777         u32 exdmcr2;
778         u32 dummy6[5];  /* 0x11C .. 0x12C */
779         u32 bcintsr;
780         u32 bcintcr;
781         u32 bcintmr;
782         u32 dummy7;     /* 0x13C */
783         u32 exbatlv;
784         u32 exwtsts;
785         u32 dummy8[14]; /* 0x148 .. 0x17C */
786         u32 atacsctrl;
787         u32 dummy9[15]; /* 0x184 .. 0x1BC */
788         u32 exbct;
789         u32 extct;
790 };
791
792 /* DBSC3 */
793 struct rcar_dbsc3 {
794         u32 dummy0[3];  /* 0x00 .. 0x08 */
795         u32 dbstate1;
796         u32 dbacen;
797         u32 dbrfen;
798         u32 dbcmd;
799         u32 dbwait;
800         u32 dbkind;
801         u32 dbconf0;
802         u32 dummy1[2];  /* 0x28 .. 0x2C */
803         u32 dbphytype;
804         u32 dummy2[3];  /* 0x34 .. 0x3C */
805         u32 dbtr0;
806         u32 dbtr1;
807         u32 dbtr2;
808         u32 dummy3;     /* 0x4C */
809         u32 dbtr3;
810         u32 dbtr4;
811         u32 dbtr5;
812         u32 dbtr6;
813         u32 dbtr7;
814         u32 dbtr8;
815         u32 dbtr9;
816         u32 dbtr10;
817         u32 dbtr11;
818         u32 dbtr12;
819         u32 dbtr13;
820         u32 dbtr14;
821         u32 dbtr15;
822         u32 dbtr16;
823         u32 dbtr17;
824         u32 dbtr18;
825         u32 dbtr19;
826         u32 dummy4[7];  /* 0x94 .. 0xAC */
827         u32 dbbl;
828         u32 dummy5[3];  /* 0xB4 .. 0xBC */
829         u32 dbadj0;
830         u32 dummy6;     /* 0xC4 */
831         u32 dbadj2;
832         u32 dummy7[5];  /* 0xCC .. 0xDC */
833         u32 dbrfcnf0;
834         u32 dbrfcnf1;
835         u32 dbrfcnf2;
836         u32 dummy8[2];  /* 0xEC .. 0xF0 */
837         u32 dbcalcnf;
838         u32 dbcaltr;
839         u32 dummy9;     /* 0xFC */
840         u32 dbrnk0;
841         u32 dummy10[31];        /* 0x104 .. 0x17C */
842         u32 dbpdncnf;
843         u32 dummy11[47];        /* 0x184 ..0x23C */
844         u32 dbdfistat;
845         u32 dbdficnt;
846         u32 dummy12[14];        /* 0x248 .. 0x27C */
847         u32 dbpdlck;
848         u32 dummy13[3]; /* 0x284 .. 0x28C */
849         u32 dbpdrga;
850         u32 dummy14[3]; /* 0x294 .. 0x29C */
851         u32 dbpdrgd;
852         u32 dummy15[24];        /* 0x2A4 .. 0x300 */
853         u32 dbbs0cnt1;
854         u32 dummy16[30];        /* 0x308 .. 0x37C */
855         u32 dbwt0cnf0;
856         u32 dbwt0cnf1;
857         u32 dbwt0cnf2;
858         u32 dbwt0cnf3;
859         u32 dbwt0cnf4;
860         u32 dummy17[27];        /* 0x394 .. 0x3FC */
861         u32 dbeccmode;
862         u32 dummy18[3];         /* 0x404 .. 0x40C */
863         u32 dbeccarea0;
864         u32 dbeccarea1;
865         u32 dbeccarea2;
866         u32 dbeccarea3;
867         u32 dummy19[4];         /* 0x420 .. 0x42C */
868         u32 dbeccintenable;
869         u32 dbeccintdetect;
870         u32 dummy20[22];        /* 0x438 .. 0x48C */
871         u32 dbeccmodulcnt;
872         u32 dummy21[27];        /* 0x494 .. 0x4FC */
873         u32 dbschecnt0;
874         u32 dummy22[63];        /* 0x504 .. 0x5FC */
875         u32 dbreradr0;
876         u32 dbreblane0;
877         u32 dbrerid0;
878         u32 dbrerinfo0;
879         u32 dbureradr0;
880         u32 dbureblane0;
881         u32 dburerid0;
882         u32 dburerinfo0;
883         u32 dbreradr1;
884         u32 dbreblane1;
885         u32 dbrerid1;
886         u32 dbrerinfo1;
887         u32 dbureradr1;
888         u32 dbureblane1;
889         u32 dburerid1;
890         u32 dburerinfo1;
891         u32 dbreradr2;
892         u32 dbreblane2;
893         u32 dbrerid2;
894         u32 dbrerinfo2;
895         u32 dbureradr2;
896         u32 dbureblane2;
897         u32 dburerid2;
898         u32 dburerinfo2;
899         u32 dbreradr3;
900         u32 dbreblane3;
901         u32 dbrerid3;
902         u32 dbrerinfo3;
903         u32 dbureradr3;
904         u32 dbureblane3;
905         u32 dburerid3;
906         u32 dburerinfo3;
907         u32 dummy23[160];       /* 0x680 .. 0x8FC */
908         u32 dbpccr;
909         u32 dbpeier;
910         u32 dbpeisr;
911         u32 dummy24;
912         u32 dbwdpesr0;
913         u32 dbwspesr0;
914         u32 dbpwear0;
915         u32 dbpweid0;
916         u32 dbpweinfo0;
917         u32 dummy25[3];         /* 0x924 .. 0x92C */
918         u32 dbwdpesr1;
919         u32 dbwspesr1;
920         u32 dbpwear1;
921         u32 dbpweid1;
922         u32 dbpweinfo1;
923         u32 dummy26[3];         /* 0x944 .. 0x94C */
924         u32 dbwdpesr2;
925         u32 dbwspesr2;
926         u32 dbpwear2;
927         u32 dbpweid2;
928         u32 dbpweinfo2;
929         u32 dummy27[3];         /* 0x964 .. 0x96C */
930         u32 dbwdpesr3;
931         u32 dbwspesr3;
932         u32 dbpwear3;
933         u32 dbpweid3;
934         u32 dbpweinfo3;
935 };
936
937 /* GPIO */
938 struct rcar_gpio {
939         u32 iointsel;
940         u32 inoutsel;
941         u32 outdt;
942         u32 indt;
943         u32 intdt;
944         u32 intclr;
945         u32 intmsk;
946         u32 posneg;
947         u32 edglevel;
948         u32 filonoff;
949         u32 intmsks;
950         u32 mskclrs;
951         u32 outdtsel;
952         u32 outdth;
953         u32 outdtl;
954         u32 bothedge;
955 };
956
957 /* S3C(QoS) */
958 struct rcar_s3c {
959         u32 s3cexcladdmsk;
960         u32 s3cexclidmsk;
961         u32 s3cadsplcr;
962         u32 s3cmaar;
963         u32 s3carcr11;
964         u32 s3crorr;
965         u32 s3cworr;
966         u32 s3carcr22;
967         u32 dummy1[2];  /* 0x20 .. 0x24 */
968         u32 s3cmctr;
969         u32 dummy2;     /* 0x2C */
970         u32 cconf0;
971         u32 cconf1;
972         u32 cconf2;
973         u32 cconf3;
974 };
975
976 struct rcar_s3c_qos {
977         u32 s3cqos0;
978         u32 s3cqos1;
979         u32 s3cqos2;
980         u32 s3cqos3;
981         u32 s3cqos4;
982         u32 s3cqos5;
983         u32 s3cqos6;
984         u32 s3cqos7;
985         u32 s3cqos8;
986 };
987
988 /* DBSC(QoS) */
989 struct rcar_dbsc3_qos {
990         u32 dblgcnt;
991         u32 dbtmval0;
992         u32 dbtmval1;
993         u32 dbtmval2;
994         u32 dbtmval3;
995         u32 dbrqctr;
996         u32 dbthres0;
997         u32 dbthres1;
998         u32 dbthres2;
999         u32 dummy0;     /* 0x24 */
1000         u32 dblgqon;
1001 };
1002
1003 /* MXI(QoS) */
1004 struct rcar_mxi {
1005         u32 mxsaar0;
1006         u32 mxsaar1;
1007         u32 dummy0[7];  /* 0x08 .. 0x20 */
1008         u32 mxaxiracr;  /* R8a7790 only */
1009         u32 mxs3cracr;
1010         u32 dummy1[2];  /* 0x2C .. 0x30 */
1011         u32 mxaxiwacr;  /* R8a7790 only */
1012         u32 mxs3cwacr;
1013         u32 dummy2;     /* 0x3C */
1014         u32 mxrtcr;
1015         u32 mxwtcr;
1016         u32 mxaxirtcr;  /* R8a7792 only */
1017         u32 mxaxiwtcr;
1018         u32 mxs3crtcr;
1019         u32 mxs3cwtcr;
1020 };
1021
1022 struct rcar_mxi_qos {
1023         u32 vspdu0;
1024         u32 vspdu1;
1025         u32 du0;
1026         u32 du1;
1027 };
1028
1029 /* AXI(QoS) */
1030 struct rcar_axi_qos {
1031         u32 qosconf;
1032         u32 qosctset0;
1033         u32 qosctset1;
1034         u32 qosctset2;
1035         u32 qosctset3;
1036         u32 qosreqctr;
1037         u32 qosthres0;
1038         u32 qosthres1;
1039         u32 qosthres2;
1040         u32 qosqon;
1041         u32 qosin;
1042 };
1043
1044 #endif
1045
1046 #endif /* __ASM_ARCH_RCAR_BASE_H */