162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2015 NVIDIA CORPORATION. All rights reserved. 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <dt-bindings/memory/tegra210-mc.h> 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include "mc.h" 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cistatic const struct tegra_mc_client tegra210_mc_clients[] = { 1162306a36Sopenharmony_ci { 1262306a36Sopenharmony_ci .id = 0x00, 1362306a36Sopenharmony_ci .name = "ptcr", 1462306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_PTC, 1562306a36Sopenharmony_ci }, { 1662306a36Sopenharmony_ci .id = 0x01, 1762306a36Sopenharmony_ci .name = "display0a", 1862306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_DC, 1962306a36Sopenharmony_ci .regs = { 2062306a36Sopenharmony_ci .smmu = { 2162306a36Sopenharmony_ci .reg = 0x228, 2262306a36Sopenharmony_ci .bit = 1, 2362306a36Sopenharmony_ci }, 2462306a36Sopenharmony_ci .la = { 2562306a36Sopenharmony_ci .reg = 0x2e8, 2662306a36Sopenharmony_ci .shift = 0, 2762306a36Sopenharmony_ci .mask = 0xff, 2862306a36Sopenharmony_ci .def = 0x1e, 2962306a36Sopenharmony_ci }, 3062306a36Sopenharmony_ci }, 3162306a36Sopenharmony_ci }, { 3262306a36Sopenharmony_ci .id = 0x02, 3362306a36Sopenharmony_ci .name = "display0ab", 3462306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_DCB, 3562306a36Sopenharmony_ci .regs = { 3662306a36Sopenharmony_ci .smmu = { 3762306a36Sopenharmony_ci .reg = 0x228, 3862306a36Sopenharmony_ci .bit = 2, 3962306a36Sopenharmony_ci }, 4062306a36Sopenharmony_ci .la = { 4162306a36Sopenharmony_ci .reg = 0x2f4, 4262306a36Sopenharmony_ci .shift = 0, 4362306a36Sopenharmony_ci .mask = 0xff, 4462306a36Sopenharmony_ci .def = 0x1e, 4562306a36Sopenharmony_ci }, 4662306a36Sopenharmony_ci }, 4762306a36Sopenharmony_ci }, { 4862306a36Sopenharmony_ci .id = 0x03, 4962306a36Sopenharmony_ci .name = "display0b", 5062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_DC, 5162306a36Sopenharmony_ci .regs = { 5262306a36Sopenharmony_ci .smmu = { 5362306a36Sopenharmony_ci .reg = 0x228, 5462306a36Sopenharmony_ci .bit = 3, 5562306a36Sopenharmony_ci }, 5662306a36Sopenharmony_ci .la = { 5762306a36Sopenharmony_ci .reg = 0x2e8, 5862306a36Sopenharmony_ci .shift = 16, 5962306a36Sopenharmony_ci .mask = 0xff, 6062306a36Sopenharmony_ci .def = 0x1e, 6162306a36Sopenharmony_ci }, 6262306a36Sopenharmony_ci }, 6362306a36Sopenharmony_ci }, { 6462306a36Sopenharmony_ci .id = 0x04, 6562306a36Sopenharmony_ci .name = "display0bb", 6662306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_DCB, 6762306a36Sopenharmony_ci .regs = { 6862306a36Sopenharmony_ci .smmu = { 6962306a36Sopenharmony_ci .reg = 0x228, 7062306a36Sopenharmony_ci .bit = 4, 7162306a36Sopenharmony_ci }, 7262306a36Sopenharmony_ci .la = { 7362306a36Sopenharmony_ci .reg = 0x2f4, 7462306a36Sopenharmony_ci .shift = 16, 7562306a36Sopenharmony_ci .mask = 0xff, 7662306a36Sopenharmony_ci .def = 0x1e, 7762306a36Sopenharmony_ci }, 7862306a36Sopenharmony_ci }, 7962306a36Sopenharmony_ci }, { 8062306a36Sopenharmony_ci .id = 0x05, 8162306a36Sopenharmony_ci .name = "display0c", 8262306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_DC, 8362306a36Sopenharmony_ci .regs = { 8462306a36Sopenharmony_ci .smmu = { 8562306a36Sopenharmony_ci .reg = 0x228, 8662306a36Sopenharmony_ci .bit = 5, 8762306a36Sopenharmony_ci }, 8862306a36Sopenharmony_ci .la = { 8962306a36Sopenharmony_ci .reg = 0x2ec, 9062306a36Sopenharmony_ci .shift = 0, 9162306a36Sopenharmony_ci .mask = 0xff, 9262306a36Sopenharmony_ci .def = 0x1e, 9362306a36Sopenharmony_ci }, 9462306a36Sopenharmony_ci }, 9562306a36Sopenharmony_ci }, { 9662306a36Sopenharmony_ci .id = 0x06, 9762306a36Sopenharmony_ci .name = "display0cb", 9862306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_DCB, 9962306a36Sopenharmony_ci .regs = { 10062306a36Sopenharmony_ci .smmu = { 10162306a36Sopenharmony_ci .reg = 0x228, 10262306a36Sopenharmony_ci .bit = 6, 10362306a36Sopenharmony_ci }, 10462306a36Sopenharmony_ci .la = { 10562306a36Sopenharmony_ci .reg = 0x2f8, 10662306a36Sopenharmony_ci .shift = 0, 10762306a36Sopenharmony_ci .mask = 0xff, 10862306a36Sopenharmony_ci .def = 0x1e, 10962306a36Sopenharmony_ci }, 11062306a36Sopenharmony_ci }, 11162306a36Sopenharmony_ci }, { 11262306a36Sopenharmony_ci .id = 0x0e, 11362306a36Sopenharmony_ci .name = "afir", 11462306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_AFI, 11562306a36Sopenharmony_ci .regs = { 11662306a36Sopenharmony_ci .smmu = { 11762306a36Sopenharmony_ci .reg = 0x228, 11862306a36Sopenharmony_ci .bit = 14, 11962306a36Sopenharmony_ci }, 12062306a36Sopenharmony_ci .la = { 12162306a36Sopenharmony_ci .reg = 0x2e0, 12262306a36Sopenharmony_ci .shift = 0, 12362306a36Sopenharmony_ci .mask = 0xff, 12462306a36Sopenharmony_ci .def = 0x2e, 12562306a36Sopenharmony_ci }, 12662306a36Sopenharmony_ci }, 12762306a36Sopenharmony_ci }, { 12862306a36Sopenharmony_ci .id = 0x0f, 12962306a36Sopenharmony_ci .name = "avpcarm7r", 13062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_AVPC, 13162306a36Sopenharmony_ci .regs = { 13262306a36Sopenharmony_ci .smmu = { 13362306a36Sopenharmony_ci .reg = 0x228, 13462306a36Sopenharmony_ci .bit = 15, 13562306a36Sopenharmony_ci }, 13662306a36Sopenharmony_ci .la = { 13762306a36Sopenharmony_ci .reg = 0x2e4, 13862306a36Sopenharmony_ci .shift = 0, 13962306a36Sopenharmony_ci .mask = 0xff, 14062306a36Sopenharmony_ci .def = 0x04, 14162306a36Sopenharmony_ci }, 14262306a36Sopenharmony_ci }, 14362306a36Sopenharmony_ci }, { 14462306a36Sopenharmony_ci .id = 0x10, 14562306a36Sopenharmony_ci .name = "displayhc", 14662306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_DC, 14762306a36Sopenharmony_ci .regs = { 14862306a36Sopenharmony_ci .smmu = { 14962306a36Sopenharmony_ci .reg = 0x228, 15062306a36Sopenharmony_ci .bit = 16, 15162306a36Sopenharmony_ci }, 15262306a36Sopenharmony_ci .la = { 15362306a36Sopenharmony_ci .reg = 0x2f0, 15462306a36Sopenharmony_ci .shift = 0, 15562306a36Sopenharmony_ci .mask = 0xff, 15662306a36Sopenharmony_ci .def = 0x1e, 15762306a36Sopenharmony_ci }, 15862306a36Sopenharmony_ci }, 15962306a36Sopenharmony_ci }, { 16062306a36Sopenharmony_ci .id = 0x11, 16162306a36Sopenharmony_ci .name = "displayhcb", 16262306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_DCB, 16362306a36Sopenharmony_ci .regs = { 16462306a36Sopenharmony_ci .smmu = { 16562306a36Sopenharmony_ci .reg = 0x228, 16662306a36Sopenharmony_ci .bit = 17, 16762306a36Sopenharmony_ci }, 16862306a36Sopenharmony_ci .la = { 16962306a36Sopenharmony_ci .reg = 0x2fc, 17062306a36Sopenharmony_ci .shift = 0, 17162306a36Sopenharmony_ci .mask = 0xff, 17262306a36Sopenharmony_ci .def = 0x1e, 17362306a36Sopenharmony_ci }, 17462306a36Sopenharmony_ci }, 17562306a36Sopenharmony_ci }, { 17662306a36Sopenharmony_ci .id = 0x15, 17762306a36Sopenharmony_ci .name = "hdar", 17862306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_HDA, 17962306a36Sopenharmony_ci .regs = { 18062306a36Sopenharmony_ci .smmu = { 18162306a36Sopenharmony_ci .reg = 0x228, 18262306a36Sopenharmony_ci .bit = 21, 18362306a36Sopenharmony_ci }, 18462306a36Sopenharmony_ci .la = { 18562306a36Sopenharmony_ci .reg = 0x318, 18662306a36Sopenharmony_ci .shift = 0, 18762306a36Sopenharmony_ci .mask = 0xff, 18862306a36Sopenharmony_ci .def = 0x24, 18962306a36Sopenharmony_ci }, 19062306a36Sopenharmony_ci }, 19162306a36Sopenharmony_ci }, { 19262306a36Sopenharmony_ci .id = 0x16, 19362306a36Sopenharmony_ci .name = "host1xdmar", 19462306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_HC, 19562306a36Sopenharmony_ci .regs = { 19662306a36Sopenharmony_ci .smmu = { 19762306a36Sopenharmony_ci .reg = 0x228, 19862306a36Sopenharmony_ci .bit = 22, 19962306a36Sopenharmony_ci }, 20062306a36Sopenharmony_ci .la = { 20162306a36Sopenharmony_ci .reg = 0x310, 20262306a36Sopenharmony_ci .shift = 0, 20362306a36Sopenharmony_ci .mask = 0xff, 20462306a36Sopenharmony_ci .def = 0x1e, 20562306a36Sopenharmony_ci }, 20662306a36Sopenharmony_ci }, 20762306a36Sopenharmony_ci }, { 20862306a36Sopenharmony_ci .id = 0x17, 20962306a36Sopenharmony_ci .name = "host1xr", 21062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_HC, 21162306a36Sopenharmony_ci .regs = { 21262306a36Sopenharmony_ci .smmu = { 21362306a36Sopenharmony_ci .reg = 0x228, 21462306a36Sopenharmony_ci .bit = 23, 21562306a36Sopenharmony_ci }, 21662306a36Sopenharmony_ci .la = { 21762306a36Sopenharmony_ci .reg = 0x310, 21862306a36Sopenharmony_ci .shift = 16, 21962306a36Sopenharmony_ci .mask = 0xff, 22062306a36Sopenharmony_ci .def = 0x50, 22162306a36Sopenharmony_ci }, 22262306a36Sopenharmony_ci }, 22362306a36Sopenharmony_ci }, { 22462306a36Sopenharmony_ci .id = 0x1c, 22562306a36Sopenharmony_ci .name = "nvencsrd", 22662306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_NVENC, 22762306a36Sopenharmony_ci .regs = { 22862306a36Sopenharmony_ci .smmu = { 22962306a36Sopenharmony_ci .reg = 0x228, 23062306a36Sopenharmony_ci .bit = 28, 23162306a36Sopenharmony_ci }, 23262306a36Sopenharmony_ci .la = { 23362306a36Sopenharmony_ci .reg = 0x328, 23462306a36Sopenharmony_ci .shift = 0, 23562306a36Sopenharmony_ci .mask = 0xff, 23662306a36Sopenharmony_ci .def = 0x23, 23762306a36Sopenharmony_ci }, 23862306a36Sopenharmony_ci }, 23962306a36Sopenharmony_ci }, { 24062306a36Sopenharmony_ci .id = 0x1d, 24162306a36Sopenharmony_ci .name = "ppcsahbdmar", 24262306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_PPCS, 24362306a36Sopenharmony_ci .regs = { 24462306a36Sopenharmony_ci .smmu = { 24562306a36Sopenharmony_ci .reg = 0x228, 24662306a36Sopenharmony_ci .bit = 29, 24762306a36Sopenharmony_ci }, 24862306a36Sopenharmony_ci .la = { 24962306a36Sopenharmony_ci .reg = 0x344, 25062306a36Sopenharmony_ci .shift = 0, 25162306a36Sopenharmony_ci .mask = 0xff, 25262306a36Sopenharmony_ci .def = 0x49, 25362306a36Sopenharmony_ci }, 25462306a36Sopenharmony_ci }, 25562306a36Sopenharmony_ci }, { 25662306a36Sopenharmony_ci .id = 0x1e, 25762306a36Sopenharmony_ci .name = "ppcsahbslvr", 25862306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_PPCS, 25962306a36Sopenharmony_ci .regs = { 26062306a36Sopenharmony_ci .smmu = { 26162306a36Sopenharmony_ci .reg = 0x228, 26262306a36Sopenharmony_ci .bit = 30, 26362306a36Sopenharmony_ci }, 26462306a36Sopenharmony_ci .la = { 26562306a36Sopenharmony_ci .reg = 0x344, 26662306a36Sopenharmony_ci .shift = 16, 26762306a36Sopenharmony_ci .mask = 0xff, 26862306a36Sopenharmony_ci .def = 0x1a, 26962306a36Sopenharmony_ci }, 27062306a36Sopenharmony_ci }, 27162306a36Sopenharmony_ci }, { 27262306a36Sopenharmony_ci .id = 0x1f, 27362306a36Sopenharmony_ci .name = "satar", 27462306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_SATA, 27562306a36Sopenharmony_ci .regs = { 27662306a36Sopenharmony_ci .smmu = { 27762306a36Sopenharmony_ci .reg = 0x228, 27862306a36Sopenharmony_ci .bit = 31, 27962306a36Sopenharmony_ci }, 28062306a36Sopenharmony_ci .la = { 28162306a36Sopenharmony_ci .reg = 0x350, 28262306a36Sopenharmony_ci .shift = 0, 28362306a36Sopenharmony_ci .mask = 0xff, 28462306a36Sopenharmony_ci .def = 0x65, 28562306a36Sopenharmony_ci }, 28662306a36Sopenharmony_ci }, 28762306a36Sopenharmony_ci }, { 28862306a36Sopenharmony_ci .id = 0x27, 28962306a36Sopenharmony_ci .name = "mpcorer", 29062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_MPCORE, 29162306a36Sopenharmony_ci .regs = { 29262306a36Sopenharmony_ci .la = { 29362306a36Sopenharmony_ci .reg = 0x320, 29462306a36Sopenharmony_ci .shift = 0, 29562306a36Sopenharmony_ci .mask = 0xff, 29662306a36Sopenharmony_ci .def = 0x04, 29762306a36Sopenharmony_ci }, 29862306a36Sopenharmony_ci }, 29962306a36Sopenharmony_ci }, { 30062306a36Sopenharmony_ci .id = 0x2b, 30162306a36Sopenharmony_ci .name = "nvencswr", 30262306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_NVENC, 30362306a36Sopenharmony_ci .regs = { 30462306a36Sopenharmony_ci .smmu = { 30562306a36Sopenharmony_ci .reg = 0x22c, 30662306a36Sopenharmony_ci .bit = 11, 30762306a36Sopenharmony_ci }, 30862306a36Sopenharmony_ci .la = { 30962306a36Sopenharmony_ci .reg = 0x328, 31062306a36Sopenharmony_ci .shift = 16, 31162306a36Sopenharmony_ci .mask = 0xff, 31262306a36Sopenharmony_ci .def = 0x80, 31362306a36Sopenharmony_ci }, 31462306a36Sopenharmony_ci }, 31562306a36Sopenharmony_ci }, { 31662306a36Sopenharmony_ci .id = 0x31, 31762306a36Sopenharmony_ci .name = "afiw", 31862306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_AFI, 31962306a36Sopenharmony_ci .regs = { 32062306a36Sopenharmony_ci .smmu = { 32162306a36Sopenharmony_ci .reg = 0x22c, 32262306a36Sopenharmony_ci .bit = 17, 32362306a36Sopenharmony_ci }, 32462306a36Sopenharmony_ci .la = { 32562306a36Sopenharmony_ci .reg = 0x2e0, 32662306a36Sopenharmony_ci .shift = 16, 32762306a36Sopenharmony_ci .mask = 0xff, 32862306a36Sopenharmony_ci .def = 0x80, 32962306a36Sopenharmony_ci }, 33062306a36Sopenharmony_ci }, 33162306a36Sopenharmony_ci }, { 33262306a36Sopenharmony_ci .id = 0x32, 33362306a36Sopenharmony_ci .name = "avpcarm7w", 33462306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_AVPC, 33562306a36Sopenharmony_ci .regs = { 33662306a36Sopenharmony_ci .smmu = { 33762306a36Sopenharmony_ci .reg = 0x22c, 33862306a36Sopenharmony_ci .bit = 18, 33962306a36Sopenharmony_ci }, 34062306a36Sopenharmony_ci .la = { 34162306a36Sopenharmony_ci .reg = 0x2e4, 34262306a36Sopenharmony_ci .shift = 16, 34362306a36Sopenharmony_ci .mask = 0xff, 34462306a36Sopenharmony_ci .def = 0x80, 34562306a36Sopenharmony_ci }, 34662306a36Sopenharmony_ci }, 34762306a36Sopenharmony_ci }, { 34862306a36Sopenharmony_ci .id = 0x35, 34962306a36Sopenharmony_ci .name = "hdaw", 35062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_HDA, 35162306a36Sopenharmony_ci .regs = { 35262306a36Sopenharmony_ci .smmu = { 35362306a36Sopenharmony_ci .reg = 0x22c, 35462306a36Sopenharmony_ci .bit = 21, 35562306a36Sopenharmony_ci }, 35662306a36Sopenharmony_ci .la = { 35762306a36Sopenharmony_ci .reg = 0x318, 35862306a36Sopenharmony_ci .shift = 16, 35962306a36Sopenharmony_ci .mask = 0xff, 36062306a36Sopenharmony_ci .def = 0x80, 36162306a36Sopenharmony_ci }, 36262306a36Sopenharmony_ci }, 36362306a36Sopenharmony_ci }, { 36462306a36Sopenharmony_ci .id = 0x36, 36562306a36Sopenharmony_ci .name = "host1xw", 36662306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_HC, 36762306a36Sopenharmony_ci .regs = { 36862306a36Sopenharmony_ci .smmu = { 36962306a36Sopenharmony_ci .reg = 0x22c, 37062306a36Sopenharmony_ci .bit = 22, 37162306a36Sopenharmony_ci }, 37262306a36Sopenharmony_ci .la = { 37362306a36Sopenharmony_ci .reg = 0x314, 37462306a36Sopenharmony_ci .shift = 0, 37562306a36Sopenharmony_ci .mask = 0xff, 37662306a36Sopenharmony_ci .def = 0x80, 37762306a36Sopenharmony_ci }, 37862306a36Sopenharmony_ci }, 37962306a36Sopenharmony_ci }, { 38062306a36Sopenharmony_ci .id = 0x39, 38162306a36Sopenharmony_ci .name = "mpcorew", 38262306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_MPCORE, 38362306a36Sopenharmony_ci .regs = { 38462306a36Sopenharmony_ci .la = { 38562306a36Sopenharmony_ci .reg = 0x320, 38662306a36Sopenharmony_ci .shift = 16, 38762306a36Sopenharmony_ci .mask = 0xff, 38862306a36Sopenharmony_ci .def = 0x80, 38962306a36Sopenharmony_ci }, 39062306a36Sopenharmony_ci }, 39162306a36Sopenharmony_ci }, { 39262306a36Sopenharmony_ci .id = 0x3b, 39362306a36Sopenharmony_ci .name = "ppcsahbdmaw", 39462306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_PPCS, 39562306a36Sopenharmony_ci .regs = { 39662306a36Sopenharmony_ci .smmu = { 39762306a36Sopenharmony_ci .reg = 0x22c, 39862306a36Sopenharmony_ci .bit = 27, 39962306a36Sopenharmony_ci }, 40062306a36Sopenharmony_ci .la = { 40162306a36Sopenharmony_ci .reg = 0x348, 40262306a36Sopenharmony_ci .shift = 0, 40362306a36Sopenharmony_ci .mask = 0xff, 40462306a36Sopenharmony_ci .def = 0x80, 40562306a36Sopenharmony_ci }, 40662306a36Sopenharmony_ci }, 40762306a36Sopenharmony_ci }, { 40862306a36Sopenharmony_ci .id = 0x3c, 40962306a36Sopenharmony_ci .name = "ppcsahbslvw", 41062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_PPCS, 41162306a36Sopenharmony_ci .regs = { 41262306a36Sopenharmony_ci .smmu = { 41362306a36Sopenharmony_ci .reg = 0x22c, 41462306a36Sopenharmony_ci .bit = 28, 41562306a36Sopenharmony_ci }, 41662306a36Sopenharmony_ci .la = { 41762306a36Sopenharmony_ci .reg = 0x348, 41862306a36Sopenharmony_ci .shift = 16, 41962306a36Sopenharmony_ci .mask = 0xff, 42062306a36Sopenharmony_ci .def = 0x80, 42162306a36Sopenharmony_ci }, 42262306a36Sopenharmony_ci }, 42362306a36Sopenharmony_ci }, { 42462306a36Sopenharmony_ci .id = 0x3d, 42562306a36Sopenharmony_ci .name = "sataw", 42662306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_SATA, 42762306a36Sopenharmony_ci .regs = { 42862306a36Sopenharmony_ci .smmu = { 42962306a36Sopenharmony_ci .reg = 0x22c, 43062306a36Sopenharmony_ci .bit = 29, 43162306a36Sopenharmony_ci }, 43262306a36Sopenharmony_ci .la = { 43362306a36Sopenharmony_ci .reg = 0x350, 43462306a36Sopenharmony_ci .shift = 16, 43562306a36Sopenharmony_ci .mask = 0xff, 43662306a36Sopenharmony_ci .def = 0x80, 43762306a36Sopenharmony_ci }, 43862306a36Sopenharmony_ci }, 43962306a36Sopenharmony_ci }, { 44062306a36Sopenharmony_ci .id = 0x44, 44162306a36Sopenharmony_ci .name = "ispra", 44262306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_ISP2, 44362306a36Sopenharmony_ci .regs = { 44462306a36Sopenharmony_ci .smmu = { 44562306a36Sopenharmony_ci .reg = 0x230, 44662306a36Sopenharmony_ci .bit = 4, 44762306a36Sopenharmony_ci }, 44862306a36Sopenharmony_ci .la = { 44962306a36Sopenharmony_ci .reg = 0x370, 45062306a36Sopenharmony_ci .shift = 0, 45162306a36Sopenharmony_ci .mask = 0xff, 45262306a36Sopenharmony_ci .def = 0x18, 45362306a36Sopenharmony_ci }, 45462306a36Sopenharmony_ci }, 45562306a36Sopenharmony_ci }, { 45662306a36Sopenharmony_ci .id = 0x46, 45762306a36Sopenharmony_ci .name = "ispwa", 45862306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_ISP2, 45962306a36Sopenharmony_ci .regs = { 46062306a36Sopenharmony_ci .smmu = { 46162306a36Sopenharmony_ci .reg = 0x230, 46262306a36Sopenharmony_ci .bit = 6, 46362306a36Sopenharmony_ci }, 46462306a36Sopenharmony_ci .la = { 46562306a36Sopenharmony_ci .reg = 0x374, 46662306a36Sopenharmony_ci .shift = 0, 46762306a36Sopenharmony_ci .mask = 0xff, 46862306a36Sopenharmony_ci .def = 0x80, 46962306a36Sopenharmony_ci }, 47062306a36Sopenharmony_ci }, 47162306a36Sopenharmony_ci }, { 47262306a36Sopenharmony_ci .id = 0x47, 47362306a36Sopenharmony_ci .name = "ispwb", 47462306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_ISP2, 47562306a36Sopenharmony_ci .regs = { 47662306a36Sopenharmony_ci .smmu = { 47762306a36Sopenharmony_ci .reg = 0x230, 47862306a36Sopenharmony_ci .bit = 7, 47962306a36Sopenharmony_ci }, 48062306a36Sopenharmony_ci .la = { 48162306a36Sopenharmony_ci .reg = 0x374, 48262306a36Sopenharmony_ci .shift = 16, 48362306a36Sopenharmony_ci .mask = 0xff, 48462306a36Sopenharmony_ci .def = 0x80, 48562306a36Sopenharmony_ci }, 48662306a36Sopenharmony_ci }, 48762306a36Sopenharmony_ci }, { 48862306a36Sopenharmony_ci .id = 0x4a, 48962306a36Sopenharmony_ci .name = "xusb_hostr", 49062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_XUSB_HOST, 49162306a36Sopenharmony_ci .regs = { 49262306a36Sopenharmony_ci .smmu = { 49362306a36Sopenharmony_ci .reg = 0x230, 49462306a36Sopenharmony_ci .bit = 10, 49562306a36Sopenharmony_ci }, 49662306a36Sopenharmony_ci .la = { 49762306a36Sopenharmony_ci .reg = 0x37c, 49862306a36Sopenharmony_ci .shift = 0, 49962306a36Sopenharmony_ci .mask = 0xff, 50062306a36Sopenharmony_ci .def = 0x7a, 50162306a36Sopenharmony_ci }, 50262306a36Sopenharmony_ci }, 50362306a36Sopenharmony_ci }, { 50462306a36Sopenharmony_ci .id = 0x4b, 50562306a36Sopenharmony_ci .name = "xusb_hostw", 50662306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_XUSB_HOST, 50762306a36Sopenharmony_ci .regs = { 50862306a36Sopenharmony_ci .smmu = { 50962306a36Sopenharmony_ci .reg = 0x230, 51062306a36Sopenharmony_ci .bit = 11, 51162306a36Sopenharmony_ci }, 51262306a36Sopenharmony_ci .la = { 51362306a36Sopenharmony_ci .reg = 0x37c, 51462306a36Sopenharmony_ci .shift = 16, 51562306a36Sopenharmony_ci .mask = 0xff, 51662306a36Sopenharmony_ci .def = 0x80, 51762306a36Sopenharmony_ci }, 51862306a36Sopenharmony_ci }, 51962306a36Sopenharmony_ci }, { 52062306a36Sopenharmony_ci .id = 0x4c, 52162306a36Sopenharmony_ci .name = "xusb_devr", 52262306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_XUSB_DEV, 52362306a36Sopenharmony_ci .regs = { 52462306a36Sopenharmony_ci .smmu = { 52562306a36Sopenharmony_ci .reg = 0x230, 52662306a36Sopenharmony_ci .bit = 12, 52762306a36Sopenharmony_ci }, 52862306a36Sopenharmony_ci .la = { 52962306a36Sopenharmony_ci .reg = 0x380, 53062306a36Sopenharmony_ci .shift = 0, 53162306a36Sopenharmony_ci .mask = 0xff, 53262306a36Sopenharmony_ci .def = 0x39, 53362306a36Sopenharmony_ci }, 53462306a36Sopenharmony_ci }, 53562306a36Sopenharmony_ci }, { 53662306a36Sopenharmony_ci .id = 0x4d, 53762306a36Sopenharmony_ci .name = "xusb_devw", 53862306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_XUSB_DEV, 53962306a36Sopenharmony_ci .regs = { 54062306a36Sopenharmony_ci .smmu = { 54162306a36Sopenharmony_ci .reg = 0x230, 54262306a36Sopenharmony_ci .bit = 13, 54362306a36Sopenharmony_ci }, 54462306a36Sopenharmony_ci .la = { 54562306a36Sopenharmony_ci .reg = 0x380, 54662306a36Sopenharmony_ci .shift = 16, 54762306a36Sopenharmony_ci .mask = 0xff, 54862306a36Sopenharmony_ci .def = 0x80, 54962306a36Sopenharmony_ci }, 55062306a36Sopenharmony_ci }, 55162306a36Sopenharmony_ci }, { 55262306a36Sopenharmony_ci .id = 0x4e, 55362306a36Sopenharmony_ci .name = "isprab", 55462306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_ISP2B, 55562306a36Sopenharmony_ci .regs = { 55662306a36Sopenharmony_ci .smmu = { 55762306a36Sopenharmony_ci .reg = 0x230, 55862306a36Sopenharmony_ci .bit = 14, 55962306a36Sopenharmony_ci }, 56062306a36Sopenharmony_ci .la = { 56162306a36Sopenharmony_ci .reg = 0x384, 56262306a36Sopenharmony_ci .shift = 0, 56362306a36Sopenharmony_ci .mask = 0xff, 56462306a36Sopenharmony_ci .def = 0x18, 56562306a36Sopenharmony_ci }, 56662306a36Sopenharmony_ci }, 56762306a36Sopenharmony_ci }, { 56862306a36Sopenharmony_ci .id = 0x50, 56962306a36Sopenharmony_ci .name = "ispwab", 57062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_ISP2B, 57162306a36Sopenharmony_ci .regs = { 57262306a36Sopenharmony_ci .smmu = { 57362306a36Sopenharmony_ci .reg = 0x230, 57462306a36Sopenharmony_ci .bit = 16, 57562306a36Sopenharmony_ci }, 57662306a36Sopenharmony_ci .la = { 57762306a36Sopenharmony_ci .reg = 0x388, 57862306a36Sopenharmony_ci .shift = 0, 57962306a36Sopenharmony_ci .mask = 0xff, 58062306a36Sopenharmony_ci .def = 0x80, 58162306a36Sopenharmony_ci }, 58262306a36Sopenharmony_ci }, 58362306a36Sopenharmony_ci }, { 58462306a36Sopenharmony_ci .id = 0x51, 58562306a36Sopenharmony_ci .name = "ispwbb", 58662306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_ISP2B, 58762306a36Sopenharmony_ci .regs = { 58862306a36Sopenharmony_ci .smmu = { 58962306a36Sopenharmony_ci .reg = 0x230, 59062306a36Sopenharmony_ci .bit = 17, 59162306a36Sopenharmony_ci }, 59262306a36Sopenharmony_ci .la = { 59362306a36Sopenharmony_ci .reg = 0x388, 59462306a36Sopenharmony_ci .shift = 16, 59562306a36Sopenharmony_ci .mask = 0xff, 59662306a36Sopenharmony_ci .def = 0x80, 59762306a36Sopenharmony_ci }, 59862306a36Sopenharmony_ci }, 59962306a36Sopenharmony_ci }, { 60062306a36Sopenharmony_ci .id = 0x54, 60162306a36Sopenharmony_ci .name = "tsecsrd", 60262306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_TSEC, 60362306a36Sopenharmony_ci .regs = { 60462306a36Sopenharmony_ci .smmu = { 60562306a36Sopenharmony_ci .reg = 0x230, 60662306a36Sopenharmony_ci .bit = 20, 60762306a36Sopenharmony_ci }, 60862306a36Sopenharmony_ci .la = { 60962306a36Sopenharmony_ci .reg = 0x390, 61062306a36Sopenharmony_ci .shift = 0, 61162306a36Sopenharmony_ci .mask = 0xff, 61262306a36Sopenharmony_ci .def = 0x9b, 61362306a36Sopenharmony_ci }, 61462306a36Sopenharmony_ci }, 61562306a36Sopenharmony_ci }, { 61662306a36Sopenharmony_ci .id = 0x55, 61762306a36Sopenharmony_ci .name = "tsecswr", 61862306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_TSEC, 61962306a36Sopenharmony_ci .regs = { 62062306a36Sopenharmony_ci .smmu = { 62162306a36Sopenharmony_ci .reg = 0x230, 62262306a36Sopenharmony_ci .bit = 21, 62362306a36Sopenharmony_ci }, 62462306a36Sopenharmony_ci .la = { 62562306a36Sopenharmony_ci .reg = 0x390, 62662306a36Sopenharmony_ci .shift = 16, 62762306a36Sopenharmony_ci .mask = 0xff, 62862306a36Sopenharmony_ci .def = 0x80, 62962306a36Sopenharmony_ci }, 63062306a36Sopenharmony_ci }, 63162306a36Sopenharmony_ci }, { 63262306a36Sopenharmony_ci .id = 0x56, 63362306a36Sopenharmony_ci .name = "a9avpscr", 63462306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_A9AVP, 63562306a36Sopenharmony_ci .regs = { 63662306a36Sopenharmony_ci .smmu = { 63762306a36Sopenharmony_ci .reg = 0x230, 63862306a36Sopenharmony_ci .bit = 22, 63962306a36Sopenharmony_ci }, 64062306a36Sopenharmony_ci .la = { 64162306a36Sopenharmony_ci .reg = 0x3a4, 64262306a36Sopenharmony_ci .shift = 0, 64362306a36Sopenharmony_ci .mask = 0xff, 64462306a36Sopenharmony_ci .def = 0x04, 64562306a36Sopenharmony_ci }, 64662306a36Sopenharmony_ci }, 64762306a36Sopenharmony_ci }, { 64862306a36Sopenharmony_ci .id = 0x57, 64962306a36Sopenharmony_ci .name = "a9avpscw", 65062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_A9AVP, 65162306a36Sopenharmony_ci .regs = { 65262306a36Sopenharmony_ci .smmu = { 65362306a36Sopenharmony_ci .reg = 0x230, 65462306a36Sopenharmony_ci .bit = 23, 65562306a36Sopenharmony_ci }, 65662306a36Sopenharmony_ci .la = { 65762306a36Sopenharmony_ci .reg = 0x3a4, 65862306a36Sopenharmony_ci .shift = 16, 65962306a36Sopenharmony_ci .mask = 0xff, 66062306a36Sopenharmony_ci .def = 0x80, 66162306a36Sopenharmony_ci }, 66262306a36Sopenharmony_ci }, 66362306a36Sopenharmony_ci }, { 66462306a36Sopenharmony_ci .id = 0x58, 66562306a36Sopenharmony_ci .name = "gpusrd", 66662306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_GPU, 66762306a36Sopenharmony_ci .regs = { 66862306a36Sopenharmony_ci .smmu = { 66962306a36Sopenharmony_ci /* read-only */ 67062306a36Sopenharmony_ci .reg = 0x230, 67162306a36Sopenharmony_ci .bit = 24, 67262306a36Sopenharmony_ci }, 67362306a36Sopenharmony_ci .la = { 67462306a36Sopenharmony_ci .reg = 0x3c8, 67562306a36Sopenharmony_ci .shift = 0, 67662306a36Sopenharmony_ci .mask = 0xff, 67762306a36Sopenharmony_ci .def = 0x1a, 67862306a36Sopenharmony_ci }, 67962306a36Sopenharmony_ci }, 68062306a36Sopenharmony_ci }, { 68162306a36Sopenharmony_ci .id = 0x59, 68262306a36Sopenharmony_ci .name = "gpuswr", 68362306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_GPU, 68462306a36Sopenharmony_ci .regs = { 68562306a36Sopenharmony_ci .smmu = { 68662306a36Sopenharmony_ci /* read-only */ 68762306a36Sopenharmony_ci .reg = 0x230, 68862306a36Sopenharmony_ci .bit = 25, 68962306a36Sopenharmony_ci }, 69062306a36Sopenharmony_ci .la = { 69162306a36Sopenharmony_ci .reg = 0x3c8, 69262306a36Sopenharmony_ci .shift = 16, 69362306a36Sopenharmony_ci .mask = 0xff, 69462306a36Sopenharmony_ci .def = 0x80, 69562306a36Sopenharmony_ci }, 69662306a36Sopenharmony_ci }, 69762306a36Sopenharmony_ci }, { 69862306a36Sopenharmony_ci .id = 0x5a, 69962306a36Sopenharmony_ci .name = "displayt", 70062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_DC, 70162306a36Sopenharmony_ci .regs = { 70262306a36Sopenharmony_ci .smmu = { 70362306a36Sopenharmony_ci .reg = 0x230, 70462306a36Sopenharmony_ci .bit = 26, 70562306a36Sopenharmony_ci }, 70662306a36Sopenharmony_ci .la = { 70762306a36Sopenharmony_ci .reg = 0x2f0, 70862306a36Sopenharmony_ci .shift = 16, 70962306a36Sopenharmony_ci .mask = 0xff, 71062306a36Sopenharmony_ci .def = 0x1e, 71162306a36Sopenharmony_ci }, 71262306a36Sopenharmony_ci }, 71362306a36Sopenharmony_ci }, { 71462306a36Sopenharmony_ci .id = 0x60, 71562306a36Sopenharmony_ci .name = "sdmmcra", 71662306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_SDMMC1A, 71762306a36Sopenharmony_ci .regs = { 71862306a36Sopenharmony_ci .smmu = { 71962306a36Sopenharmony_ci .reg = 0x234, 72062306a36Sopenharmony_ci .bit = 0, 72162306a36Sopenharmony_ci }, 72262306a36Sopenharmony_ci .la = { 72362306a36Sopenharmony_ci .reg = 0x3b8, 72462306a36Sopenharmony_ci .shift = 0, 72562306a36Sopenharmony_ci .mask = 0xff, 72662306a36Sopenharmony_ci .def = 0x49, 72762306a36Sopenharmony_ci }, 72862306a36Sopenharmony_ci }, 72962306a36Sopenharmony_ci }, { 73062306a36Sopenharmony_ci .id = 0x61, 73162306a36Sopenharmony_ci .name = "sdmmcraa", 73262306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_SDMMC2A, 73362306a36Sopenharmony_ci .regs = { 73462306a36Sopenharmony_ci .smmu = { 73562306a36Sopenharmony_ci .reg = 0x234, 73662306a36Sopenharmony_ci .bit = 1, 73762306a36Sopenharmony_ci }, 73862306a36Sopenharmony_ci .la = { 73962306a36Sopenharmony_ci .reg = 0x3bc, 74062306a36Sopenharmony_ci .shift = 0, 74162306a36Sopenharmony_ci .mask = 0xff, 74262306a36Sopenharmony_ci .def = 0x5a, 74362306a36Sopenharmony_ci }, 74462306a36Sopenharmony_ci }, 74562306a36Sopenharmony_ci }, { 74662306a36Sopenharmony_ci .id = 0x62, 74762306a36Sopenharmony_ci .name = "sdmmcr", 74862306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_SDMMC3A, 74962306a36Sopenharmony_ci .regs = { 75062306a36Sopenharmony_ci .smmu = { 75162306a36Sopenharmony_ci .reg = 0x234, 75262306a36Sopenharmony_ci .bit = 2, 75362306a36Sopenharmony_ci }, 75462306a36Sopenharmony_ci .la = { 75562306a36Sopenharmony_ci .reg = 0x3c0, 75662306a36Sopenharmony_ci .shift = 0, 75762306a36Sopenharmony_ci .mask = 0xff, 75862306a36Sopenharmony_ci .def = 0x49, 75962306a36Sopenharmony_ci }, 76062306a36Sopenharmony_ci }, 76162306a36Sopenharmony_ci }, { 76262306a36Sopenharmony_ci .id = 0x63, 76362306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_SDMMC4A, 76462306a36Sopenharmony_ci .name = "sdmmcrab", 76562306a36Sopenharmony_ci .regs = { 76662306a36Sopenharmony_ci .smmu = { 76762306a36Sopenharmony_ci .reg = 0x234, 76862306a36Sopenharmony_ci .bit = 3, 76962306a36Sopenharmony_ci }, 77062306a36Sopenharmony_ci .la = { 77162306a36Sopenharmony_ci .reg = 0x3c4, 77262306a36Sopenharmony_ci .shift = 0, 77362306a36Sopenharmony_ci .mask = 0xff, 77462306a36Sopenharmony_ci .def = 0x5a, 77562306a36Sopenharmony_ci }, 77662306a36Sopenharmony_ci }, 77762306a36Sopenharmony_ci }, { 77862306a36Sopenharmony_ci .id = 0x64, 77962306a36Sopenharmony_ci .name = "sdmmcwa", 78062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_SDMMC1A, 78162306a36Sopenharmony_ci .regs = { 78262306a36Sopenharmony_ci .smmu = { 78362306a36Sopenharmony_ci .reg = 0x234, 78462306a36Sopenharmony_ci .bit = 4, 78562306a36Sopenharmony_ci }, 78662306a36Sopenharmony_ci .la = { 78762306a36Sopenharmony_ci .reg = 0x3b8, 78862306a36Sopenharmony_ci .shift = 16, 78962306a36Sopenharmony_ci .mask = 0xff, 79062306a36Sopenharmony_ci .def = 0x80, 79162306a36Sopenharmony_ci }, 79262306a36Sopenharmony_ci }, 79362306a36Sopenharmony_ci }, { 79462306a36Sopenharmony_ci .id = 0x65, 79562306a36Sopenharmony_ci .name = "sdmmcwaa", 79662306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_SDMMC2A, 79762306a36Sopenharmony_ci .regs = { 79862306a36Sopenharmony_ci .smmu = { 79962306a36Sopenharmony_ci .reg = 0x234, 80062306a36Sopenharmony_ci .bit = 5, 80162306a36Sopenharmony_ci }, 80262306a36Sopenharmony_ci .la = { 80362306a36Sopenharmony_ci .reg = 0x3bc, 80462306a36Sopenharmony_ci .shift = 16, 80562306a36Sopenharmony_ci .mask = 0xff, 80662306a36Sopenharmony_ci .def = 0x80, 80762306a36Sopenharmony_ci }, 80862306a36Sopenharmony_ci }, 80962306a36Sopenharmony_ci }, { 81062306a36Sopenharmony_ci .id = 0x66, 81162306a36Sopenharmony_ci .name = "sdmmcw", 81262306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_SDMMC3A, 81362306a36Sopenharmony_ci .regs = { 81462306a36Sopenharmony_ci .smmu = { 81562306a36Sopenharmony_ci .reg = 0x234, 81662306a36Sopenharmony_ci .bit = 6, 81762306a36Sopenharmony_ci }, 81862306a36Sopenharmony_ci .la = { 81962306a36Sopenharmony_ci .reg = 0x3c0, 82062306a36Sopenharmony_ci .shift = 16, 82162306a36Sopenharmony_ci .mask = 0xff, 82262306a36Sopenharmony_ci .def = 0x80, 82362306a36Sopenharmony_ci }, 82462306a36Sopenharmony_ci }, 82562306a36Sopenharmony_ci }, { 82662306a36Sopenharmony_ci .id = 0x67, 82762306a36Sopenharmony_ci .name = "sdmmcwab", 82862306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_SDMMC4A, 82962306a36Sopenharmony_ci .regs = { 83062306a36Sopenharmony_ci .smmu = { 83162306a36Sopenharmony_ci .reg = 0x234, 83262306a36Sopenharmony_ci .bit = 7, 83362306a36Sopenharmony_ci }, 83462306a36Sopenharmony_ci .la = { 83562306a36Sopenharmony_ci .reg = 0x3c4, 83662306a36Sopenharmony_ci .shift = 16, 83762306a36Sopenharmony_ci .mask = 0xff, 83862306a36Sopenharmony_ci .def = 0x80, 83962306a36Sopenharmony_ci }, 84062306a36Sopenharmony_ci }, 84162306a36Sopenharmony_ci }, { 84262306a36Sopenharmony_ci .id = 0x6c, 84362306a36Sopenharmony_ci .name = "vicsrd", 84462306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_VIC, 84562306a36Sopenharmony_ci .regs = { 84662306a36Sopenharmony_ci .smmu = { 84762306a36Sopenharmony_ci .reg = 0x234, 84862306a36Sopenharmony_ci .bit = 12, 84962306a36Sopenharmony_ci }, 85062306a36Sopenharmony_ci .la = { 85162306a36Sopenharmony_ci .reg = 0x394, 85262306a36Sopenharmony_ci .shift = 0, 85362306a36Sopenharmony_ci .mask = 0xff, 85462306a36Sopenharmony_ci .def = 0x1a, 85562306a36Sopenharmony_ci }, 85662306a36Sopenharmony_ci }, 85762306a36Sopenharmony_ci }, { 85862306a36Sopenharmony_ci .id = 0x6d, 85962306a36Sopenharmony_ci .name = "vicswr", 86062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_VIC, 86162306a36Sopenharmony_ci .regs = { 86262306a36Sopenharmony_ci .smmu = { 86362306a36Sopenharmony_ci .reg = 0x234, 86462306a36Sopenharmony_ci .bit = 13, 86562306a36Sopenharmony_ci }, 86662306a36Sopenharmony_ci .la = { 86762306a36Sopenharmony_ci .reg = 0x394, 86862306a36Sopenharmony_ci .shift = 16, 86962306a36Sopenharmony_ci .mask = 0xff, 87062306a36Sopenharmony_ci .def = 0x80, 87162306a36Sopenharmony_ci }, 87262306a36Sopenharmony_ci }, 87362306a36Sopenharmony_ci }, { 87462306a36Sopenharmony_ci .id = 0x72, 87562306a36Sopenharmony_ci .name = "viw", 87662306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_VI, 87762306a36Sopenharmony_ci .regs = { 87862306a36Sopenharmony_ci .smmu = { 87962306a36Sopenharmony_ci .reg = 0x234, 88062306a36Sopenharmony_ci .bit = 18, 88162306a36Sopenharmony_ci }, 88262306a36Sopenharmony_ci .la = { 88362306a36Sopenharmony_ci .reg = 0x398, 88462306a36Sopenharmony_ci .shift = 0, 88562306a36Sopenharmony_ci .mask = 0xff, 88662306a36Sopenharmony_ci .def = 0x80, 88762306a36Sopenharmony_ci }, 88862306a36Sopenharmony_ci }, 88962306a36Sopenharmony_ci }, { 89062306a36Sopenharmony_ci .id = 0x73, 89162306a36Sopenharmony_ci .name = "displayd", 89262306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_DC, 89362306a36Sopenharmony_ci .regs = { 89462306a36Sopenharmony_ci .smmu = { 89562306a36Sopenharmony_ci .reg = 0x234, 89662306a36Sopenharmony_ci .bit = 19, 89762306a36Sopenharmony_ci }, 89862306a36Sopenharmony_ci .la = { 89962306a36Sopenharmony_ci .reg = 0x3c8, 90062306a36Sopenharmony_ci .shift = 0, 90162306a36Sopenharmony_ci .mask = 0xff, 90262306a36Sopenharmony_ci .def = 0x50, 90362306a36Sopenharmony_ci }, 90462306a36Sopenharmony_ci }, 90562306a36Sopenharmony_ci }, { 90662306a36Sopenharmony_ci .id = 0x78, 90762306a36Sopenharmony_ci .name = "nvdecsrd", 90862306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_NVDEC, 90962306a36Sopenharmony_ci .regs = { 91062306a36Sopenharmony_ci .smmu = { 91162306a36Sopenharmony_ci .reg = 0x234, 91262306a36Sopenharmony_ci .bit = 24, 91362306a36Sopenharmony_ci }, 91462306a36Sopenharmony_ci .la = { 91562306a36Sopenharmony_ci .reg = 0x3d8, 91662306a36Sopenharmony_ci .shift = 0, 91762306a36Sopenharmony_ci .mask = 0xff, 91862306a36Sopenharmony_ci .def = 0x23, 91962306a36Sopenharmony_ci }, 92062306a36Sopenharmony_ci }, 92162306a36Sopenharmony_ci }, { 92262306a36Sopenharmony_ci .id = 0x79, 92362306a36Sopenharmony_ci .name = "nvdecswr", 92462306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_NVDEC, 92562306a36Sopenharmony_ci .regs = { 92662306a36Sopenharmony_ci .smmu = { 92762306a36Sopenharmony_ci .reg = 0x234, 92862306a36Sopenharmony_ci .bit = 25, 92962306a36Sopenharmony_ci }, 93062306a36Sopenharmony_ci .la = { 93162306a36Sopenharmony_ci .reg = 0x3d8, 93262306a36Sopenharmony_ci .shift = 16, 93362306a36Sopenharmony_ci .mask = 0xff, 93462306a36Sopenharmony_ci .def = 0x80, 93562306a36Sopenharmony_ci }, 93662306a36Sopenharmony_ci }, 93762306a36Sopenharmony_ci }, { 93862306a36Sopenharmony_ci .id = 0x7a, 93962306a36Sopenharmony_ci .name = "aper", 94062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_APE, 94162306a36Sopenharmony_ci .regs = { 94262306a36Sopenharmony_ci .smmu = { 94362306a36Sopenharmony_ci .reg = 0x234, 94462306a36Sopenharmony_ci .bit = 26, 94562306a36Sopenharmony_ci }, 94662306a36Sopenharmony_ci .la = { 94762306a36Sopenharmony_ci .reg = 0x3dc, 94862306a36Sopenharmony_ci .shift = 0, 94962306a36Sopenharmony_ci .mask = 0xff, 95062306a36Sopenharmony_ci .def = 0xff, 95162306a36Sopenharmony_ci }, 95262306a36Sopenharmony_ci }, 95362306a36Sopenharmony_ci }, { 95462306a36Sopenharmony_ci .id = 0x7b, 95562306a36Sopenharmony_ci .name = "apew", 95662306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_APE, 95762306a36Sopenharmony_ci .regs = { 95862306a36Sopenharmony_ci .smmu = { 95962306a36Sopenharmony_ci .reg = 0x234, 96062306a36Sopenharmony_ci .bit = 27, 96162306a36Sopenharmony_ci }, 96262306a36Sopenharmony_ci .la = { 96362306a36Sopenharmony_ci .reg = 0x3dc, 96462306a36Sopenharmony_ci .shift = 16, 96562306a36Sopenharmony_ci .mask = 0xff, 96662306a36Sopenharmony_ci .def = 0x80, 96762306a36Sopenharmony_ci }, 96862306a36Sopenharmony_ci }, 96962306a36Sopenharmony_ci }, { 97062306a36Sopenharmony_ci .id = 0x7e, 97162306a36Sopenharmony_ci .name = "nvjpgsrd", 97262306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_NVJPG, 97362306a36Sopenharmony_ci .regs = { 97462306a36Sopenharmony_ci .smmu = { 97562306a36Sopenharmony_ci .reg = 0x234, 97662306a36Sopenharmony_ci .bit = 30, 97762306a36Sopenharmony_ci }, 97862306a36Sopenharmony_ci .la = { 97962306a36Sopenharmony_ci .reg = 0x3e4, 98062306a36Sopenharmony_ci .shift = 0, 98162306a36Sopenharmony_ci .mask = 0xff, 98262306a36Sopenharmony_ci .def = 0x23, 98362306a36Sopenharmony_ci }, 98462306a36Sopenharmony_ci }, 98562306a36Sopenharmony_ci }, { 98662306a36Sopenharmony_ci .id = 0x7f, 98762306a36Sopenharmony_ci .name = "nvjpgswr", 98862306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_NVJPG, 98962306a36Sopenharmony_ci .regs = { 99062306a36Sopenharmony_ci .smmu = { 99162306a36Sopenharmony_ci .reg = 0x234, 99262306a36Sopenharmony_ci .bit = 31, 99362306a36Sopenharmony_ci }, 99462306a36Sopenharmony_ci .la = { 99562306a36Sopenharmony_ci .reg = 0x3e4, 99662306a36Sopenharmony_ci .shift = 16, 99762306a36Sopenharmony_ci .mask = 0xff, 99862306a36Sopenharmony_ci .def = 0x80, 99962306a36Sopenharmony_ci }, 100062306a36Sopenharmony_ci }, 100162306a36Sopenharmony_ci }, { 100262306a36Sopenharmony_ci .id = 0x80, 100362306a36Sopenharmony_ci .name = "sesrd", 100462306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_SE, 100562306a36Sopenharmony_ci .regs = { 100662306a36Sopenharmony_ci .smmu = { 100762306a36Sopenharmony_ci .reg = 0xb98, 100862306a36Sopenharmony_ci .bit = 0, 100962306a36Sopenharmony_ci }, 101062306a36Sopenharmony_ci .la = { 101162306a36Sopenharmony_ci .reg = 0x3e0, 101262306a36Sopenharmony_ci .shift = 0, 101362306a36Sopenharmony_ci .mask = 0xff, 101462306a36Sopenharmony_ci .def = 0x2e, 101562306a36Sopenharmony_ci }, 101662306a36Sopenharmony_ci }, 101762306a36Sopenharmony_ci }, { 101862306a36Sopenharmony_ci .id = 0x81, 101962306a36Sopenharmony_ci .name = "seswr", 102062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_SE, 102162306a36Sopenharmony_ci .regs = { 102262306a36Sopenharmony_ci .smmu = { 102362306a36Sopenharmony_ci .reg = 0xb98, 102462306a36Sopenharmony_ci .bit = 1, 102562306a36Sopenharmony_ci }, 102662306a36Sopenharmony_ci .la = { 102762306a36Sopenharmony_ci .reg = 0x3e0, 102862306a36Sopenharmony_ci .shift = 16, 102962306a36Sopenharmony_ci .mask = 0xff, 103062306a36Sopenharmony_ci .def = 0x80, 103162306a36Sopenharmony_ci }, 103262306a36Sopenharmony_ci }, 103362306a36Sopenharmony_ci }, { 103462306a36Sopenharmony_ci .id = 0x82, 103562306a36Sopenharmony_ci .name = "axiapr", 103662306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_AXIAP, 103762306a36Sopenharmony_ci .regs = { 103862306a36Sopenharmony_ci .smmu = { 103962306a36Sopenharmony_ci .reg = 0xb98, 104062306a36Sopenharmony_ci .bit = 2, 104162306a36Sopenharmony_ci }, 104262306a36Sopenharmony_ci .la = { 104362306a36Sopenharmony_ci .reg = 0x3a0, 104462306a36Sopenharmony_ci .shift = 0, 104562306a36Sopenharmony_ci .mask = 0xff, 104662306a36Sopenharmony_ci .def = 0xff, 104762306a36Sopenharmony_ci }, 104862306a36Sopenharmony_ci }, 104962306a36Sopenharmony_ci }, { 105062306a36Sopenharmony_ci .id = 0x83, 105162306a36Sopenharmony_ci .name = "axiapw", 105262306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_AXIAP, 105362306a36Sopenharmony_ci .regs = { 105462306a36Sopenharmony_ci .smmu = { 105562306a36Sopenharmony_ci .reg = 0xb98, 105662306a36Sopenharmony_ci .bit = 3, 105762306a36Sopenharmony_ci }, 105862306a36Sopenharmony_ci .la = { 105962306a36Sopenharmony_ci .reg = 0x3a0, 106062306a36Sopenharmony_ci .shift = 16, 106162306a36Sopenharmony_ci .mask = 0xff, 106262306a36Sopenharmony_ci .def = 0x80, 106362306a36Sopenharmony_ci }, 106462306a36Sopenharmony_ci }, 106562306a36Sopenharmony_ci }, { 106662306a36Sopenharmony_ci .id = 0x84, 106762306a36Sopenharmony_ci .name = "etrr", 106862306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_ETR, 106962306a36Sopenharmony_ci .regs = { 107062306a36Sopenharmony_ci .smmu = { 107162306a36Sopenharmony_ci .reg = 0xb98, 107262306a36Sopenharmony_ci .bit = 4, 107362306a36Sopenharmony_ci }, 107462306a36Sopenharmony_ci .la = { 107562306a36Sopenharmony_ci .reg = 0x3ec, 107662306a36Sopenharmony_ci .shift = 0, 107762306a36Sopenharmony_ci .mask = 0xff, 107862306a36Sopenharmony_ci .def = 0xff, 107962306a36Sopenharmony_ci }, 108062306a36Sopenharmony_ci }, 108162306a36Sopenharmony_ci }, { 108262306a36Sopenharmony_ci .id = 0x85, 108362306a36Sopenharmony_ci .name = "etrw", 108462306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_ETR, 108562306a36Sopenharmony_ci .regs = { 108662306a36Sopenharmony_ci .smmu = { 108762306a36Sopenharmony_ci .reg = 0xb98, 108862306a36Sopenharmony_ci .bit = 5, 108962306a36Sopenharmony_ci }, 109062306a36Sopenharmony_ci .la = { 109162306a36Sopenharmony_ci .reg = 0x3ec, 109262306a36Sopenharmony_ci .shift = 16, 109362306a36Sopenharmony_ci .mask = 0xff, 109462306a36Sopenharmony_ci .def = 0x80, 109562306a36Sopenharmony_ci }, 109662306a36Sopenharmony_ci }, 109762306a36Sopenharmony_ci }, { 109862306a36Sopenharmony_ci .id = 0x86, 109962306a36Sopenharmony_ci .name = "tsecsrdb", 110062306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_TSECB, 110162306a36Sopenharmony_ci .regs = { 110262306a36Sopenharmony_ci .smmu = { 110362306a36Sopenharmony_ci .reg = 0xb98, 110462306a36Sopenharmony_ci .bit = 6, 110562306a36Sopenharmony_ci }, 110662306a36Sopenharmony_ci .la = { 110762306a36Sopenharmony_ci .reg = 0x3f0, 110862306a36Sopenharmony_ci .shift = 0, 110962306a36Sopenharmony_ci .mask = 0xff, 111062306a36Sopenharmony_ci .def = 0x9b, 111162306a36Sopenharmony_ci }, 111262306a36Sopenharmony_ci }, 111362306a36Sopenharmony_ci }, { 111462306a36Sopenharmony_ci .id = 0x87, 111562306a36Sopenharmony_ci .name = "tsecswrb", 111662306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_TSECB, 111762306a36Sopenharmony_ci .regs = { 111862306a36Sopenharmony_ci .smmu = { 111962306a36Sopenharmony_ci .reg = 0xb98, 112062306a36Sopenharmony_ci .bit = 7, 112162306a36Sopenharmony_ci }, 112262306a36Sopenharmony_ci .la = { 112362306a36Sopenharmony_ci .reg = 0x3f0, 112462306a36Sopenharmony_ci .shift = 16, 112562306a36Sopenharmony_ci .mask = 0xff, 112662306a36Sopenharmony_ci .def = 0x80, 112762306a36Sopenharmony_ci }, 112862306a36Sopenharmony_ci }, 112962306a36Sopenharmony_ci }, { 113062306a36Sopenharmony_ci .id = 0x88, 113162306a36Sopenharmony_ci .name = "gpusrd2", 113262306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_GPU, 113362306a36Sopenharmony_ci .regs = { 113462306a36Sopenharmony_ci .smmu = { 113562306a36Sopenharmony_ci /* read-only */ 113662306a36Sopenharmony_ci .reg = 0xb98, 113762306a36Sopenharmony_ci .bit = 8, 113862306a36Sopenharmony_ci }, 113962306a36Sopenharmony_ci .la = { 114062306a36Sopenharmony_ci .reg = 0x3e8, 114162306a36Sopenharmony_ci .shift = 0, 114262306a36Sopenharmony_ci .mask = 0xff, 114362306a36Sopenharmony_ci .def = 0x1a, 114462306a36Sopenharmony_ci }, 114562306a36Sopenharmony_ci }, 114662306a36Sopenharmony_ci }, { 114762306a36Sopenharmony_ci .id = 0x89, 114862306a36Sopenharmony_ci .name = "gpuswr2", 114962306a36Sopenharmony_ci .swgroup = TEGRA_SWGROUP_GPU, 115062306a36Sopenharmony_ci .regs = { 115162306a36Sopenharmony_ci .smmu = { 115262306a36Sopenharmony_ci /* read-only */ 115362306a36Sopenharmony_ci .reg = 0xb98, 115462306a36Sopenharmony_ci .bit = 9, 115562306a36Sopenharmony_ci }, 115662306a36Sopenharmony_ci .la = { 115762306a36Sopenharmony_ci .reg = 0x3e8, 115862306a36Sopenharmony_ci .shift = 16, 115962306a36Sopenharmony_ci .mask = 0xff, 116062306a36Sopenharmony_ci .def = 0x80, 116162306a36Sopenharmony_ci }, 116262306a36Sopenharmony_ci }, 116362306a36Sopenharmony_ci }, 116462306a36Sopenharmony_ci}; 116562306a36Sopenharmony_ci 116662306a36Sopenharmony_cistatic const struct tegra_smmu_swgroup tegra210_swgroups[] = { 116762306a36Sopenharmony_ci { .name = "afi", .swgroup = TEGRA_SWGROUP_AFI, .reg = 0x238 }, 116862306a36Sopenharmony_ci { .name = "avpc", .swgroup = TEGRA_SWGROUP_AVPC, .reg = 0x23c }, 116962306a36Sopenharmony_ci { .name = "dc", .swgroup = TEGRA_SWGROUP_DC, .reg = 0x240 }, 117062306a36Sopenharmony_ci { .name = "dcb", .swgroup = TEGRA_SWGROUP_DCB, .reg = 0x244 }, 117162306a36Sopenharmony_ci { .name = "hc", .swgroup = TEGRA_SWGROUP_HC, .reg = 0x250 }, 117262306a36Sopenharmony_ci { .name = "hda", .swgroup = TEGRA_SWGROUP_HDA, .reg = 0x254 }, 117362306a36Sopenharmony_ci { .name = "isp2", .swgroup = TEGRA_SWGROUP_ISP2, .reg = 0x258 }, 117462306a36Sopenharmony_ci { .name = "nvenc", .swgroup = TEGRA_SWGROUP_NVENC, .reg = 0x264 }, 117562306a36Sopenharmony_ci { .name = "nv", .swgroup = TEGRA_SWGROUP_NV, .reg = 0x268 }, 117662306a36Sopenharmony_ci { .name = "nv2", .swgroup = TEGRA_SWGROUP_NV2, .reg = 0x26c }, 117762306a36Sopenharmony_ci { .name = "ppcs", .swgroup = TEGRA_SWGROUP_PPCS, .reg = 0x270 }, 117862306a36Sopenharmony_ci { .name = "sata", .swgroup = TEGRA_SWGROUP_SATA, .reg = 0x274 }, 117962306a36Sopenharmony_ci { .name = "vi", .swgroup = TEGRA_SWGROUP_VI, .reg = 0x280 }, 118062306a36Sopenharmony_ci { .name = "vic", .swgroup = TEGRA_SWGROUP_VIC, .reg = 0x284 }, 118162306a36Sopenharmony_ci { .name = "xusb_host", .swgroup = TEGRA_SWGROUP_XUSB_HOST, .reg = 0x288 }, 118262306a36Sopenharmony_ci { .name = "xusb_dev", .swgroup = TEGRA_SWGROUP_XUSB_DEV, .reg = 0x28c }, 118362306a36Sopenharmony_ci { .name = "a9avp", .swgroup = TEGRA_SWGROUP_A9AVP, .reg = 0x290 }, 118462306a36Sopenharmony_ci { .name = "tsec", .swgroup = TEGRA_SWGROUP_TSEC, .reg = 0x294 }, 118562306a36Sopenharmony_ci { .name = "ppcs1", .swgroup = TEGRA_SWGROUP_PPCS1, .reg = 0x298 }, 118662306a36Sopenharmony_ci { .name = "dc1", .swgroup = TEGRA_SWGROUP_DC1, .reg = 0xa88 }, 118762306a36Sopenharmony_ci { .name = "sdmmc1a", .swgroup = TEGRA_SWGROUP_SDMMC1A, .reg = 0xa94 }, 118862306a36Sopenharmony_ci { .name = "sdmmc2a", .swgroup = TEGRA_SWGROUP_SDMMC2A, .reg = 0xa98 }, 118962306a36Sopenharmony_ci { .name = "sdmmc3a", .swgroup = TEGRA_SWGROUP_SDMMC3A, .reg = 0xa9c }, 119062306a36Sopenharmony_ci { .name = "sdmmc4a", .swgroup = TEGRA_SWGROUP_SDMMC4A, .reg = 0xaa0 }, 119162306a36Sopenharmony_ci { .name = "isp2b", .swgroup = TEGRA_SWGROUP_ISP2B, .reg = 0xaa4 }, 119262306a36Sopenharmony_ci { .name = "gpu", .swgroup = TEGRA_SWGROUP_GPU, .reg = 0xaac }, 119362306a36Sopenharmony_ci { .name = "ppcs2", .swgroup = TEGRA_SWGROUP_PPCS2, .reg = 0xab0 }, 119462306a36Sopenharmony_ci { .name = "nvdec", .swgroup = TEGRA_SWGROUP_NVDEC, .reg = 0xab4 }, 119562306a36Sopenharmony_ci { .name = "ape", .swgroup = TEGRA_SWGROUP_APE, .reg = 0xab8 }, 119662306a36Sopenharmony_ci { .name = "se", .swgroup = TEGRA_SWGROUP_SE, .reg = 0xabc }, 119762306a36Sopenharmony_ci { .name = "nvjpg", .swgroup = TEGRA_SWGROUP_NVJPG, .reg = 0xac0 }, 119862306a36Sopenharmony_ci { .name = "hc1", .swgroup = TEGRA_SWGROUP_HC1, .reg = 0xac4 }, 119962306a36Sopenharmony_ci { .name = "se1", .swgroup = TEGRA_SWGROUP_SE1, .reg = 0xac8 }, 120062306a36Sopenharmony_ci { .name = "axiap", .swgroup = TEGRA_SWGROUP_AXIAP, .reg = 0xacc }, 120162306a36Sopenharmony_ci { .name = "etr", .swgroup = TEGRA_SWGROUP_ETR, .reg = 0xad0 }, 120262306a36Sopenharmony_ci { .name = "tsecb", .swgroup = TEGRA_SWGROUP_TSECB, .reg = 0xad4 }, 120362306a36Sopenharmony_ci { .name = "tsec1", .swgroup = TEGRA_SWGROUP_TSEC1, .reg = 0xad8 }, 120462306a36Sopenharmony_ci { .name = "tsecb1", .swgroup = TEGRA_SWGROUP_TSECB1, .reg = 0xadc }, 120562306a36Sopenharmony_ci { .name = "nvdec1", .swgroup = TEGRA_SWGROUP_NVDEC1, .reg = 0xae0 }, 120662306a36Sopenharmony_ci}; 120762306a36Sopenharmony_ci 120862306a36Sopenharmony_cistatic const unsigned int tegra210_group_display[] = { 120962306a36Sopenharmony_ci TEGRA_SWGROUP_DC, 121062306a36Sopenharmony_ci TEGRA_SWGROUP_DCB, 121162306a36Sopenharmony_ci}; 121262306a36Sopenharmony_ci 121362306a36Sopenharmony_cistatic const struct tegra_smmu_group_soc tegra210_groups[] = { 121462306a36Sopenharmony_ci { 121562306a36Sopenharmony_ci .name = "display", 121662306a36Sopenharmony_ci .swgroups = tegra210_group_display, 121762306a36Sopenharmony_ci .num_swgroups = ARRAY_SIZE(tegra210_group_display), 121862306a36Sopenharmony_ci }, 121962306a36Sopenharmony_ci}; 122062306a36Sopenharmony_ci 122162306a36Sopenharmony_cistatic const struct tegra_smmu_soc tegra210_smmu_soc = { 122262306a36Sopenharmony_ci .clients = tegra210_mc_clients, 122362306a36Sopenharmony_ci .num_clients = ARRAY_SIZE(tegra210_mc_clients), 122462306a36Sopenharmony_ci .swgroups = tegra210_swgroups, 122562306a36Sopenharmony_ci .num_swgroups = ARRAY_SIZE(tegra210_swgroups), 122662306a36Sopenharmony_ci .groups = tegra210_groups, 122762306a36Sopenharmony_ci .num_groups = ARRAY_SIZE(tegra210_groups), 122862306a36Sopenharmony_ci .supports_round_robin_arbitration = true, 122962306a36Sopenharmony_ci .supports_request_limit = true, 123062306a36Sopenharmony_ci .num_tlb_lines = 48, 123162306a36Sopenharmony_ci .num_asids = 128, 123262306a36Sopenharmony_ci}; 123362306a36Sopenharmony_ci 123462306a36Sopenharmony_ci#define TEGRA210_MC_RESET(_name, _control, _status, _bit) \ 123562306a36Sopenharmony_ci { \ 123662306a36Sopenharmony_ci .name = #_name, \ 123762306a36Sopenharmony_ci .id = TEGRA210_MC_RESET_##_name, \ 123862306a36Sopenharmony_ci .control = _control, \ 123962306a36Sopenharmony_ci .status = _status, \ 124062306a36Sopenharmony_ci .bit = _bit, \ 124162306a36Sopenharmony_ci } 124262306a36Sopenharmony_ci 124362306a36Sopenharmony_cistatic const struct tegra_mc_reset tegra210_mc_resets[] = { 124462306a36Sopenharmony_ci TEGRA210_MC_RESET(AFI, 0x200, 0x204, 0), 124562306a36Sopenharmony_ci TEGRA210_MC_RESET(AVPC, 0x200, 0x204, 1), 124662306a36Sopenharmony_ci TEGRA210_MC_RESET(DC, 0x200, 0x204, 2), 124762306a36Sopenharmony_ci TEGRA210_MC_RESET(DCB, 0x200, 0x204, 3), 124862306a36Sopenharmony_ci TEGRA210_MC_RESET(HC, 0x200, 0x204, 6), 124962306a36Sopenharmony_ci TEGRA210_MC_RESET(HDA, 0x200, 0x204, 7), 125062306a36Sopenharmony_ci TEGRA210_MC_RESET(ISP2, 0x200, 0x204, 8), 125162306a36Sopenharmony_ci TEGRA210_MC_RESET(MPCORE, 0x200, 0x204, 9), 125262306a36Sopenharmony_ci TEGRA210_MC_RESET(NVENC, 0x200, 0x204, 11), 125362306a36Sopenharmony_ci TEGRA210_MC_RESET(PPCS, 0x200, 0x204, 14), 125462306a36Sopenharmony_ci TEGRA210_MC_RESET(SATA, 0x200, 0x204, 15), 125562306a36Sopenharmony_ci TEGRA210_MC_RESET(VI, 0x200, 0x204, 17), 125662306a36Sopenharmony_ci TEGRA210_MC_RESET(VIC, 0x200, 0x204, 18), 125762306a36Sopenharmony_ci TEGRA210_MC_RESET(XUSB_HOST, 0x200, 0x204, 19), 125862306a36Sopenharmony_ci TEGRA210_MC_RESET(XUSB_DEV, 0x200, 0x204, 20), 125962306a36Sopenharmony_ci TEGRA210_MC_RESET(A9AVP, 0x200, 0x204, 21), 126062306a36Sopenharmony_ci TEGRA210_MC_RESET(TSEC, 0x200, 0x204, 22), 126162306a36Sopenharmony_ci TEGRA210_MC_RESET(SDMMC1, 0x200, 0x204, 29), 126262306a36Sopenharmony_ci TEGRA210_MC_RESET(SDMMC2, 0x200, 0x204, 30), 126362306a36Sopenharmony_ci TEGRA210_MC_RESET(SDMMC3, 0x200, 0x204, 31), 126462306a36Sopenharmony_ci TEGRA210_MC_RESET(SDMMC4, 0x970, 0x974, 0), 126562306a36Sopenharmony_ci TEGRA210_MC_RESET(ISP2B, 0x970, 0x974, 1), 126662306a36Sopenharmony_ci TEGRA210_MC_RESET(GPU, 0x970, 0x974, 2), 126762306a36Sopenharmony_ci TEGRA210_MC_RESET(NVDEC, 0x970, 0x974, 5), 126862306a36Sopenharmony_ci TEGRA210_MC_RESET(APE, 0x970, 0x974, 6), 126962306a36Sopenharmony_ci TEGRA210_MC_RESET(SE, 0x970, 0x974, 7), 127062306a36Sopenharmony_ci TEGRA210_MC_RESET(NVJPG, 0x970, 0x974, 8), 127162306a36Sopenharmony_ci TEGRA210_MC_RESET(AXIAP, 0x970, 0x974, 11), 127262306a36Sopenharmony_ci TEGRA210_MC_RESET(ETR, 0x970, 0x974, 12), 127362306a36Sopenharmony_ci TEGRA210_MC_RESET(TSECB, 0x970, 0x974, 13), 127462306a36Sopenharmony_ci}; 127562306a36Sopenharmony_ci 127662306a36Sopenharmony_ciconst struct tegra_mc_soc tegra210_mc_soc = { 127762306a36Sopenharmony_ci .clients = tegra210_mc_clients, 127862306a36Sopenharmony_ci .num_clients = ARRAY_SIZE(tegra210_mc_clients), 127962306a36Sopenharmony_ci .num_address_bits = 34, 128062306a36Sopenharmony_ci .atom_size = 64, 128162306a36Sopenharmony_ci .client_id_mask = 0xff, 128262306a36Sopenharmony_ci .smmu = &tegra210_smmu_soc, 128362306a36Sopenharmony_ci .intmask = MC_INT_DECERR_MTS | MC_INT_SECERR_SEC | MC_INT_DECERR_VPR | 128462306a36Sopenharmony_ci MC_INT_INVALID_APB_ASID_UPDATE | MC_INT_INVALID_SMMU_PAGE | 128562306a36Sopenharmony_ci MC_INT_SECURITY_VIOLATION | MC_INT_DECERR_EMEM, 128662306a36Sopenharmony_ci .reset_ops = &tegra_mc_reset_ops_common, 128762306a36Sopenharmony_ci .resets = tegra210_mc_resets, 128862306a36Sopenharmony_ci .num_resets = ARRAY_SIZE(tegra210_mc_resets), 128962306a36Sopenharmony_ci .ops = &tegra30_mc_ops, 129062306a36Sopenharmony_ci}; 1291