^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) // SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Copyright (C) 2014 NVIDIA CORPORATION. All rights reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #include <linux/of.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #include <linux/mm.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #include <dt-bindings/memory/tegra114-mc.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #include "mc.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) static const struct tegra_mc_client tegra114_mc_clients[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) .id = 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) .name = "ptcr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) .swgroup = TEGRA_SWGROUP_PTC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) .id = 0x01,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) .name = "display0a",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) .swgroup = TEGRA_SWGROUP_DC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) .bit = 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) .reg = 0x2e8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) .def = 0x4e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) .id = 0x02,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) .name = "display0ab",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) .swgroup = TEGRA_SWGROUP_DCB,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) .bit = 2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) .reg = 0x2f4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) .def = 0x4e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) .id = 0x03,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) .name = "display0b",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) .swgroup = TEGRA_SWGROUP_DC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) .bit = 3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) .reg = 0x2e8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) .def = 0x4e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) .id = 0x04,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) .name = "display0bb",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) .swgroup = TEGRA_SWGROUP_DCB,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) .bit = 4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) .reg = 0x2f4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) .def = 0x4e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) .id = 0x05,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) .name = "display0c",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) .swgroup = TEGRA_SWGROUP_DC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) .bit = 5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) .reg = 0x2ec,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) .def = 0x4e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) .id = 0x06,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) .name = "display0cb",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) .swgroup = TEGRA_SWGROUP_DCB,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) .bit = 6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) .reg = 0x2f8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) .def = 0x4e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) .id = 0x09,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) .name = "eppup",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) .swgroup = TEGRA_SWGROUP_EPP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) .bit = 9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) .reg = 0x300,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) .def = 0x33,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) .id = 0x0a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) .name = "g2pr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) .swgroup = TEGRA_SWGROUP_G2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) .bit = 10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) .reg = 0x308,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) .def = 0x09,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) .id = 0x0b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) .name = "g2sr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) .swgroup = TEGRA_SWGROUP_G2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) .bit = 11,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) .reg = 0x308,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) .def = 0x09,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) .id = 0x0f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) .name = "avpcarm7r",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) .swgroup = TEGRA_SWGROUP_AVPC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) .bit = 15,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) .reg = 0x2e4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) .def = 0x04,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) .id = 0x10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) .name = "displayhc",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) .swgroup = TEGRA_SWGROUP_DC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) .bit = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) .reg = 0x2f0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) .def = 0x68,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) .id = 0x11,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) .name = "displayhcb",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) .swgroup = TEGRA_SWGROUP_DCB,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) .bit = 17,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) .reg = 0x2fc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) .def = 0x68,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) .id = 0x12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) .name = "fdcdrd",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) .swgroup = TEGRA_SWGROUP_NV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) .bit = 18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) .reg = 0x334,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) .def = 0x0c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) .id = 0x13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) .name = "fdcdrd2",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) .swgroup = TEGRA_SWGROUP_NV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) .bit = 19,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) .reg = 0x33c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) .def = 0x0c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) .id = 0x14,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) .name = "g2dr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) .swgroup = TEGRA_SWGROUP_G2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) .bit = 20,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) .reg = 0x30c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) .def = 0x0a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) .id = 0x15,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) .name = "hdar",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) .swgroup = TEGRA_SWGROUP_HDA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) .bit = 21,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) .reg = 0x318,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) .def = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) .id = 0x16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) .name = "host1xdmar",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) .swgroup = TEGRA_SWGROUP_HC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) .bit = 22,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) .reg = 0x310,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) .def = 0x10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) .id = 0x17,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) .name = "host1xr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) .swgroup = TEGRA_SWGROUP_HC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) .bit = 23,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) .reg = 0x310,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) .def = 0xa5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) .id = 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) .name = "idxsrd",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) .swgroup = TEGRA_SWGROUP_NV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) .bit = 24,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) .reg = 0x334,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) .def = 0x0b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) .id = 0x1c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) .name = "msencsrd",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) .swgroup = TEGRA_SWGROUP_MSENC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) .bit = 28,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) .reg = 0x328,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) .id = 0x1d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) .name = "ppcsahbdmar",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) .swgroup = TEGRA_SWGROUP_PPCS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) .bit = 29,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) .reg = 0x344,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) .def = 0x50,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) .id = 0x1e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) .name = "ppcsahbslvr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) .swgroup = TEGRA_SWGROUP_PPCS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) .bit = 30,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) .reg = 0x344,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) .def = 0xe8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) .id = 0x20,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) .name = "texl2srd",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) .swgroup = TEGRA_SWGROUP_NV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) .bit = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) .reg = 0x338,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) .def = 0x0c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) .id = 0x22,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) .name = "vdebsevr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) .swgroup = TEGRA_SWGROUP_VDE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) .bit = 2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) .reg = 0x354,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) .def = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) .id = 0x23,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) .name = "vdember",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) .swgroup = TEGRA_SWGROUP_VDE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) .bit = 3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) .reg = 0x354,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) .def = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) .id = 0x24,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) .name = "vdemcer",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) .swgroup = TEGRA_SWGROUP_VDE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) .bit = 4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) .reg = 0x358,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) .def = 0xb8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) .id = 0x25,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) .name = "vdetper",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) .swgroup = TEGRA_SWGROUP_VDE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) .bit = 5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) .reg = 0x358,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) .def = 0xee,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) .id = 0x26,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) .name = "mpcorelpr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) .swgroup = TEGRA_SWGROUP_MPCORELP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) .reg = 0x324,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) .def = 0x04,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) .id = 0x27,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) .name = "mpcorer",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) .swgroup = TEGRA_SWGROUP_MPCORE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) .reg = 0x320,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) .def = 0x04,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) .id = 0x28,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) .name = "eppu",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) .swgroup = TEGRA_SWGROUP_EPP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) .bit = 8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) .reg = 0x300,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) .def = 0x33,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) .id = 0x29,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) .name = "eppv",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433) .swgroup = TEGRA_SWGROUP_EPP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) .bit = 9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) .reg = 0x304,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) .def = 0x6c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) .id = 0x2a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) .name = "eppy",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) .swgroup = TEGRA_SWGROUP_EPP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) .bit = 10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) .reg = 0x304,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456) .def = 0x6c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) .id = 0x2b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) .name = "msencswr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461) .swgroup = TEGRA_SWGROUP_MSENC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) .bit = 11,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467) .reg = 0x328,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) .id = 0x2c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) .name = "viwsb",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) .swgroup = TEGRA_SWGROUP_VI,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) .bit = 12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) .reg = 0x364,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) .def = 0x47,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487) .id = 0x2d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) .name = "viwu",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) .swgroup = TEGRA_SWGROUP_VI,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) .bit = 13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) .reg = 0x368,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) .def = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) .id = 0x2e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502) .name = "viwv",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) .swgroup = TEGRA_SWGROUP_VI,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) .bit = 14,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) .reg = 0x368,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512) .def = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) .id = 0x2f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) .name = "viwy",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) .swgroup = TEGRA_SWGROUP_VI,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520) .bit = 15,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) .reg = 0x36c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) .def = 0x47,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) .id = 0x30,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) .name = "g2dw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) .swgroup = TEGRA_SWGROUP_G2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534) .bit = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) .reg = 0x30c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) .def = 0x9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543) .id = 0x32,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) .name = "avpcarm7w",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545) .swgroup = TEGRA_SWGROUP_AVPC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548) .bit = 18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) .reg = 0x2e4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554) .def = 0x0e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557) .id = 0x33,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) .name = "fdcdwr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) .swgroup = TEGRA_SWGROUP_NV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562) .bit = 19,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) .reg = 0x338,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568) .def = 0x10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571) .id = 0x34,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) .name = "fdcdwr2",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) .swgroup = TEGRA_SWGROUP_NV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) .bit = 20,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579) .reg = 0x340,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582) .def = 0x10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) .id = 0x35,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) .name = "hdaw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) .swgroup = TEGRA_SWGROUP_HDA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590) .bit = 21,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) .reg = 0x318,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596) .def = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) .id = 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600) .name = "host1xw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601) .swgroup = TEGRA_SWGROUP_HC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604) .bit = 22,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) .reg = 0x314,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610) .def = 0x25,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613) .id = 0x37,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614) .name = "ispw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 615) .swgroup = TEGRA_SWGROUP_ISP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 616) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 617) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 618) .bit = 23,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 619) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 620) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 621) .reg = 0x31c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 622) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 623) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 624) .def = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 625) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 626) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 627) .id = 0x38,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 628) .name = "mpcorelpw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 629) .swgroup = TEGRA_SWGROUP_MPCORELP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 630) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 631) .reg = 0x324,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 632) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 633) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 634) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 635) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 636) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 637) .id = 0x39,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 638) .name = "mpcorew",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 639) .swgroup = TEGRA_SWGROUP_MPCORE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 640) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 641) .reg = 0x320,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 642) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 643) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 644) .def = 0x0e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 645) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 646) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 647) .id = 0x3b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 648) .name = "ppcsahbdmaw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 649) .swgroup = TEGRA_SWGROUP_PPCS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 650) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 651) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 652) .bit = 27,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 653) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 654) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 655) .reg = 0x348,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 656) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 657) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 658) .def = 0xa5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 659) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 660) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 661) .id = 0x3c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 662) .name = "ppcsahbslvw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 663) .swgroup = TEGRA_SWGROUP_PPCS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 664) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 665) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 666) .bit = 28,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 667) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 668) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 669) .reg = 0x348,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 670) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 671) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 672) .def = 0xe8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 673) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 674) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 675) .id = 0x3e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 676) .name = "vdebsevw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 677) .swgroup = TEGRA_SWGROUP_VDE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 678) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 679) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 680) .bit = 30,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 681) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 682) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 683) .reg = 0x35c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 684) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 685) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 686) .def = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 687) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 688) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 689) .id = 0x3f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 690) .name = "vdedbgw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 691) .swgroup = TEGRA_SWGROUP_VDE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 692) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 693) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 694) .bit = 31,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 695) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 696) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 697) .reg = 0x35c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 698) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 699) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 700) .def = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 701) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 702) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 703) .id = 0x40,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 704) .name = "vdembew",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 705) .swgroup = TEGRA_SWGROUP_VDE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 706) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 707) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 708) .bit = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 709) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 710) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 711) .reg = 0x360,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 712) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 713) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 714) .def = 0x89,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 715) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 716) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 717) .id = 0x41,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 718) .name = "vdetpmw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 719) .swgroup = TEGRA_SWGROUP_VDE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 720) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 721) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 722) .bit = 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 723) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 724) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 725) .reg = 0x360,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 726) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 727) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 728) .def = 0x59,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 729) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 730) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 731) .id = 0x4a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 732) .name = "xusb_hostr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 733) .swgroup = TEGRA_SWGROUP_XUSB_HOST,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 734) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 735) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 736) .bit = 10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 737) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 738) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 739) .reg = 0x37c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 740) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 741) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 742) .def = 0xa5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 743) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 744) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 745) .id = 0x4b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 746) .name = "xusb_hostw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 747) .swgroup = TEGRA_SWGROUP_XUSB_HOST,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 748) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 749) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 750) .bit = 11,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 751) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 752) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 753) .reg = 0x37c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 754) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 755) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 756) .def = 0xa5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 757) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 758) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 759) .id = 0x4c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 760) .name = "xusb_devr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 761) .swgroup = TEGRA_SWGROUP_XUSB_DEV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 762) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 763) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 764) .bit = 12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 765) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 766) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 767) .reg = 0x380,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 768) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 769) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 770) .def = 0xa5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 771) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 772) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 773) .id = 0x4d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 774) .name = "xusb_devw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 775) .swgroup = TEGRA_SWGROUP_XUSB_DEV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 776) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 777) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 778) .bit = 13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 779) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 780) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 781) .reg = 0x380,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 782) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 783) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 784) .def = 0xa5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 785) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 786) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 787) .id = 0x4e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 788) .name = "fdcdwr3",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 789) .swgroup = TEGRA_SWGROUP_NV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 790) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 791) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 792) .bit = 14,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 793) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 794) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 795) .reg = 0x388,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 796) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 797) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 798) .def = 0x10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 799) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 800) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 801) .id = 0x4f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 802) .name = "fdcdrd3",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 803) .swgroup = TEGRA_SWGROUP_NV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 804) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 805) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 806) .bit = 15,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 807) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 808) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 809) .reg = 0x384,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 810) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 811) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 812) .def = 0x0c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 813) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 814) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 815) .id = 0x50,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 816) .name = "fdcwr4",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 817) .swgroup = TEGRA_SWGROUP_NV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 818) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 819) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 820) .bit = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 821) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 822) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 823) .reg = 0x388,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 824) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 825) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 826) .def = 0x10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 827) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 828) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 829) .id = 0x51,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 830) .name = "fdcrd4",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 831) .swgroup = TEGRA_SWGROUP_NV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 832) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 833) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 834) .bit = 17,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 835) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 836) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 837) .reg = 0x384,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 838) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 839) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 840) .def = 0x0c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 841) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 842) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 843) .id = 0x52,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 844) .name = "emucifr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 845) .swgroup = TEGRA_SWGROUP_EMUCIF,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 846) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 847) .reg = 0x38c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 848) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 849) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 850) .def = 0x04,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 851) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 852) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 853) .id = 0x53,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 854) .name = "emucifw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 855) .swgroup = TEGRA_SWGROUP_EMUCIF,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 856) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 857) .reg = 0x38c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 858) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 859) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 860) .def = 0x0e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 861) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 862) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 863) .id = 0x54,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 864) .name = "tsecsrd",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 865) .swgroup = TEGRA_SWGROUP_TSEC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 866) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 867) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 868) .bit = 20,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 869) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 870) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 871) .reg = 0x390,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 872) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 873) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 874) .def = 0x50,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 875) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 876) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 877) .id = 0x55,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 878) .name = "tsecswr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 879) .swgroup = TEGRA_SWGROUP_TSEC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 880) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 881) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 882) .bit = 21,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 883) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 884) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 885) .reg = 0x390,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 886) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 887) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 888) .def = 0x50,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 889) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 890) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 891) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 892)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 893) static const struct tegra_smmu_swgroup tegra114_swgroups[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 894) { .name = "dc", .swgroup = TEGRA_SWGROUP_DC, .reg = 0x240 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 895) { .name = "dcb", .swgroup = TEGRA_SWGROUP_DCB, .reg = 0x244 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 896) { .name = "epp", .swgroup = TEGRA_SWGROUP_EPP, .reg = 0x248 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 897) { .name = "g2", .swgroup = TEGRA_SWGROUP_G2, .reg = 0x24c },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 898) { .name = "avpc", .swgroup = TEGRA_SWGROUP_AVPC, .reg = 0x23c },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 899) { .name = "nv", .swgroup = TEGRA_SWGROUP_NV, .reg = 0x268 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 900) { .name = "hda", .swgroup = TEGRA_SWGROUP_HDA, .reg = 0x254 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 901) { .name = "hc", .swgroup = TEGRA_SWGROUP_HC, .reg = 0x250 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 902) { .name = "msenc", .swgroup = TEGRA_SWGROUP_MSENC, .reg = 0x264 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 903) { .name = "ppcs", .swgroup = TEGRA_SWGROUP_PPCS, .reg = 0x270 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 904) { .name = "vde", .swgroup = TEGRA_SWGROUP_VDE, .reg = 0x27c },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 905) { .name = "vi", .swgroup = TEGRA_SWGROUP_VI, .reg = 0x280 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 906) { .name = "isp", .swgroup = TEGRA_SWGROUP_ISP, .reg = 0x258 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 907) { .name = "xusb_host", .swgroup = TEGRA_SWGROUP_XUSB_HOST, .reg = 0x288 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 908) { .name = "xusb_dev", .swgroup = TEGRA_SWGROUP_XUSB_DEV, .reg = 0x28c },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 909) { .name = "tsec", .swgroup = TEGRA_SWGROUP_TSEC, .reg = 0x294 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 910) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 911)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 912) static const unsigned int tegra114_group_drm[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 913) TEGRA_SWGROUP_DC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 914) TEGRA_SWGROUP_DCB,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 915) TEGRA_SWGROUP_G2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 916) TEGRA_SWGROUP_NV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 917) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 918)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 919) static const struct tegra_smmu_group_soc tegra114_groups[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 920) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 921) .name = "drm",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 922) .swgroups = tegra114_group_drm,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 923) .num_swgroups = ARRAY_SIZE(tegra114_group_drm),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 924) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 925) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 926)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 927) static const struct tegra_smmu_soc tegra114_smmu_soc = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 928) .clients = tegra114_mc_clients,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 929) .num_clients = ARRAY_SIZE(tegra114_mc_clients),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 930) .swgroups = tegra114_swgroups,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 931) .num_swgroups = ARRAY_SIZE(tegra114_swgroups),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 932) .groups = tegra114_groups,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 933) .num_groups = ARRAY_SIZE(tegra114_groups),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 934) .supports_round_robin_arbitration = false,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 935) .supports_request_limit = false,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 936) .num_tlb_lines = 32,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 937) .num_asids = 4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 938) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 939)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 940) #define TEGRA114_MC_RESET(_name, _control, _status, _bit) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 941) { \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 942) .name = #_name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 943) .id = TEGRA114_MC_RESET_##_name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 944) .control = _control, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 945) .status = _status, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 946) .bit = _bit, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 947) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 948)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 949) static const struct tegra_mc_reset tegra114_mc_resets[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 950) TEGRA114_MC_RESET(AVPC, 0x200, 0x204, 1),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 951) TEGRA114_MC_RESET(DC, 0x200, 0x204, 2),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 952) TEGRA114_MC_RESET(DCB, 0x200, 0x204, 3),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 953) TEGRA114_MC_RESET(EPP, 0x200, 0x204, 4),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 954) TEGRA114_MC_RESET(2D, 0x200, 0x204, 5),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 955) TEGRA114_MC_RESET(HC, 0x200, 0x204, 6),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 956) TEGRA114_MC_RESET(HDA, 0x200, 0x204, 7),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 957) TEGRA114_MC_RESET(ISP, 0x200, 0x204, 8),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 958) TEGRA114_MC_RESET(MPCORE, 0x200, 0x204, 9),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 959) TEGRA114_MC_RESET(MPCORELP, 0x200, 0x204, 10),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 960) TEGRA114_MC_RESET(MPE, 0x200, 0x204, 11),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 961) TEGRA114_MC_RESET(3D, 0x200, 0x204, 12),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 962) TEGRA114_MC_RESET(3D2, 0x200, 0x204, 13),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 963) TEGRA114_MC_RESET(PPCS, 0x200, 0x204, 14),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 964) TEGRA114_MC_RESET(VDE, 0x200, 0x204, 16),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 965) TEGRA114_MC_RESET(VI, 0x200, 0x204, 17),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 966) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 967)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 968) const struct tegra_mc_soc tegra114_mc_soc = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 969) .clients = tegra114_mc_clients,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 970) .num_clients = ARRAY_SIZE(tegra114_mc_clients),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 971) .num_address_bits = 32,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 972) .atom_size = 32,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 973) .client_id_mask = 0x7f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 974) .smmu = &tegra114_smmu_soc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 975) .intmask = MC_INT_INVALID_SMMU_PAGE | MC_INT_SECURITY_VIOLATION |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 976) MC_INT_DECERR_EMEM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 977) .reset_ops = &tegra_mc_reset_ops_common,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 978) .resets = tegra114_mc_resets,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 979) .num_resets = ARRAY_SIZE(tegra114_mc_resets),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 980) };