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