1719fdb6eSVarun Wadekar /* 2*844e6cc5SPritesh Raithatha * Copyright (c) 2019-2020, 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), 142*844e6cc5SPritesh Raithatha mc_make_sid_security_cfg(PCIE0R1), 143719fdb6eSVarun Wadekar mc_make_sid_security_cfg(MIU0R), 144719fdb6eSVarun Wadekar mc_make_sid_security_cfg(MIU0W), 145719fdb6eSVarun Wadekar mc_make_sid_security_cfg(MIU1R), 146719fdb6eSVarun Wadekar mc_make_sid_security_cfg(MIU1W), 147719fdb6eSVarun Wadekar mc_make_sid_security_cfg(MIU2R), 148719fdb6eSVarun Wadekar mc_make_sid_security_cfg(MIU2W), 149719fdb6eSVarun Wadekar mc_make_sid_security_cfg(MIU3R), 150719fdb6eSVarun Wadekar mc_make_sid_security_cfg(MIU3W), 151719fdb6eSVarun Wadekar mc_make_sid_override_cfg(HDAR), 152719fdb6eSVarun Wadekar mc_make_sid_override_cfg(HOST1XDMAR), 153719fdb6eSVarun Wadekar mc_make_sid_override_cfg(NVENCSRD), 154719fdb6eSVarun Wadekar mc_make_sid_override_cfg(SATAR), 155719fdb6eSVarun Wadekar mc_make_sid_override_cfg(NVENCSWR), 156719fdb6eSVarun Wadekar mc_make_sid_override_cfg(HDAW), 157719fdb6eSVarun Wadekar mc_make_sid_override_cfg(SATAW), 158719fdb6eSVarun Wadekar mc_make_sid_override_cfg(ISPRA), 159719fdb6eSVarun Wadekar mc_make_sid_override_cfg(ISPFALR), 160719fdb6eSVarun Wadekar mc_make_sid_override_cfg(ISPWA), 161719fdb6eSVarun Wadekar mc_make_sid_override_cfg(ISPWB), 162719fdb6eSVarun Wadekar mc_make_sid_override_cfg(XUSB_HOSTR), 163719fdb6eSVarun Wadekar mc_make_sid_override_cfg(XUSB_HOSTW), 164719fdb6eSVarun Wadekar mc_make_sid_override_cfg(XUSB_DEVR), 165719fdb6eSVarun Wadekar mc_make_sid_override_cfg(XUSB_DEVW), 166719fdb6eSVarun Wadekar mc_make_sid_override_cfg(TSECSRD), 167719fdb6eSVarun Wadekar mc_make_sid_override_cfg(TSECSWR), 168719fdb6eSVarun Wadekar mc_make_sid_override_cfg(SDMMCRA), 169719fdb6eSVarun Wadekar mc_make_sid_override_cfg(SDMMCR), 170719fdb6eSVarun Wadekar mc_make_sid_override_cfg(SDMMCRAB), 171719fdb6eSVarun Wadekar mc_make_sid_override_cfg(SDMMCWA), 172719fdb6eSVarun Wadekar mc_make_sid_override_cfg(SDMMCW), 173719fdb6eSVarun Wadekar mc_make_sid_override_cfg(SDMMCWAB), 174719fdb6eSVarun Wadekar mc_make_sid_override_cfg(VICSRD), 175719fdb6eSVarun Wadekar mc_make_sid_override_cfg(VICSWR), 176719fdb6eSVarun Wadekar mc_make_sid_override_cfg(VIW), 177719fdb6eSVarun Wadekar mc_make_sid_override_cfg(NVDECSRD), 178719fdb6eSVarun Wadekar mc_make_sid_override_cfg(NVDECSWR), 179719fdb6eSVarun Wadekar mc_make_sid_override_cfg(APER), 180719fdb6eSVarun Wadekar mc_make_sid_override_cfg(APEW), 181719fdb6eSVarun Wadekar mc_make_sid_override_cfg(NVJPGSRD), 182719fdb6eSVarun Wadekar mc_make_sid_override_cfg(NVJPGSWR), 183719fdb6eSVarun Wadekar mc_make_sid_override_cfg(SESRD), 184719fdb6eSVarun Wadekar mc_make_sid_override_cfg(SESWR), 185719fdb6eSVarun Wadekar mc_make_sid_override_cfg(AXIAPR), 186719fdb6eSVarun Wadekar mc_make_sid_override_cfg(AXIAPW), 187719fdb6eSVarun Wadekar mc_make_sid_override_cfg(ETRR), 188719fdb6eSVarun Wadekar mc_make_sid_override_cfg(ETRW), 189719fdb6eSVarun Wadekar mc_make_sid_override_cfg(TSECSRDB), 190719fdb6eSVarun Wadekar mc_make_sid_override_cfg(TSECSWRB), 191719fdb6eSVarun Wadekar mc_make_sid_override_cfg(AXISR), 192719fdb6eSVarun Wadekar mc_make_sid_override_cfg(AXISW), 193719fdb6eSVarun Wadekar mc_make_sid_override_cfg(EQOSR), 194719fdb6eSVarun Wadekar mc_make_sid_override_cfg(EQOSW), 195719fdb6eSVarun Wadekar mc_make_sid_override_cfg(UFSHCR), 196719fdb6eSVarun Wadekar mc_make_sid_override_cfg(UFSHCW), 197719fdb6eSVarun Wadekar mc_make_sid_override_cfg(NVDISPLAYR), 198719fdb6eSVarun Wadekar mc_make_sid_override_cfg(BPMPR), 199719fdb6eSVarun Wadekar mc_make_sid_override_cfg(BPMPW), 200719fdb6eSVarun Wadekar mc_make_sid_override_cfg(BPMPDMAR), 201719fdb6eSVarun Wadekar mc_make_sid_override_cfg(BPMPDMAW), 202719fdb6eSVarun Wadekar mc_make_sid_override_cfg(AONR), 203719fdb6eSVarun Wadekar mc_make_sid_override_cfg(AONW), 204719fdb6eSVarun Wadekar mc_make_sid_override_cfg(AONDMAR), 205719fdb6eSVarun Wadekar mc_make_sid_override_cfg(AONDMAW), 206719fdb6eSVarun Wadekar mc_make_sid_override_cfg(SCER), 207719fdb6eSVarun Wadekar mc_make_sid_override_cfg(SCEW), 208719fdb6eSVarun Wadekar mc_make_sid_override_cfg(SCEDMAR), 209719fdb6eSVarun Wadekar mc_make_sid_override_cfg(SCEDMAW), 210719fdb6eSVarun Wadekar mc_make_sid_override_cfg(APEDMAR), 211719fdb6eSVarun Wadekar mc_make_sid_override_cfg(APEDMAW), 212719fdb6eSVarun Wadekar mc_make_sid_override_cfg(NVDISPLAYR1), 213719fdb6eSVarun Wadekar mc_make_sid_override_cfg(VICSRD1), 214719fdb6eSVarun Wadekar mc_make_sid_override_cfg(NVDECSRD1), 215719fdb6eSVarun Wadekar mc_make_sid_override_cfg(VIFALR), 216719fdb6eSVarun Wadekar mc_make_sid_override_cfg(VIFALW), 217719fdb6eSVarun Wadekar mc_make_sid_override_cfg(DLA0RDA), 218719fdb6eSVarun Wadekar mc_make_sid_override_cfg(DLA0FALRDB), 219719fdb6eSVarun Wadekar mc_make_sid_override_cfg(DLA0WRA), 220719fdb6eSVarun Wadekar mc_make_sid_override_cfg(DLA0FALWRB), 221719fdb6eSVarun Wadekar mc_make_sid_override_cfg(DLA1RDA), 222719fdb6eSVarun Wadekar mc_make_sid_override_cfg(DLA1FALRDB), 223719fdb6eSVarun Wadekar mc_make_sid_override_cfg(DLA1WRA), 224719fdb6eSVarun Wadekar mc_make_sid_override_cfg(DLA1FALWRB), 225719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA0RDA), 226719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA0RDB), 227719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA0RDC), 228719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA0WRA), 229719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA0WRB), 230719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA0WRC), 231719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA1RDA), 232719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA1RDB), 233719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA1RDC), 234719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA1WRA), 235719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA1WRB), 236719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA1WRC), 237719fdb6eSVarun Wadekar mc_make_sid_override_cfg(RCER), 238719fdb6eSVarun Wadekar mc_make_sid_override_cfg(RCEW), 239719fdb6eSVarun Wadekar mc_make_sid_override_cfg(RCEDMAR), 240719fdb6eSVarun Wadekar mc_make_sid_override_cfg(RCEDMAW), 241719fdb6eSVarun Wadekar mc_make_sid_override_cfg(NVENC1SRD), 242719fdb6eSVarun Wadekar mc_make_sid_override_cfg(NVENC1SWR), 243719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PCIE0R), 244719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PCIE0W), 245719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PCIE1R), 246719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PCIE1W), 247719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PCIE2AR), 248719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PCIE2AW), 249719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PCIE3R), 250719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PCIE3W), 251719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PCIE4R), 252719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PCIE4W), 253719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PCIE5R), 254719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PCIE5W), 255719fdb6eSVarun Wadekar mc_make_sid_override_cfg(ISPFALW), 256719fdb6eSVarun Wadekar mc_make_sid_override_cfg(DLA0RDA1), 257719fdb6eSVarun Wadekar mc_make_sid_override_cfg(DLA1RDA1), 258719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA0RDA1), 259719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA0RDB1), 260719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA1RDA1), 261719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PVA1RDB1), 262719fdb6eSVarun Wadekar mc_make_sid_override_cfg(PCIE5R1), 263719fdb6eSVarun Wadekar mc_make_sid_override_cfg(NVENCSRD1), 264719fdb6eSVarun Wadekar mc_make_sid_override_cfg(NVENC1SRD1), 265719fdb6eSVarun Wadekar mc_make_sid_override_cfg(ISPRA1), 266*844e6cc5SPritesh Raithatha mc_make_sid_override_cfg(PCIE0R1), 267719fdb6eSVarun Wadekar mc_make_sid_override_cfg(MIU0R), 268719fdb6eSVarun Wadekar mc_make_sid_override_cfg(MIU0W), 269719fdb6eSVarun Wadekar mc_make_sid_override_cfg(MIU1R), 270719fdb6eSVarun Wadekar mc_make_sid_override_cfg(MIU1W), 271719fdb6eSVarun Wadekar mc_make_sid_override_cfg(MIU2R), 272719fdb6eSVarun Wadekar mc_make_sid_override_cfg(MIU2W), 273719fdb6eSVarun Wadekar mc_make_sid_override_cfg(MIU3R), 274719fdb6eSVarun Wadekar mc_make_sid_override_cfg(MIU3W), 275fba54d55SPritesh Raithatha smmu_make_cfg(TEGRA_SMMU0_BASE), 276fba54d55SPritesh Raithatha smmu_make_cfg(TEGRA_SMMU2_BASE), 277719fdb6eSVarun Wadekar smmu_bypass_cfg, /* TBU settings */ 278719fdb6eSVarun Wadekar _END_OF_TABLE_, 279719fdb6eSVarun Wadekar }; 280719fdb6eSVarun Wadekar 281719fdb6eSVarun Wadekar /******************************************************************************* 282719fdb6eSVarun Wadekar * Handler to return the pointer to the SMMU's context struct 283719fdb6eSVarun Wadekar ******************************************************************************/ 284719fdb6eSVarun Wadekar smmu_regs_t *plat_get_smmu_ctx(void) 285719fdb6eSVarun Wadekar { 286719fdb6eSVarun Wadekar /* index of _END_OF_TABLE_ */ 287b6533b56SAnthony Zhou tegra194_smmu_context[0].val = (uint32_t)ARRAY_SIZE(tegra194_smmu_context) - 1U; 288719fdb6eSVarun Wadekar 289719fdb6eSVarun Wadekar return tegra194_smmu_context; 290719fdb6eSVarun Wadekar } 29113dcbc6fSSteven Kao 29213dcbc6fSSteven Kao /******************************************************************************* 29313dcbc6fSSteven Kao * Handler to return the support SMMU devices number 29413dcbc6fSSteven Kao ******************************************************************************/ 29513dcbc6fSSteven Kao uint32_t plat_get_num_smmu_devices(void) 29613dcbc6fSSteven Kao { 29713dcbc6fSSteven Kao uint32_t ret_num = MAX_NUM_SMMU_DEVICES; 29813dcbc6fSSteven Kao uint32_t board_revid = ((tegra_misc_read_32(MISCREG_EMU_REVID) >> \ 2996907891dSPritesh Raithatha BOARD_SHIFT_BITS) & BOARD_MASK_BITS); 30013dcbc6fSSteven Kao 30113dcbc6fSSteven Kao if (board_revid == BOARD_SYSTEM_FPGA_BASE) { 30213dcbc6fSSteven Kao ret_num = BASE_CONFIG_SMMU_DEVICES; 30313dcbc6fSSteven Kao } 30413dcbc6fSSteven Kao 30513dcbc6fSSteven Kao return ret_num; 30613dcbc6fSSteven Kao } 307