xref: /rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_smmu.c (revision fba54d5568fcfad5334319617c959416fe865e0c)
1719fdb6eSVarun Wadekar /*
2719fdb6eSVarun Wadekar  * Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.
3719fdb6eSVarun Wadekar  *
4719fdb6eSVarun Wadekar  * SPDX-License-Identifier: BSD-3-Clause
5719fdb6eSVarun Wadekar  */
6719fdb6eSVarun Wadekar 
7719fdb6eSVarun Wadekar #include <common/bl_common.h>
8719fdb6eSVarun Wadekar #include <common/debug.h>
9719fdb6eSVarun Wadekar #include <smmu.h>
10719fdb6eSVarun Wadekar #include <tegra_def.h>
11f32e8525SVarun Wadekar #include <tegra_mc_def.h>
12719fdb6eSVarun Wadekar 
1313dcbc6fSSteven Kao #define BOARD_SYSTEM_FPGA_BASE		U(1)
1413dcbc6fSSteven Kao #define BASE_CONFIG_SMMU_DEVICES	U(2)
1513dcbc6fSSteven Kao #define MAX_NUM_SMMU_DEVICES		U(3)
1613dcbc6fSSteven Kao 
1713dcbc6fSSteven Kao static uint32_t tegra_misc_read_32(uint32_t off)
1813dcbc6fSSteven Kao {
19b6533b56SAnthony Zhou 	return mmio_read_32((uintptr_t)TEGRA_MISC_BASE + off);
2013dcbc6fSSteven Kao }
2113dcbc6fSSteven Kao 
22719fdb6eSVarun Wadekar /*******************************************************************************
231c62509eSVarun Wadekar  * Array to hold SMMU context for Tegra194
24719fdb6eSVarun Wadekar  ******************************************************************************/
25719fdb6eSVarun Wadekar static __attribute__((aligned(16))) smmu_regs_t tegra194_smmu_context[] = {
26719fdb6eSVarun Wadekar 	_START_OF_TABLE_,
27719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(HDAR),
28719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(HOST1XDMAR),
29719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(NVENCSRD),
30719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(SATAR),
31719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(NVENCSWR),
32719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(HDAW),
33719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(SATAW),
34719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(ISPRA),
35719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(ISPFALR),
36719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(ISPWA),
37719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(ISPWB),
38719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(XUSB_HOSTR),
39719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(XUSB_HOSTW),
40719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(XUSB_DEVR),
41719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(XUSB_DEVW),
42719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(TSECSRD),
43719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(TSECSWR),
44719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(SDMMCRA),
45719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(SDMMCR),
46719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(SDMMCRAB),
47719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(SDMMCWA),
48719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(SDMMCW),
49719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(SDMMCWAB),
50719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(VICSRD),
51719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(VICSWR),
52719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(VIW),
53719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(NVDECSRD),
54719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(NVDECSWR),
55719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(APER),
56719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(APEW),
57719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(NVJPGSRD),
58719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(NVJPGSWR),
59719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(SESRD),
60719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(SESWR),
61719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(AXIAPR),
62719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(AXIAPW),
63719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(ETRR),
64719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(ETRW),
65719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(TSECSRDB),
66719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(TSECSWRB),
67719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(AXISR),
68719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(AXISW),
69719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(EQOSR),
70719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(EQOSW),
71719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(UFSHCR),
72719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(UFSHCW),
73719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(NVDISPLAYR),
74719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(BPMPR),
75719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(BPMPW),
76719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(BPMPDMAR),
77719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(BPMPDMAW),
78719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(AONR),
79719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(AONW),
80719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(AONDMAR),
81719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(AONDMAW),
82719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(SCER),
83719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(SCEW),
84719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(SCEDMAR),
85719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(SCEDMAW),
86719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(APEDMAR),
87719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(APEDMAW),
88719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(NVDISPLAYR1),
89719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(VICSRD1),
90719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(NVDECSRD1),
91719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(VIFALR),
92719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(VIFALW),
93719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(DLA0RDA),
94719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(DLA0FALRDB),
95719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(DLA0WRA),
96719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(DLA0FALWRB),
97719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(DLA1RDA),
98719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(DLA1FALRDB),
99719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(DLA1WRA),
100719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(DLA1FALWRB),
101719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA0RDA),
102719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA0RDB),
103719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA0RDC),
104719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA0WRA),
105719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA0WRB),
106719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA0WRC),
107719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA1RDA),
108719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA1RDB),
109719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA1RDC),
110719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA1WRA),
111719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA1WRB),
112719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA1WRC),
113719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(RCER),
114719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(RCEW),
115719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(RCEDMAR),
116719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(RCEDMAW),
117719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(NVENC1SRD),
118719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(NVENC1SWR),
119719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PCIE0R),
120719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PCIE0W),
121719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PCIE1R),
122719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PCIE1W),
123719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PCIE2AR),
124719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PCIE2AW),
125719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PCIE3R),
126719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PCIE3W),
127719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PCIE4R),
128719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PCIE4W),
129719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PCIE5R),
130719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PCIE5W),
131719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(ISPFALW),
132719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(DLA0RDA1),
133719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(DLA1RDA1),
134719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA0RDA1),
135719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA0RDB1),
136719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA1RDA1),
137719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PVA1RDB1),
138719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(PCIE5R1),
139719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(NVENCSRD1),
140719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(NVENC1SRD1),
141719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(ISPRA1),
142719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(MIU0R),
143719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(MIU0W),
144719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(MIU1R),
145719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(MIU1W),
146719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(MIU2R),
147719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(MIU2W),
148719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(MIU3R),
149719fdb6eSVarun Wadekar 	mc_make_sid_security_cfg(MIU3W),
150719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(HDAR),
151719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(HOST1XDMAR),
152719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(NVENCSRD),
153719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(SATAR),
154719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(NVENCSWR),
155719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(HDAW),
156719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(SATAW),
157719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(ISPRA),
158719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(ISPFALR),
159719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(ISPWA),
160719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(ISPWB),
161719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(XUSB_HOSTR),
162719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(XUSB_HOSTW),
163719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(XUSB_DEVR),
164719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(XUSB_DEVW),
165719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(TSECSRD),
166719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(TSECSWR),
167719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(SDMMCRA),
168719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(SDMMCR),
169719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(SDMMCRAB),
170719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(SDMMCWA),
171719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(SDMMCW),
172719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(SDMMCWAB),
173719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(VICSRD),
174719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(VICSWR),
175719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(VIW),
176719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(NVDECSRD),
177719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(NVDECSWR),
178719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(APER),
179719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(APEW),
180719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(NVJPGSRD),
181719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(NVJPGSWR),
182719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(SESRD),
183719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(SESWR),
184719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(AXIAPR),
185719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(AXIAPW),
186719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(ETRR),
187719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(ETRW),
188719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(TSECSRDB),
189719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(TSECSWRB),
190719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(AXISR),
191719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(AXISW),
192719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(EQOSR),
193719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(EQOSW),
194719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(UFSHCR),
195719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(UFSHCW),
196719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(NVDISPLAYR),
197719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(BPMPR),
198719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(BPMPW),
199719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(BPMPDMAR),
200719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(BPMPDMAW),
201719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(AONR),
202719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(AONW),
203719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(AONDMAR),
204719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(AONDMAW),
205719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(SCER),
206719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(SCEW),
207719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(SCEDMAR),
208719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(SCEDMAW),
209719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(APEDMAR),
210719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(APEDMAW),
211719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(NVDISPLAYR1),
212719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(VICSRD1),
213719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(NVDECSRD1),
214719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(VIFALR),
215719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(VIFALW),
216719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(DLA0RDA),
217719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(DLA0FALRDB),
218719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(DLA0WRA),
219719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(DLA0FALWRB),
220719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(DLA1RDA),
221719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(DLA1FALRDB),
222719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(DLA1WRA),
223719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(DLA1FALWRB),
224719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA0RDA),
225719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA0RDB),
226719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA0RDC),
227719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA0WRA),
228719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA0WRB),
229719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA0WRC),
230719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA1RDA),
231719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA1RDB),
232719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA1RDC),
233719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA1WRA),
234719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA1WRB),
235719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA1WRC),
236719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(RCER),
237719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(RCEW),
238719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(RCEDMAR),
239719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(RCEDMAW),
240719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(NVENC1SRD),
241719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(NVENC1SWR),
242719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PCIE0R),
243719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PCIE0W),
244719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PCIE1R),
245719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PCIE1W),
246719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PCIE2AR),
247719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PCIE2AW),
248719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PCIE3R),
249719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PCIE3W),
250719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PCIE4R),
251719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PCIE4W),
252719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PCIE5R),
253719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PCIE5W),
254719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(ISPFALW),
255719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(DLA0RDA1),
256719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(DLA1RDA1),
257719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA0RDA1),
258719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA0RDB1),
259719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA1RDA1),
260719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PVA1RDB1),
261719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(PCIE5R1),
262719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(NVENCSRD1),
263719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(NVENC1SRD1),
264719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(ISPRA1),
265719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(MIU0R),
266719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(MIU0W),
267719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(MIU1R),
268719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(MIU1W),
269719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(MIU2R),
270719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(MIU2W),
271719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(MIU3R),
272719fdb6eSVarun Wadekar 	mc_make_sid_override_cfg(MIU3W),
273*fba54d55SPritesh Raithatha 	smmu_make_cfg(TEGRA_SMMU0_BASE),
274*fba54d55SPritesh Raithatha 	smmu_make_cfg(TEGRA_SMMU2_BASE),
275719fdb6eSVarun Wadekar 	smmu_bypass_cfg,	/* TBU settings */
276719fdb6eSVarun Wadekar 	_END_OF_TABLE_,
277719fdb6eSVarun Wadekar };
278719fdb6eSVarun Wadekar 
279719fdb6eSVarun Wadekar /*******************************************************************************
280719fdb6eSVarun Wadekar  * Handler to return the pointer to the SMMU's context struct
281719fdb6eSVarun Wadekar  ******************************************************************************/
282719fdb6eSVarun Wadekar smmu_regs_t *plat_get_smmu_ctx(void)
283719fdb6eSVarun Wadekar {
284719fdb6eSVarun Wadekar 	/* index of _END_OF_TABLE_ */
285b6533b56SAnthony Zhou 	tegra194_smmu_context[0].val = (uint32_t)ARRAY_SIZE(tegra194_smmu_context) - 1U;
286719fdb6eSVarun Wadekar 
287719fdb6eSVarun Wadekar 	return tegra194_smmu_context;
288719fdb6eSVarun Wadekar }
28913dcbc6fSSteven Kao 
29013dcbc6fSSteven Kao /*******************************************************************************
29113dcbc6fSSteven Kao  * Handler to return the support SMMU devices number
29213dcbc6fSSteven Kao  ******************************************************************************/
29313dcbc6fSSteven Kao uint32_t plat_get_num_smmu_devices(void)
29413dcbc6fSSteven Kao {
29513dcbc6fSSteven Kao 	uint32_t ret_num = MAX_NUM_SMMU_DEVICES;
29613dcbc6fSSteven Kao 	uint32_t board_revid = ((tegra_misc_read_32(MISCREG_EMU_REVID) >> \
2976907891dSPritesh Raithatha 							BOARD_SHIFT_BITS) & BOARD_MASK_BITS);
29813dcbc6fSSteven Kao 
29913dcbc6fSSteven Kao 	if (board_revid == BOARD_SYSTEM_FPGA_BASE) {
30013dcbc6fSSteven Kao 		ret_num = BASE_CONFIG_SMMU_DEVICES;
30113dcbc6fSSteven Kao 	}
30213dcbc6fSSteven Kao 
30313dcbc6fSSteven Kao 	return ret_num;
30413dcbc6fSSteven Kao }
305