xref: /rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/smmu.h (revision 4122151f6d0809de7b8d0b6b78c547307c16d99f)
1*4122151fSVarun Wadekar /*
2*4122151fSVarun Wadekar  * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
3*4122151fSVarun Wadekar  *
4*4122151fSVarun Wadekar  * Redistribution and use in source and binary forms, with or without
5*4122151fSVarun Wadekar  * modification, are permitted provided that the following conditions are met:
6*4122151fSVarun Wadekar  *
7*4122151fSVarun Wadekar  * Redistributions of source code must retain the above copyright notice, this
8*4122151fSVarun Wadekar  * list of conditions and the following disclaimer.
9*4122151fSVarun Wadekar  *
10*4122151fSVarun Wadekar  * Redistributions in binary form must reproduce the above copyright notice,
11*4122151fSVarun Wadekar  * this list of conditions and the following disclaimer in the documentation
12*4122151fSVarun Wadekar  * and/or other materials provided with the distribution.
13*4122151fSVarun Wadekar  *
14*4122151fSVarun Wadekar  * Neither the name of ARM nor the names of its contributors may be used
15*4122151fSVarun Wadekar  * to endorse or promote products derived from this software without specific
16*4122151fSVarun Wadekar  * prior written permission.
17*4122151fSVarun Wadekar  *
18*4122151fSVarun Wadekar  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19*4122151fSVarun Wadekar  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20*4122151fSVarun Wadekar  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21*4122151fSVarun Wadekar  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22*4122151fSVarun Wadekar  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23*4122151fSVarun Wadekar  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24*4122151fSVarun Wadekar  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25*4122151fSVarun Wadekar  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26*4122151fSVarun Wadekar  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27*4122151fSVarun Wadekar  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28*4122151fSVarun Wadekar  * POSSIBILITY OF SUCH DAMAGE.
29*4122151fSVarun Wadekar  */
30*4122151fSVarun Wadekar 
31*4122151fSVarun Wadekar #ifndef __SMMU_H
32*4122151fSVarun Wadekar #define __SMMU_H
33*4122151fSVarun Wadekar 
34*4122151fSVarun Wadekar #include <mmio.h>
35*4122151fSVarun Wadekar #include <tegra_def.h>
36*4122151fSVarun Wadekar 
37*4122151fSVarun Wadekar /*******************************************************************************
38*4122151fSVarun Wadekar  * SMMU Register constants
39*4122151fSVarun Wadekar  ******************************************************************************/
40*4122151fSVarun Wadekar #define SMMU_CBn_SCTLR				(0x0)
41*4122151fSVarun Wadekar #define SMMU_CBn_SCTLR_STAGE2			(0x0)
42*4122151fSVarun Wadekar #define SMMU_CBn_ACTLR				(0x4)
43*4122151fSVarun Wadekar #define SMMU_CBn_RESUME				(0x8)
44*4122151fSVarun Wadekar #define SMMU_CBn_TCR2				(0x10)
45*4122151fSVarun Wadekar #define SMMU_CBn_TTBR0_LO			(0x20)
46*4122151fSVarun Wadekar #define SMMU_CBn_TTBR0_HI			(0x24)
47*4122151fSVarun Wadekar #define SMMU_CBn_TTBR1_LO			(0x28)
48*4122151fSVarun Wadekar #define SMMU_CBn_TTBR1_HI			(0x2c)
49*4122151fSVarun Wadekar #define SMMU_CBn_TCR_LPAE			(0x30)
50*4122151fSVarun Wadekar #define SMMU_CBn_TCR				(0x30)
51*4122151fSVarun Wadekar #define SMMU_CBn_TCR_EAE_1			(0x30)
52*4122151fSVarun Wadekar #define SMMU_CBn_TCR				(0x30)
53*4122151fSVarun Wadekar #define SMMU_CBn_CONTEXTIDR			(0x34)
54*4122151fSVarun Wadekar #define SMMU_CBn_CONTEXTIDR_EAE_1		(0x34)
55*4122151fSVarun Wadekar #define SMMU_CBn_PRRR_MAIR0			(0x38)
56*4122151fSVarun Wadekar #define SMMU_CBn_NMRR_MAIR1			(0x3c)
57*4122151fSVarun Wadekar #define SMMU_CBn_SMMU_CBn_PAR			(0x50)
58*4122151fSVarun Wadekar #define SMMU_CBn_SMMU_CBn_PAR0			(0x50)
59*4122151fSVarun Wadekar #define SMMU_CBn_SMMU_CBn_PAR1			(0x54)
60*4122151fSVarun Wadekar /*      SMMU_CBn_SMMU_CBn_PAR0_Fault		(0x50) */
61*4122151fSVarun Wadekar /*      SMMU_CBn_SMMU_CBn_PAR0_Fault		(0x54) */
62*4122151fSVarun Wadekar #define SMMU_CBn_FSR				(0x58)
63*4122151fSVarun Wadekar #define SMMU_CBn_FSRRESTORE			(0x5c)
64*4122151fSVarun Wadekar #define SMMU_CBn_FAR_LO				(0x60)
65*4122151fSVarun Wadekar #define SMMU_CBn_FAR_HI				(0x64)
66*4122151fSVarun Wadekar #define SMMU_CBn_FSYNR0				(0x68)
67*4122151fSVarun Wadekar #define SMMU_CBn_IPAFAR_LO			(0x70)
68*4122151fSVarun Wadekar #define SMMU_CBn_IPAFAR_HI			(0x74)
69*4122151fSVarun Wadekar #define SMMU_CBn_TLBIVA_LO			(0x600)
70*4122151fSVarun Wadekar #define SMMU_CBn_TLBIVA_HI			(0x604)
71*4122151fSVarun Wadekar #define SMMU_CBn_TLBIVA_AARCH_32		(0x600)
72*4122151fSVarun Wadekar #define SMMU_CBn_TLBIVAA_LO			(0x608)
73*4122151fSVarun Wadekar #define SMMU_CBn_TLBIVAA_HI			(0x60c)
74*4122151fSVarun Wadekar #define SMMU_CBn_TLBIVAA_AARCH_32		(0x608)
75*4122151fSVarun Wadekar #define SMMU_CBn_TLBIASID			(0x610)
76*4122151fSVarun Wadekar #define SMMU_CBn_TLBIALL			(0x618)
77*4122151fSVarun Wadekar #define SMMU_CBn_TLBIVAL_LO			(0x620)
78*4122151fSVarun Wadekar #define SMMU_CBn_TLBIVAL_HI			(0x624)
79*4122151fSVarun Wadekar #define SMMU_CBn_TLBIVAL_AARCH_32		(0x618)
80*4122151fSVarun Wadekar #define SMMU_CBn_TLBIVAAL_LO			(0x628)
81*4122151fSVarun Wadekar #define SMMU_CBn_TLBIVAAL_HI			(0x62c)
82*4122151fSVarun Wadekar #define SMMU_CBn_TLBIVAAL_AARCH_32		(0x628)
83*4122151fSVarun Wadekar #define SMMU_CBn_TLBIIPAS2_LO			(0x630)
84*4122151fSVarun Wadekar #define SMMU_CBn_TLBIIPAS2_HI			(0x634)
85*4122151fSVarun Wadekar #define SMMU_CBn_TLBIIPAS2L_LO			(0x638)
86*4122151fSVarun Wadekar #define SMMU_CBn_TLBIIPAS2L_HI			(0x63c)
87*4122151fSVarun Wadekar #define SMMU_CBn_TLBSYNC			(0x7f0)
88*4122151fSVarun Wadekar #define SMMU_CBn_TLBSTATUS			(0x7f4)
89*4122151fSVarun Wadekar #define SMMU_CBn_ATSR				(0x800)
90*4122151fSVarun Wadekar #define SMMU_CBn_PMEVCNTR0			(0xe00)
91*4122151fSVarun Wadekar #define SMMU_CBn_PMEVCNTR1			(0xe04)
92*4122151fSVarun Wadekar #define SMMU_CBn_PMEVCNTR2			(0xe08)
93*4122151fSVarun Wadekar #define SMMU_CBn_PMEVCNTR3			(0xe0c)
94*4122151fSVarun Wadekar #define SMMU_CBn_PMEVTYPER0			(0xe80)
95*4122151fSVarun Wadekar #define SMMU_CBn_PMEVTYPER1			(0xe84)
96*4122151fSVarun Wadekar #define SMMU_CBn_PMEVTYPER2			(0xe88)
97*4122151fSVarun Wadekar #define SMMU_CBn_PMEVTYPER3			(0xe8c)
98*4122151fSVarun Wadekar #define SMMU_CBn_PMCFGR				(0xf00)
99*4122151fSVarun Wadekar #define SMMU_CBn_PMCR				(0xf04)
100*4122151fSVarun Wadekar #define SMMU_CBn_PMCEID				(0xf20)
101*4122151fSVarun Wadekar #define SMMU_CBn_PMCNTENSE			(0xf40)
102*4122151fSVarun Wadekar #define SMMU_CBn_PMCNTENCLR			(0xf44)
103*4122151fSVarun Wadekar #define SMMU_CBn_PMCNTENSET			(0xf48)
104*4122151fSVarun Wadekar #define SMMU_CBn_PMINTENCLR			(0xf4c)
105*4122151fSVarun Wadekar #define SMMU_CBn_PMOVSCLR			(0xf50)
106*4122151fSVarun Wadekar #define SMMU_CBn_PMOVSSET			(0xf58)
107*4122151fSVarun Wadekar #define SMMU_CBn_PMAUTHSTATUS			(0xfb8)
108*4122151fSVarun Wadekar #define SMMU_GNSR0_CR0				(0x0)
109*4122151fSVarun Wadekar #define SMMU_GNSR0_CR2				(0x8)
110*4122151fSVarun Wadekar #define SMMU_GNSR0_ACR				(0x10)
111*4122151fSVarun Wadekar #define SMMU_GNSR0_IDR0				(0x20)
112*4122151fSVarun Wadekar #define SMMU_GNSR0_IDR1				(0x24)
113*4122151fSVarun Wadekar #define SMMU_GNSR0_IDR2				(0x28)
114*4122151fSVarun Wadekar #define SMMU_GNSR0_IDR7				(0x3c)
115*4122151fSVarun Wadekar #define SMMU_GNSR0_GFAR_LO			(0x40)
116*4122151fSVarun Wadekar #define SMMU_GNSR0_GFAR_HI			(0x44)
117*4122151fSVarun Wadekar #define SMMU_GNSR0_GFSR				(0x48)
118*4122151fSVarun Wadekar #define SMMU_GNSR0_GFSRRESTORE			(0x4c)
119*4122151fSVarun Wadekar #define SMMU_GNSR0_GFSYNR0			(0x50)
120*4122151fSVarun Wadekar #define SMMU_GNSR0_GFSYNR1			(0x54)
121*4122151fSVarun Wadekar #define SMMU_GNSR0_GFSYNR1_v2			(0x54)
122*4122151fSVarun Wadekar #define SMMU_GNSR0_TLBIVMID			(0x64)
123*4122151fSVarun Wadekar #define SMMU_GNSR0_TLBIALLNSNH			(0x68)
124*4122151fSVarun Wadekar #define SMMU_GNSR0_TLBIALLH			(0x6c)
125*4122151fSVarun Wadekar #define SMMU_GNSR0_TLBGSYNC			(0x70)
126*4122151fSVarun Wadekar #define SMMU_GNSR0_TLBGSTATUS			(0x74)
127*4122151fSVarun Wadekar #define SMMU_GNSR0_TLBIVAH_LO			(0x78)
128*4122151fSVarun Wadekar #define SMMU_GNSR0_TLBIVALH64_LO		(0xb0)
129*4122151fSVarun Wadekar #define SMMU_GNSR0_TLBIVALH64_HI		(0xb4)
130*4122151fSVarun Wadekar #define SMMU_GNSR0_TLBIVMIDS1			(0xb8)
131*4122151fSVarun Wadekar #define SMMU_GNSR0_TLBIVAH64_LO			(0xc0)
132*4122151fSVarun Wadekar #define SMMU_GNSR0_TLBIVAH64_HI			(0xc4)
133*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR0				(0x800)
134*4122151fSVarun Wadekar #define SMMU_GNSR0_SMRn				(0x800)
135*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR1				(0x804)
136*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR2				(0x808)
137*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR3				(0x80c)
138*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR4				(0x810)
139*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR5				(0x814)
140*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR6				(0x818)
141*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR7				(0x81c)
142*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR8				(0x820)
143*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR9				(0x824)
144*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR10			(0x828)
145*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR11			(0x82c)
146*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR12			(0x830)
147*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR13			(0x834)
148*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR14			(0x838)
149*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR15			(0x83c)
150*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR16			(0x840)
151*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR17			(0x844)
152*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR18			(0x848)
153*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR19			(0x84c)
154*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR20			(0x850)
155*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR21			(0x854)
156*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR22			(0x858)
157*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR23			(0x85c)
158*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR24			(0x860)
159*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR25			(0x864)
160*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR26			(0x868)
161*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR27			(0x86c)
162*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR28			(0x870)
163*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR29			(0x874)
164*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR30			(0x878)
165*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR31			(0x87c)
166*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR32			(0x880)
167*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR33			(0x884)
168*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR34			(0x888)
169*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR35			(0x88c)
170*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR36			(0x890)
171*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR37			(0x894)
172*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR38			(0x898)
173*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR39			(0x89c)
174*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR40			(0x8a0)
175*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR41			(0x8a4)
176*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR42			(0x8a8)
177*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR43			(0x8ac)
178*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR44			(0x8b0)
179*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR45			(0x8b4)
180*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR46			(0x8b8)
181*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR47			(0x8bc)
182*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR48			(0x8c0)
183*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR49			(0x8c4)
184*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR50			(0x8c8)
185*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR51			(0x8cc)
186*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR52			(0x8d0)
187*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR53			(0x8d4)
188*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR54			(0x8d8)
189*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR55			(0x8dc)
190*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR56			(0x8e0)
191*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR57			(0x8e4)
192*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR58			(0x8e8)
193*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR59			(0x8ec)
194*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR60			(0x8f0)
195*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR61			(0x8f4)
196*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR62			(0x8f8)
197*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR63			(0x8fc)
198*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR64			(0x900)
199*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR65			(0x904)
200*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR66			(0x908)
201*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR67			(0x90c)
202*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR68			(0x910)
203*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR69			(0x914)
204*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR70			(0x918)
205*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR71			(0x91c)
206*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR72			(0x920)
207*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR73			(0x924)
208*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR74			(0x928)
209*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR75			(0x92c)
210*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR76			(0x930)
211*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR77			(0x934)
212*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR78			(0x938)
213*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR79			(0x93c)
214*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR80			(0x940)
215*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR81			(0x944)
216*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR82			(0x948)
217*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR83			(0x94c)
218*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR84			(0x950)
219*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR85			(0x954)
220*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR86			(0x958)
221*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR87			(0x95c)
222*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR88			(0x960)
223*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR89			(0x964)
224*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR90			(0x968)
225*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR91			(0x96c)
226*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR92			(0x970)
227*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR93			(0x974)
228*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR94			(0x978)
229*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR95			(0x97c)
230*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR96			(0x980)
231*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR97			(0x984)
232*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR98			(0x988)
233*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR99			(0x98c)
234*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR100			(0x990)
235*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR101			(0x994)
236*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR102			(0x998)
237*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR103			(0x99c)
238*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR104			(0x9a0)
239*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR105			(0x9a4)
240*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR106			(0x9a8)
241*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR107			(0x9ac)
242*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR108			(0x9b0)
243*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR109			(0x9b4)
244*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR110			(0x9b8)
245*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR111			(0x9bc)
246*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR112			(0x9c0)
247*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR113			(0x9c4)
248*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR114			(0x9c8)
249*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR115			(0x9cc)
250*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR116			(0x9d0)
251*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR117			(0x9d4)
252*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR118			(0x9d8)
253*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR119			(0x9dc)
254*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR120			(0x9e0)
255*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR121			(0x9e4)
256*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR122			(0x9e8)
257*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR123			(0x9ec)
258*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR124			(0x9f0)
259*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR125			(0x9f4)
260*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR126			(0x9f8)
261*4122151fSVarun Wadekar #define SMMU_GNSR0_SMR127			(0x9fc)
262*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR0			(0xc00)
263*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CRn			(0xc00)
264*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CRn			(0xc00)
265*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR1			(0xc04)
266*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR2			(0xc08)
267*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR3			(0xc0c)
268*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR4			(0xc10)
269*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR5			(0xc14)
270*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR6			(0xc18)
271*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR7			(0xc1c)
272*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR8			(0xc20)
273*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR9			(0xc24)
274*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR10			(0xc28)
275*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR11			(0xc2c)
276*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR12			(0xc30)
277*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR13			(0xc34)
278*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR14			(0xc38)
279*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR15			(0xc3c)
280*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR16			(0xc40)
281*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR17			(0xc44)
282*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR18			(0xc48)
283*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR19			(0xc4c)
284*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR20			(0xc50)
285*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR21			(0xc54)
286*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR22			(0xc58)
287*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR23			(0xc5c)
288*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR24			(0xc60)
289*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR25			(0xc64)
290*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR26			(0xc68)
291*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR27			(0xc6c)
292*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR28			(0xc70)
293*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR29			(0xc74)
294*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR30			(0xc78)
295*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR31			(0xc7c)
296*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR32			(0xc80)
297*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR33			(0xc84)
298*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR34			(0xc88)
299*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR35			(0xc8c)
300*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR36			(0xc90)
301*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR37			(0xc94)
302*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR38			(0xc98)
303*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR39			(0xc9c)
304*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR40			(0xca0)
305*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR41			(0xca4)
306*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR42			(0xca8)
307*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR43			(0xcac)
308*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR44			(0xcb0)
309*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR45			(0xcb4)
310*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR46			(0xcb8)
311*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR47			(0xcbc)
312*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR48			(0xcc0)
313*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR49			(0xcc4)
314*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR50			(0xcc8)
315*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR51			(0xccc)
316*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR52			(0xcd0)
317*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR53			(0xcd4)
318*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR54			(0xcd8)
319*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR55			(0xcdc)
320*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR56			(0xce0)
321*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR57			(0xce4)
322*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR58			(0xce8)
323*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR59			(0xcec)
324*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR60			(0xcf0)
325*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR61			(0xcf4)
326*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR62			(0xcf8)
327*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR63			(0xcfc)
328*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR64			(0xd00)
329*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR65			(0xd04)
330*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR66			(0xd08)
331*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR67			(0xd0c)
332*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR68			(0xd10)
333*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR69			(0xd14)
334*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR70			(0xd18)
335*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR71			(0xd1c)
336*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR72			(0xd20)
337*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR73			(0xd24)
338*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR74			(0xd28)
339*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR75			(0xd2c)
340*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR76			(0xd30)
341*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR77			(0xd34)
342*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR78			(0xd38)
343*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR79			(0xd3c)
344*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR80			(0xd40)
345*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR81			(0xd44)
346*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR82			(0xd48)
347*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR83			(0xd4c)
348*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR84			(0xd50)
349*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR85			(0xd54)
350*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR86			(0xd58)
351*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR87			(0xd5c)
352*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR88			(0xd60)
353*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR89			(0xd64)
354*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR90			(0xd68)
355*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR91			(0xd6c)
356*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR92			(0xd70)
357*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR93			(0xd74)
358*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR94			(0xd78)
359*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR95			(0xd7c)
360*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR96			(0xd80)
361*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR97			(0xd84)
362*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR98			(0xd88)
363*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR99			(0xd8c)
364*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR100			(0xd90)
365*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR101			(0xd94)
366*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR102			(0xd98)
367*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR103			(0xd9c)
368*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR104			(0xda0)
369*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR105			(0xda4)
370*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR106			(0xda8)
371*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR107			(0xdac)
372*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR108			(0xdb0)
373*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR109			(0xdb4)
374*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR110			(0xdb8)
375*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR111			(0xdbc)
376*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR112			(0xdc0)
377*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR113			(0xdc4)
378*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR114			(0xdc8)
379*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR115			(0xdcc)
380*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR116			(0xdd0)
381*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR117			(0xdd4)
382*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR118			(0xdd8)
383*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR119			(0xddc)
384*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR120			(0xde0)
385*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR121			(0xde4)
386*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR122			(0xde8)
387*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR123			(0xdec)
388*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR124			(0xdf0)
389*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR125			(0xdf4)
390*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR126			(0xdf8)
391*4122151fSVarun Wadekar #define SMMU_GNSR0_S2CR127			(0xdfc)
392*4122151fSVarun Wadekar #define SMMU_GNSR0_PIDR0			(0xfe0)
393*4122151fSVarun Wadekar #define SMMU_GNSR0_PIDR1			(0xfe4)
394*4122151fSVarun Wadekar #define SMMU_GNSR0_PIDR2			(0xfe8)
395*4122151fSVarun Wadekar #define SMMU_GNSR0_PIDR3			(0xfec)
396*4122151fSVarun Wadekar #define SMMU_GNSR0_PIDR4			(0xfd0)
397*4122151fSVarun Wadekar #define SMMU_GNSR0_PIDR5			(0xfd4)
398*4122151fSVarun Wadekar #define SMMU_GNSR0_PIDR6			(0xfd8)
399*4122151fSVarun Wadekar #define SMMU_GNSR0_PIDR7			(0xfdc)
400*4122151fSVarun Wadekar #define SMMU_GNSR0_CIDR0			(0xff0)
401*4122151fSVarun Wadekar #define SMMU_GNSR0_CIDR1			(0xff4)
402*4122151fSVarun Wadekar #define SMMU_GNSR0_CIDR2			(0xff8)
403*4122151fSVarun Wadekar #define SMMU_GNSR0_CIDR3			(0xffc)
404*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR0			(0x0)
405*4122151fSVarun Wadekar #define SMMU_GNSR1_CBARn			(0x0)
406*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA0			(0x400)
407*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R0			(0x800)
408*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR1			(0x4)
409*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA1			(0x404)
410*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R1			(0x804)
411*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR2			(0x8)
412*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA2			(0x408)
413*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R2			(0x808)
414*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR3			(0xc)
415*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA3			(0x40c)
416*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R3			(0x80c)
417*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR4			(0x10)
418*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA4			(0x410)
419*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R4			(0x810)
420*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR5			(0x14)
421*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA5			(0x414)
422*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R5			(0x814)
423*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR6			(0x18)
424*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA6			(0x418)
425*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R6			(0x818)
426*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR7			(0x1c)
427*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA7			(0x41c)
428*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R7			(0x81c)
429*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR8			(0x20)
430*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA8			(0x420)
431*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R8			(0x820)
432*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR9			(0x24)
433*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA9			(0x424)
434*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R9			(0x824)
435*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR10			(0x28)
436*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA10			(0x428)
437*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R10			(0x828)
438*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR11			(0x2c)
439*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA11			(0x42c)
440*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R11			(0x82c)
441*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR12			(0x30)
442*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA12			(0x430)
443*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R12			(0x830)
444*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR13			(0x34)
445*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA13			(0x434)
446*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R13			(0x834)
447*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR14			(0x38)
448*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA14			(0x438)
449*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R14			(0x838)
450*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR15			(0x3c)
451*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA15			(0x43c)
452*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R15			(0x83c)
453*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR16			(0x40)
454*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA16			(0x440)
455*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R16			(0x840)
456*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR17			(0x44)
457*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA17			(0x444)
458*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R17			(0x844)
459*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR18			(0x48)
460*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA18			(0x448)
461*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R18			(0x848)
462*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR19			(0x4c)
463*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA19			(0x44c)
464*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R19			(0x84c)
465*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR20			(0x50)
466*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA20			(0x450)
467*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R20			(0x850)
468*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR21			(0x54)
469*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA21			(0x454)
470*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R21			(0x854)
471*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR22			(0x58)
472*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA22			(0x458)
473*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R22			(0x858)
474*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR23			(0x5c)
475*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA23			(0x45c)
476*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R23			(0x85c)
477*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR24			(0x60)
478*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA24			(0x460)
479*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R24			(0x860)
480*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR25			(0x64)
481*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA25			(0x464)
482*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R25			(0x864)
483*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR26			(0x68)
484*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA26			(0x468)
485*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R26			(0x868)
486*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR27			(0x6c)
487*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA27			(0x46c)
488*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R27			(0x86c)
489*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR28			(0x70)
490*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA28			(0x470)
491*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R28			(0x870)
492*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR29			(0x74)
493*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA29			(0x474)
494*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R29			(0x874)
495*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR30			(0x78)
496*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA30			(0x478)
497*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R30			(0x878)
498*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR31			(0x7c)
499*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA31			(0x47c)
500*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R31			(0x87c)
501*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR32			(0x80)
502*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA32			(0x480)
503*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R32			(0x880)
504*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR33			(0x84)
505*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA33			(0x484)
506*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R33			(0x884)
507*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR34			(0x88)
508*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA34			(0x488)
509*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R34			(0x888)
510*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR35			(0x8c)
511*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA35			(0x48c)
512*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R35			(0x88c)
513*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR36			(0x90)
514*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA36			(0x490)
515*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R36			(0x890)
516*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR37			(0x94)
517*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA37			(0x494)
518*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R37			(0x894)
519*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR38			(0x98)
520*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA38			(0x498)
521*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R38			(0x898)
522*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR39			(0x9c)
523*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA39			(0x49c)
524*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R39			(0x89c)
525*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR40			(0xa0)
526*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA40			(0x4a0)
527*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R40			(0x8a0)
528*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR41			(0xa4)
529*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA41			(0x4a4)
530*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R41			(0x8a4)
531*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR42			(0xa8)
532*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA42			(0x4a8)
533*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R42			(0x8a8)
534*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR43			(0xac)
535*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA43			(0x4ac)
536*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R43			(0x8ac)
537*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR44			(0xb0)
538*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA44			(0x4b0)
539*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R44			(0x8b0)
540*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR45			(0xb4)
541*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA45			(0x4b4)
542*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R45			(0x8b4)
543*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR46			(0xb8)
544*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA46			(0x4b8)
545*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R46			(0x8b8)
546*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR47			(0xbc)
547*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA47			(0x4bc)
548*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R47			(0x8bc)
549*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR48			(0xc0)
550*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA48			(0x4c0)
551*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R48			(0x8c0)
552*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR49			(0xc4)
553*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA49			(0x4c4)
554*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R49			(0x8c4)
555*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR50			(0xc8)
556*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA50			(0x4c8)
557*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R50			(0x8c8)
558*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR51			(0xcc)
559*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA51			(0x4cc)
560*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R51			(0x8cc)
561*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR52			(0xd0)
562*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA52			(0x4d0)
563*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R52			(0x8d0)
564*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR53			(0xd4)
565*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA53			(0x4d4)
566*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R53			(0x8d4)
567*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR54			(0xd8)
568*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA54			(0x4d8)
569*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R54			(0x8d8)
570*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR55			(0xdc)
571*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA55			(0x4dc)
572*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R55			(0x8dc)
573*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR56			(0xe0)
574*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA56			(0x4e0)
575*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R56			(0x8e0)
576*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR57			(0xe4)
577*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA57			(0x4e4)
578*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R57			(0x8e4)
579*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR58			(0xe8)
580*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA58			(0x4e8)
581*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R58			(0x8e8)
582*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR59			(0xec)
583*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA59			(0x4ec)
584*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R59			(0x8ec)
585*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR60			(0xf0)
586*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA60			(0x4f0)
587*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R60			(0x8f0)
588*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR61			(0xf4)
589*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA61			(0x4f4)
590*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R61			(0x8f4)
591*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR62			(0xf8)
592*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA62			(0x4f8)
593*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R62			(0x8f8)
594*4122151fSVarun Wadekar #define SMMU_GNSR1_CBAR63			(0xfc)
595*4122151fSVarun Wadekar #define SMMU_GNSR1_CBFRSYNRA63			(0x4fc)
596*4122151fSVarun Wadekar #define SMMU_GNSR1_CBA2R63			(0x8fc)
597*4122151fSVarun Wadekar 
598*4122151fSVarun Wadekar /*******************************************************************************
599*4122151fSVarun Wadekar  * SMMU Global Secure Aux. Configuration Register
600*4122151fSVarun Wadekar  ******************************************************************************/
601*4122151fSVarun Wadekar #define SMMU_GSR0_SECURE_ACR			0x10
602*4122151fSVarun Wadekar #define SMMU_GSR0_PGSIZE_SHIFT			16
603*4122151fSVarun Wadekar #define SMMU_GSR0_PGSIZE_4K			(0 << SMMU_GSR0_PGSIZE_SHIFT)
604*4122151fSVarun Wadekar #define SMMU_GSR0_PGSIZE_64K			(1 << SMMU_GSR0_PGSIZE_SHIFT)
605*4122151fSVarun Wadekar 
606*4122151fSVarun Wadekar /*******************************************************************************
607*4122151fSVarun Wadekar  * SMMU configuration constants
608*4122151fSVarun Wadekar  ******************************************************************************/
609*4122151fSVarun Wadekar #define ID1_PAGESIZE				(1 << 31)
610*4122151fSVarun Wadekar #define ID1_NUMPAGENDXB_SHIFT			28
611*4122151fSVarun Wadekar #define ID1_NUMPAGENDXB_MASK			7
612*4122151fSVarun Wadekar #define ID1_NUMS2CB_SHIFT			16
613*4122151fSVarun Wadekar #define ID1_NUMS2CB_MASK			0xff
614*4122151fSVarun Wadekar #define ID1_NUMCB_SHIFT				0
615*4122151fSVarun Wadekar #define ID1_NUMCB_MASK				0xff
616*4122151fSVarun Wadekar #define PGSHIFT					16
617*4122151fSVarun Wadekar #define CB_SIZE					0x800000
618*4122151fSVarun Wadekar 
619*4122151fSVarun Wadekar static inline uint32_t tegra_smmu_read_32(uint32_t off)
620*4122151fSVarun Wadekar {
621*4122151fSVarun Wadekar 	return mmio_read_32(TEGRA_SMMU_BASE + off);
622*4122151fSVarun Wadekar }
623*4122151fSVarun Wadekar 
624*4122151fSVarun Wadekar static inline void tegra_smmu_write_32(uint32_t off, uint32_t val)
625*4122151fSVarun Wadekar {
626*4122151fSVarun Wadekar 	mmio_write_32(TEGRA_SMMU_BASE + off, val);
627*4122151fSVarun Wadekar }
628*4122151fSVarun Wadekar 
629*4122151fSVarun Wadekar void tegra_smmu_init(void);
630*4122151fSVarun Wadekar void tegra_smmu_save_context(void);
631*4122151fSVarun Wadekar 
632*4122151fSVarun Wadekar #endif /*__SMMU_H */
633