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