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