^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) 2015 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 <dt-bindings/memory/tegra210-mc.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #include "mc.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) static const struct tegra_mc_client tegra210_mc_clients[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) .id = 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) .name = "ptcr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) .swgroup = TEGRA_SWGROUP_PTC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) .id = 0x01,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) .name = "display0a",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) .swgroup = TEGRA_SWGROUP_DC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) .bit = 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) .reg = 0x2e8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) .def = 0xc2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) .id = 0x02,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) .name = "display0ab",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) .swgroup = TEGRA_SWGROUP_DCB,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) .bit = 2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) .reg = 0x2f4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) .def = 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) .id = 0x03,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) .name = "display0b",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) .swgroup = TEGRA_SWGROUP_DC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) .bit = 3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) .reg = 0x2e8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) .def = 0x50,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) .id = 0x04,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) .name = "display0bb",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) .swgroup = TEGRA_SWGROUP_DCB,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) .bit = 4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) .reg = 0x2f4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) .def = 0x50,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) .id = 0x05,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) .name = "display0c",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) .swgroup = TEGRA_SWGROUP_DC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) .bit = 5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) .reg = 0x2ec,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) .def = 0x50,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) .id = 0x06,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) .name = "display0cb",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) .swgroup = TEGRA_SWGROUP_DCB,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) .bit = 6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) .reg = 0x2f8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) .def = 0x50,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) .id = 0x0e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) .name = "afir",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) .swgroup = TEGRA_SWGROUP_AFI,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) .bit = 14,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) .reg = 0x2e0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) .def = 0x13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) .id = 0x0f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) .name = "avpcarm7r",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) .swgroup = TEGRA_SWGROUP_AVPC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) .bit = 15,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) .reg = 0x2e4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) .def = 0x04,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) .id = 0x10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) .name = "displayhc",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) .swgroup = TEGRA_SWGROUP_DC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) .bit = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) .reg = 0x2f0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) .def = 0x50,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) .id = 0x11,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) .name = "displayhcb",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) .swgroup = TEGRA_SWGROUP_DCB,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) .bit = 17,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) .reg = 0x2fc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) .def = 0x50,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) .id = 0x15,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) .name = "hdar",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) .swgroup = TEGRA_SWGROUP_HDA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) .bit = 21,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) .reg = 0x318,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) .def = 0x24,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) .id = 0x16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) .name = "host1xdmar",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) .swgroup = TEGRA_SWGROUP_HC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) .bit = 22,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) .reg = 0x310,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) .def = 0x1e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) .id = 0x17,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) .name = "host1xr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) .swgroup = TEGRA_SWGROUP_HC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) .bit = 23,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) .reg = 0x310,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) .def = 0x50,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) .id = 0x1c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) .name = "nvencsrd",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) .swgroup = TEGRA_SWGROUP_NVENC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) .bit = 28,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) .reg = 0x328,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) .def = 0x23,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) .id = 0x1d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) .name = "ppcsahbdmar",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) .swgroup = TEGRA_SWGROUP_PPCS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) .bit = 29,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) .reg = 0x344,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) .def = 0x49,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) .id = 0x1e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) .name = "ppcsahbslvr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) .swgroup = TEGRA_SWGROUP_PPCS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) .bit = 30,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) .reg = 0x344,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) .def = 0x1a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) .id = 0x1f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) .name = "satar",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) .swgroup = TEGRA_SWGROUP_SATA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) .reg = 0x228,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) .bit = 31,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) .reg = 0x350,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) .def = 0x65,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) .id = 0x27,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) .name = "mpcorer",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) .swgroup = TEGRA_SWGROUP_MPCORE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) .reg = 0x320,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) .def = 0x04,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) .id = 0x2b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) .name = "nvencswr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) .swgroup = TEGRA_SWGROUP_NVENC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) .bit = 11,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) .reg = 0x328,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) .id = 0x31,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) .name = "afiw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) .swgroup = TEGRA_SWGROUP_AFI,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) .bit = 17,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) .reg = 0x2e0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) .id = 0x32,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) .name = "avpcarm7w",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) .swgroup = TEGRA_SWGROUP_AVPC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) .bit = 18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) .reg = 0x2e4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) .id = 0x35,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) .name = "hdaw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) .swgroup = TEGRA_SWGROUP_HDA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) .bit = 21,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) .reg = 0x318,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) .id = 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) .name = "host1xw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) .swgroup = TEGRA_SWGROUP_HC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) .bit = 22,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) .reg = 0x314,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) .id = 0x39,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) .name = "mpcorew",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) .swgroup = TEGRA_SWGROUP_MPCORE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) .reg = 0x320,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) .id = 0x3b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) .name = "ppcsahbdmaw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) .swgroup = TEGRA_SWGROUP_PPCS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) .bit = 27,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) .reg = 0x348,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) .id = 0x3c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) .name = "ppcsahbslvw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) .swgroup = TEGRA_SWGROUP_PPCS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) .bit = 28,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) .reg = 0x348,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) .id = 0x3d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) .name = "sataw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) .swgroup = TEGRA_SWGROUP_SATA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) .reg = 0x22c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) .bit = 29,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) .reg = 0x350,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) .def = 0x65,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) .id = 0x44,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) .name = "ispra",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) .swgroup = TEGRA_SWGROUP_ISP2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) .bit = 4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) .reg = 0x370,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) .def = 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) .id = 0x46,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) .name = "ispwa",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) .swgroup = TEGRA_SWGROUP_ISP2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) .bit = 6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) .reg = 0x374,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) .id = 0x47,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) .name = "ispwb",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) .swgroup = TEGRA_SWGROUP_ISP2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) .bit = 7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) .reg = 0x374,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) .id = 0x4a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) .name = "xusb_hostr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) .swgroup = TEGRA_SWGROUP_XUSB_HOST,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433) .bit = 10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) .reg = 0x37c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) .def = 0x7a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) .id = 0x4b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) .name = "xusb_hostw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) .swgroup = TEGRA_SWGROUP_XUSB_HOST,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) .bit = 11,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) .reg = 0x37c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456) .id = 0x4c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) .name = "xusb_devr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) .swgroup = TEGRA_SWGROUP_XUSB_DEV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461) .bit = 12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) .reg = 0x380,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467) .def = 0x39,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) .id = 0x4d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) .name = "xusb_devw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) .swgroup = TEGRA_SWGROUP_XUSB_DEV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) .bit = 13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) .reg = 0x380,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) .id = 0x4e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) .name = "isprab",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) .swgroup = TEGRA_SWGROUP_ISP2B,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) .bit = 14,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) .reg = 0x384,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) .def = 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) .id = 0x50,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499) .name = "ispwab",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500) .swgroup = TEGRA_SWGROUP_ISP2B,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) .bit = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) .reg = 0x388,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512) .id = 0x51,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513) .name = "ispwbb",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514) .swgroup = TEGRA_SWGROUP_ISP2B,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) .bit = 17,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520) .reg = 0x388,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) .id = 0x54,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527) .name = "tsecsrd",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) .swgroup = TEGRA_SWGROUP_TSEC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) .bit = 20,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534) .reg = 0x390,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) .def = 0x9b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) .id = 0x55,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541) .name = "tsecswr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) .swgroup = TEGRA_SWGROUP_TSEC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545) .bit = 21,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548) .reg = 0x390,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554) .id = 0x56,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555) .name = "a9avpscr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) .swgroup = TEGRA_SWGROUP_A9AVP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) .bit = 22,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562) .reg = 0x3a4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) .def = 0x04,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568) .id = 0x57,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569) .name = "a9avpscw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) .swgroup = TEGRA_SWGROUP_A9AVP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) .bit = 23,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) .reg = 0x3a4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582) .id = 0x58,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583) .name = "gpusrd",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) .swgroup = TEGRA_SWGROUP_GPU,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) /* read-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) .bit = 24,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) .reg = 0x3c8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594) .def = 0x1a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597) .id = 0x59,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598) .name = "gpuswr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) .swgroup = TEGRA_SWGROUP_GPU,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601) /* read-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603) .bit = 25,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606) .reg = 0x3c8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612) .id = 0x5a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613) .name = "displayt",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614) .swgroup = TEGRA_SWGROUP_DC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 615) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 616) .reg = 0x230,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 617) .bit = 26,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 618) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 619) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 620) .reg = 0x2f0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 621) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 622) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 623) .def = 0x50,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 624) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 625) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 626) .id = 0x60,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 627) .name = "sdmmcra",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 628) .swgroup = TEGRA_SWGROUP_SDMMC1A,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 629) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 630) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 631) .bit = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 632) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 633) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 634) .reg = 0x3b8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 635) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 636) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 637) .def = 0x49,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 638) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 639) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 640) .id = 0x61,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 641) .name = "sdmmcraa",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 642) .swgroup = TEGRA_SWGROUP_SDMMC2A,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 643) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 644) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 645) .bit = 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 646) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 647) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 648) .reg = 0x3bc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 649) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 650) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 651) .def = 0x49,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 652) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 653) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 654) .id = 0x62,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 655) .name = "sdmmcr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 656) .swgroup = TEGRA_SWGROUP_SDMMC3A,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 657) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 658) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 659) .bit = 2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 660) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 661) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 662) .reg = 0x3c0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 663) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 664) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 665) .def = 0x49,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 666) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 667) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 668) .id = 0x63,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 669) .swgroup = TEGRA_SWGROUP_SDMMC4A,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 670) .name = "sdmmcrab",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 671) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 672) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 673) .bit = 3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 674) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 675) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 676) .reg = 0x3c4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 677) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 678) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 679) .def = 0x49,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 680) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 681) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 682) .id = 0x64,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 683) .name = "sdmmcwa",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 684) .swgroup = TEGRA_SWGROUP_SDMMC1A,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 685) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 686) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 687) .bit = 4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 688) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 689) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 690) .reg = 0x3b8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 691) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 692) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 693) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 694) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 695) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 696) .id = 0x65,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 697) .name = "sdmmcwaa",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 698) .swgroup = TEGRA_SWGROUP_SDMMC2A,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 699) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 700) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 701) .bit = 5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 702) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 703) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 704) .reg = 0x3bc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 705) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 706) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 707) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 708) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 709) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 710) .id = 0x66,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 711) .name = "sdmmcw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 712) .swgroup = TEGRA_SWGROUP_SDMMC3A,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 713) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 714) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 715) .bit = 6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 716) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 717) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 718) .reg = 0x3c0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 719) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 720) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 721) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 722) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 723) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 724) .id = 0x67,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 725) .name = "sdmmcwab",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 726) .swgroup = TEGRA_SWGROUP_SDMMC4A,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 727) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 728) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 729) .bit = 7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 730) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 731) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 732) .reg = 0x3c4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 733) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 734) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 735) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 736) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 737) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 738) .id = 0x6c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 739) .name = "vicsrd",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 740) .swgroup = TEGRA_SWGROUP_VIC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 741) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 742) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 743) .bit = 12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 744) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 745) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 746) .reg = 0x394,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 747) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 748) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 749) .def = 0x1a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 750) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 751) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 752) .id = 0x6d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 753) .name = "vicswr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 754) .swgroup = TEGRA_SWGROUP_VIC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 755) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 756) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 757) .bit = 13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 758) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 759) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 760) .reg = 0x394,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 761) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 762) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 763) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 764) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 765) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 766) .id = 0x72,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 767) .name = "viw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 768) .swgroup = TEGRA_SWGROUP_VI,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 769) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 770) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 771) .bit = 18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 772) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 773) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 774) .reg = 0x398,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 775) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 776) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 777) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 778) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 779) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 780) .id = 0x73,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 781) .name = "displayd",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 782) .swgroup = TEGRA_SWGROUP_DC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 783) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 784) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 785) .bit = 19,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 786) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 787) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 788) .reg = 0x3c8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 789) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 790) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 791) .def = 0x50,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 792) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 793) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 794) .id = 0x78,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 795) .name = "nvdecsrd",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 796) .swgroup = TEGRA_SWGROUP_NVDEC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 797) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 798) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 799) .bit = 24,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 800) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 801) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 802) .reg = 0x3d8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 803) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 804) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 805) .def = 0x23,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 806) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 807) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 808) .id = 0x79,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 809) .name = "nvdecswr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 810) .swgroup = TEGRA_SWGROUP_NVDEC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 811) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 812) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 813) .bit = 25,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 814) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 815) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 816) .reg = 0x3d8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 817) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 818) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 819) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 820) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 821) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 822) .id = 0x7a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 823) .name = "aper",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 824) .swgroup = TEGRA_SWGROUP_APE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 825) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 826) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 827) .bit = 26,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 828) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 829) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 830) .reg = 0x3dc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 831) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 832) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 833) .def = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 834) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 835) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 836) .id = 0x7b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 837) .name = "apew",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 838) .swgroup = TEGRA_SWGROUP_APE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 839) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 840) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 841) .bit = 27,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 842) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 843) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 844) .reg = 0x3dc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 845) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 846) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 847) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 848) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 849) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 850) .id = 0x7e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 851) .name = "nvjpgsrd",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 852) .swgroup = TEGRA_SWGROUP_NVJPG,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 853) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 854) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 855) .bit = 30,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 856) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 857) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 858) .reg = 0x3e4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 859) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 860) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 861) .def = 0x23,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 862) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 863) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 864) .id = 0x7f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 865) .name = "nvjpgswr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 866) .swgroup = TEGRA_SWGROUP_NVJPG,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 867) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 868) .reg = 0x234,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 869) .bit = 31,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 870) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 871) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 872) .reg = 0x3e4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 873) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 874) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 875) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 876) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 877) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 878) .id = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 879) .name = "sesrd",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 880) .swgroup = TEGRA_SWGROUP_SE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 881) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 882) .reg = 0xb98,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 883) .bit = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 884) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 885) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 886) .reg = 0x3e0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 887) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 888) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 889) .def = 0x2e,
^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) .id = 0x81,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 893) .name = "seswr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 894) .swgroup = TEGRA_SWGROUP_SE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 895) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 896) .reg = 0xb98,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 897) .bit = 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 898) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 899) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 900) .reg = 0xb98,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 901) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 902) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 903) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 904) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 905) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 906) .id = 0x82,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 907) .name = "axiapr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 908) .swgroup = TEGRA_SWGROUP_AXIAP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 909) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 910) .reg = 0xb98,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 911) .bit = 2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 912) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 913) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 914) .reg = 0x3a0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 915) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 916) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 917) .def = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 918) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 919) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 920) .id = 0x83,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 921) .name = "axiapw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 922) .swgroup = TEGRA_SWGROUP_AXIAP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 923) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 924) .reg = 0xb98,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 925) .bit = 3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 926) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 927) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 928) .reg = 0x3a0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 929) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 930) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 931) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 932) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 933) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 934) .id = 0x84,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 935) .name = "etrr",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 936) .swgroup = TEGRA_SWGROUP_ETR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 937) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 938) .reg = 0xb98,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 939) .bit = 4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 940) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 941) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 942) .reg = 0x3ec,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 943) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 944) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 945) .def = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 946) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 947) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 948) .id = 0x85,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 949) .name = "etrw",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 950) .swgroup = TEGRA_SWGROUP_ETR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 951) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 952) .reg = 0xb98,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 953) .bit = 5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 954) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 955) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 956) .reg = 0x3ec,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 957) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 958) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 959) .def = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 960) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 961) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 962) .id = 0x86,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 963) .name = "tsecsrdb",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 964) .swgroup = TEGRA_SWGROUP_TSECB,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 965) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 966) .reg = 0xb98,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 967) .bit = 6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 968) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 969) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 970) .reg = 0x3f0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 971) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 972) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 973) .def = 0x9b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 974) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 975) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 976) .id = 0x87,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 977) .name = "tsecswrb",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 978) .swgroup = TEGRA_SWGROUP_TSECB,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 979) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 980) .reg = 0xb98,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 981) .bit = 7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 982) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 983) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 984) .reg = 0x3f0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 985) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 986) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 987) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 988) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 989) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 990) .id = 0x88,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 991) .name = "gpusrd2",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 992) .swgroup = TEGRA_SWGROUP_GPU,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 993) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 994) /* read-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 995) .reg = 0xb98,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 996) .bit = 8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 997) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 998) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 999) .reg = 0x3e8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1000) .shift = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1001) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1002) .def = 0x1a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1003) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1004) }, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1005) .id = 0x89,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1006) .name = "gpuswr2",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1007) .swgroup = TEGRA_SWGROUP_GPU,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1008) .smmu = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1009) /* read-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1010) .reg = 0xb98,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1011) .bit = 9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1012) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1013) .la = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1014) .reg = 0x3e8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1015) .shift = 16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1016) .mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1017) .def = 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1018) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1019) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1020) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1021)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1022) static const struct tegra_smmu_swgroup tegra210_swgroups[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1023) { .name = "dc", .swgroup = TEGRA_SWGROUP_DC, .reg = 0x240 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1024) { .name = "dcb", .swgroup = TEGRA_SWGROUP_DCB, .reg = 0x244 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1025) { .name = "afi", .swgroup = TEGRA_SWGROUP_AFI, .reg = 0x238 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1026) { .name = "avpc", .swgroup = TEGRA_SWGROUP_AVPC, .reg = 0x23c },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1027) { .name = "hda", .swgroup = TEGRA_SWGROUP_HDA, .reg = 0x254 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1028) { .name = "hc", .swgroup = TEGRA_SWGROUP_HC, .reg = 0x250 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1029) { .name = "nvenc", .swgroup = TEGRA_SWGROUP_NVENC, .reg = 0x264 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1030) { .name = "ppcs", .swgroup = TEGRA_SWGROUP_PPCS, .reg = 0x270 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1031) { .name = "sata", .swgroup = TEGRA_SWGROUP_SATA, .reg = 0x274 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1032) { .name = "isp2", .swgroup = TEGRA_SWGROUP_ISP2, .reg = 0x258 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1033) { .name = "xusb_host", .swgroup = TEGRA_SWGROUP_XUSB_HOST, .reg = 0x288 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1034) { .name = "xusb_dev", .swgroup = TEGRA_SWGROUP_XUSB_DEV, .reg = 0x28c },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1035) { .name = "isp2b", .swgroup = TEGRA_SWGROUP_ISP2B, .reg = 0xaa4 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1036) { .name = "tsec", .swgroup = TEGRA_SWGROUP_TSEC, .reg = 0x294 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1037) { .name = "a9avp", .swgroup = TEGRA_SWGROUP_A9AVP, .reg = 0x290 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1038) { .name = "gpu", .swgroup = TEGRA_SWGROUP_GPU, .reg = 0xaac },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1039) { .name = "sdmmc1a", .swgroup = TEGRA_SWGROUP_SDMMC1A, .reg = 0xa94 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1040) { .name = "sdmmc2a", .swgroup = TEGRA_SWGROUP_SDMMC2A, .reg = 0xa98 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1041) { .name = "sdmmc3a", .swgroup = TEGRA_SWGROUP_SDMMC3A, .reg = 0xa9c },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1042) { .name = "sdmmc4a", .swgroup = TEGRA_SWGROUP_SDMMC4A, .reg = 0xaa0 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1043) { .name = "vic", .swgroup = TEGRA_SWGROUP_VIC, .reg = 0x284 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1044) { .name = "vi", .swgroup = TEGRA_SWGROUP_VI, .reg = 0x280 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1045) { .name = "nvdec", .swgroup = TEGRA_SWGROUP_NVDEC, .reg = 0xab4 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1046) { .name = "ape", .swgroup = TEGRA_SWGROUP_APE, .reg = 0xab8 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1047) { .name = "nvjpg", .swgroup = TEGRA_SWGROUP_NVJPG, .reg = 0xac0 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1048) { .name = "se", .swgroup = TEGRA_SWGROUP_SE, .reg = 0xabc },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1049) { .name = "axiap", .swgroup = TEGRA_SWGROUP_AXIAP, .reg = 0xacc },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1050) { .name = "etr", .swgroup = TEGRA_SWGROUP_ETR, .reg = 0xad0 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1051) { .name = "tsecb", .swgroup = TEGRA_SWGROUP_TSECB, .reg = 0xad4 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1052) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1053)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1054) static const unsigned int tegra210_group_display[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1055) TEGRA_SWGROUP_DC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1056) TEGRA_SWGROUP_DCB,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1057) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1058)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1059) static const struct tegra_smmu_group_soc tegra210_groups[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1060) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1061) .name = "display",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1062) .swgroups = tegra210_group_display,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1063) .num_swgroups = ARRAY_SIZE(tegra210_group_display),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1064) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1065) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1066)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1067) static const struct tegra_smmu_soc tegra210_smmu_soc = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1068) .clients = tegra210_mc_clients,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1069) .num_clients = ARRAY_SIZE(tegra210_mc_clients),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1070) .swgroups = tegra210_swgroups,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1071) .num_swgroups = ARRAY_SIZE(tegra210_swgroups),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1072) .groups = tegra210_groups,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1073) .num_groups = ARRAY_SIZE(tegra210_groups),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1074) .supports_round_robin_arbitration = true,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1075) .supports_request_limit = true,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1076) .num_tlb_lines = 48,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1077) .num_asids = 128,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1078) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1079)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1080) #define TEGRA210_MC_RESET(_name, _control, _status, _bit) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1081) { \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1082) .name = #_name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1083) .id = TEGRA210_MC_RESET_##_name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1084) .control = _control, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1085) .status = _status, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1086) .bit = _bit, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1087) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1088)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1089) static const struct tegra_mc_reset tegra210_mc_resets[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1090) TEGRA210_MC_RESET(AFI, 0x200, 0x204, 0),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1091) TEGRA210_MC_RESET(AVPC, 0x200, 0x204, 1),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1092) TEGRA210_MC_RESET(DC, 0x200, 0x204, 2),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1093) TEGRA210_MC_RESET(DCB, 0x200, 0x204, 3),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1094) TEGRA210_MC_RESET(HC, 0x200, 0x204, 6),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1095) TEGRA210_MC_RESET(HDA, 0x200, 0x204, 7),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1096) TEGRA210_MC_RESET(ISP2, 0x200, 0x204, 8),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1097) TEGRA210_MC_RESET(MPCORE, 0x200, 0x204, 9),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1098) TEGRA210_MC_RESET(NVENC, 0x200, 0x204, 11),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1099) TEGRA210_MC_RESET(PPCS, 0x200, 0x204, 14),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1100) TEGRA210_MC_RESET(SATA, 0x200, 0x204, 15),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1101) TEGRA210_MC_RESET(VI, 0x200, 0x204, 17),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1102) TEGRA210_MC_RESET(VIC, 0x200, 0x204, 18),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1103) TEGRA210_MC_RESET(XUSB_HOST, 0x200, 0x204, 19),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1104) TEGRA210_MC_RESET(XUSB_DEV, 0x200, 0x204, 20),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1105) TEGRA210_MC_RESET(A9AVP, 0x200, 0x204, 21),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1106) TEGRA210_MC_RESET(TSEC, 0x200, 0x204, 22),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1107) TEGRA210_MC_RESET(SDMMC1, 0x200, 0x204, 29),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1108) TEGRA210_MC_RESET(SDMMC2, 0x200, 0x204, 30),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1109) TEGRA210_MC_RESET(SDMMC3, 0x200, 0x204, 31),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1110) TEGRA210_MC_RESET(SDMMC4, 0x970, 0x974, 0),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1111) TEGRA210_MC_RESET(ISP2B, 0x970, 0x974, 1),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1112) TEGRA210_MC_RESET(GPU, 0x970, 0x974, 2),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1113) TEGRA210_MC_RESET(NVDEC, 0x970, 0x974, 5),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1114) TEGRA210_MC_RESET(APE, 0x970, 0x974, 6),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1115) TEGRA210_MC_RESET(SE, 0x970, 0x974, 7),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1116) TEGRA210_MC_RESET(NVJPG, 0x970, 0x974, 8),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1117) TEGRA210_MC_RESET(AXIAP, 0x970, 0x974, 11),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1118) TEGRA210_MC_RESET(ETR, 0x970, 0x974, 12),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1119) TEGRA210_MC_RESET(TSECB, 0x970, 0x974, 13),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1120) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1122) const struct tegra_mc_soc tegra210_mc_soc = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1123) .clients = tegra210_mc_clients,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1124) .num_clients = ARRAY_SIZE(tegra210_mc_clients),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1125) .num_address_bits = 34,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1126) .atom_size = 64,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1127) .client_id_mask = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1128) .smmu = &tegra210_smmu_soc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1129) .intmask = MC_INT_DECERR_MTS | MC_INT_SECERR_SEC | MC_INT_DECERR_VPR |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1130) MC_INT_INVALID_APB_ASID_UPDATE | MC_INT_INVALID_SMMU_PAGE |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1131) MC_INT_SECURITY_VIOLATION | MC_INT_DECERR_EMEM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1132) .reset_ops = &tegra_mc_reset_ops_common,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1133) .resets = tegra210_mc_resets,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1134) .num_resets = ARRAY_SIZE(tegra210_mc_resets),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1135) };