qemu/hw/misc/arm-smmu.c
<<
>>
Prefs
   1/*
   2 * QEMU model of the ARM SMMU-500
   3 *
   4 * Copyright (c) 2014 Xilinx Inc.
   5 *
   6 * Partially autogenerated by xregqemu.py 2014-08-25.
   7 * Written by Edgar E. Iglesias.
   8 *
   9 * Permission is hereby granted, free of charge, to any person obtaining a copy
  10 * of this software and associated documentation files (the "Software"), to deal
  11 * in the Software without restriction, including without limitation the rights
  12 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  13 * copies of the Software, and to permit persons to whom the Software is
  14 * furnished to do so, subject to the following conditions:
  15 *
  16 * The above copyright notice and this permission notice shall be included in
  17 * all copies or substantial portions of the Software.
  18 *
  19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  22 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  23 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  24 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  25 * THE SOFTWARE.
  26 */
  27
  28#include "qemu/osdep.h"
  29#include "hw/sysbus.h"
  30#include "hw/register.h"
  31#include "qemu/bitops.h"
  32#include "qemu/log.h"
  33#include "qapi/error.h"
  34#include "sysemu/dma.h"
  35
  36#include "hw/fdt_generic_util.h"
  37
  38#ifndef XILINX_SMMU500_ERR_DEBUG
  39#define XILINX_SMMU500_ERR_DEBUG 0
  40#endif
  41
  42#define TYPE_XILINX_SMMU500 "arm.mmu-500"
  43
  44#define XILINX_SMMU500(obj) \
  45     OBJECT_CHECK(SMMU, (obj), TYPE_XILINX_SMMU500)
  46
  47#define DEBUG_DEV_SMMU 0
  48#define DEBUG_DEV_SMMU_PTW 0
  49
  50#define D(...) do {             \
  51    if (DEBUG_DEV_SMMU) {       \
  52        qemu_log(__VA_ARGS__);  \
  53    }                           \
  54} while (0);
  55
  56#define D_PTW(...) do {         \
  57    if (DEBUG_DEV_SMMU_PTW) {   \
  58        qemu_log(__VA_ARGS__);  \
  59    }                           \
  60} while (0);
  61
  62REG32(SMMU_SCR0, 0x0)
  63    FIELD(SMMU_SCR0, NSCFG, 2, 28)
  64    FIELD(SMMU_SCR0, WACFG, 2, 26)
  65    FIELD(SMMU_SCR0, RACFG, 2, 24)
  66    FIELD(SMMU_SCR0, SHCFG, 2, 22)
  67    FIELD(SMMU_SCR0, SMCFCFG, 1, 21)
  68    FIELD(SMMU_SCR0, MTCFG, 1, 20)
  69    FIELD(SMMU_SCR0, MEMATTR, 4, 16)
  70    FIELD(SMMU_SCR0, BSU, 2, 14)
  71    FIELD(SMMU_SCR0, FB, 1, 13)
  72    FIELD(SMMU_SCR0, PTM, 1, 12)
  73    FIELD(SMMU_SCR0, USFCFG, 1, 10)
  74    FIELD(SMMU_SCR0, GSE, 1, 9)
  75    FIELD(SMMU_SCR0, STALLD, 1, 8)
  76    FIELD(SMMU_SCR0, TRANSIENTCFG, 2, 6)
  77    FIELD(SMMU_SCR0, GCFGFIE, 1, 5)
  78    FIELD(SMMU_SCR0, GCFGFRE, 1, 4)
  79    FIELD(SMMU_SCR0, GFIE, 1, 2)
  80    FIELD(SMMU_SCR0, GFRE, 1, 1)
  81    FIELD(SMMU_SCR0, CLIENTPD, 1, 0)
  82REG32(SMMU_SCR1, 0x4)
  83    FIELD(SMMU_SCR1, NSCAFRO, 1, 28)
  84    FIELD(SMMU_SCR1, SPMEN, 1, 27)
  85    FIELD(SMMU_SCR1, SIF, 1, 26)
  86    FIELD(SMMU_SCR1, GEFRO, 1, 25)
  87    FIELD(SMMU_SCR1, GASRAE, 1, 24)
  88    FIELD(SMMU_SCR1, NSNUMIRPTO, 8, 16)
  89    FIELD(SMMU_SCR1, NSNUMSMRGO, 6, 8)
  90    FIELD(SMMU_SCR1, NSNUMCBO, 5, 0)
  91REG32(SMMU_SACR, 0x10)
  92    FIELD(SMMU_SACR, NORMALIZE, 1, 27)
  93    FIELD(SMMU_SACR, CACHE_LOCK, 1, 26)
  94    FIELD(SMMU_SACR, PAGESIZE, 1, 16)
  95    FIELD(SMMU_SACR, S2CRB_TLBEN, 1, 10)
  96    FIELD(SMMU_SACR, MMUDISB_TLBEN, 1, 9)
  97    FIELD(SMMU_SACR, SMTNMB_TLBEN, 1, 8)
  98    FIELD(SMMU_SACR, S1WC2EN, 1, 2)
  99REG32(SMMU_SIDR0, 0x20)
 100    FIELD(SMMU_SIDR0, SES, 1, 31)
 101    FIELD(SMMU_SIDR0, S1TS, 1, 30)
 102    FIELD(SMMU_SIDR0, S2TS, 1, 29)
 103    FIELD(SMMU_SIDR0, NTS, 1, 28)
 104    FIELD(SMMU_SIDR0, SMS, 1, 27)
 105    FIELD(SMMU_SIDR0, ATOSNS, 1, 26)
 106    FIELD(SMMU_SIDR0, PTFS, 2, 24)
 107    FIELD(SMMU_SIDR0, NUMIRPT, 8, 16)
 108    FIELD(SMMU_SIDR0, CTTW, 1, 14)
 109    FIELD(SMMU_SIDR0, BTM, 1, 13)
 110    FIELD(SMMU_SIDR0, NUMSIDB, 4, 9)
 111    FIELD(SMMU_SIDR0, NUMSMRG, 8, 0)
 112REG32(SMMU_SIDR1, 0x24)
 113    FIELD(SMMU_SIDR1, PAGESIZE, 1, 31)
 114    FIELD(SMMU_SIDR1, NUMPAGENDXB, 3, 28)
 115    FIELD(SMMU_SIDR1, NUMS2CB, 8, 16)
 116    FIELD(SMMU_SIDR1, SMCD, 1, 15)
 117    FIELD(SMMU_SIDR1, SSDTP, 1, 12)
 118    FIELD(SMMU_SIDR1, NUMSSDNDXB, 4, 8)
 119    FIELD(SMMU_SIDR1, NUMCB, 8, 0)
 120REG32(SMMU_SIDR2, 0x28)
 121    FIELD(SMMU_SIDR2, PTFSV8_64KB, 1, 14)
 122    FIELD(SMMU_SIDR2, PTFSV8_16KB, 1, 13)
 123    FIELD(SMMU_SIDR2, TFSV8_4KB, 1, 12)
 124    FIELD(SMMU_SIDR2, UBS, 4, 8)
 125    FIELD(SMMU_SIDR2, OAS, 4, 4)
 126    FIELD(SMMU_SIDR2, IAS, 4, 0)
 127REG32(SMMU_SIDR7, 0x3c)
 128    FIELD(SMMU_SIDR7, MAJOR, 4, 4)
 129    FIELD(SMMU_SIDR7, MINOR, 4, 0)
 130REG32(SMMU_SGFAR_LOW, 0x40)
 131REG32(SMMU_SGFAR_HIGH, 0x44)
 132    FIELD(SMMU_SGFAR_HIGH, FADDR, 17, 0)
 133REG32(SMMU_SGFSR, 0x48)
 134    FIELD(SMMU_SGFSR, MULTI, 1, 31)
 135    FIELD(SMMU_SGFSR, UUT, 1, 8)
 136    FIELD(SMMU_SGFSR, PF, 1, 7)
 137    FIELD(SMMU_SGFSR, EF, 1, 6)
 138    FIELD(SMMU_SGFSR, CAF, 1, 5)
 139    FIELD(SMMU_SGFSR, UCIF, 1, 4)
 140    FIELD(SMMU_SGFSR, UCBF, 1, 3)
 141    FIELD(SMMU_SGFSR, SMCF, 1, 2)
 142    FIELD(SMMU_SGFSR, USF, 1, 1)
 143    FIELD(SMMU_SGFSR, ICF, 1, 0)
 144REG32(SMMU_SGFSRRESTORE, 0x4c)
 145    FIELD(SMMU_SGFSRRESTORE, MULTI, 1, 31)
 146    FIELD(SMMU_SGFSRRESTORE, UUT, 1, 8)
 147    FIELD(SMMU_SGFSRRESTORE, PF, 1, 7)
 148    FIELD(SMMU_SGFSRRESTORE, EF, 1, 6)
 149    FIELD(SMMU_SGFSRRESTORE, CAF, 1, 5)
 150    FIELD(SMMU_SGFSRRESTORE, UCIF, 1, 4)
 151    FIELD(SMMU_SGFSRRESTORE, UCBF, 1, 3)
 152    FIELD(SMMU_SGFSRRESTORE, SMCF, 1, 2)
 153    FIELD(SMMU_SGFSRRESTORE, USF, 1, 1)
 154    FIELD(SMMU_SGFSRRESTORE, ICF, 1, 0)
 155REG32(SMMU_SGFSYNR0, 0x50)
 156    FIELD(SMMU_SGFSYNR0, ATS, 1, 6)
 157    FIELD(SMMU_SGFSYNR0, NSATTR, 1, 5)
 158    FIELD(SMMU_SGFSYNR0, NSSTATE, 1, 4)
 159    FIELD(SMMU_SGFSYNR0, IND, 1, 3)
 160    FIELD(SMMU_SGFSYNR0, PNU, 1, 2)
 161    FIELD(SMMU_SGFSYNR0, WNR, 1, 1)
 162REG32(SMMU_SGFSYNR1, 0x54)
 163    FIELD(SMMU_SGFSYNR1, SSD_INDEX, 15, 16)
 164    FIELD(SMMU_SGFSYNR1, STREAMID, 15, 0)
 165REG32(SMMU_STLBIALL, 0x60)
 166REG32(SMMU_TLBIVMID, 0x64)
 167    FIELD(SMMU_TLBIVMID, VMID, 8, 0)
 168REG32(SMMU_TLBIALLNSNH, 0x68)
 169REG32(SMMU_STLBGSYNC, 0x70)
 170REG32(SMMU_STLBGSTATUS, 0x74)
 171    FIELD(SMMU_STLBGSTATUS, GSACTIVE, 1, 0)
 172REG32(SMMU_DBGRPTRTBU, 0x80)
 173    FIELD(SMMU_DBGRPTRTBU, TBU_ID, 3, 24)
 174    FIELD(SMMU_DBGRPTRTBU, TLB_POINTER, 12, 4)
 175    FIELD(SMMU_DBGRPTRTBU, TLB_ENTRY_POINTER, 4, 0)
 176REG32(SMMU_DBGRDATATBU, 0x84)
 177REG32(SMMU_DBGRPTRTCU, 0x88)
 178    FIELD(SMMU_DBGRPTRTCU, DATASRC, 2, 26)
 179    FIELD(SMMU_DBGRPTRTCU, WAY_RAM, 2, 24)
 180    FIELD(SMMU_DBGRPTRTCU, TLB_POINTER, 9, 4)
 181    FIELD(SMMU_DBGRPTRTCU, TLB_ENTRY_POINTER, 4, 0)
 182REG32(SMMU_DBGRDATATCU, 0x8c)
 183REG32(SMMU_STLBIVALM_LOW, 0xa0)
 184REG32(SMMU_STLBIVALM_HIGH, 0xa4)
 185    FIELD(SMMU_STLBIVALM_HIGH, ADDRESS, 5, 0)
 186REG32(SMMU_STLBIVAM_LOW, 0xa8)
 187REG32(SMMU_STLBIVAM_HIGH, 0xac)
 188    FIELD(SMMU_STLBIVAM_HIGH, ADDRESS, 5, 0)
 189REG32(SMMU_STLBIALLM, 0xbc)
 190REG32(SMMU_NSCR0, 0x400)
 191    FIELD(SMMU_NSCR0, WACFG, 2, 26)
 192    FIELD(SMMU_NSCR0, RACFG, 2, 24)
 193    FIELD(SMMU_NSCR0, SHCFG, 2, 22)
 194    FIELD(SMMU_NSCR0, SMCFCFG, 1, 21)
 195    FIELD(SMMU_NSCR0, MTCFG, 1, 20)
 196    FIELD(SMMU_NSCR0, MEMATTR, 4, 16)
 197    FIELD(SMMU_NSCR0, BSU, 2, 14)
 198    FIELD(SMMU_NSCR0, FB, 1, 13)
 199    FIELD(SMMU_NSCR0, PTM, 1, 12)
 200    FIELD(SMMU_NSCR0, VMIDPNE, 1, 11)
 201    FIELD(SMMU_NSCR0, USFCFG, 1, 10)
 202    FIELD(SMMU_NSCR0, GSE, 1, 9)
 203    FIELD(SMMU_NSCR0, STALLD, 1, 8)
 204    FIELD(SMMU_NSCR0, TRANSIENTCFG, 2, 6)
 205    FIELD(SMMU_NSCR0, GCFGFIE, 1, 5)
 206    FIELD(SMMU_NSCR0, GCFGFRE, 1, 4)
 207    FIELD(SMMU_NSCR0, GFIE, 1, 2)
 208    FIELD(SMMU_NSCR0, GFRE, 1, 1)
 209    FIELD(SMMU_NSCR0, CLIENTPD, 1, 0)
 210REG32(SMMU_NSACR, 0x410)
 211    FIELD(SMMU_NSACR, CACHE_LOCK, 1, 26)
 212    FIELD(SMMU_NSACR, DP4K_TBUDISB, 1, 25)
 213    FIELD(SMMU_NSACR, DP4K_TCUDISB, 1, 24)
 214    FIELD(SMMU_NSACR, S2CRB_TLBEN, 1, 10)
 215    FIELD(SMMU_NSACR, MMUDISB_TLBEN, 1, 9)
 216    FIELD(SMMU_NSACR, SMTNMB_TLBEN, 1, 8)
 217    FIELD(SMMU_NSACR, IPA2PA_CEN, 1, 4)
 218    FIELD(SMMU_NSACR, S2WC2EN, 1, 3)
 219    FIELD(SMMU_NSACR, S1WC2EN, 1, 2)
 220REG32(SMMU_NSGFAR_LOW, 0x440)
 221REG32(SMMU_NSGFAR_HIGH, 0x444)
 222    FIELD(SMMU_NSGFAR_HIGH, FADDR, 17, 0)
 223REG32(SMMU_NSGFSR, 0x448)
 224    FIELD(SMMU_NSGFSR, MULTI, 1, 31)
 225    FIELD(SMMU_NSGFSR, UUT, 1, 8)
 226    FIELD(SMMU_NSGFSR, EF, 1, 6)
 227    FIELD(SMMU_NSGFSR, CAF, 1, 5)
 228    FIELD(SMMU_NSGFSR, UCIF, 1, 4)
 229    FIELD(SMMU_NSGFSR, UCBF, 1, 3)
 230    FIELD(SMMU_NSGFSR, SMCF, 1, 2)
 231    FIELD(SMMU_NSGFSR, USF, 1, 1)
 232    FIELD(SMMU_NSGFSR, ICF, 1, 0)
 233REG32(SMMU_NSGFSRRESTORE, 0x44c)
 234    FIELD(SMMU_NSGFSRRESTORE, MULTI, 1, 31)
 235    FIELD(SMMU_NSGFSRRESTORE, UUT, 1, 8)
 236    FIELD(SMMU_NSGFSRRESTORE, EF, 1, 6)
 237    FIELD(SMMU_NSGFSRRESTORE, CAF, 1, 5)
 238    FIELD(SMMU_NSGFSRRESTORE, UCIF, 1, 4)
 239    FIELD(SMMU_NSGFSRRESTORE, UCBF, 1, 3)
 240    FIELD(SMMU_NSGFSRRESTORE, SMCF, 1, 2)
 241    FIELD(SMMU_NSGFSRRESTORE, USF, 1, 1)
 242    FIELD(SMMU_NSGFSRRESTORE, ICF, 1, 0)
 243REG32(SMMU_NSGFSYNR0, 0x450)
 244    FIELD(SMMU_NSGFSYNR0, ATS, 1, 6)
 245    FIELD(SMMU_NSGFSYNR0, IND, 1, 3)
 246    FIELD(SMMU_NSGFSYNR0, PNU, 1, 2)
 247    FIELD(SMMU_NSGFSYNR0, WNR, 1, 1)
 248    FIELD(SMMU_NSGFSYNR0, NESTED, 1, 0)
 249REG32(SMMU_NSGFSYNDR1, 0x454)
 250    FIELD(SMMU_NSGFSYNDR1, SSD_INDEX, 15, 16)
 251    FIELD(SMMU_NSGFSYNDR1, STREAMID, 15, 0)
 252REG32(SMMU_NSTLBGSYNC, 0x470)
 253REG32(SMMU_NSTLBGSTATUS, 0x474)
 254    FIELD(SMMU_NSTLBGSTATUS, GSACTIVE, 1, 0)
 255REG32(SMMU_SMR0, 0x800)
 256    FIELD(SMMU_SMR0, VALID, 1, 31)
 257    FIELD(SMMU_SMR0, MASK, 15, 16)
 258    FIELD(SMMU_SMR0, ID, 15, 0)
 259REG32(SMMU_SMR1, 0x804)
 260    FIELD(SMMU_SMR1, VALID, 1, 31)
 261    FIELD(SMMU_SMR1, MASK, 15, 16)
 262    FIELD(SMMU_SMR1, ID, 15, 0)
 263REG32(SMMU_SMR2, 0x808)
 264    FIELD(SMMU_SMR2, VALID, 1, 31)
 265    FIELD(SMMU_SMR2, MASK, 15, 16)
 266    FIELD(SMMU_SMR2, ID, 15, 0)
 267REG32(SMMU_SMR3, 0x80c)
 268    FIELD(SMMU_SMR3, VALID, 1, 31)
 269    FIELD(SMMU_SMR3, MASK, 15, 16)
 270    FIELD(SMMU_SMR3, ID, 15, 0)
 271REG32(SMMU_SMR4, 0x810)
 272    FIELD(SMMU_SMR4, VALID, 1, 31)
 273    FIELD(SMMU_SMR4, MASK, 15, 16)
 274    FIELD(SMMU_SMR4, ID, 15, 0)
 275REG32(SMMU_SMR5, 0x814)
 276    FIELD(SMMU_SMR5, VALID, 1, 31)
 277    FIELD(SMMU_SMR5, MASK, 15, 16)
 278    FIELD(SMMU_SMR5, ID, 15, 0)
 279REG32(SMMU_SMR6, 0x818)
 280    FIELD(SMMU_SMR6, VALID, 1, 31)
 281    FIELD(SMMU_SMR6, MASK, 15, 16)
 282    FIELD(SMMU_SMR6, ID, 15, 0)
 283REG32(SMMU_SMR7, 0x81c)
 284    FIELD(SMMU_SMR7, VALID, 1, 31)
 285    FIELD(SMMU_SMR7, MASK, 15, 16)
 286    FIELD(SMMU_SMR7, ID, 15, 0)
 287REG32(SMMU_SMR8, 0x820)
 288    FIELD(SMMU_SMR8, VALID, 1, 31)
 289    FIELD(SMMU_SMR8, MASK, 15, 16)
 290    FIELD(SMMU_SMR8, ID, 15, 0)
 291REG32(SMMU_SMR9, 0x824)
 292    FIELD(SMMU_SMR9, VALID, 1, 31)
 293    FIELD(SMMU_SMR9, MASK, 15, 16)
 294    FIELD(SMMU_SMR9, ID, 15, 0)
 295REG32(SMMU_SMR10, 0x828)
 296    FIELD(SMMU_SMR10, VALID, 1, 31)
 297    FIELD(SMMU_SMR10, MASK, 15, 16)
 298    FIELD(SMMU_SMR10, ID, 15, 0)
 299REG32(SMMU_SMR11, 0x82c)
 300    FIELD(SMMU_SMR11, VALID, 1, 31)
 301    FIELD(SMMU_SMR11, MASK, 15, 16)
 302    FIELD(SMMU_SMR11, ID, 15, 0)
 303REG32(SMMU_SMR12, 0x830)
 304    FIELD(SMMU_SMR12, VALID, 1, 31)
 305    FIELD(SMMU_SMR12, MASK, 15, 16)
 306    FIELD(SMMU_SMR12, ID, 15, 0)
 307REG32(SMMU_SMR13, 0x834)
 308    FIELD(SMMU_SMR13, VALID, 1, 31)
 309    FIELD(SMMU_SMR13, MASK, 15, 16)
 310    FIELD(SMMU_SMR13, ID, 15, 0)
 311REG32(SMMU_SMR14, 0x838)
 312    FIELD(SMMU_SMR14, VALID, 1, 31)
 313    FIELD(SMMU_SMR14, MASK, 15, 16)
 314    FIELD(SMMU_SMR14, ID, 15, 0)
 315REG32(SMMU_SMR15, 0x83c)
 316    FIELD(SMMU_SMR15, VALID, 1, 31)
 317    FIELD(SMMU_SMR15, MASK, 15, 16)
 318    FIELD(SMMU_SMR15, ID, 15, 0)
 319REG32(SMMU_SMR16, 0x840)
 320    FIELD(SMMU_SMR16, VALID, 1, 31)
 321    FIELD(SMMU_SMR16, MASK, 15, 16)
 322    FIELD(SMMU_SMR16, ID, 15, 0)
 323REG32(SMMU_SMR17, 0x844)
 324    FIELD(SMMU_SMR17, VALID, 1, 31)
 325    FIELD(SMMU_SMR17, MASK, 15, 16)
 326    FIELD(SMMU_SMR17, ID, 15, 0)
 327REG32(SMMU_SMR18, 0x848)
 328    FIELD(SMMU_SMR18, VALID, 1, 31)
 329    FIELD(SMMU_SMR18, MASK, 15, 16)
 330    FIELD(SMMU_SMR18, ID, 15, 0)
 331REG32(SMMU_SMR19, 0x84c)
 332    FIELD(SMMU_SMR19, VALID, 1, 31)
 333    FIELD(SMMU_SMR19, MASK, 15, 16)
 334    FIELD(SMMU_SMR19, ID, 15, 0)
 335REG32(SMMU_SMR20, 0x850)
 336    FIELD(SMMU_SMR20, VALID, 1, 31)
 337    FIELD(SMMU_SMR20, MASK, 15, 16)
 338    FIELD(SMMU_SMR20, ID, 15, 0)
 339REG32(SMMU_SMR21, 0x854)
 340    FIELD(SMMU_SMR21, VALID, 1, 31)
 341    FIELD(SMMU_SMR21, MASK, 15, 16)
 342    FIELD(SMMU_SMR21, ID, 15, 0)
 343REG32(SMMU_SMR22, 0x858)
 344    FIELD(SMMU_SMR22, VALID, 1, 31)
 345    FIELD(SMMU_SMR22, MASK, 15, 16)
 346    FIELD(SMMU_SMR22, ID, 15, 0)
 347REG32(SMMU_SMR23, 0x85c)
 348    FIELD(SMMU_SMR23, VALID, 1, 31)
 349    FIELD(SMMU_SMR23, MASK, 15, 16)
 350    FIELD(SMMU_SMR23, ID, 15, 0)
 351REG32(SMMU_SMR24, 0x860)
 352    FIELD(SMMU_SMR24, VALID, 1, 31)
 353    FIELD(SMMU_SMR24, MASK, 15, 16)
 354    FIELD(SMMU_SMR24, ID, 15, 0)
 355REG32(SMMU_SMR25, 0x864)
 356    FIELD(SMMU_SMR25, VALID, 1, 31)
 357    FIELD(SMMU_SMR25, MASK, 15, 16)
 358    FIELD(SMMU_SMR25, ID, 15, 0)
 359REG32(SMMU_SMR26, 0x868)
 360    FIELD(SMMU_SMR26, VALID, 1, 31)
 361    FIELD(SMMU_SMR26, MASK, 15, 16)
 362    FIELD(SMMU_SMR26, ID, 15, 0)
 363REG32(SMMU_SMR27, 0x86c)
 364    FIELD(SMMU_SMR27, VALID, 1, 31)
 365    FIELD(SMMU_SMR27, MASK, 15, 16)
 366    FIELD(SMMU_SMR27, ID, 15, 0)
 367REG32(SMMU_SMR28, 0x870)
 368    FIELD(SMMU_SMR28, VALID, 1, 31)
 369    FIELD(SMMU_SMR28, MASK, 15, 16)
 370    FIELD(SMMU_SMR28, ID, 15, 0)
 371REG32(SMMU_SMR29, 0x874)
 372    FIELD(SMMU_SMR29, VALID, 1, 31)
 373    FIELD(SMMU_SMR29, MASK, 15, 16)
 374    FIELD(SMMU_SMR29, ID, 15, 0)
 375REG32(SMMU_SMR30, 0x878)
 376    FIELD(SMMU_SMR30, VALID, 1, 31)
 377    FIELD(SMMU_SMR30, MASK, 15, 16)
 378    FIELD(SMMU_SMR30, ID, 15, 0)
 379REG32(SMMU_SMR31, 0x87c)
 380    FIELD(SMMU_SMR31, VALID, 1, 31)
 381    FIELD(SMMU_SMR31, MASK, 15, 16)
 382    FIELD(SMMU_SMR31, ID, 15, 0)
 383REG32(SMMU_SMR32, 0x880)
 384    FIELD(SMMU_SMR32, VALID, 1, 31)
 385    FIELD(SMMU_SMR32, MASK, 15, 16)
 386    FIELD(SMMU_SMR32, ID, 15, 0)
 387REG32(SMMU_SMR33, 0x884)
 388    FIELD(SMMU_SMR33, VALID, 1, 31)
 389    FIELD(SMMU_SMR33, MASK, 15, 16)
 390    FIELD(SMMU_SMR33, ID, 15, 0)
 391REG32(SMMU_SMR34, 0x888)
 392    FIELD(SMMU_SMR34, VALID, 1, 31)
 393    FIELD(SMMU_SMR34, MASK, 15, 16)
 394    FIELD(SMMU_SMR34, ID, 15, 0)
 395REG32(SMMU_SMR35, 0x88c)
 396    FIELD(SMMU_SMR35, VALID, 1, 31)
 397    FIELD(SMMU_SMR35, MASK, 15, 16)
 398    FIELD(SMMU_SMR35, ID, 15, 0)
 399REG32(SMMU_SMR36, 0x890)
 400    FIELD(SMMU_SMR36, VALID, 1, 31)
 401    FIELD(SMMU_SMR36, MASK, 15, 16)
 402    FIELD(SMMU_SMR36, ID, 15, 0)
 403REG32(SMMU_SMR37, 0x894)
 404    FIELD(SMMU_SMR37, VALID, 1, 31)
 405    FIELD(SMMU_SMR37, MASK, 15, 16)
 406    FIELD(SMMU_SMR37, ID, 15, 0)
 407REG32(SMMU_SMR38, 0x898)
 408    FIELD(SMMU_SMR38, VALID, 1, 31)
 409    FIELD(SMMU_SMR38, MASK, 15, 16)
 410    FIELD(SMMU_SMR38, ID, 15, 0)
 411REG32(SMMU_SMR39, 0x89c)
 412    FIELD(SMMU_SMR39, VALID, 1, 31)
 413    FIELD(SMMU_SMR39, MASK, 15, 16)
 414    FIELD(SMMU_SMR39, ID, 15, 0)
 415REG32(SMMU_SMR40, 0x8a0)
 416    FIELD(SMMU_SMR40, VALID, 1, 31)
 417    FIELD(SMMU_SMR40, MASK, 15, 16)
 418    FIELD(SMMU_SMR40, ID, 15, 0)
 419REG32(SMMU_SMR41, 0x8a4)
 420    FIELD(SMMU_SMR41, VALID, 1, 31)
 421    FIELD(SMMU_SMR41, MASK, 15, 16)
 422    FIELD(SMMU_SMR41, ID, 15, 0)
 423REG32(SMMU_SMR42, 0x8a8)
 424    FIELD(SMMU_SMR42, VALID, 1, 31)
 425    FIELD(SMMU_SMR42, MASK, 15, 16)
 426    FIELD(SMMU_SMR42, ID, 15, 0)
 427REG32(SMMU_SMR43, 0x8ac)
 428    FIELD(SMMU_SMR43, VALID, 1, 31)
 429    FIELD(SMMU_SMR43, MASK, 15, 16)
 430    FIELD(SMMU_SMR43, ID, 15, 0)
 431REG32(SMMU_SMR44, 0x8b0)
 432    FIELD(SMMU_SMR44, VALID, 1, 31)
 433    FIELD(SMMU_SMR44, MASK, 15, 16)
 434    FIELD(SMMU_SMR44, ID, 15, 0)
 435REG32(SMMU_SMR45, 0x8b4)
 436    FIELD(SMMU_SMR45, VALID, 1, 31)
 437    FIELD(SMMU_SMR45, MASK, 15, 16)
 438    FIELD(SMMU_SMR45, ID, 15, 0)
 439REG32(SMMU_SMR46, 0x8b8)
 440    FIELD(SMMU_SMR46, VALID, 1, 31)
 441    FIELD(SMMU_SMR46, MASK, 15, 16)
 442    FIELD(SMMU_SMR46, ID, 15, 0)
 443REG32(SMMU_SMR47, 0x8bc)
 444    FIELD(SMMU_SMR47, VALID, 1, 31)
 445    FIELD(SMMU_SMR47, MASK, 15, 16)
 446    FIELD(SMMU_SMR47, ID, 15, 0)
 447REG32(SMMU_S2CR0, 0xc00)
 448    FIELD(SMMU_S2CR0, TRANSIENTCFG, 2, 28)
 449    FIELD(SMMU_S2CR0, INSTCFG_1, 1, 27)
 450    FIELD(SMMU_S2CR0, INSTCFG_0_FB, 1, 26)
 451    FIELD(SMMU_S2CR0, PRIVCFG_BSU, 2, 24)
 452    FIELD(SMMU_S2CR0, WACFG, 2, 22)
 453    FIELD(SMMU_S2CR0, RACFG, 2, 20)
 454    FIELD(SMMU_S2CR0, NSCFG, 2, 18)
 455    FIELD(SMMU_S2CR0, TYPE, 2, 16)
 456    FIELD(SMMU_S2CR0, MEM_ATTR, 4, 12)
 457    FIELD(SMMU_S2CR0, MTCFG, 1, 11)
 458    FIELD(SMMU_S2CR0, SHCFG, 2, 8)
 459    FIELD(SMMU_S2CR0, CBNDX_VMID, 8, 0)
 460REG32(SMMU_S2CR1, 0xc04)
 461    FIELD(SMMU_S2CR1, TRANSIENTCFG, 2, 28)
 462    FIELD(SMMU_S2CR1, INSTCFG_1, 1, 27)
 463    FIELD(SMMU_S2CR1, INSTCFG_0_FB, 1, 26)
 464    FIELD(SMMU_S2CR1, PRIVCFG_BSU, 2, 24)
 465    FIELD(SMMU_S2CR1, WACFG, 2, 22)
 466    FIELD(SMMU_S2CR1, RACFG, 2, 20)
 467    FIELD(SMMU_S2CR1, NSCFG, 2, 18)
 468    FIELD(SMMU_S2CR1, TYPE, 2, 16)
 469    FIELD(SMMU_S2CR1, MEM_ATTR, 4, 12)
 470    FIELD(SMMU_S2CR1, MTCFG, 1, 11)
 471    FIELD(SMMU_S2CR1, SHCFG, 2, 8)
 472    FIELD(SMMU_S2CR1, CBNDX_VMID, 8, 0)
 473REG32(SMMU_S2CR2, 0xc08)
 474    FIELD(SMMU_S2CR2, TRANSIENTCFG, 2, 28)
 475    FIELD(SMMU_S2CR2, INSTCFG_1, 1, 27)
 476    FIELD(SMMU_S2CR2, INSTCFG_0_FB, 1, 26)
 477    FIELD(SMMU_S2CR2, PRIVCFG_BSU, 2, 24)
 478    FIELD(SMMU_S2CR2, WACFG, 2, 22)
 479    FIELD(SMMU_S2CR2, RACFG, 2, 20)
 480    FIELD(SMMU_S2CR2, NSCFG, 2, 18)
 481    FIELD(SMMU_S2CR2, TYPE, 2, 16)
 482    FIELD(SMMU_S2CR2, MEM_ATTR, 4, 12)
 483    FIELD(SMMU_S2CR2, MTCFG, 1, 11)
 484    FIELD(SMMU_S2CR2, SHCFG, 2, 8)
 485    FIELD(SMMU_S2CR2, CBNDX_VMID, 8, 0)
 486REG32(SMMU_S2CR3, 0xc0c)
 487    FIELD(SMMU_S2CR3, TRANSIENTCFG, 2, 28)
 488    FIELD(SMMU_S2CR3, INSTCFG_1, 1, 27)
 489    FIELD(SMMU_S2CR3, INSTCFG_0_FB, 1, 26)
 490    FIELD(SMMU_S2CR3, PRIVCFG_BSU, 2, 24)
 491    FIELD(SMMU_S2CR3, WACFG, 2, 22)
 492    FIELD(SMMU_S2CR3, RACFG, 2, 20)
 493    FIELD(SMMU_S2CR3, NSCFG, 2, 18)
 494    FIELD(SMMU_S2CR3, TYPE, 2, 16)
 495    FIELD(SMMU_S2CR3, MEM_ATTR, 4, 12)
 496    FIELD(SMMU_S2CR3, MTCFG, 1, 11)
 497    FIELD(SMMU_S2CR3, SHCFG, 2, 8)
 498    FIELD(SMMU_S2CR3, CBNDX_VMID, 8, 0)
 499REG32(SMMU_S2CR4, 0xc10)
 500    FIELD(SMMU_S2CR4, TRANSIENTCFG, 2, 28)
 501    FIELD(SMMU_S2CR4, INSTCFG_1, 1, 27)
 502    FIELD(SMMU_S2CR4, INSTCFG_0_FB, 1, 26)
 503    FIELD(SMMU_S2CR4, PRIVCFG_BSU, 2, 24)
 504    FIELD(SMMU_S2CR4, WACFG, 2, 22)
 505    FIELD(SMMU_S2CR4, RACFG, 2, 20)
 506    FIELD(SMMU_S2CR4, NSCFG, 2, 18)
 507    FIELD(SMMU_S2CR4, TYPE, 2, 16)
 508    FIELD(SMMU_S2CR4, MEM_ATTR, 4, 12)
 509    FIELD(SMMU_S2CR4, MTCFG, 1, 11)
 510    FIELD(SMMU_S2CR4, SHCFG, 2, 8)
 511    FIELD(SMMU_S2CR4, CBNDX_VMID, 8, 0)
 512REG32(SMMU_S2CR5, 0xc14)
 513    FIELD(SMMU_S2CR5, TRANSIENTCFG, 2, 28)
 514    FIELD(SMMU_S2CR5, INSTCFG_1, 1, 27)
 515    FIELD(SMMU_S2CR5, INSTCFG_0_FB, 1, 26)
 516    FIELD(SMMU_S2CR5, PRIVCFG_BSU, 2, 24)
 517    FIELD(SMMU_S2CR5, WACFG, 2, 22)
 518    FIELD(SMMU_S2CR5, RACFG, 2, 20)
 519    FIELD(SMMU_S2CR5, NSCFG, 2, 18)
 520    FIELD(SMMU_S2CR5, TYPE, 2, 16)
 521    FIELD(SMMU_S2CR5, MEM_ATTR, 4, 12)
 522    FIELD(SMMU_S2CR5, MTCFG, 1, 11)
 523    FIELD(SMMU_S2CR5, SHCFG, 2, 8)
 524    FIELD(SMMU_S2CR5, CBNDX_VMID, 8, 0)
 525REG32(SMMU_S2CR6, 0xc18)
 526    FIELD(SMMU_S2CR6, TRANSIENTCFG, 2, 28)
 527    FIELD(SMMU_S2CR6, INSTCFG_1, 1, 27)
 528    FIELD(SMMU_S2CR6, INSTCFG_0_FB, 1, 26)
 529    FIELD(SMMU_S2CR6, PRIVCFG_BSU, 2, 24)
 530    FIELD(SMMU_S2CR6, WACFG, 2, 22)
 531    FIELD(SMMU_S2CR6, RACFG, 2, 20)
 532    FIELD(SMMU_S2CR6, NSCFG, 2, 18)
 533    FIELD(SMMU_S2CR6, TYPE, 2, 16)
 534    FIELD(SMMU_S2CR6, MEM_ATTR, 4, 12)
 535    FIELD(SMMU_S2CR6, MTCFG, 1, 11)
 536    FIELD(SMMU_S2CR6, SHCFG, 2, 8)
 537    FIELD(SMMU_S2CR6, CBNDX_VMID, 8, 0)
 538REG32(SMMU_S2CR7, 0xc1c)
 539    FIELD(SMMU_S2CR7, TRANSIENTCFG, 2, 28)
 540    FIELD(SMMU_S2CR7, INSTCFG_1, 1, 27)
 541    FIELD(SMMU_S2CR7, INSTCFG_0_FB, 1, 26)
 542    FIELD(SMMU_S2CR7, PRIVCFG_BSU, 2, 24)
 543    FIELD(SMMU_S2CR7, WACFG, 2, 22)
 544    FIELD(SMMU_S2CR7, RACFG, 2, 20)
 545    FIELD(SMMU_S2CR7, NSCFG, 2, 18)
 546    FIELD(SMMU_S2CR7, TYPE, 2, 16)
 547    FIELD(SMMU_S2CR7, MEM_ATTR, 4, 12)
 548    FIELD(SMMU_S2CR7, MTCFG, 1, 11)
 549    FIELD(SMMU_S2CR7, SHCFG, 2, 8)
 550    FIELD(SMMU_S2CR7, CBNDX_VMID, 8, 0)
 551REG32(SMMU_S2CR8, 0xc20)
 552    FIELD(SMMU_S2CR8, TRANSIENTCFG, 2, 28)
 553    FIELD(SMMU_S2CR8, INSTCFG_1, 1, 27)
 554    FIELD(SMMU_S2CR8, INSTCFG_0_FB, 1, 26)
 555    FIELD(SMMU_S2CR8, PRIVCFG_BSU, 2, 24)
 556    FIELD(SMMU_S2CR8, WACFG, 2, 22)
 557    FIELD(SMMU_S2CR8, RACFG, 2, 20)
 558    FIELD(SMMU_S2CR8, NSCFG, 2, 18)
 559    FIELD(SMMU_S2CR8, TYPE, 2, 16)
 560    FIELD(SMMU_S2CR8, MEM_ATTR, 4, 12)
 561    FIELD(SMMU_S2CR8, MTCFG, 1, 11)
 562    FIELD(SMMU_S2CR8, SHCFG, 2, 8)
 563    FIELD(SMMU_S2CR8, CBNDX_VMID, 8, 0)
 564REG32(SMMU_S2CR9, 0xc24)
 565    FIELD(SMMU_S2CR9, TRANSIENTCFG, 2, 28)
 566    FIELD(SMMU_S2CR9, INSTCFG_1, 1, 27)
 567    FIELD(SMMU_S2CR9, INSTCFG_0_FB, 1, 26)
 568    FIELD(SMMU_S2CR9, PRIVCFG_BSU, 2, 24)
 569    FIELD(SMMU_S2CR9, WACFG, 2, 22)
 570    FIELD(SMMU_S2CR9, RACFG, 2, 20)
 571    FIELD(SMMU_S2CR9, NSCFG, 2, 18)
 572    FIELD(SMMU_S2CR9, TYPE, 2, 16)
 573    FIELD(SMMU_S2CR9, MEM_ATTR, 4, 12)
 574    FIELD(SMMU_S2CR9, MTCFG, 1, 11)
 575    FIELD(SMMU_S2CR9, SHCFG, 2, 8)
 576    FIELD(SMMU_S2CR9, CBNDX_VMID, 8, 0)
 577REG32(SMMU_S2CR10, 0xc28)
 578    FIELD(SMMU_S2CR10, TRANSIENTCFG, 2, 28)
 579    FIELD(SMMU_S2CR10, INSTCFG_1, 1, 27)
 580    FIELD(SMMU_S2CR10, INSTCFG_0_FB, 1, 26)
 581    FIELD(SMMU_S2CR10, PRIVCFG_BSU, 2, 24)
 582    FIELD(SMMU_S2CR10, WACFG, 2, 22)
 583    FIELD(SMMU_S2CR10, RACFG, 2, 20)
 584    FIELD(SMMU_S2CR10, NSCFG, 2, 18)
 585    FIELD(SMMU_S2CR10, TYPE, 2, 16)
 586    FIELD(SMMU_S2CR10, MEM_ATTR, 4, 12)
 587    FIELD(SMMU_S2CR10, MTCFG, 1, 11)
 588    FIELD(SMMU_S2CR10, SHCFG, 2, 8)
 589    FIELD(SMMU_S2CR10, CBNDX_VMID, 8, 0)
 590REG32(SMMU_S2CR11, 0xc2c)
 591    FIELD(SMMU_S2CR11, TRANSIENTCFG, 2, 28)
 592    FIELD(SMMU_S2CR11, INSTCFG_1, 1, 27)
 593    FIELD(SMMU_S2CR11, INSTCFG_0_FB, 1, 26)
 594    FIELD(SMMU_S2CR11, PRIVCFG_BSU, 2, 24)
 595    FIELD(SMMU_S2CR11, WACFG, 2, 22)
 596    FIELD(SMMU_S2CR11, RACFG, 2, 20)
 597    FIELD(SMMU_S2CR11, NSCFG, 2, 18)
 598    FIELD(SMMU_S2CR11, TYPE, 2, 16)
 599    FIELD(SMMU_S2CR11, MEM_ATTR, 4, 12)
 600    FIELD(SMMU_S2CR11, MTCFG, 1, 11)
 601    FIELD(SMMU_S2CR11, SHCFG, 2, 8)
 602    FIELD(SMMU_S2CR11, CBNDX_VMID, 8, 0)
 603REG32(SMMU_S2CR12, 0xc30)
 604    FIELD(SMMU_S2CR12, TRANSIENTCFG, 2, 28)
 605    FIELD(SMMU_S2CR12, INSTCFG_1, 1, 27)
 606    FIELD(SMMU_S2CR12, INSTCFG_0_FB, 1, 26)
 607    FIELD(SMMU_S2CR12, PRIVCFG_BSU, 2, 24)
 608    FIELD(SMMU_S2CR12, WACFG, 2, 22)
 609    FIELD(SMMU_S2CR12, RACFG, 2, 20)
 610    FIELD(SMMU_S2CR12, NSCFG, 2, 18)
 611    FIELD(SMMU_S2CR12, TYPE, 2, 16)
 612    FIELD(SMMU_S2CR12, MEM_ATTR, 4, 12)
 613    FIELD(SMMU_S2CR12, MTCFG, 1, 11)
 614    FIELD(SMMU_S2CR12, SHCFG, 2, 8)
 615    FIELD(SMMU_S2CR12, CBNDX_VMID, 8, 0)
 616REG32(SMMU_S2CR13, 0xc34)
 617    FIELD(SMMU_S2CR13, TRANSIENTCFG, 2, 28)
 618    FIELD(SMMU_S2CR13, INSTCFG_1, 1, 27)
 619    FIELD(SMMU_S2CR13, INSTCFG_0_FB, 1, 26)
 620    FIELD(SMMU_S2CR13, PRIVCFG_BSU, 2, 24)
 621    FIELD(SMMU_S2CR13, WACFG, 2, 22)
 622    FIELD(SMMU_S2CR13, RACFG, 2, 20)
 623    FIELD(SMMU_S2CR13, NSCFG, 2, 18)
 624    FIELD(SMMU_S2CR13, TYPE, 2, 16)
 625    FIELD(SMMU_S2CR13, MEM_ATTR, 4, 12)
 626    FIELD(SMMU_S2CR13, MTCFG, 1, 11)
 627    FIELD(SMMU_S2CR13, SHCFG, 2, 8)
 628    FIELD(SMMU_S2CR13, CBNDX_VMID, 8, 0)
 629REG32(SMMU_S2CR14, 0xc38)
 630    FIELD(SMMU_S2CR14, TRANSIENTCFG, 2, 28)
 631    FIELD(SMMU_S2CR14, INSTCFG_1, 1, 27)
 632    FIELD(SMMU_S2CR14, INSTCFG_0_FB, 1, 26)
 633    FIELD(SMMU_S2CR14, PRIVCFG_BSU, 2, 24)
 634    FIELD(SMMU_S2CR14, WACFG, 2, 22)
 635    FIELD(SMMU_S2CR14, RACFG, 2, 20)
 636    FIELD(SMMU_S2CR14, NSCFG, 2, 18)
 637    FIELD(SMMU_S2CR14, TYPE, 2, 16)
 638    FIELD(SMMU_S2CR14, MEM_ATTR, 4, 12)
 639    FIELD(SMMU_S2CR14, MTCFG, 1, 11)
 640    FIELD(SMMU_S2CR14, SHCFG, 2, 8)
 641    FIELD(SMMU_S2CR14, CBNDX_VMID, 8, 0)
 642REG32(SMMU_S2CR15, 0xc3c)
 643    FIELD(SMMU_S2CR15, TRANSIENTCFG, 2, 28)
 644    FIELD(SMMU_S2CR15, INSTCFG_1, 1, 27)
 645    FIELD(SMMU_S2CR15, INSTCFG_0_FB, 1, 26)
 646    FIELD(SMMU_S2CR15, PRIVCFG_BSU, 2, 24)
 647    FIELD(SMMU_S2CR15, WACFG, 2, 22)
 648    FIELD(SMMU_S2CR15, RACFG, 2, 20)
 649    FIELD(SMMU_S2CR15, NSCFG, 2, 18)
 650    FIELD(SMMU_S2CR15, TYPE, 2, 16)
 651    FIELD(SMMU_S2CR15, MEM_ATTR, 4, 12)
 652    FIELD(SMMU_S2CR15, MTCFG, 1, 11)
 653    FIELD(SMMU_S2CR15, SHCFG, 2, 8)
 654    FIELD(SMMU_S2CR15, CBNDX_VMID, 8, 0)
 655REG32(SMMU_S2CR16, 0xc40)
 656    FIELD(SMMU_S2CR16, TRANSIENTCFG, 2, 28)
 657    FIELD(SMMU_S2CR16, INSTCFG_1, 1, 27)
 658    FIELD(SMMU_S2CR16, INSTCFG_0_FB, 1, 26)
 659    FIELD(SMMU_S2CR16, PRIVCFG_BSU, 2, 24)
 660    FIELD(SMMU_S2CR16, WACFG, 2, 22)
 661    FIELD(SMMU_S2CR16, RACFG, 2, 20)
 662    FIELD(SMMU_S2CR16, NSCFG, 2, 18)
 663    FIELD(SMMU_S2CR16, TYPE, 2, 16)
 664    FIELD(SMMU_S2CR16, MEM_ATTR, 4, 12)
 665    FIELD(SMMU_S2CR16, MTCFG, 1, 11)
 666    FIELD(SMMU_S2CR16, SHCFG, 2, 8)
 667    FIELD(SMMU_S2CR16, CBNDX_VMID, 8, 0)
 668REG32(SMMU_S2CR17, 0xc44)
 669    FIELD(SMMU_S2CR17, TRANSIENTCFG, 2, 28)
 670    FIELD(SMMU_S2CR17, INSTCFG_1, 1, 27)
 671    FIELD(SMMU_S2CR17, INSTCFG_0_FB, 1, 26)
 672    FIELD(SMMU_S2CR17, PRIVCFG_BSU, 2, 24)
 673    FIELD(SMMU_S2CR17, WACFG, 2, 22)
 674    FIELD(SMMU_S2CR17, RACFG, 2, 20)
 675    FIELD(SMMU_S2CR17, NSCFG, 2, 18)
 676    FIELD(SMMU_S2CR17, TYPE, 2, 16)
 677    FIELD(SMMU_S2CR17, MEM_ATTR, 4, 12)
 678    FIELD(SMMU_S2CR17, MTCFG, 1, 11)
 679    FIELD(SMMU_S2CR17, SHCFG, 2, 8)
 680    FIELD(SMMU_S2CR17, CBNDX_VMID, 8, 0)
 681REG32(SMMU_S2CR18, 0xc48)
 682    FIELD(SMMU_S2CR18, TRANSIENTCFG, 2, 28)
 683    FIELD(SMMU_S2CR18, INSTCFG_1, 1, 27)
 684    FIELD(SMMU_S2CR18, INSTCFG_0_FB, 1, 26)
 685    FIELD(SMMU_S2CR18, PRIVCFG_BSU, 2, 24)
 686    FIELD(SMMU_S2CR18, WACFG, 2, 22)
 687    FIELD(SMMU_S2CR18, RACFG, 2, 20)
 688    FIELD(SMMU_S2CR18, NSCFG, 2, 18)
 689    FIELD(SMMU_S2CR18, TYPE, 2, 16)
 690    FIELD(SMMU_S2CR18, MEM_ATTR, 4, 12)
 691    FIELD(SMMU_S2CR18, MTCFG, 1, 11)
 692    FIELD(SMMU_S2CR18, SHCFG, 2, 8)
 693    FIELD(SMMU_S2CR18, CBNDX_VMID, 8, 0)
 694REG32(SMMU_S2CR19, 0xc4c)
 695    FIELD(SMMU_S2CR19, TRANSIENTCFG, 2, 28)
 696    FIELD(SMMU_S2CR19, INSTCFG_1, 1, 27)
 697    FIELD(SMMU_S2CR19, INSTCFG_0_FB, 1, 26)
 698    FIELD(SMMU_S2CR19, PRIVCFG_BSU, 2, 24)
 699    FIELD(SMMU_S2CR19, WACFG, 2, 22)
 700    FIELD(SMMU_S2CR19, RACFG, 2, 20)
 701    FIELD(SMMU_S2CR19, NSCFG, 2, 18)
 702    FIELD(SMMU_S2CR19, TYPE, 2, 16)
 703    FIELD(SMMU_S2CR19, MEM_ATTR, 4, 12)
 704    FIELD(SMMU_S2CR19, MTCFG, 1, 11)
 705    FIELD(SMMU_S2CR19, SHCFG, 2, 8)
 706    FIELD(SMMU_S2CR19, CBNDX_VMID, 8, 0)
 707REG32(SMMU_S2CR20, 0xc50)
 708    FIELD(SMMU_S2CR20, TRANSIENTCFG, 2, 28)
 709    FIELD(SMMU_S2CR20, INSTCFG_1, 1, 27)
 710    FIELD(SMMU_S2CR20, INSTCFG_0_FB, 1, 26)
 711    FIELD(SMMU_S2CR20, PRIVCFG_BSU, 2, 24)
 712    FIELD(SMMU_S2CR20, WACFG, 2, 22)
 713    FIELD(SMMU_S2CR20, RACFG, 2, 20)
 714    FIELD(SMMU_S2CR20, NSCFG, 2, 18)
 715    FIELD(SMMU_S2CR20, TYPE, 2, 16)
 716    FIELD(SMMU_S2CR20, MEM_ATTR, 4, 12)
 717    FIELD(SMMU_S2CR20, MTCFG, 1, 11)
 718    FIELD(SMMU_S2CR20, SHCFG, 2, 8)
 719    FIELD(SMMU_S2CR20, CBNDX_VMID, 8, 0)
 720REG32(SMMU_S2CR21, 0xc54)
 721    FIELD(SMMU_S2CR21, TRANSIENTCFG, 2, 28)
 722    FIELD(SMMU_S2CR21, INSTCFG_1, 1, 27)
 723    FIELD(SMMU_S2CR21, INSTCFG_0_FB, 1, 26)
 724    FIELD(SMMU_S2CR21, PRIVCFG_BSU, 2, 24)
 725    FIELD(SMMU_S2CR21, WACFG, 2, 22)
 726    FIELD(SMMU_S2CR21, RACFG, 2, 20)
 727    FIELD(SMMU_S2CR21, NSCFG, 2, 18)
 728    FIELD(SMMU_S2CR21, TYPE, 2, 16)
 729    FIELD(SMMU_S2CR21, MEM_ATTR, 4, 12)
 730    FIELD(SMMU_S2CR21, MTCFG, 1, 11)
 731    FIELD(SMMU_S2CR21, SHCFG, 2, 8)
 732    FIELD(SMMU_S2CR21, CBNDX_VMID, 8, 0)
 733REG32(SMMU_S2CR22, 0xc58)
 734    FIELD(SMMU_S2CR22, TRANSIENTCFG, 2, 28)
 735    FIELD(SMMU_S2CR22, INSTCFG_1, 1, 27)
 736    FIELD(SMMU_S2CR22, INSTCFG_0_FB, 1, 26)
 737    FIELD(SMMU_S2CR22, PRIVCFG_BSU, 2, 24)
 738    FIELD(SMMU_S2CR22, WACFG, 2, 22)
 739    FIELD(SMMU_S2CR22, RACFG, 2, 20)
 740    FIELD(SMMU_S2CR22, NSCFG, 2, 18)
 741    FIELD(SMMU_S2CR22, TYPE, 2, 16)
 742    FIELD(SMMU_S2CR22, MEM_ATTR, 4, 12)
 743    FIELD(SMMU_S2CR22, MTCFG, 1, 11)
 744    FIELD(SMMU_S2CR22, SHCFG, 2, 8)
 745    FIELD(SMMU_S2CR22, CBNDX_VMID, 8, 0)
 746REG32(SMMU_S2CR23, 0xc5c)
 747    FIELD(SMMU_S2CR23, TRANSIENTCFG, 2, 28)
 748    FIELD(SMMU_S2CR23, INSTCFG_1, 1, 27)
 749    FIELD(SMMU_S2CR23, INSTCFG_0_FB, 1, 26)
 750    FIELD(SMMU_S2CR23, PRIVCFG_BSU, 2, 24)
 751    FIELD(SMMU_S2CR23, WACFG, 2, 22)
 752    FIELD(SMMU_S2CR23, RACFG, 2, 20)
 753    FIELD(SMMU_S2CR23, NSCFG, 2, 18)
 754    FIELD(SMMU_S2CR23, TYPE, 2, 16)
 755    FIELD(SMMU_S2CR23, MEM_ATTR, 4, 12)
 756    FIELD(SMMU_S2CR23, MTCFG, 1, 11)
 757    FIELD(SMMU_S2CR23, SHCFG, 2, 8)
 758    FIELD(SMMU_S2CR23, CBNDX_VMID, 8, 0)
 759REG32(SMMU_S2CR24, 0xc60)
 760    FIELD(SMMU_S2CR24, TRANSIENTCFG, 2, 28)
 761    FIELD(SMMU_S2CR24, INSTCFG_1, 1, 27)
 762    FIELD(SMMU_S2CR24, INSTCFG_0_FB, 1, 26)
 763    FIELD(SMMU_S2CR24, PRIVCFG_BSU, 2, 24)
 764    FIELD(SMMU_S2CR24, WACFG, 2, 22)
 765    FIELD(SMMU_S2CR24, RACFG, 2, 20)
 766    FIELD(SMMU_S2CR24, NSCFG, 2, 18)
 767    FIELD(SMMU_S2CR24, TYPE, 2, 16)
 768    FIELD(SMMU_S2CR24, MEM_ATTR, 4, 12)
 769    FIELD(SMMU_S2CR24, MTCFG, 1, 11)
 770    FIELD(SMMU_S2CR24, SHCFG, 2, 8)
 771    FIELD(SMMU_S2CR24, CBNDX_VMID, 8, 0)
 772REG32(SMMU_S2CR25, 0xc64)
 773    FIELD(SMMU_S2CR25, TRANSIENTCFG, 2, 28)
 774    FIELD(SMMU_S2CR25, INSTCFG_1, 1, 27)
 775    FIELD(SMMU_S2CR25, INSTCFG_0_FB, 1, 26)
 776    FIELD(SMMU_S2CR25, PRIVCFG_BSU, 2, 24)
 777    FIELD(SMMU_S2CR25, WACFG, 2, 22)
 778    FIELD(SMMU_S2CR25, RACFG, 2, 20)
 779    FIELD(SMMU_S2CR25, NSCFG, 2, 18)
 780    FIELD(SMMU_S2CR25, TYPE, 2, 16)
 781    FIELD(SMMU_S2CR25, MEM_ATTR, 4, 12)
 782    FIELD(SMMU_S2CR25, MTCFG, 1, 11)
 783    FIELD(SMMU_S2CR25, SHCFG, 2, 8)
 784    FIELD(SMMU_S2CR25, CBNDX_VMID, 8, 0)
 785REG32(SMMU_S2CR26, 0xc68)
 786    FIELD(SMMU_S2CR26, TRANSIENTCFG, 2, 28)
 787    FIELD(SMMU_S2CR26, INSTCFG_1, 1, 27)
 788    FIELD(SMMU_S2CR26, INSTCFG_0_FB, 1, 26)
 789    FIELD(SMMU_S2CR26, PRIVCFG_BSU, 2, 24)
 790    FIELD(SMMU_S2CR26, WACFG, 2, 22)
 791    FIELD(SMMU_S2CR26, RACFG, 2, 20)
 792    FIELD(SMMU_S2CR26, NSCFG, 2, 18)
 793    FIELD(SMMU_S2CR26, TYPE, 2, 16)
 794    FIELD(SMMU_S2CR26, MEM_ATTR, 4, 12)
 795    FIELD(SMMU_S2CR26, MTCFG, 1, 11)
 796    FIELD(SMMU_S2CR26, SHCFG, 2, 8)
 797    FIELD(SMMU_S2CR26, CBNDX_VMID, 8, 0)
 798REG32(SMMU_S2CR27, 0xc6c)
 799    FIELD(SMMU_S2CR27, TRANSIENTCFG, 2, 28)
 800    FIELD(SMMU_S2CR27, INSTCFG_1, 1, 27)
 801    FIELD(SMMU_S2CR27, INSTCFG_0_FB, 1, 26)
 802    FIELD(SMMU_S2CR27, PRIVCFG_BSU, 2, 24)
 803    FIELD(SMMU_S2CR27, WACFG, 2, 22)
 804    FIELD(SMMU_S2CR27, RACFG, 2, 20)
 805    FIELD(SMMU_S2CR27, NSCFG, 2, 18)
 806    FIELD(SMMU_S2CR27, TYPE, 2, 16)
 807    FIELD(SMMU_S2CR27, MEM_ATTR, 4, 12)
 808    FIELD(SMMU_S2CR27, MTCFG, 1, 11)
 809    FIELD(SMMU_S2CR27, SHCFG, 2, 8)
 810    FIELD(SMMU_S2CR27, CBNDX_VMID, 8, 0)
 811REG32(SMMU_S2CR28, 0xc70)
 812    FIELD(SMMU_S2CR28, TRANSIENTCFG, 2, 28)
 813    FIELD(SMMU_S2CR28, INSTCFG_1, 1, 27)
 814    FIELD(SMMU_S2CR28, INSTCFG_0_FB, 1, 26)
 815    FIELD(SMMU_S2CR28, PRIVCFG_BSU, 2, 24)
 816    FIELD(SMMU_S2CR28, WACFG, 2, 22)
 817    FIELD(SMMU_S2CR28, RACFG, 2, 20)
 818    FIELD(SMMU_S2CR28, NSCFG, 2, 18)
 819    FIELD(SMMU_S2CR28, TYPE, 2, 16)
 820    FIELD(SMMU_S2CR28, MEM_ATTR, 4, 12)
 821    FIELD(SMMU_S2CR28, MTCFG, 1, 11)
 822    FIELD(SMMU_S2CR28, SHCFG, 2, 8)
 823    FIELD(SMMU_S2CR28, CBNDX_VMID, 8, 0)
 824REG32(SMMU_S2CR29, 0xc74)
 825    FIELD(SMMU_S2CR29, TRANSIENTCFG, 2, 28)
 826    FIELD(SMMU_S2CR29, INSTCFG_1, 1, 27)
 827    FIELD(SMMU_S2CR29, INSTCFG_0_FB, 1, 26)
 828    FIELD(SMMU_S2CR29, PRIVCFG_BSU, 2, 24)
 829    FIELD(SMMU_S2CR29, WACFG, 2, 22)
 830    FIELD(SMMU_S2CR29, RACFG, 2, 20)
 831    FIELD(SMMU_S2CR29, NSCFG, 2, 18)
 832    FIELD(SMMU_S2CR29, TYPE, 2, 16)
 833    FIELD(SMMU_S2CR29, MEM_ATTR, 4, 12)
 834    FIELD(SMMU_S2CR29, MTCFG, 1, 11)
 835    FIELD(SMMU_S2CR29, SHCFG, 2, 8)
 836    FIELD(SMMU_S2CR29, CBNDX_VMID, 8, 0)
 837REG32(SMMU_S2CR30, 0xc78)
 838    FIELD(SMMU_S2CR30, TRANSIENTCFG, 2, 28)
 839    FIELD(SMMU_S2CR30, INSTCFG_1, 1, 27)
 840    FIELD(SMMU_S2CR30, INSTCFG_0_FB, 1, 26)
 841    FIELD(SMMU_S2CR30, PRIVCFG_BSU, 2, 24)
 842    FIELD(SMMU_S2CR30, WACFG, 2, 22)
 843    FIELD(SMMU_S2CR30, RACFG, 2, 20)
 844    FIELD(SMMU_S2CR30, NSCFG, 2, 18)
 845    FIELD(SMMU_S2CR30, TYPE, 2, 16)
 846    FIELD(SMMU_S2CR30, MEM_ATTR, 4, 12)
 847    FIELD(SMMU_S2CR30, MTCFG, 1, 11)
 848    FIELD(SMMU_S2CR30, SHCFG, 2, 8)
 849    FIELD(SMMU_S2CR30, CBNDX_VMID, 8, 0)
 850REG32(SMMU_S2CR31, 0xc7c)
 851    FIELD(SMMU_S2CR31, TRANSIENTCFG, 2, 28)
 852    FIELD(SMMU_S2CR31, INSTCFG_1, 1, 27)
 853    FIELD(SMMU_S2CR31, INSTCFG_0_FB, 1, 26)
 854    FIELD(SMMU_S2CR31, PRIVCFG_BSU, 2, 24)
 855    FIELD(SMMU_S2CR31, WACFG, 2, 22)
 856    FIELD(SMMU_S2CR31, RACFG, 2, 20)
 857    FIELD(SMMU_S2CR31, NSCFG, 2, 18)
 858    FIELD(SMMU_S2CR31, TYPE, 2, 16)
 859    FIELD(SMMU_S2CR31, MEM_ATTR, 4, 12)
 860    FIELD(SMMU_S2CR31, MTCFG, 1, 11)
 861    FIELD(SMMU_S2CR31, SHCFG, 2, 8)
 862    FIELD(SMMU_S2CR31, CBNDX_VMID, 8, 0)
 863REG32(SMMU_S2CR32, 0xc80)
 864    FIELD(SMMU_S2CR32, TRANSIENTCFG, 2, 28)
 865    FIELD(SMMU_S2CR32, INSTCFG_1, 1, 27)
 866    FIELD(SMMU_S2CR32, INSTCFG_0_FB, 1, 26)
 867    FIELD(SMMU_S2CR32, PRIVCFG_BSU, 2, 24)
 868    FIELD(SMMU_S2CR32, WACFG, 2, 22)
 869    FIELD(SMMU_S2CR32, RACFG, 2, 20)
 870    FIELD(SMMU_S2CR32, NSCFG, 2, 18)
 871    FIELD(SMMU_S2CR32, TYPE, 2, 16)
 872    FIELD(SMMU_S2CR32, MEM_ATTR, 4, 12)
 873    FIELD(SMMU_S2CR32, MTCFG, 1, 11)
 874    FIELD(SMMU_S2CR32, SHCFG, 2, 8)
 875    FIELD(SMMU_S2CR32, CBNDX_VMID, 8, 0)
 876REG32(SMMU_S2CR33, 0xc84)
 877    FIELD(SMMU_S2CR33, TRANSIENTCFG, 2, 28)
 878    FIELD(SMMU_S2CR33, INSTCFG_1, 1, 27)
 879    FIELD(SMMU_S2CR33, INSTCFG_0_FB, 1, 26)
 880    FIELD(SMMU_S2CR33, PRIVCFG_BSU, 2, 24)
 881    FIELD(SMMU_S2CR33, WACFG, 2, 22)
 882    FIELD(SMMU_S2CR33, RACFG, 2, 20)
 883    FIELD(SMMU_S2CR33, NSCFG, 2, 18)
 884    FIELD(SMMU_S2CR33, TYPE, 2, 16)
 885    FIELD(SMMU_S2CR33, MEM_ATTR, 4, 12)
 886    FIELD(SMMU_S2CR33, MTCFG, 1, 11)
 887    FIELD(SMMU_S2CR33, SHCFG, 2, 8)
 888    FIELD(SMMU_S2CR33, CBNDX_VMID, 8, 0)
 889REG32(SMMU_S2CR34, 0xc88)
 890    FIELD(SMMU_S2CR34, TRANSIENTCFG, 2, 28)
 891    FIELD(SMMU_S2CR34, INSTCFG_1, 1, 27)
 892    FIELD(SMMU_S2CR34, INSTCFG_0_FB, 1, 26)
 893    FIELD(SMMU_S2CR34, PRIVCFG_BSU, 2, 24)
 894    FIELD(SMMU_S2CR34, WACFG, 2, 22)
 895    FIELD(SMMU_S2CR34, RACFG, 2, 20)
 896    FIELD(SMMU_S2CR34, NSCFG, 2, 18)
 897    FIELD(SMMU_S2CR34, TYPE, 2, 16)
 898    FIELD(SMMU_S2CR34, MEM_ATTR, 4, 12)
 899    FIELD(SMMU_S2CR34, MTCFG, 1, 11)
 900    FIELD(SMMU_S2CR34, SHCFG, 2, 8)
 901    FIELD(SMMU_S2CR34, CBNDX_VMID, 8, 0)
 902REG32(SMMU_S2CR35, 0xc8c)
 903    FIELD(SMMU_S2CR35, TRANSIENTCFG, 2, 28)
 904    FIELD(SMMU_S2CR35, INSTCFG_1, 1, 27)
 905    FIELD(SMMU_S2CR35, INSTCFG_0_FB, 1, 26)
 906    FIELD(SMMU_S2CR35, PRIVCFG_BSU, 2, 24)
 907    FIELD(SMMU_S2CR35, WACFG, 2, 22)
 908    FIELD(SMMU_S2CR35, RACFG, 2, 20)
 909    FIELD(SMMU_S2CR35, NSCFG, 2, 18)
 910    FIELD(SMMU_S2CR35, TYPE, 2, 16)
 911    FIELD(SMMU_S2CR35, MEM_ATTR, 4, 12)
 912    FIELD(SMMU_S2CR35, MTCFG, 1, 11)
 913    FIELD(SMMU_S2CR35, SHCFG, 2, 8)
 914    FIELD(SMMU_S2CR35, CBNDX_VMID, 8, 0)
 915REG32(SMMU_S2CR36, 0xc90)
 916    FIELD(SMMU_S2CR36, TRANSIENTCFG, 2, 28)
 917    FIELD(SMMU_S2CR36, INSTCFG_1, 1, 27)
 918    FIELD(SMMU_S2CR36, INSTCFG_0_FB, 1, 26)
 919    FIELD(SMMU_S2CR36, PRIVCFG_BSU, 2, 24)
 920    FIELD(SMMU_S2CR36, WACFG, 2, 22)
 921    FIELD(SMMU_S2CR36, RACFG, 2, 20)
 922    FIELD(SMMU_S2CR36, NSCFG, 2, 18)
 923    FIELD(SMMU_S2CR36, TYPE, 2, 16)
 924    FIELD(SMMU_S2CR36, MEM_ATTR, 4, 12)
 925    FIELD(SMMU_S2CR36, MTCFG, 1, 11)
 926    FIELD(SMMU_S2CR36, SHCFG, 2, 8)
 927    FIELD(SMMU_S2CR36, CBNDX_VMID, 8, 0)
 928REG32(SMMU_S2CR37, 0xc94)
 929    FIELD(SMMU_S2CR37, TRANSIENTCFG, 2, 28)
 930    FIELD(SMMU_S2CR37, INSTCFG_1, 1, 27)
 931    FIELD(SMMU_S2CR37, INSTCFG_0_FB, 1, 26)
 932    FIELD(SMMU_S2CR37, PRIVCFG_BSU, 2, 24)
 933    FIELD(SMMU_S2CR37, WACFG, 2, 22)
 934    FIELD(SMMU_S2CR37, RACFG, 2, 20)
 935    FIELD(SMMU_S2CR37, NSCFG, 2, 18)
 936    FIELD(SMMU_S2CR37, TYPE, 2, 16)
 937    FIELD(SMMU_S2CR37, MEM_ATTR, 4, 12)
 938    FIELD(SMMU_S2CR37, MTCFG, 1, 11)
 939    FIELD(SMMU_S2CR37, SHCFG, 2, 8)
 940    FIELD(SMMU_S2CR37, CBNDX_VMID, 8, 0)
 941REG32(SMMU_S2CR38, 0xc98)
 942    FIELD(SMMU_S2CR38, TRANSIENTCFG, 2, 28)
 943    FIELD(SMMU_S2CR38, INSTCFG_1, 1, 27)
 944    FIELD(SMMU_S2CR38, INSTCFG_0_FB, 1, 26)
 945    FIELD(SMMU_S2CR38, PRIVCFG_BSU, 2, 24)
 946    FIELD(SMMU_S2CR38, WACFG, 2, 22)
 947    FIELD(SMMU_S2CR38, RACFG, 2, 20)
 948    FIELD(SMMU_S2CR38, NSCFG, 2, 18)
 949    FIELD(SMMU_S2CR38, TYPE, 2, 16)
 950    FIELD(SMMU_S2CR38, MEM_ATTR, 4, 12)
 951    FIELD(SMMU_S2CR38, MTCFG, 1, 11)
 952    FIELD(SMMU_S2CR38, SHCFG, 2, 8)
 953    FIELD(SMMU_S2CR38, CBNDX_VMID, 8, 0)
 954REG32(SMMU_S2CR39, 0xc9c)
 955    FIELD(SMMU_S2CR39, TRANSIENTCFG, 2, 28)
 956    FIELD(SMMU_S2CR39, INSTCFG_1, 1, 27)
 957    FIELD(SMMU_S2CR39, INSTCFG_0_FB, 1, 26)
 958    FIELD(SMMU_S2CR39, PRIVCFG_BSU, 2, 24)
 959    FIELD(SMMU_S2CR39, WACFG, 2, 22)
 960    FIELD(SMMU_S2CR39, RACFG, 2, 20)
 961    FIELD(SMMU_S2CR39, NSCFG, 2, 18)
 962    FIELD(SMMU_S2CR39, TYPE, 2, 16)
 963    FIELD(SMMU_S2CR39, MEM_ATTR, 4, 12)
 964    FIELD(SMMU_S2CR39, MTCFG, 1, 11)
 965    FIELD(SMMU_S2CR39, SHCFG, 2, 8)
 966    FIELD(SMMU_S2CR39, CBNDX_VMID, 8, 0)
 967REG32(SMMU_S2CR40, 0xca0)
 968    FIELD(SMMU_S2CR40, TRANSIENTCFG, 2, 28)
 969    FIELD(SMMU_S2CR40, INSTCFG_1, 1, 27)
 970    FIELD(SMMU_S2CR40, INSTCFG_0_FB, 1, 26)
 971    FIELD(SMMU_S2CR40, PRIVCFG_BSU, 2, 24)
 972    FIELD(SMMU_S2CR40, WACFG, 2, 22)
 973    FIELD(SMMU_S2CR40, RACFG, 2, 20)
 974    FIELD(SMMU_S2CR40, NSCFG, 2, 18)
 975    FIELD(SMMU_S2CR40, TYPE, 2, 16)
 976    FIELD(SMMU_S2CR40, MEM_ATTR, 4, 12)
 977    FIELD(SMMU_S2CR40, MTCFG, 1, 11)
 978    FIELD(SMMU_S2CR40, SHCFG, 2, 8)
 979    FIELD(SMMU_S2CR40, CBNDX_VMID, 8, 0)
 980REG32(SMMU_S2CR41, 0xca4)
 981    FIELD(SMMU_S2CR41, TRANSIENTCFG, 2, 28)
 982    FIELD(SMMU_S2CR41, INSTCFG_1, 1, 27)
 983    FIELD(SMMU_S2CR41, INSTCFG_0_FB, 1, 26)
 984    FIELD(SMMU_S2CR41, PRIVCFG_BSU, 2, 24)
 985    FIELD(SMMU_S2CR41, WACFG, 2, 22)
 986    FIELD(SMMU_S2CR41, RACFG, 2, 20)
 987    FIELD(SMMU_S2CR41, NSCFG, 2, 18)
 988    FIELD(SMMU_S2CR41, TYPE, 2, 16)
 989    FIELD(SMMU_S2CR41, MEM_ATTR, 4, 12)
 990    FIELD(SMMU_S2CR41, MTCFG, 1, 11)
 991    FIELD(SMMU_S2CR41, SHCFG, 2, 8)
 992    FIELD(SMMU_S2CR41, CBNDX_VMID, 8, 0)
 993REG32(SMMU_S2CR42, 0xca8)
 994    FIELD(SMMU_S2CR42, TRANSIENTCFG, 2, 28)
 995    FIELD(SMMU_S2CR42, INSTCFG_1, 1, 27)
 996    FIELD(SMMU_S2CR42, INSTCFG_0_FB, 1, 26)
 997    FIELD(SMMU_S2CR42, PRIVCFG_BSU, 2, 24)
 998    FIELD(SMMU_S2CR42, WACFG, 2, 22)
 999    FIELD(SMMU_S2CR42, RACFG, 2, 20)
1000    FIELD(SMMU_S2CR42, NSCFG, 2, 18)
1001    FIELD(SMMU_S2CR42, TYPE, 2, 16)
1002    FIELD(SMMU_S2CR42, MEM_ATTR, 4, 12)
1003    FIELD(SMMU_S2CR42, MTCFG, 1, 11)
1004    FIELD(SMMU_S2CR42, SHCFG, 2, 8)
1005    FIELD(SMMU_S2CR42, CBNDX_VMID, 8, 0)
1006REG32(SMMU_S2CR43, 0xcac)
1007    FIELD(SMMU_S2CR43, TRANSIENTCFG, 2, 28)
1008    FIELD(SMMU_S2CR43, INSTCFG_1, 1, 27)
1009    FIELD(SMMU_S2CR43, INSTCFG_0_FB, 1, 26)
1010    FIELD(SMMU_S2CR43, PRIVCFG_BSU, 2, 24)
1011    FIELD(SMMU_S2CR43, WACFG, 2, 22)
1012    FIELD(SMMU_S2CR43, RACFG, 2, 20)
1013    FIELD(SMMU_S2CR43, NSCFG, 2, 18)
1014    FIELD(SMMU_S2CR43, TYPE, 2, 16)
1015    FIELD(SMMU_S2CR43, MEM_ATTR, 4, 12)
1016    FIELD(SMMU_S2CR43, MTCFG, 1, 11)
1017    FIELD(SMMU_S2CR43, SHCFG, 2, 8)
1018    FIELD(SMMU_S2CR43, CBNDX_VMID, 8, 0)
1019REG32(SMMU_S2CR44, 0xcb0)
1020    FIELD(SMMU_S2CR44, TRANSIENTCFG, 2, 28)
1021    FIELD(SMMU_S2CR44, INSTCFG_1, 1, 27)
1022    FIELD(SMMU_S2CR44, INSTCFG_0_FB, 1, 26)
1023    FIELD(SMMU_S2CR44, PRIVCFG_BSU, 2, 24)
1024    FIELD(SMMU_S2CR44, WACFG, 2, 22)
1025    FIELD(SMMU_S2CR44, RACFG, 2, 20)
1026    FIELD(SMMU_S2CR44, NSCFG, 2, 18)
1027    FIELD(SMMU_S2CR44, TYPE, 2, 16)
1028    FIELD(SMMU_S2CR44, MEM_ATTR, 4, 12)
1029    FIELD(SMMU_S2CR44, MTCFG, 1, 11)
1030    FIELD(SMMU_S2CR44, SHCFG, 2, 8)
1031    FIELD(SMMU_S2CR44, CBNDX_VMID, 8, 0)
1032REG32(SMMU_S2CR45, 0xcb4)
1033    FIELD(SMMU_S2CR45, TRANSIENTCFG, 2, 28)
1034    FIELD(SMMU_S2CR45, INSTCFG_1, 1, 27)
1035    FIELD(SMMU_S2CR45, INSTCFG_0_FB, 1, 26)
1036    FIELD(SMMU_S2CR45, PRIVCFG_BSU, 2, 24)
1037    FIELD(SMMU_S2CR45, WACFG, 2, 22)
1038    FIELD(SMMU_S2CR45, RACFG, 2, 20)
1039    FIELD(SMMU_S2CR45, NSCFG, 2, 18)
1040    FIELD(SMMU_S2CR45, TYPE, 2, 16)
1041    FIELD(SMMU_S2CR45, MEM_ATTR, 4, 12)
1042    FIELD(SMMU_S2CR45, MTCFG, 1, 11)
1043    FIELD(SMMU_S2CR45, SHCFG, 2, 8)
1044    FIELD(SMMU_S2CR45, CBNDX_VMID, 8, 0)
1045REG32(SMMU_S2CR46, 0xcb8)
1046    FIELD(SMMU_S2CR46, TRANSIENTCFG, 2, 28)
1047    FIELD(SMMU_S2CR46, INSTCFG_1, 1, 27)
1048    FIELD(SMMU_S2CR46, INSTCFG_0_FB, 1, 26)
1049    FIELD(SMMU_S2CR46, PRIVCFG_BSU, 2, 24)
1050    FIELD(SMMU_S2CR46, WACFG, 2, 22)
1051    FIELD(SMMU_S2CR46, RACFG, 2, 20)
1052    FIELD(SMMU_S2CR46, NSCFG, 2, 18)
1053    FIELD(SMMU_S2CR46, TYPE, 2, 16)
1054    FIELD(SMMU_S2CR46, MEM_ATTR, 4, 12)
1055    FIELD(SMMU_S2CR46, MTCFG, 1, 11)
1056    FIELD(SMMU_S2CR46, SHCFG, 2, 8)
1057    FIELD(SMMU_S2CR46, CBNDX_VMID, 8, 0)
1058REG32(SMMU_S2CR47, 0xcbc)
1059    FIELD(SMMU_S2CR47, TRANSIENTCFG, 2, 28)
1060    FIELD(SMMU_S2CR47, INSTCFG_1, 1, 27)
1061    FIELD(SMMU_S2CR47, INSTCFG_0_FB, 1, 26)
1062    FIELD(SMMU_S2CR47, PRIVCFG_BSU, 2, 24)
1063    FIELD(SMMU_S2CR47, WACFG, 2, 22)
1064    FIELD(SMMU_S2CR47, RACFG, 2, 20)
1065    FIELD(SMMU_S2CR47, NSCFG, 2, 18)
1066    FIELD(SMMU_S2CR47, TYPE, 2, 16)
1067    FIELD(SMMU_S2CR47, MEM_ATTR, 4, 12)
1068    FIELD(SMMU_S2CR47, MTCFG, 1, 11)
1069    FIELD(SMMU_S2CR47, SHCFG, 2, 8)
1070    FIELD(SMMU_S2CR47, CBNDX_VMID, 8, 0)
1071REG32(SMMU_PIDR4, 0xfd0)
1072    FIELD(SMMU_PIDR4, FOURKB_COUNT, 4, 4)
1073    FIELD(SMMU_PIDR4, JEP106_CONTINUATION_CODE, 4, 0)
1074REG32(SMMU_PIDR5, 0xfd4)
1075REG32(SMMU_PIDR6, 0xfd8)
1076REG32(SMMU_PIDR7, 0xfdc)
1077REG32(SMMU_PIDR0, 0xfe0)
1078    FIELD(SMMU_PIDR0, PARTNUMBER0, 8, 0)
1079REG32(SMMU_PIDR1, 0xfe4)
1080    FIELD(SMMU_PIDR1, JEP106_IDENTITY_CODE, 4, 4)
1081    FIELD(SMMU_PIDR1, PARTNUMBER1, 4, 0)
1082REG32(SMMU_PIDR2, 0xfe8)
1083    FIELD(SMMU_PIDR2, ARCHITECTURE_REVISION, 4, 4)
1084    FIELD(SMMU_PIDR2, JEDEC, 1, 3)
1085    FIELD(SMMU_PIDR2, JEP106_IDENTITY_CODE, 3, 0)
1086REG32(SMMU_PIDR3, 0xfec)
1087    FIELD(SMMU_PIDR3, REVAND, 4, 4)
1088    FIELD(SMMU_PIDR3, CUSTOMER_MODIFIED, 4, 0)
1089REG32(SMMU_CIDR0, 0xff0)
1090    FIELD(SMMU_CIDR0, PREAMBLE, 8, 0)
1091REG32(SMMU_CIDR1, 0xff4)
1092    FIELD(SMMU_CIDR1, PREAMBLE, 8, 0)
1093REG32(SMMU_CIDR2, 0xff8)
1094    FIELD(SMMU_CIDR2, PREAMBLE, 8, 0)
1095REG32(SMMU_CIDR3, 0xffc)
1096    FIELD(SMMU_CIDR3, PREAMBLE, 8, 0)
1097REG32(SMMU_CBAR0, 0x1000)
1098    FIELD(SMMU_CBAR0, IRPTNDX, 8, 24)
1099    FIELD(SMMU_CBAR0, WACFG, 2, 22)
1100    FIELD(SMMU_CBAR0, RACFG, 2, 20)
1101    FIELD(SMMU_CBAR0, BSU, 2, 18)
1102    FIELD(SMMU_CBAR0, TYPE, 2, 16)
1103    FIELD(SMMU_CBAR0, MEMATTR_CBNDX_7_4, 4, 12)
1104    FIELD(SMMU_CBAR0, FB_CBNDX_3, 1, 11)
1105    FIELD(SMMU_CBAR0, HYPC_CBNDX_2, 1, 10)
1106    FIELD(SMMU_CBAR0, BPSHCFG_CBNDX_1_0, 2, 8)
1107    FIELD(SMMU_CBAR0, VMID, 8, 0)
1108REG32(SMMU_CBAR1, 0x1004)
1109    FIELD(SMMU_CBAR1, IRPTNDX, 8, 24)
1110    FIELD(SMMU_CBAR1, WACFG, 2, 22)
1111    FIELD(SMMU_CBAR1, RACFG, 2, 20)
1112    FIELD(SMMU_CBAR1, BSU, 2, 18)
1113    FIELD(SMMU_CBAR1, TYPE, 2, 16)
1114    FIELD(SMMU_CBAR1, MEMATTR_CBNDX_7_4, 4, 12)
1115    FIELD(SMMU_CBAR1, FB_CBNDX_3, 1, 11)
1116    FIELD(SMMU_CBAR1, HYPC_CBNDX_2, 1, 10)
1117    FIELD(SMMU_CBAR1, BPSHCFG_CBNDX_1_0, 2, 8)
1118    FIELD(SMMU_CBAR1, VMID, 8, 0)
1119REG32(SMMU_CBAR2, 0x1008)
1120    FIELD(SMMU_CBAR2, IRPTNDX, 8, 24)
1121    FIELD(SMMU_CBAR2, WACFG, 2, 22)
1122    FIELD(SMMU_CBAR2, RACFG, 2, 20)
1123    FIELD(SMMU_CBAR2, BSU, 2, 18)
1124    FIELD(SMMU_CBAR2, TYPE, 2, 16)
1125    FIELD(SMMU_CBAR2, MEMATTR_CBNDX_7_4, 4, 12)
1126    FIELD(SMMU_CBAR2, FB_CBNDX_3, 1, 11)
1127    FIELD(SMMU_CBAR2, HYPC_CBNDX_2, 1, 10)
1128    FIELD(SMMU_CBAR2, BPSHCFG_CBNDX_1_0, 2, 8)
1129    FIELD(SMMU_CBAR2, VMID, 8, 0)
1130REG32(SMMU_CBAR3, 0x100c)
1131    FIELD(SMMU_CBAR3, IRPTNDX, 8, 24)
1132    FIELD(SMMU_CBAR3, WACFG, 2, 22)
1133    FIELD(SMMU_CBAR3, RACFG, 2, 20)
1134    FIELD(SMMU_CBAR3, BSU, 2, 18)
1135    FIELD(SMMU_CBAR3, TYPE, 2, 16)
1136    FIELD(SMMU_CBAR3, MEMATTR_CBNDX_7_4, 4, 12)
1137    FIELD(SMMU_CBAR3, FB_CBNDX_3, 1, 11)
1138    FIELD(SMMU_CBAR3, HYPC_CBNDX_2, 1, 10)
1139    FIELD(SMMU_CBAR3, BPSHCFG_CBNDX_1_0, 2, 8)
1140    FIELD(SMMU_CBAR3, VMID, 8, 0)
1141REG32(SMMU_CBAR4, 0x1010)
1142    FIELD(SMMU_CBAR4, IRPTNDX, 8, 24)
1143    FIELD(SMMU_CBAR4, WACFG, 2, 22)
1144    FIELD(SMMU_CBAR4, RACFG, 2, 20)
1145    FIELD(SMMU_CBAR4, BSU, 2, 18)
1146    FIELD(SMMU_CBAR4, TYPE, 2, 16)
1147    FIELD(SMMU_CBAR4, MEMATTR_CBNDX_7_4, 4, 12)
1148    FIELD(SMMU_CBAR4, FB_CBNDX_3, 1, 11)
1149    FIELD(SMMU_CBAR4, HYPC_CBNDX_2, 1, 10)
1150    FIELD(SMMU_CBAR4, BPSHCFG_CBNDX_1_0, 2, 8)
1151    FIELD(SMMU_CBAR4, VMID, 8, 0)
1152REG32(SMMU_CBAR5, 0x1014)
1153    FIELD(SMMU_CBAR5, IRPTNDX, 8, 24)
1154    FIELD(SMMU_CBAR5, WACFG, 2, 22)
1155    FIELD(SMMU_CBAR5, RACFG, 2, 20)
1156    FIELD(SMMU_CBAR5, BSU, 2, 18)
1157    FIELD(SMMU_CBAR5, TYPE, 2, 16)
1158    FIELD(SMMU_CBAR5, MEMATTR_CBNDX_7_4, 4, 12)
1159    FIELD(SMMU_CBAR5, FB_CBNDX_3, 1, 11)
1160    FIELD(SMMU_CBAR5, HYPC_CBNDX_2, 1, 10)
1161    FIELD(SMMU_CBAR5, BPSHCFG_CBNDX_1_0, 2, 8)
1162    FIELD(SMMU_CBAR5, VMID, 8, 0)
1163REG32(SMMU_CBAR6, 0x1018)
1164    FIELD(SMMU_CBAR6, IRPTNDX, 8, 24)
1165    FIELD(SMMU_CBAR6, WACFG, 2, 22)
1166    FIELD(SMMU_CBAR6, RACFG, 2, 20)
1167    FIELD(SMMU_CBAR6, BSU, 2, 18)
1168    FIELD(SMMU_CBAR6, TYPE, 2, 16)
1169    FIELD(SMMU_CBAR6, MEMATTR_CBNDX_7_4, 4, 12)
1170    FIELD(SMMU_CBAR6, FB_CBNDX_3, 1, 11)
1171    FIELD(SMMU_CBAR6, HYPC_CBNDX_2, 1, 10)
1172    FIELD(SMMU_CBAR6, BPSHCFG_CBNDX_1_0, 2, 8)
1173    FIELD(SMMU_CBAR6, VMID, 8, 0)
1174REG32(SMMU_CBAR7, 0x101c)
1175    FIELD(SMMU_CBAR7, IRPTNDX, 8, 24)
1176    FIELD(SMMU_CBAR7, WACFG, 2, 22)
1177    FIELD(SMMU_CBAR7, RACFG, 2, 20)
1178    FIELD(SMMU_CBAR7, BSU, 2, 18)
1179    FIELD(SMMU_CBAR7, TYPE, 2, 16)
1180    FIELD(SMMU_CBAR7, MEMATTR_CBNDX_7_4, 4, 12)
1181    FIELD(SMMU_CBAR7, FB_CBNDX_3, 1, 11)
1182    FIELD(SMMU_CBAR7, HYPC_CBNDX_2, 1, 10)
1183    FIELD(SMMU_CBAR7, BPSHCFG_CBNDX_1_0, 2, 8)
1184    FIELD(SMMU_CBAR7, VMID, 8, 0)
1185REG32(SMMU_CBAR8, 0x1020)
1186    FIELD(SMMU_CBAR8, IRPTNDX, 8, 24)
1187    FIELD(SMMU_CBAR8, WACFG, 2, 22)
1188    FIELD(SMMU_CBAR8, RACFG, 2, 20)
1189    FIELD(SMMU_CBAR8, BSU, 2, 18)
1190    FIELD(SMMU_CBAR8, TYPE, 2, 16)
1191    FIELD(SMMU_CBAR8, MEMATTR_CBNDX_7_4, 4, 12)
1192    FIELD(SMMU_CBAR8, FB_CBNDX_3, 1, 11)
1193    FIELD(SMMU_CBAR8, HYPC_CBNDX_2, 1, 10)
1194    FIELD(SMMU_CBAR8, BPSHCFG_CBNDX_1_0, 2, 8)
1195    FIELD(SMMU_CBAR8, VMID, 8, 0)
1196REG32(SMMU_CBAR9, 0x1024)
1197    FIELD(SMMU_CBAR9, IRPTNDX, 8, 24)
1198    FIELD(SMMU_CBAR9, WACFG, 2, 22)
1199    FIELD(SMMU_CBAR9, RACFG, 2, 20)
1200    FIELD(SMMU_CBAR9, BSU, 2, 18)
1201    FIELD(SMMU_CBAR9, TYPE, 2, 16)
1202    FIELD(SMMU_CBAR9, MEMATTR_CBNDX_7_4, 4, 12)
1203    FIELD(SMMU_CBAR9, FB_CBNDX_3, 1, 11)
1204    FIELD(SMMU_CBAR9, HYPC_CBNDX_2, 1, 10)
1205    FIELD(SMMU_CBAR9, BPSHCFG_CBNDX_1_0, 2, 8)
1206    FIELD(SMMU_CBAR9, VMID, 8, 0)
1207REG32(SMMU_CBAR10, 0x1028)
1208    FIELD(SMMU_CBAR10, IRPTNDX, 8, 24)
1209    FIELD(SMMU_CBAR10, WACFG, 2, 22)
1210    FIELD(SMMU_CBAR10, RACFG, 2, 20)
1211    FIELD(SMMU_CBAR10, BSU, 2, 18)
1212    FIELD(SMMU_CBAR10, TYPE, 2, 16)
1213    FIELD(SMMU_CBAR10, MEMATTR_CBNDX_7_4, 4, 12)
1214    FIELD(SMMU_CBAR10, FB_CBNDX_3, 1, 11)
1215    FIELD(SMMU_CBAR10, HYPC_CBNDX_2, 1, 10)
1216    FIELD(SMMU_CBAR10, BPSHCFG_CBNDX_1_0, 2, 8)
1217    FIELD(SMMU_CBAR10, VMID, 8, 0)
1218REG32(SMMU_CBAR11, 0x102c)
1219    FIELD(SMMU_CBAR11, IRPTNDX, 8, 24)
1220    FIELD(SMMU_CBAR11, WACFG, 2, 22)
1221    FIELD(SMMU_CBAR11, RACFG, 2, 20)
1222    FIELD(SMMU_CBAR11, BSU, 2, 18)
1223    FIELD(SMMU_CBAR11, TYPE, 2, 16)
1224    FIELD(SMMU_CBAR11, MEMATTR_CBNDX_7_4, 4, 12)
1225    FIELD(SMMU_CBAR11, FB_CBNDX_3, 1, 11)
1226    FIELD(SMMU_CBAR11, HYPC_CBNDX_2, 1, 10)
1227    FIELD(SMMU_CBAR11, BPSHCFG_CBNDX_1_0, 2, 8)
1228    FIELD(SMMU_CBAR11, VMID, 8, 0)
1229REG32(SMMU_CBAR12, 0x1030)
1230    FIELD(SMMU_CBAR12, IRPTNDX, 8, 24)
1231    FIELD(SMMU_CBAR12, WACFG, 2, 22)
1232    FIELD(SMMU_CBAR12, RACFG, 2, 20)
1233    FIELD(SMMU_CBAR12, BSU, 2, 18)
1234    FIELD(SMMU_CBAR12, TYPE, 2, 16)
1235    FIELD(SMMU_CBAR12, MEMATTR_CBNDX_7_4, 4, 12)
1236    FIELD(SMMU_CBAR12, FB_CBNDX_3, 1, 11)
1237    FIELD(SMMU_CBAR12, HYPC_CBNDX_2, 1, 10)
1238    FIELD(SMMU_CBAR12, BPSHCFG_CBNDX_1_0, 2, 8)
1239    FIELD(SMMU_CBAR12, VMID, 8, 0)
1240REG32(SMMU_CBAR13, 0x1034)
1241    FIELD(SMMU_CBAR13, IRPTNDX, 8, 24)
1242    FIELD(SMMU_CBAR13, WACFG, 2, 22)
1243    FIELD(SMMU_CBAR13, RACFG, 2, 20)
1244    FIELD(SMMU_CBAR13, BSU, 2, 18)
1245    FIELD(SMMU_CBAR13, TYPE, 2, 16)
1246    FIELD(SMMU_CBAR13, MEMATTR_CBNDX_7_4, 4, 12)
1247    FIELD(SMMU_CBAR13, FB_CBNDX_3, 1, 11)
1248    FIELD(SMMU_CBAR13, HYPC_CBNDX_2, 1, 10)
1249    FIELD(SMMU_CBAR13, BPSHCFG_CBNDX_1_0, 2, 8)
1250    FIELD(SMMU_CBAR13, VMID, 8, 0)
1251REG32(SMMU_CBAR14, 0x1038)
1252    FIELD(SMMU_CBAR14, IRPTNDX, 8, 24)
1253    FIELD(SMMU_CBAR14, WACFG, 2, 22)
1254    FIELD(SMMU_CBAR14, RACFG, 2, 20)
1255    FIELD(SMMU_CBAR14, BSU, 2, 18)
1256    FIELD(SMMU_CBAR14, TYPE, 2, 16)
1257    FIELD(SMMU_CBAR14, MEMATTR_CBNDX_7_4, 4, 12)
1258    FIELD(SMMU_CBAR14, FB_CBNDX_3, 1, 11)
1259    FIELD(SMMU_CBAR14, HYPC_CBNDX_2, 1, 10)
1260    FIELD(SMMU_CBAR14, BPSHCFG_CBNDX_1_0, 2, 8)
1261    FIELD(SMMU_CBAR14, VMID, 8, 0)
1262REG32(SMMU_CBAR15, 0x103c)
1263    FIELD(SMMU_CBAR15, IRPTNDX, 8, 24)
1264    FIELD(SMMU_CBAR15, WACFG, 2, 22)
1265    FIELD(SMMU_CBAR15, RACFG, 2, 20)
1266    FIELD(SMMU_CBAR15, BSU, 2, 18)
1267    FIELD(SMMU_CBAR15, TYPE, 2, 16)
1268    FIELD(SMMU_CBAR15, MEMATTR_CBNDX_7_4, 4, 12)
1269    FIELD(SMMU_CBAR15, FB_CBNDX_3, 1, 11)
1270    FIELD(SMMU_CBAR15, HYPC_CBNDX_2, 1, 10)
1271    FIELD(SMMU_CBAR15, BPSHCFG_CBNDX_1_0, 2, 8)
1272    FIELD(SMMU_CBAR15, VMID, 8, 0)
1273REG32(SMMU_CBFRSYNRA0, 0x1400)
1274    FIELD(SMMU_CBFRSYNRA0, SSD_INDEX, 15, 16)
1275    FIELD(SMMU_CBFRSYNRA0, STREAMID, 15, 0)
1276REG32(SMMU_CBFRSYNRA1, 0x1404)
1277    FIELD(SMMU_CBFRSYNRA1, SSD_INDEX, 15, 16)
1278    FIELD(SMMU_CBFRSYNRA1, STREAMID, 15, 0)
1279REG32(SMMU_CBFRSYNRA2, 0x1408)
1280    FIELD(SMMU_CBFRSYNRA2, SSD_INDEX, 15, 16)
1281    FIELD(SMMU_CBFRSYNRA2, STREAMID, 15, 0)
1282REG32(SMMU_CBFRSYNRA3, 0x140c)
1283    FIELD(SMMU_CBFRSYNRA3, SSD_INDEX, 15, 16)
1284    FIELD(SMMU_CBFRSYNRA3, STREAMID, 15, 0)
1285REG32(SMMU_CBFRSYNRA4, 0x1410)
1286    FIELD(SMMU_CBFRSYNRA4, SSD_INDEX, 15, 16)
1287    FIELD(SMMU_CBFRSYNRA4, STREAMID, 15, 0)
1288REG32(SMMU_CBFRSYNRA5, 0x1414)
1289    FIELD(SMMU_CBFRSYNRA5, SSD_INDEX, 15, 16)
1290    FIELD(SMMU_CBFRSYNRA5, STREAMID, 15, 0)
1291REG32(SMMU_CBFRSYNRA6, 0x1418)
1292    FIELD(SMMU_CBFRSYNRA6, SSD_INDEX, 15, 16)
1293    FIELD(SMMU_CBFRSYNRA6, STREAMID, 15, 0)
1294REG32(SMMU_CBFRSYNRA7, 0x141c)
1295    FIELD(SMMU_CBFRSYNRA7, SSD_INDEX, 15, 16)
1296    FIELD(SMMU_CBFRSYNRA7, STREAMID, 15, 0)
1297REG32(SMMU_CBFRSYNRA8, 0x1420)
1298    FIELD(SMMU_CBFRSYNRA8, SSD_INDEX, 15, 16)
1299    FIELD(SMMU_CBFRSYNRA8, STREAMID, 15, 0)
1300REG32(SMMU_CBFRSYNRA9, 0x1424)
1301    FIELD(SMMU_CBFRSYNRA9, SSD_INDEX, 15, 16)
1302    FIELD(SMMU_CBFRSYNRA9, STREAMID, 15, 0)
1303REG32(SMMU_CBFRSYNRA10, 0x1428)
1304    FIELD(SMMU_CBFRSYNRA10, SSD_INDEX, 15, 16)
1305    FIELD(SMMU_CBFRSYNRA10, STREAMID, 15, 0)
1306REG32(SMMU_CBFRSYNRA11, 0x142c)
1307    FIELD(SMMU_CBFRSYNRA11, SSD_INDEX, 15, 16)
1308    FIELD(SMMU_CBFRSYNRA11, STREAMID, 15, 0)
1309REG32(SMMU_CBFRSYNRA12, 0x1430)
1310    FIELD(SMMU_CBFRSYNRA12, SSD_INDEX, 15, 16)
1311    FIELD(SMMU_CBFRSYNRA12, STREAMID, 15, 0)
1312REG32(SMMU_CBFRSYNRA13, 0x1434)
1313    FIELD(SMMU_CBFRSYNRA13, SSD_INDEX, 15, 16)
1314    FIELD(SMMU_CBFRSYNRA13, STREAMID, 15, 0)
1315REG32(SMMU_CBFRSYNRA14, 0x1438)
1316    FIELD(SMMU_CBFRSYNRA14, SSD_INDEX, 15, 16)
1317    FIELD(SMMU_CBFRSYNRA14, STREAMID, 15, 0)
1318REG32(SMMU_CBFRSYNRA15, 0x143c)
1319    FIELD(SMMU_CBFRSYNRA15, SSD_INDEX, 15, 16)
1320    FIELD(SMMU_CBFRSYNRA15, STREAMID, 15, 0)
1321REG32(SMMU_CBA2R0, 0x1800)
1322    FIELD(SMMU_CBA2R0, MONC, 1, 1)
1323    FIELD(SMMU_CBA2R0, VA64, 1, 0)
1324REG32(SMMU_CBA2R1, 0x1804)
1325    FIELD(SMMU_CBA2R1, MONC, 1, 1)
1326    FIELD(SMMU_CBA2R1, VA64, 1, 0)
1327REG32(SMMU_CBA2R2, 0x1808)
1328    FIELD(SMMU_CBA2R2, MONC, 1, 1)
1329    FIELD(SMMU_CBA2R2, VA64, 1, 0)
1330REG32(SMMU_CBA2R3, 0x180c)
1331    FIELD(SMMU_CBA2R3, MONC, 1, 1)
1332    FIELD(SMMU_CBA2R3, VA64, 1, 0)
1333REG32(SMMU_CBA2R4, 0x1810)
1334    FIELD(SMMU_CBA2R4, MONC, 1, 1)
1335    FIELD(SMMU_CBA2R4, VA64, 1, 0)
1336REG32(SMMU_CBA2R5, 0x1814)
1337    FIELD(SMMU_CBA2R5, MONC, 1, 1)
1338    FIELD(SMMU_CBA2R5, VA64, 1, 0)
1339REG32(SMMU_CBA2R6, 0x1818)
1340    FIELD(SMMU_CBA2R6, MONC, 1, 1)
1341    FIELD(SMMU_CBA2R6, VA64, 1, 0)
1342REG32(SMMU_CBA2R7, 0x181c)
1343    FIELD(SMMU_CBA2R7, MONC, 1, 1)
1344    FIELD(SMMU_CBA2R7, VA64, 1, 0)
1345REG32(SMMU_CBA2R8, 0x1820)
1346    FIELD(SMMU_CBA2R8, MONC, 1, 1)
1347    FIELD(SMMU_CBA2R8, VA64, 1, 0)
1348REG32(SMMU_CBA2R9, 0x1824)
1349    FIELD(SMMU_CBA2R9, MONC, 1, 1)
1350    FIELD(SMMU_CBA2R9, VA64, 1, 0)
1351REG32(SMMU_CBA2R10, 0x1828)
1352    FIELD(SMMU_CBA2R10, MONC, 1, 1)
1353    FIELD(SMMU_CBA2R10, VA64, 1, 0)
1354REG32(SMMU_CBA2R11, 0x182c)
1355    FIELD(SMMU_CBA2R11, MONC, 1, 1)
1356    FIELD(SMMU_CBA2R11, VA64, 1, 0)
1357REG32(SMMU_CBA2R12, 0x1830)
1358    FIELD(SMMU_CBA2R12, MONC, 1, 1)
1359    FIELD(SMMU_CBA2R12, VA64, 1, 0)
1360REG32(SMMU_CBA2R13, 0x1834)
1361    FIELD(SMMU_CBA2R13, MONC, 1, 1)
1362    FIELD(SMMU_CBA2R13, VA64, 1, 0)
1363REG32(SMMU_CBA2R14, 0x1838)
1364    FIELD(SMMU_CBA2R14, MONC, 1, 1)
1365    FIELD(SMMU_CBA2R14, VA64, 1, 0)
1366REG32(SMMU_CBA2R15, 0x183c)
1367    FIELD(SMMU_CBA2R15, MONC, 1, 1)
1368    FIELD(SMMU_CBA2R15, VA64, 1, 0)
1369REG32(SMMU_ITCTRL, 0x2000)
1370    FIELD(SMMU_ITCTRL, TBU_INDEX, 3, 4)
1371    FIELD(SMMU_ITCTRL, MODULE, 1, 3)
1372    FIELD(SMMU_ITCTRL, RAM_DATA, 1, 2)
1373    FIELD(SMMU_ITCTRL, RAM_MODE, 1, 1)
1374    FIELD(SMMU_ITCTRL, INTGMODE, 1, 0)
1375REG32(SMMU_ITIP, 0x2004)
1376    FIELD(SMMU_ITIP, SPINDEN, 1, 0)
1377REG32(SMMU_ITOP_GLBL, 0x2008)
1378    FIELD(SMMU_ITOP_GLBL, TCU_RAM_DATA, 4, 16)
1379    FIELD(SMMU_ITOP_GLBL, GLBLSF1, 1, 9)
1380    FIELD(SMMU_ITOP_GLBL, GLBLNSF1, 1, 1)
1381REG32(SMMU_ITOP_PERF_INDEX, 0x200c)
1382    FIELD(SMMU_ITOP_PERF_INDEX, WAY_IPA2PA_PF, 2, 30)
1383    FIELD(SMMU_ITOP_PERF_INDEX, IPA2PA_PF_INDEX, 7, 16)
1384    FIELD(SMMU_ITOP_PERF_INDEX, WAY_MTLB_WC, 2, 14)
1385    FIELD(SMMU_ITOP_PERF_INDEX, MTLB_WC_INDEX, 12, 0)
1386REG32(SMMU_ITOP_CXT0TO31_RAM0, 0x2010)
1387REG32(SMMU_TBUQOS0, 0x2100)
1388    FIELD(SMMU_TBUQOS0, QOSTBU5, 4, 20)
1389    FIELD(SMMU_TBUQOS0, QOSTBU4, 4, 16)
1390    FIELD(SMMU_TBUQOS0, QOSTBU3, 4, 12)
1391    FIELD(SMMU_TBUQOS0, QOSTBU2, 4, 8)
1392    FIELD(SMMU_TBUQOS0, QOSTBU1, 4, 4)
1393    FIELD(SMMU_TBUQOS0, QOSTBU0, 4, 0)
1394REG32(SMMU_PER, 0x2200)
1395    FIELD(SMMU_PER, PER_TCU, 8, 8)
1396    FIELD(SMMU_PER, PER_TBU, 8, 0)
1397REG32(SMMU_TBU_PWR_STATUS, 0x2204)
1398REG32(PMEVCNTR0, 0x3000)
1399REG32(PMEVCNTR1, 0x3004)
1400REG32(PMEVCNTR2, 0x3008)
1401REG32(PMEVCNTR3, 0x300c)
1402REG32(PMEVCNTR4, 0x3010)
1403REG32(PMEVCNTR5, 0x3014)
1404REG32(PMEVCNTR6, 0x3018)
1405REG32(PMEVCNTR7, 0x301c)
1406REG32(PMEVCNTR8, 0x3020)
1407REG32(PMEVCNTR9, 0x3024)
1408REG32(PMEVCNTR10, 0x3028)
1409REG32(PMEVCNTR11, 0x302c)
1410REG32(PMEVCNTR12, 0x3030)
1411REG32(PMEVCNTR13, 0x3034)
1412REG32(PMEVCNTR14, 0x3038)
1413REG32(PMEVCNTR15, 0x303c)
1414REG32(PMEVCNTR16, 0x3040)
1415REG32(PMEVCNTR17, 0x3044)
1416REG32(PMEVCNTR18, 0x3048)
1417REG32(PMEVCNTR19, 0x304c)
1418REG32(PMEVCNTR20, 0x3050)
1419REG32(PMEVCNTR21, 0x3054)
1420REG32(PMEVCNTR22, 0x3058)
1421REG32(PMEVCNTR23, 0x305c)
1422REG32(PMEVTYPER0, 0x3400)
1423    FIELD(PMEVTYPER0, P, 1, 31)
1424    FIELD(PMEVTYPER0, U, 1, 30)
1425    FIELD(PMEVTYPER0, NSP, 1, 29)
1426    FIELD(PMEVTYPER0, NSU, 1, 28)
1427    FIELD(PMEVTYPER0, EVENT, 5, 0)
1428REG32(PMEVTYPER1, 0x3404)
1429    FIELD(PMEVTYPER1, P, 1, 31)
1430    FIELD(PMEVTYPER1, U, 1, 30)
1431    FIELD(PMEVTYPER1, NSP, 1, 29)
1432    FIELD(PMEVTYPER1, NSU, 1, 28)
1433    FIELD(PMEVTYPER1, EVENT, 5, 0)
1434REG32(PMEVTYPER2, 0x3408)
1435    FIELD(PMEVTYPER2, P, 1, 31)
1436    FIELD(PMEVTYPER2, U, 1, 30)
1437    FIELD(PMEVTYPER2, NSP, 1, 29)
1438    FIELD(PMEVTYPER2, NSU, 1, 28)
1439    FIELD(PMEVTYPER2, EVENT, 5, 0)
1440REG32(PMEVTYPER3, 0x340c)
1441    FIELD(PMEVTYPER3, P, 1, 31)
1442    FIELD(PMEVTYPER3, U, 1, 30)
1443    FIELD(PMEVTYPER3, NSP, 1, 29)
1444    FIELD(PMEVTYPER3, NSU, 1, 28)
1445    FIELD(PMEVTYPER3, EVENT, 5, 0)
1446REG32(PMEVTYPER4, 0x3410)
1447    FIELD(PMEVTYPER4, P, 1, 31)
1448    FIELD(PMEVTYPER4, U, 1, 30)
1449    FIELD(PMEVTYPER4, NSP, 1, 29)
1450    FIELD(PMEVTYPER4, NSU, 1, 28)
1451    FIELD(PMEVTYPER4, EVENT, 5, 0)
1452REG32(PMEVTYPER5, 0x3414)
1453    FIELD(PMEVTYPER5, P, 1, 31)
1454    FIELD(PMEVTYPER5, U, 1, 30)
1455    FIELD(PMEVTYPER5, NSP, 1, 29)
1456    FIELD(PMEVTYPER5, NSU, 1, 28)
1457    FIELD(PMEVTYPER5, EVENT, 5, 0)
1458REG32(PMEVTYPER6, 0x3418)
1459    FIELD(PMEVTYPER6, P, 1, 31)
1460    FIELD(PMEVTYPER6, U, 1, 30)
1461    FIELD(PMEVTYPER6, NSP, 1, 29)
1462    FIELD(PMEVTYPER6, NSU, 1, 28)
1463    FIELD(PMEVTYPER6, EVENT, 5, 0)
1464REG32(PMEVTYPER7, 0x341c)
1465    FIELD(PMEVTYPER7, P, 1, 31)
1466    FIELD(PMEVTYPER7, U, 1, 30)
1467    FIELD(PMEVTYPER7, NSP, 1, 29)
1468    FIELD(PMEVTYPER7, NSU, 1, 28)
1469    FIELD(PMEVTYPER7, EVENT, 5, 0)
1470REG32(PMEVTYPER8, 0x3420)
1471    FIELD(PMEVTYPER8, P, 1, 31)
1472    FIELD(PMEVTYPER8, U, 1, 30)
1473    FIELD(PMEVTYPER8, NSP, 1, 29)
1474    FIELD(PMEVTYPER8, NSU, 1, 28)
1475    FIELD(PMEVTYPER8, EVENT, 5, 0)
1476REG32(PMEVTYPER9, 0x3424)
1477    FIELD(PMEVTYPER9, P, 1, 31)
1478    FIELD(PMEVTYPER9, U, 1, 30)
1479    FIELD(PMEVTYPER9, NSP, 1, 29)
1480    FIELD(PMEVTYPER9, NSU, 1, 28)
1481    FIELD(PMEVTYPER9, EVENT, 5, 0)
1482REG32(PMEVTYPER10, 0x3428)
1483    FIELD(PMEVTYPER10, P, 1, 31)
1484    FIELD(PMEVTYPER10, U, 1, 30)
1485    FIELD(PMEVTYPER10, NSP, 1, 29)
1486    FIELD(PMEVTYPER10, NSU, 1, 28)
1487    FIELD(PMEVTYPER10, EVENT, 5, 0)
1488REG32(PMEVTYPER11, 0x342c)
1489    FIELD(PMEVTYPER11, P, 1, 31)
1490    FIELD(PMEVTYPER11, U, 1, 30)
1491    FIELD(PMEVTYPER11, NSP, 1, 29)
1492    FIELD(PMEVTYPER11, NSU, 1, 28)
1493    FIELD(PMEVTYPER11, EVENT, 5, 0)
1494REG32(PMEVTYPER12, 0x3430)
1495    FIELD(PMEVTYPER12, P, 1, 31)
1496    FIELD(PMEVTYPER12, U, 1, 30)
1497    FIELD(PMEVTYPER12, NSP, 1, 29)
1498    FIELD(PMEVTYPER12, NSU, 1, 28)
1499    FIELD(PMEVTYPER12, EVENT, 5, 0)
1500REG32(PMEVTYPER13, 0x3434)
1501    FIELD(PMEVTYPER13, P, 1, 31)
1502    FIELD(PMEVTYPER13, U, 1, 30)
1503    FIELD(PMEVTYPER13, NSP, 1, 29)
1504    FIELD(PMEVTYPER13, NSU, 1, 28)
1505    FIELD(PMEVTYPER13, EVENT, 5, 0)
1506REG32(PMEVTYPER14, 0x3438)
1507    FIELD(PMEVTYPER14, P, 1, 31)
1508    FIELD(PMEVTYPER14, U, 1, 30)
1509    FIELD(PMEVTYPER14, NSP, 1, 29)
1510    FIELD(PMEVTYPER14, NSU, 1, 28)
1511    FIELD(PMEVTYPER14, EVENT, 5, 0)
1512REG32(PMEVTYPER15, 0x343c)
1513    FIELD(PMEVTYPER15, P, 1, 31)
1514    FIELD(PMEVTYPER15, U, 1, 30)
1515    FIELD(PMEVTYPER15, NSP, 1, 29)
1516    FIELD(PMEVTYPER15, NSU, 1, 28)
1517    FIELD(PMEVTYPER15, EVENT, 5, 0)
1518REG32(PMEVTYPER16, 0x3440)
1519    FIELD(PMEVTYPER16, P, 1, 31)
1520    FIELD(PMEVTYPER16, U, 1, 30)
1521    FIELD(PMEVTYPER16, NSP, 1, 29)
1522    FIELD(PMEVTYPER16, NSU, 1, 28)
1523    FIELD(PMEVTYPER16, EVENT, 5, 0)
1524REG32(PMEVTYPER17, 0x3444)
1525    FIELD(PMEVTYPER17, P, 1, 31)
1526    FIELD(PMEVTYPER17, U, 1, 30)
1527    FIELD(PMEVTYPER17, NSP, 1, 29)
1528    FIELD(PMEVTYPER17, NSU, 1, 28)
1529    FIELD(PMEVTYPER17, EVENT, 5, 0)
1530REG32(PMEVTYPER18, 0x3448)
1531    FIELD(PMEVTYPER18, P, 1, 31)
1532    FIELD(PMEVTYPER18, U, 1, 30)
1533    FIELD(PMEVTYPER18, NSP, 1, 29)
1534    FIELD(PMEVTYPER18, NSU, 1, 28)
1535    FIELD(PMEVTYPER18, EVENT, 5, 0)
1536REG32(PMEVTYPER19, 0x344c)
1537    FIELD(PMEVTYPER19, P, 1, 31)
1538    FIELD(PMEVTYPER19, U, 1, 30)
1539    FIELD(PMEVTYPER19, NSP, 1, 29)
1540    FIELD(PMEVTYPER19, NSU, 1, 28)
1541    FIELD(PMEVTYPER19, EVENT, 5, 0)
1542REG32(PMEVTYPER20, 0x3450)
1543    FIELD(PMEVTYPER20, P, 1, 31)
1544    FIELD(PMEVTYPER20, U, 1, 30)
1545    FIELD(PMEVTYPER20, NSP, 1, 29)
1546    FIELD(PMEVTYPER20, NSU, 1, 28)
1547    FIELD(PMEVTYPER20, EVENT, 5, 0)
1548REG32(PMEVTYPER21, 0x3454)
1549    FIELD(PMEVTYPER21, P, 1, 31)
1550    FIELD(PMEVTYPER21, U, 1, 30)
1551    FIELD(PMEVTYPER21, NSP, 1, 29)
1552    FIELD(PMEVTYPER21, NSU, 1, 28)
1553    FIELD(PMEVTYPER21, EVENT, 5, 0)
1554REG32(PMEVTYPER22, 0x3458)
1555    FIELD(PMEVTYPER22, P, 1, 31)
1556    FIELD(PMEVTYPER22, U, 1, 30)
1557    FIELD(PMEVTYPER22, NSP, 1, 29)
1558    FIELD(PMEVTYPER22, NSU, 1, 28)
1559    FIELD(PMEVTYPER22, EVENT, 5, 0)
1560REG32(PMEVTYPER23, 0x345c)
1561    FIELD(PMEVTYPER23, P, 1, 31)
1562    FIELD(PMEVTYPER23, U, 1, 30)
1563    FIELD(PMEVTYPER23, NSP, 1, 29)
1564    FIELD(PMEVTYPER23, NSU, 1, 28)
1565    FIELD(PMEVTYPER23, EVENT, 5, 0)
1566REG32(PMCGCR0, 0x3800)
1567    FIELD(PMCGCR0, CGNC, 4, 24)
1568    FIELD(PMCGCR0, SIDG, 7, 16)
1569    FIELD(PMCGCR0, X, 1, 12)
1570    FIELD(PMCGCR0, E, 1, 11)
1571    FIELD(PMCGCR0, CBAEN, 1, 10)
1572    FIELD(PMCGCR0, TCEFCFG, 2, 8)
1573    FIELD(PMCGCR0, NDX, 4, 0)
1574REG32(PMCGCR1, 0x3804)
1575    FIELD(PMCGCR1, CGNC, 4, 24)
1576    FIELD(PMCGCR1, SIDG, 7, 16)
1577    FIELD(PMCGCR1, X, 1, 12)
1578    FIELD(PMCGCR1, E, 1, 11)
1579    FIELD(PMCGCR1, CBAEN, 1, 10)
1580    FIELD(PMCGCR1, TCEFCFG, 2, 8)
1581    FIELD(PMCGCR1, NDX, 4, 0)
1582REG32(PMCGCR2, 0x3808)
1583    FIELD(PMCGCR2, CGNC, 4, 24)
1584    FIELD(PMCGCR2, SIDG, 7, 16)
1585    FIELD(PMCGCR2, X, 1, 12)
1586    FIELD(PMCGCR2, E, 1, 11)
1587    FIELD(PMCGCR2, CBAEN, 1, 10)
1588    FIELD(PMCGCR2, TCEFCFG, 2, 8)
1589    FIELD(PMCGCR2, NDX, 4, 0)
1590REG32(PMCGCR3, 0x380c)
1591    FIELD(PMCGCR3, CGNC, 4, 24)
1592    FIELD(PMCGCR3, SIDG, 7, 16)
1593    FIELD(PMCGCR3, X, 1, 12)
1594    FIELD(PMCGCR3, E, 1, 11)
1595    FIELD(PMCGCR3, CBAEN, 1, 10)
1596    FIELD(PMCGCR3, TCEFCFG, 2, 8)
1597    FIELD(PMCGCR3, NDX, 4, 0)
1598REG32(PMCGCR4, 0x3810)
1599    FIELD(PMCGCR4, CGNC, 4, 24)
1600    FIELD(PMCGCR4, SIDG, 7, 16)
1601    FIELD(PMCGCR4, X, 1, 12)
1602    FIELD(PMCGCR4, E, 1, 11)
1603    FIELD(PMCGCR4, CBAEN, 1, 10)
1604    FIELD(PMCGCR4, TCEFCFG, 2, 8)
1605    FIELD(PMCGCR4, NDX, 4, 0)
1606REG32(PMCGCR5, 0x3814)
1607    FIELD(PMCGCR5, CGNC, 4, 24)
1608    FIELD(PMCGCR5, SIDG, 7, 16)
1609    FIELD(PMCGCR5, X, 1, 12)
1610    FIELD(PMCGCR5, E, 1, 11)
1611    FIELD(PMCGCR5, CBAEN, 1, 10)
1612    FIELD(PMCGCR5, TCEFCFG, 2, 8)
1613    FIELD(PMCGCR5, NDX, 4, 0)
1614REG32(PMCGSMR0, 0x3a00)
1615    FIELD(PMCGSMR0, MASK, 10, 16)
1616    FIELD(PMCGSMR0, ID, 10, 0)
1617REG32(PMCGSMR1, 0x3a04)
1618    FIELD(PMCGSMR1, MASK, 10, 16)
1619    FIELD(PMCGSMR1, ID, 10, 0)
1620REG32(PMCGSMR2, 0x3a08)
1621    FIELD(PMCGSMR2, MASK, 10, 16)
1622    FIELD(PMCGSMR2, ID, 10, 0)
1623REG32(PMCGSMR3, 0x3a0c)
1624    FIELD(PMCGSMR3, MASK, 10, 16)
1625    FIELD(PMCGSMR3, ID, 10, 0)
1626REG32(PMCGSMR4, 0x3a10)
1627    FIELD(PMCGSMR4, MASK, 10, 16)
1628    FIELD(PMCGSMR4, ID, 10, 0)
1629REG32(PMCGSMR5, 0x3a14)
1630    FIELD(PMCGSMR5, MASK, 10, 16)
1631    FIELD(PMCGSMR5, ID, 10, 0)
1632REG32(PMCNTENSET, 0x3c00)
1633    FIELD(PMCNTENSET, P23, 1, 23)
1634    FIELD(PMCNTENSET, P22, 1, 22)
1635    FIELD(PMCNTENSET, P21, 1, 21)
1636    FIELD(PMCNTENSET, P20, 1, 20)
1637    FIELD(PMCNTENSET, P19, 1, 19)
1638    FIELD(PMCNTENSET, P18, 1, 18)
1639    FIELD(PMCNTENSET, P17, 1, 17)
1640    FIELD(PMCNTENSET, P16, 1, 16)
1641    FIELD(PMCNTENSET, P15, 1, 15)
1642    FIELD(PMCNTENSET, P14, 1, 14)
1643    FIELD(PMCNTENSET, P13, 1, 13)
1644    FIELD(PMCNTENSET, P12, 1, 12)
1645    FIELD(PMCNTENSET, P11, 1, 11)
1646    FIELD(PMCNTENSET, P10, 1, 10)
1647    FIELD(PMCNTENSET, P9, 1, 9)
1648    FIELD(PMCNTENSET, P8, 1, 8)
1649    FIELD(PMCNTENSET, P7, 1, 7)
1650    FIELD(PMCNTENSET, P6, 1, 6)
1651    FIELD(PMCNTENSET, P5, 1, 5)
1652    FIELD(PMCNTENSET, P4, 1, 4)
1653    FIELD(PMCNTENSET, P3, 1, 3)
1654    FIELD(PMCNTENSET, P2, 1, 2)
1655    FIELD(PMCNTENSET, P1, 1, 1)
1656    FIELD(PMCNTENSET, P0, 1, 0)
1657REG32(PMCNTENCLR, 0x3c20)
1658    FIELD(PMCNTENCLR, P23, 1, 23)
1659    FIELD(PMCNTENCLR, P22, 1, 22)
1660    FIELD(PMCNTENCLR, P21, 1, 21)
1661    FIELD(PMCNTENCLR, P20, 1, 20)
1662    FIELD(PMCNTENCLR, P19, 1, 19)
1663    FIELD(PMCNTENCLR, P18, 1, 18)
1664    FIELD(PMCNTENCLR, P17, 1, 17)
1665    FIELD(PMCNTENCLR, P16, 1, 16)
1666    FIELD(PMCNTENCLR, P15, 1, 15)
1667    FIELD(PMCNTENCLR, P14, 1, 14)
1668    FIELD(PMCNTENCLR, P13, 1, 13)
1669    FIELD(PMCNTENCLR, P12, 1, 12)
1670    FIELD(PMCNTENCLR, P11, 1, 11)
1671    FIELD(PMCNTENCLR, P10, 1, 10)
1672    FIELD(PMCNTENCLR, P9, 1, 9)
1673    FIELD(PMCNTENCLR, P8, 1, 8)
1674    FIELD(PMCNTENCLR, P7, 1, 7)
1675    FIELD(PMCNTENCLR, P6, 1, 6)
1676    FIELD(PMCNTENCLR, P5, 1, 5)
1677    FIELD(PMCNTENCLR, P4, 1, 4)
1678    FIELD(PMCNTENCLR, P3, 1, 3)
1679    FIELD(PMCNTENCLR, P2, 1, 2)
1680    FIELD(PMCNTENCLR, P1, 1, 1)
1681    FIELD(PMCNTENCLR, P0, 1, 0)
1682REG32(PMINTENSET, 0x3c40)
1683    FIELD(PMINTENSET, P23, 1, 23)
1684    FIELD(PMINTENSET, P22, 1, 22)
1685    FIELD(PMINTENSET, P21, 1, 21)
1686    FIELD(PMINTENSET, P20, 1, 20)
1687    FIELD(PMINTENSET, P19, 1, 19)
1688    FIELD(PMINTENSET, P18, 1, 18)
1689    FIELD(PMINTENSET, P17, 1, 17)
1690    FIELD(PMINTENSET, P16, 1, 16)
1691    FIELD(PMINTENSET, P15, 1, 15)
1692    FIELD(PMINTENSET, P14, 1, 14)
1693    FIELD(PMINTENSET, P13, 1, 13)
1694    FIELD(PMINTENSET, P12, 1, 12)
1695    FIELD(PMINTENSET, P11, 1, 11)
1696    FIELD(PMINTENSET, P10, 1, 10)
1697    FIELD(PMINTENSET, P9, 1, 9)
1698    FIELD(PMINTENSET, P8, 1, 8)
1699    FIELD(PMINTENSET, P7, 1, 7)
1700    FIELD(PMINTENSET, P6, 1, 6)
1701    FIELD(PMINTENSET, P5, 1, 5)
1702    FIELD(PMINTENSET, P4, 1, 4)
1703    FIELD(PMINTENSET, P3, 1, 3)
1704    FIELD(PMINTENSET, P2, 1, 2)
1705    FIELD(PMINTENSET, P1, 1, 1)
1706    FIELD(PMINTENSET, P0, 1, 0)
1707REG32(PMINTENCLR, 0x3c60)
1708    FIELD(PMINTENCLR, P23, 1, 23)
1709    FIELD(PMINTENCLR, P22, 1, 22)
1710    FIELD(PMINTENCLR, P21, 1, 21)
1711    FIELD(PMINTENCLR, P20, 1, 20)
1712    FIELD(PMINTENCLR, P19, 1, 19)
1713    FIELD(PMINTENCLR, P18, 1, 18)
1714    FIELD(PMINTENCLR, P17, 1, 17)
1715    FIELD(PMINTENCLR, P16, 1, 16)
1716    FIELD(PMINTENCLR, P15, 1, 15)
1717    FIELD(PMINTENCLR, P14, 1, 14)
1718    FIELD(PMINTENCLR, P13, 1, 13)
1719    FIELD(PMINTENCLR, P12, 1, 12)
1720    FIELD(PMINTENCLR, P11, 1, 11)
1721    FIELD(PMINTENCLR, P10, 1, 10)
1722    FIELD(PMINTENCLR, P9, 1, 9)
1723    FIELD(PMINTENCLR, P8, 1, 8)
1724    FIELD(PMINTENCLR, P7, 1, 7)
1725    FIELD(PMINTENCLR, P6, 1, 6)
1726    FIELD(PMINTENCLR, P5, 1, 5)
1727    FIELD(PMINTENCLR, P4, 1, 4)
1728    FIELD(PMINTENCLR, P3, 1, 3)
1729    FIELD(PMINTENCLR, P2, 1, 2)
1730    FIELD(PMINTENCLR, P1, 1, 1)
1731    FIELD(PMINTENCLR, P0, 1, 0)
1732REG32(PMOVSCLR, 0x3c80)
1733    FIELD(PMOVSCLR, P23, 1, 23)
1734    FIELD(PMOVSCLR, P22, 1, 22)
1735    FIELD(PMOVSCLR, P21, 1, 21)
1736    FIELD(PMOVSCLR, P20, 1, 20)
1737    FIELD(PMOVSCLR, P19, 1, 19)
1738    FIELD(PMOVSCLR, P18, 1, 18)
1739    FIELD(PMOVSCLR, P17, 1, 17)
1740    FIELD(PMOVSCLR, P16, 1, 16)
1741    FIELD(PMOVSCLR, P15, 1, 15)
1742    FIELD(PMOVSCLR, P14, 1, 14)
1743    FIELD(PMOVSCLR, P13, 1, 13)
1744    FIELD(PMOVSCLR, P12, 1, 12)
1745    FIELD(PMOVSCLR, P11, 1, 11)
1746    FIELD(PMOVSCLR, P10, 1, 10)
1747    FIELD(PMOVSCLR, P9, 1, 9)
1748    FIELD(PMOVSCLR, P8, 1, 8)
1749    FIELD(PMOVSCLR, P7, 1, 7)
1750    FIELD(PMOVSCLR, P6, 1, 6)
1751    FIELD(PMOVSCLR, P5, 1, 5)
1752    FIELD(PMOVSCLR, P4, 1, 4)
1753    FIELD(PMOVSCLR, P3, 1, 3)
1754    FIELD(PMOVSCLR, P2, 1, 2)
1755    FIELD(PMOVSCLR, P1, 1, 1)
1756    FIELD(PMOVSCLR, P0, 1, 0)
1757REG32(PMOVSSET, 0x3cc0)
1758    FIELD(PMOVSSET, P23, 1, 23)
1759    FIELD(PMOVSSET, P22, 1, 22)
1760    FIELD(PMOVSSET, P21, 1, 21)
1761    FIELD(PMOVSSET, P20, 1, 20)
1762    FIELD(PMOVSSET, P19, 1, 19)
1763    FIELD(PMOVSSET, P18, 1, 18)
1764    FIELD(PMOVSSET, P17, 1, 17)
1765    FIELD(PMOVSSET, P16, 1, 16)
1766    FIELD(PMOVSSET, P15, 1, 15)
1767    FIELD(PMOVSSET, P14, 1, 14)
1768    FIELD(PMOVSSET, P13, 1, 13)
1769    FIELD(PMOVSSET, P12, 1, 12)
1770    FIELD(PMOVSSET, P11, 1, 11)
1771    FIELD(PMOVSSET, P10, 1, 10)
1772    FIELD(PMOVSSET, P9, 1, 9)
1773    FIELD(PMOVSSET, P8, 1, 8)
1774    FIELD(PMOVSSET, P7, 1, 7)
1775    FIELD(PMOVSSET, P6, 1, 6)
1776    FIELD(PMOVSSET, P5, 1, 5)
1777    FIELD(PMOVSSET, P4, 1, 4)
1778    FIELD(PMOVSSET, P3, 1, 3)
1779    FIELD(PMOVSSET, P2, 1, 2)
1780    FIELD(PMOVSSET, P1, 1, 1)
1781    FIELD(PMOVSSET, P0, 1, 0)
1782REG32(PMCFGR, 0x3e00)
1783    FIELD(PMCFGR, NCG, 8, 24)
1784    FIELD(PMCFGR, UEN, 1, 19)
1785    FIELD(PMCFGR, EX, 1, 16)
1786    FIELD(PMCFGR, CCD, 1, 15)
1787    FIELD(PMCFGR, CC, 1, 14)
1788    FIELD(PMCFGR, SIZE, 6, 8)
1789    FIELD(PMCFGR, N, 8, 0)
1790REG32(PMCR, 0x3e04)
1791    FIELD(PMCR, IMP, 8, 24)
1792    FIELD(PMCR, X, 1, 4)
1793    FIELD(PMCR, P, 1, 1)
1794    FIELD(PMCR, E, 1, 0)
1795REG32(PMCEID0, 0x3e20)
1796    FIELD(PMCEID0, EVENT0X12, 1, 17)
1797    FIELD(PMCEID0, EVENT0X11, 1, 16)
1798    FIELD(PMCEID0, EVENT0X10, 1, 15)
1799    FIELD(PMCEID0, EVENT0X0A, 1, 9)
1800    FIELD(PMCEID0, EVENT0X09, 1, 8)
1801    FIELD(PMCEID0, EVENT0X08, 1, 7)
1802    FIELD(PMCEID0, EVENT0X01, 1, 1)
1803    FIELD(PMCEID0, EVENT0X00, 1, 0)
1804REG32(PMAUTHSTATUS, 0x3fb8)
1805    FIELD(PMAUTHSTATUS, SNI, 1, 7)
1806    FIELD(PMAUTHSTATUS, SNE, 1, 6)
1807    FIELD(PMAUTHSTATUS, SI, 1, 5)
1808    FIELD(PMAUTHSTATUS, SE, 1, 4)
1809    FIELD(PMAUTHSTATUS, NSNI, 1, 3)
1810    FIELD(PMAUTHSTATUS, NSNE, 1, 2)
1811    FIELD(PMAUTHSTATUS, NSI, 1, 1)
1812    FIELD(PMAUTHSTATUS, NSE, 1, 0)
1813REG32(PMDEVTYPE, 0x3fcc)
1814    FIELD(PMDEVTYPE, T, 4, 4)
1815    FIELD(PMDEVTYPE, C, 4, 0)
1816REG32(SMMU_CB0_SCTLR, 0x10000)
1817    FIELD(SMMU_CB0_SCTLR, NSCFG, 2, 28)
1818    FIELD(SMMU_CB0_SCTLR, WACFG, 2, 26)
1819    FIELD(SMMU_CB0_SCTLR, RACFG, 2, 24)
1820    FIELD(SMMU_CB0_SCTLR, SHCFG, 2, 22)
1821    FIELD(SMMU_CB0_SCTLR, FB, 1, 21)
1822    FIELD(SMMU_CB0_SCTLR, MTCFG, 1, 20)
1823    FIELD(SMMU_CB0_SCTLR, MEMATTR, 4, 16)
1824    FIELD(SMMU_CB0_SCTLR, TRANSIENTCFG, 2, 14)
1825    FIELD(SMMU_CB0_SCTLR, PTW, 1, 13)
1826    FIELD(SMMU_CB0_SCTLR, ASIDPNE, 1, 12)
1827    FIELD(SMMU_CB0_SCTLR, UWXN, 1, 10)
1828    FIELD(SMMU_CB0_SCTLR, WXN, 1, 9)
1829    FIELD(SMMU_CB0_SCTLR, HUPCF, 1, 8)
1830    FIELD(SMMU_CB0_SCTLR, CFCFG, 1, 7)
1831    FIELD(SMMU_CB0_SCTLR, CFIE, 1, 6)
1832    FIELD(SMMU_CB0_SCTLR, CFRE, 1, 5)
1833    FIELD(SMMU_CB0_SCTLR, E, 1, 4)
1834    FIELD(SMMU_CB0_SCTLR, AFFD, 1, 3)
1835    FIELD(SMMU_CB0_SCTLR, AFE, 1, 2)
1836    FIELD(SMMU_CB0_SCTLR, TRE, 1, 1)
1837    FIELD(SMMU_CB0_SCTLR, M, 1, 0)
1838REG32(SMMU_CB0_ACTLR, 0x10004)
1839    FIELD(SMMU_CB0_ACTLR, CPRE, 1, 1)
1840    FIELD(SMMU_CB0_ACTLR, CMTLB, 1, 0)
1841REG32(SMMU_CB0_RESUME, 0x10008)
1842    FIELD(SMMU_CB0_RESUME, TNR, 1, 0)
1843REG32(SMMU_CB0_TCR2, 0x10010)
1844    FIELD(SMMU_CB0_TCR2, NSCFG1, 1, 30)
1845    FIELD(SMMU_CB0_TCR2, SEP, 3, 15)
1846    FIELD(SMMU_CB0_TCR2, NSCFG0, 1, 14)
1847    FIELD(SMMU_CB0_TCR2, TBI1, 1, 6)
1848    FIELD(SMMU_CB0_TCR2, TBI0, 1, 5)
1849    FIELD(SMMU_CB0_TCR2, AS, 1, 4)
1850    FIELD(SMMU_CB0_TCR2, PASIZE, 3, 0)
1851REG32(SMMU_CB0_TTBR0_LOW, 0x10020)
1852    FIELD(SMMU_CB0_TTBR0_LOW, ADDRESS_31_7, 25, 7)
1853    FIELD(SMMU_CB0_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
1854    FIELD(SMMU_CB0_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
1855    FIELD(SMMU_CB0_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
1856    FIELD(SMMU_CB0_TTBR0_LOW, ADDRESS_2, 1, 2)
1857    FIELD(SMMU_CB0_TTBR0_LOW, ADDRESS_1_S, 1, 1)
1858    FIELD(SMMU_CB0_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
1859REG32(SMMU_CB0_TTBR0_HIGH, 0x10024)
1860    FIELD(SMMU_CB0_TTBR0_HIGH, ASID, 16, 16)
1861    FIELD(SMMU_CB0_TTBR0_HIGH, ADDRESS, 16, 0)
1862REG32(SMMU_CB0_TTBR1_LOW, 0x10028)
1863    FIELD(SMMU_CB0_TTBR1_LOW, ADDRESS_31_7, 25, 7)
1864    FIELD(SMMU_CB0_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
1865    FIELD(SMMU_CB0_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
1866    FIELD(SMMU_CB0_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
1867    FIELD(SMMU_CB0_TTBR1_LOW, ADDRESS_2, 1, 2)
1868    FIELD(SMMU_CB0_TTBR1_LOW, ADDRESS_1_S, 1, 1)
1869    FIELD(SMMU_CB0_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
1870REG32(SMMU_CB0_TTBR1_HIGH, 0x1002c)
1871    FIELD(SMMU_CB0_TTBR1_HIGH, ASID, 16, 16)
1872    FIELD(SMMU_CB0_TTBR1_HIGH, ADDRESS, 16, 0)
1873REG32(SMMU_CB0_TCR_LPAE, 0x10030)
1874    FIELD(SMMU_CB0_TCR_LPAE, EAE, 1, 31)
1875    FIELD(SMMU_CB0_TCR_LPAE, NSCFG1_TG1, 1, 30)
1876    FIELD(SMMU_CB0_TCR_LPAE, SH1, 2, 28)
1877    FIELD(SMMU_CB0_TCR_LPAE, ORGN1, 2, 26)
1878    FIELD(SMMU_CB0_TCR_LPAE, IRGN1, 2, 24)
1879    FIELD(SMMU_CB0_TCR_LPAE, EPD1, 1, 23)
1880    FIELD(SMMU_CB0_TCR_LPAE, A1, 1, 22)
1881    FIELD(SMMU_CB0_TCR_LPAE, T1SZ_5_3, 3, 19)
1882    FIELD(SMMU_CB0_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
1883    FIELD(SMMU_CB0_TCR_LPAE, NSCFG0_TG0, 1, 14)
1884    FIELD(SMMU_CB0_TCR_LPAE, SH0, 2, 12)
1885    FIELD(SMMU_CB0_TCR_LPAE, ORGN0, 2, 10)
1886    FIELD(SMMU_CB0_TCR_LPAE, IRGN0, 2, 8)
1887    FIELD(SMMU_CB0_TCR_LPAE, SL0_1_EPD0, 1, 7)
1888    FIELD(SMMU_CB0_TCR_LPAE, SL0_0, 1, 6)
1889    FIELD(SMMU_CB0_TCR_LPAE, PD1_T0SZ_5, 1, 5)
1890    FIELD(SMMU_CB0_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
1891    FIELD(SMMU_CB0_TCR_LPAE, T0SZ_3_0, 4, 0)
1892REG32(SMMU_CB0_CONTEXTIDR, 0x10034)
1893    FIELD(SMMU_CB0_CONTEXTIDR, PROCID, 24, 8)
1894    FIELD(SMMU_CB0_CONTEXTIDR, ASID, 8, 0)
1895REG32(SMMU_CB0_PRRR_MAIR0, 0x10038)
1896    FIELD(SMMU_CB0_PRRR_MAIR0, NOS7, 1, 31)
1897    FIELD(SMMU_CB0_PRRR_MAIR0, NOS6, 1, 30)
1898    FIELD(SMMU_CB0_PRRR_MAIR0, NOS5, 1, 29)
1899    FIELD(SMMU_CB0_PRRR_MAIR0, NOS4, 1, 28)
1900    FIELD(SMMU_CB0_PRRR_MAIR0, NOS3, 1, 27)
1901    FIELD(SMMU_CB0_PRRR_MAIR0, NOS2, 1, 26)
1902    FIELD(SMMU_CB0_PRRR_MAIR0, NOS1, 1, 25)
1903    FIELD(SMMU_CB0_PRRR_MAIR0, NOS0, 1, 24)
1904    FIELD(SMMU_CB0_PRRR_MAIR0, NS1, 1, 19)
1905    FIELD(SMMU_CB0_PRRR_MAIR0, NS0, 1, 18)
1906    FIELD(SMMU_CB0_PRRR_MAIR0, DS1, 1, 17)
1907    FIELD(SMMU_CB0_PRRR_MAIR0, DS0, 1, 16)
1908    FIELD(SMMU_CB0_PRRR_MAIR0, TR7, 2, 14)
1909    FIELD(SMMU_CB0_PRRR_MAIR0, TR6, 2, 12)
1910    FIELD(SMMU_CB0_PRRR_MAIR0, TR5, 2, 10)
1911    FIELD(SMMU_CB0_PRRR_MAIR0, TR4, 2, 8)
1912    FIELD(SMMU_CB0_PRRR_MAIR0, TR3, 2, 6)
1913    FIELD(SMMU_CB0_PRRR_MAIR0, TR2, 2, 4)
1914    FIELD(SMMU_CB0_PRRR_MAIR0, TR1, 2, 2)
1915    FIELD(SMMU_CB0_PRRR_MAIR0, TR0, 2, 0)
1916REG32(SMMU_CB0_NMRR_MAIR1, 0x1003c)
1917    FIELD(SMMU_CB0_NMRR_MAIR1, OR7, 2, 30)
1918    FIELD(SMMU_CB0_NMRR_MAIR1, OR6, 2, 28)
1919    FIELD(SMMU_CB0_NMRR_MAIR1, OR5, 2, 26)
1920    FIELD(SMMU_CB0_NMRR_MAIR1, OR4, 2, 24)
1921    FIELD(SMMU_CB0_NMRR_MAIR1, OR3, 2, 22)
1922    FIELD(SMMU_CB0_NMRR_MAIR1, OR2, 2, 20)
1923    FIELD(SMMU_CB0_NMRR_MAIR1, OR1, 2, 18)
1924    FIELD(SMMU_CB0_NMRR_MAIR1, OR0, 2, 16)
1925    FIELD(SMMU_CB0_NMRR_MAIR1, IR7, 2, 14)
1926    FIELD(SMMU_CB0_NMRR_MAIR1, IR6, 2, 12)
1927    FIELD(SMMU_CB0_NMRR_MAIR1, IR5, 2, 10)
1928    FIELD(SMMU_CB0_NMRR_MAIR1, IR4, 2, 8)
1929    FIELD(SMMU_CB0_NMRR_MAIR1, IR3, 2, 6)
1930    FIELD(SMMU_CB0_NMRR_MAIR1, IR2, 2, 4)
1931    FIELD(SMMU_CB0_NMRR_MAIR1, IR1, 2, 2)
1932    FIELD(SMMU_CB0_NMRR_MAIR1, IR0, 2, 0)
1933REG32(SMMU_CB0_FSR, 0x10058)
1934    FIELD(SMMU_CB0_FSR, MULTI, 1, 31)
1935    FIELD(SMMU_CB0_FSR, SS, 1, 30)
1936    FIELD(SMMU_CB0_FSR, FORMAT, 2, 9)
1937    FIELD(SMMU_CB0_FSR, UUT, 1, 8)
1938    FIELD(SMMU_CB0_FSR, ASF, 1, 7)
1939    FIELD(SMMU_CB0_FSR, TLBLKF, 1, 6)
1940    FIELD(SMMU_CB0_FSR, TLBMCF, 1, 5)
1941    FIELD(SMMU_CB0_FSR, EF, 1, 4)
1942    FIELD(SMMU_CB0_FSR, PF, 1, 3)
1943    FIELD(SMMU_CB0_FSR, AFF, 1, 2)
1944    FIELD(SMMU_CB0_FSR, TF, 1, 1)
1945REG32(SMMU_CB0_FSRRESTORE, 0x1005c)
1946REG32(SMMU_CB0_FAR_LOW, 0x10060)
1947REG32(SMMU_CB0_FAR_HIGH, 0x10064)
1948    FIELD(SMMU_CB0_FAR_HIGH, BITS, 17, 0)
1949REG32(SMMU_CB0_FSYNR0, 0x10068)
1950    FIELD(SMMU_CB0_FSYNR0, S1CBNDX, 4, 16)
1951    FIELD(SMMU_CB0_FSYNR0, AFR, 1, 11)
1952    FIELD(SMMU_CB0_FSYNR0, PTWF, 1, 10)
1953    FIELD(SMMU_CB0_FSYNR0, ATOF, 1, 9)
1954    FIELD(SMMU_CB0_FSYNR0, NSATTR, 1, 8)
1955    FIELD(SMMU_CB0_FSYNR0, IND, 1, 6)
1956    FIELD(SMMU_CB0_FSYNR0, PNU, 1, 5)
1957    FIELD(SMMU_CB0_FSYNR0, WNR, 1, 4)
1958    FIELD(SMMU_CB0_FSYNR0, PLVL, 2, 0)
1959REG32(SMMU_CB0_IPAFAR_LOW, 0x10070)
1960    FIELD(SMMU_CB0_IPAFAR_LOW, IPAFAR_L, 20, 12)
1961    FIELD(SMMU_CB0_IPAFAR_LOW, FAR_RO, 12, 0)
1962REG32(SMMU_CB0_IPAFAR_HIGH, 0x10074)
1963    FIELD(SMMU_CB0_IPAFAR_HIGH, BITS, 16, 0)
1964REG32(SMMU_CB0_TLBIVA_LOW, 0x10600)
1965REG32(SMMU_CB0_TLBIVA_HIGH, 0x10604)
1966    FIELD(SMMU_CB0_TLBIVA_HIGH, ASID, 16, 16)
1967    FIELD(SMMU_CB0_TLBIVA_HIGH, ADDRESS, 5, 0)
1968REG32(SMMU_CB0_TLBIVAA_LOW, 0x10608)
1969REG32(SMMU_CB0_TLBIVAA_HIGH, 0x1060c)
1970    FIELD(SMMU_CB0_TLBIVAA_HIGH, ASID, 16, 16)
1971    FIELD(SMMU_CB0_TLBIVAA_HIGH, ADDRESS, 5, 0)
1972REG32(SMMU_CB0_TLBIASID, 0x10610)
1973    FIELD(SMMU_CB0_TLBIASID, ASID, 16, 0)
1974REG32(SMMU_CB0_TLBIALL, 0x10618)
1975REG32(SMMU_CB0_TLBIVAL_LOW, 0x10620)
1976REG32(SMMU_CB0_TLBIVAL_HIGH, 0x10624)
1977    FIELD(SMMU_CB0_TLBIVAL_HIGH, ASID, 16, 16)
1978    FIELD(SMMU_CB0_TLBIVAL_HIGH, ADDRESS, 5, 0)
1979REG32(SMMU_CB0_TLBIVAAL_LOW, 0x10628)
1980REG32(SMMU_CB0_TLBIVAAL_HIGH, 0x1062c)
1981    FIELD(SMMU_CB0_TLBIVAAL_HIGH, ASID, 16, 16)
1982    FIELD(SMMU_CB0_TLBIVAAL_HIGH, ADDRESS, 5, 0)
1983REG32(SMMU_CB0_TLBIIPAS2_LOW, 0x10630)
1984REG32(SMMU_CB0_TLBIIPAS2_HIGH, 0x10634)
1985    FIELD(SMMU_CB0_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
1986REG32(SMMU_CB0_TLBIIPAS2L_LOW, 0x10638)
1987REG32(SMMU_CB0_TLBIIPAS2L_HIGH, 0x1063c)
1988    FIELD(SMMU_CB0_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
1989REG32(SMMU_CB0_TLBSYNC, 0x107f0)
1990REG32(SMMU_CB0_TLBSTATUS, 0x107f4)
1991    FIELD(SMMU_CB0_TLBSTATUS, SACTIVE, 1, 0)
1992REG32(SMMU_CB0_PMEVCNTR0, 0x10e00)
1993REG32(SMMU_CB0_PMEVCNTR1, 0x10e04)
1994REG32(SMMU_CB0_PMEVCNTR2, 0x10e08)
1995REG32(SMMU_CB0_PMEVCNTR3, 0x10e0c)
1996REG32(SMMU_CB0_PMEVTYPER0, 0x10e80)
1997    FIELD(SMMU_CB0_PMEVTYPER0, P, 1, 31)
1998    FIELD(SMMU_CB0_PMEVTYPER0, U, 1, 30)
1999    FIELD(SMMU_CB0_PMEVTYPER0, NSP, 1, 29)
2000    FIELD(SMMU_CB0_PMEVTYPER0, NSU, 1, 28)
2001    FIELD(SMMU_CB0_PMEVTYPER0, EVENT, 5, 0)
2002REG32(SMMU_CB0_PMEVTYPER1, 0x10e84)
2003    FIELD(SMMU_CB0_PMEVTYPER1, P, 1, 31)
2004    FIELD(SMMU_CB0_PMEVTYPER1, U, 1, 30)
2005    FIELD(SMMU_CB0_PMEVTYPER1, NSP, 1, 29)
2006    FIELD(SMMU_CB0_PMEVTYPER1, NSU, 1, 28)
2007    FIELD(SMMU_CB0_PMEVTYPER1, EVENT, 5, 0)
2008REG32(SMMU_CB0_PMEVTYPER2, 0x10e88)
2009    FIELD(SMMU_CB0_PMEVTYPER2, P, 1, 31)
2010    FIELD(SMMU_CB0_PMEVTYPER2, U, 1, 30)
2011    FIELD(SMMU_CB0_PMEVTYPER2, NSP, 1, 29)
2012    FIELD(SMMU_CB0_PMEVTYPER2, NSU, 1, 28)
2013    FIELD(SMMU_CB0_PMEVTYPER2, EVENT, 5, 0)
2014REG32(SMMU_CB0_PMEVTYPER3, 0x10e8c)
2015    FIELD(SMMU_CB0_PMEVTYPER3, P, 1, 31)
2016    FIELD(SMMU_CB0_PMEVTYPER3, U, 1, 30)
2017    FIELD(SMMU_CB0_PMEVTYPER3, NSP, 1, 29)
2018    FIELD(SMMU_CB0_PMEVTYPER3, NSU, 1, 28)
2019    FIELD(SMMU_CB0_PMEVTYPER3, EVENT, 5, 0)
2020REG32(SMMU_CB0_PMCFGR, 0x10f00)
2021    FIELD(SMMU_CB0_PMCFGR, NCG, 8, 24)
2022    FIELD(SMMU_CB0_PMCFGR, UEN, 1, 19)
2023    FIELD(SMMU_CB0_PMCFGR, EX, 1, 16)
2024    FIELD(SMMU_CB0_PMCFGR, CCD, 1, 15)
2025    FIELD(SMMU_CB0_PMCFGR, CC, 1, 14)
2026    FIELD(SMMU_CB0_PMCFGR, SIZE, 6, 8)
2027    FIELD(SMMU_CB0_PMCFGR, N, 8, 0)
2028REG32(SMMU_CB0_PMCR, 0x10f04)
2029    FIELD(SMMU_CB0_PMCR, IMP, 8, 24)
2030    FIELD(SMMU_CB0_PMCR, X, 1, 4)
2031    FIELD(SMMU_CB0_PMCR, P, 1, 1)
2032    FIELD(SMMU_CB0_PMCR, E, 1, 0)
2033REG32(SMMU_CB0_PMCEID, 0x10f20)
2034    FIELD(SMMU_CB0_PMCEID, EVENT0X12, 1, 17)
2035    FIELD(SMMU_CB0_PMCEID, EVENT0X11, 1, 16)
2036    FIELD(SMMU_CB0_PMCEID, EVENT0X10, 1, 15)
2037    FIELD(SMMU_CB0_PMCEID, EVENT0X0A, 1, 9)
2038    FIELD(SMMU_CB0_PMCEID, EVENT0X09, 1, 8)
2039    FIELD(SMMU_CB0_PMCEID, EVENT0X08, 1, 7)
2040    FIELD(SMMU_CB0_PMCEID, EVENT0X01, 1, 1)
2041    FIELD(SMMU_CB0_PMCEID, EVENT0X00, 1, 0)
2042REG32(SMMU_CB0_PMCNTENSE, 0x10f40)
2043    FIELD(SMMU_CB0_PMCNTENSE, P3, 1, 3)
2044    FIELD(SMMU_CB0_PMCNTENSE, P2, 1, 2)
2045    FIELD(SMMU_CB0_PMCNTENSE, P1, 1, 1)
2046    FIELD(SMMU_CB0_PMCNTENSE, P0, 1, 0)
2047REG32(SMMU_CB0_PMCNTENCLR, 0x10f44)
2048    FIELD(SMMU_CB0_PMCNTENCLR, P3, 1, 3)
2049    FIELD(SMMU_CB0_PMCNTENCLR, P2, 1, 2)
2050    FIELD(SMMU_CB0_PMCNTENCLR, P1, 1, 1)
2051    FIELD(SMMU_CB0_PMCNTENCLR, P0, 1, 0)
2052REG32(SMMU_CB0_PMCNTENSET, 0x10f48)
2053    FIELD(SMMU_CB0_PMCNTENSET, P3, 1, 3)
2054    FIELD(SMMU_CB0_PMCNTENSET, P2, 1, 2)
2055    FIELD(SMMU_CB0_PMCNTENSET, P1, 1, 1)
2056    FIELD(SMMU_CB0_PMCNTENSET, P0, 1, 0)
2057REG32(SMMU_CB0_PMINTENCLR, 0x10f4c)
2058    FIELD(SMMU_CB0_PMINTENCLR, P3, 1, 3)
2059    FIELD(SMMU_CB0_PMINTENCLR, P2, 1, 2)
2060    FIELD(SMMU_CB0_PMINTENCLR, P1, 1, 1)
2061    FIELD(SMMU_CB0_PMINTENCLR, P0, 1, 0)
2062REG32(SMMU_CB0_PMOVSCLR, 0x10f50)
2063    FIELD(SMMU_CB0_PMOVSCLR, P3, 1, 3)
2064    FIELD(SMMU_CB0_PMOVSCLR, P2, 1, 2)
2065    FIELD(SMMU_CB0_PMOVSCLR, P1, 1, 1)
2066    FIELD(SMMU_CB0_PMOVSCLR, P0, 1, 0)
2067REG32(SMMU_CB0_PMOVSSET, 0x10f58)
2068    FIELD(SMMU_CB0_PMOVSSET, P3, 1, 3)
2069    FIELD(SMMU_CB0_PMOVSSET, P2, 1, 2)
2070    FIELD(SMMU_CB0_PMOVSSET, P1, 1, 1)
2071    FIELD(SMMU_CB0_PMOVSSET, P0, 1, 0)
2072REG32(SMMU_CB0_PMAUTHSTATUS, 0x10fb8)
2073    FIELD(SMMU_CB0_PMAUTHSTATUS, SNI, 1, 7)
2074    FIELD(SMMU_CB0_PMAUTHSTATUS, SNE, 1, 6)
2075    FIELD(SMMU_CB0_PMAUTHSTATUS, SI, 1, 5)
2076    FIELD(SMMU_CB0_PMAUTHSTATUS, SE, 1, 4)
2077    FIELD(SMMU_CB0_PMAUTHSTATUS, NSNI, 1, 3)
2078    FIELD(SMMU_CB0_PMAUTHSTATUS, NSNE, 1, 2)
2079    FIELD(SMMU_CB0_PMAUTHSTATUS, NSI, 1, 1)
2080    FIELD(SMMU_CB0_PMAUTHSTATUS, NSE, 1, 0)
2081REG32(SMMU_CB1_SCTLR, 0x11000)
2082    FIELD(SMMU_CB1_SCTLR, NSCFG, 2, 28)
2083    FIELD(SMMU_CB1_SCTLR, WACFG, 2, 26)
2084    FIELD(SMMU_CB1_SCTLR, RACFG, 2, 24)
2085    FIELD(SMMU_CB1_SCTLR, SHCFG, 2, 22)
2086    FIELD(SMMU_CB1_SCTLR, FB, 1, 21)
2087    FIELD(SMMU_CB1_SCTLR, MTCFG, 1, 20)
2088    FIELD(SMMU_CB1_SCTLR, MEMATTR, 4, 16)
2089    FIELD(SMMU_CB1_SCTLR, TRANSIENTCFG, 2, 14)
2090    FIELD(SMMU_CB1_SCTLR, PTW, 1, 13)
2091    FIELD(SMMU_CB1_SCTLR, ASIDPNE, 1, 12)
2092    FIELD(SMMU_CB1_SCTLR, UWXN, 1, 10)
2093    FIELD(SMMU_CB1_SCTLR, WXN, 1, 9)
2094    FIELD(SMMU_CB1_SCTLR, HUPCF, 1, 8)
2095    FIELD(SMMU_CB1_SCTLR, CFCFG, 1, 7)
2096    FIELD(SMMU_CB1_SCTLR, CFIE, 1, 6)
2097    FIELD(SMMU_CB1_SCTLR, CFRE, 1, 5)
2098    FIELD(SMMU_CB1_SCTLR, E, 1, 4)
2099    FIELD(SMMU_CB1_SCTLR, AFFD, 1, 3)
2100    FIELD(SMMU_CB1_SCTLR, AFE, 1, 2)
2101    FIELD(SMMU_CB1_SCTLR, TRE, 1, 1)
2102    FIELD(SMMU_CB1_SCTLR, M, 1, 0)
2103REG32(SMMU_CB1_ACTLR, 0x11004)
2104    FIELD(SMMU_CB1_ACTLR, CPRE, 1, 1)
2105    FIELD(SMMU_CB1_ACTLR, CMTLB, 1, 0)
2106REG32(SMMU_CB1_RESUME, 0x11008)
2107    FIELD(SMMU_CB1_RESUME, TNR, 1, 0)
2108REG32(SMMU_CB1_TCR2, 0x11010)
2109    FIELD(SMMU_CB1_TCR2, NSCFG1, 1, 30)
2110    FIELD(SMMU_CB1_TCR2, SEP, 3, 15)
2111    FIELD(SMMU_CB1_TCR2, NSCFG0, 1, 14)
2112    FIELD(SMMU_CB1_TCR2, TBI1, 1, 6)
2113    FIELD(SMMU_CB1_TCR2, TBI0, 1, 5)
2114    FIELD(SMMU_CB1_TCR2, AS, 1, 4)
2115    FIELD(SMMU_CB1_TCR2, PASIZE, 3, 0)
2116REG32(SMMU_CB1_TTBR0_LOW, 0x11020)
2117    FIELD(SMMU_CB1_TTBR0_LOW, ADDRESS_31_7, 25, 7)
2118    FIELD(SMMU_CB1_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
2119    FIELD(SMMU_CB1_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
2120    FIELD(SMMU_CB1_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
2121    FIELD(SMMU_CB1_TTBR0_LOW, ADDRESS_2, 1, 2)
2122    FIELD(SMMU_CB1_TTBR0_LOW, ADDRESS_1_S, 1, 1)
2123    FIELD(SMMU_CB1_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
2124REG32(SMMU_CB1_TTBR0_HIGH, 0x11024)
2125    FIELD(SMMU_CB1_TTBR0_HIGH, ASID, 16, 16)
2126    FIELD(SMMU_CB1_TTBR0_HIGH, ADDRESS, 16, 0)
2127REG32(SMMU_CB1_TTBR1_LOW, 0x11028)
2128    FIELD(SMMU_CB1_TTBR1_LOW, ADDRESS_31_7, 25, 7)
2129    FIELD(SMMU_CB1_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
2130    FIELD(SMMU_CB1_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
2131    FIELD(SMMU_CB1_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
2132    FIELD(SMMU_CB1_TTBR1_LOW, ADDRESS_2, 1, 2)
2133    FIELD(SMMU_CB1_TTBR1_LOW, ADDRESS_1_S, 1, 1)
2134    FIELD(SMMU_CB1_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
2135REG32(SMMU_CB1_TTBR1_HIGH, 0x1102c)
2136    FIELD(SMMU_CB1_TTBR1_HIGH, ASID, 16, 16)
2137    FIELD(SMMU_CB1_TTBR1_HIGH, ADDRESS, 16, 0)
2138REG32(SMMU_CB1_TCR_LPAE, 0x11030)
2139    FIELD(SMMU_CB1_TCR_LPAE, EAE, 1, 31)
2140    FIELD(SMMU_CB1_TCR_LPAE, NSCFG1_TG1, 1, 30)
2141    FIELD(SMMU_CB1_TCR_LPAE, SH1, 2, 28)
2142    FIELD(SMMU_CB1_TCR_LPAE, ORGN1, 2, 26)
2143    FIELD(SMMU_CB1_TCR_LPAE, IRGN1, 2, 24)
2144    FIELD(SMMU_CB1_TCR_LPAE, EPD1, 1, 23)
2145    FIELD(SMMU_CB1_TCR_LPAE, A1, 1, 22)
2146    FIELD(SMMU_CB1_TCR_LPAE, T1SZ_5_3, 3, 19)
2147    FIELD(SMMU_CB1_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
2148    FIELD(SMMU_CB1_TCR_LPAE, NSCFG0_TG0, 1, 14)
2149    FIELD(SMMU_CB1_TCR_LPAE, SH0, 2, 12)
2150    FIELD(SMMU_CB1_TCR_LPAE, ORGN0, 2, 10)
2151    FIELD(SMMU_CB1_TCR_LPAE, IRGN0, 2, 8)
2152    FIELD(SMMU_CB1_TCR_LPAE, SL0_1_EPD0, 1, 7)
2153    FIELD(SMMU_CB1_TCR_LPAE, SL0_0, 1, 6)
2154    FIELD(SMMU_CB1_TCR_LPAE, PD1_T0SZ_5, 1, 5)
2155    FIELD(SMMU_CB1_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
2156    FIELD(SMMU_CB1_TCR_LPAE, T0SZ_3_0, 4, 0)
2157REG32(SMMU_CB1_CONTEXTIDR, 0x11034)
2158    FIELD(SMMU_CB1_CONTEXTIDR, PROCID, 24, 8)
2159    FIELD(SMMU_CB1_CONTEXTIDR, ASID, 8, 0)
2160REG32(SMMU_CB1_PRRR_MAIR0, 0x11038)
2161    FIELD(SMMU_CB1_PRRR_MAIR0, NOS7, 1, 31)
2162    FIELD(SMMU_CB1_PRRR_MAIR0, NOS6, 1, 30)
2163    FIELD(SMMU_CB1_PRRR_MAIR0, NOS5, 1, 29)
2164    FIELD(SMMU_CB1_PRRR_MAIR0, NOS4, 1, 28)
2165    FIELD(SMMU_CB1_PRRR_MAIR0, NOS3, 1, 27)
2166    FIELD(SMMU_CB1_PRRR_MAIR0, NOS2, 1, 26)
2167    FIELD(SMMU_CB1_PRRR_MAIR0, NOS1, 1, 25)
2168    FIELD(SMMU_CB1_PRRR_MAIR0, NOS0, 1, 24)
2169    FIELD(SMMU_CB1_PRRR_MAIR0, NS1, 1, 19)
2170    FIELD(SMMU_CB1_PRRR_MAIR0, NS0, 1, 18)
2171    FIELD(SMMU_CB1_PRRR_MAIR0, DS1, 1, 17)
2172    FIELD(SMMU_CB1_PRRR_MAIR0, DS0, 1, 16)
2173    FIELD(SMMU_CB1_PRRR_MAIR0, TR7, 2, 14)
2174    FIELD(SMMU_CB1_PRRR_MAIR0, TR6, 2, 12)
2175    FIELD(SMMU_CB1_PRRR_MAIR0, TR5, 2, 10)
2176    FIELD(SMMU_CB1_PRRR_MAIR0, TR4, 2, 8)
2177    FIELD(SMMU_CB1_PRRR_MAIR0, TR3, 2, 6)
2178    FIELD(SMMU_CB1_PRRR_MAIR0, TR2, 2, 4)
2179    FIELD(SMMU_CB1_PRRR_MAIR0, TR1, 2, 2)
2180    FIELD(SMMU_CB1_PRRR_MAIR0, TR0, 2, 0)
2181REG32(SMMU_CB1_NMRR_MAIR1, 0x1103c)
2182    FIELD(SMMU_CB1_NMRR_MAIR1, OR7, 2, 30)
2183    FIELD(SMMU_CB1_NMRR_MAIR1, OR6, 2, 28)
2184    FIELD(SMMU_CB1_NMRR_MAIR1, OR5, 2, 26)
2185    FIELD(SMMU_CB1_NMRR_MAIR1, OR4, 2, 24)
2186    FIELD(SMMU_CB1_NMRR_MAIR1, OR3, 2, 22)
2187    FIELD(SMMU_CB1_NMRR_MAIR1, OR2, 2, 20)
2188    FIELD(SMMU_CB1_NMRR_MAIR1, OR1, 2, 18)
2189    FIELD(SMMU_CB1_NMRR_MAIR1, OR0, 2, 16)
2190    FIELD(SMMU_CB1_NMRR_MAIR1, IR7, 2, 14)
2191    FIELD(SMMU_CB1_NMRR_MAIR1, IR6, 2, 12)
2192    FIELD(SMMU_CB1_NMRR_MAIR1, IR5, 2, 10)
2193    FIELD(SMMU_CB1_NMRR_MAIR1, IR4, 2, 8)
2194    FIELD(SMMU_CB1_NMRR_MAIR1, IR3, 2, 6)
2195    FIELD(SMMU_CB1_NMRR_MAIR1, IR2, 2, 4)
2196    FIELD(SMMU_CB1_NMRR_MAIR1, IR1, 2, 2)
2197    FIELD(SMMU_CB1_NMRR_MAIR1, IR0, 2, 0)
2198REG32(SMMU_CB1_FSR, 0x11058)
2199    FIELD(SMMU_CB1_FSR, MULTI, 1, 31)
2200    FIELD(SMMU_CB1_FSR, SS, 1, 30)
2201    FIELD(SMMU_CB1_FSR, FORMAT, 2, 9)
2202    FIELD(SMMU_CB1_FSR, UUT, 1, 8)
2203    FIELD(SMMU_CB1_FSR, ASF, 1, 7)
2204    FIELD(SMMU_CB1_FSR, TLBLKF, 1, 6)
2205    FIELD(SMMU_CB1_FSR, TLBMCF, 1, 5)
2206    FIELD(SMMU_CB1_FSR, EF, 1, 4)
2207    FIELD(SMMU_CB1_FSR, PF, 1, 3)
2208    FIELD(SMMU_CB1_FSR, AFF, 1, 2)
2209    FIELD(SMMU_CB1_FSR, TF, 1, 1)
2210REG32(SMMU_CB1_FSRRESTORE, 0x1105c)
2211REG32(SMMU_CB1_FAR_LOW, 0x11060)
2212REG32(SMMU_CB1_FAR_HIGH, 0x11064)
2213    FIELD(SMMU_CB1_FAR_HIGH, BITS, 17, 0)
2214REG32(SMMU_CB1_FSYNR0, 0x11068)
2215    FIELD(SMMU_CB1_FSYNR0, S1CBNDX, 4, 16)
2216    FIELD(SMMU_CB1_FSYNR0, AFR, 1, 11)
2217    FIELD(SMMU_CB1_FSYNR0, PTWF, 1, 10)
2218    FIELD(SMMU_CB1_FSYNR0, ATOF, 1, 9)
2219    FIELD(SMMU_CB1_FSYNR0, NSATTR, 1, 8)
2220    FIELD(SMMU_CB1_FSYNR0, IND, 1, 6)
2221    FIELD(SMMU_CB1_FSYNR0, PNU, 1, 5)
2222    FIELD(SMMU_CB1_FSYNR0, WNR, 1, 4)
2223    FIELD(SMMU_CB1_FSYNR0, PLVL, 2, 0)
2224REG32(SMMU_CB1_IPAFAR_LOW, 0x11070)
2225    FIELD(SMMU_CB1_IPAFAR_LOW, IPAFAR_L, 20, 12)
2226    FIELD(SMMU_CB1_IPAFAR_LOW, FAR_RO, 12, 0)
2227REG32(SMMU_CB1_IPAFAR_HIGH, 0x11074)
2228    FIELD(SMMU_CB1_IPAFAR_HIGH, BITS, 16, 0)
2229REG32(SMMU_CB1_TLBIVA_LOW, 0x11600)
2230REG32(SMMU_CB1_TLBIVA_HIGH, 0x11604)
2231    FIELD(SMMU_CB1_TLBIVA_HIGH, ASID, 16, 16)
2232    FIELD(SMMU_CB1_TLBIVA_HIGH, ADDRESS, 5, 0)
2233REG32(SMMU_CB1_TLBIVAA_LOW, 0x11608)
2234REG32(SMMU_CB1_TLBIVAA_HIGH, 0x1160c)
2235    FIELD(SMMU_CB1_TLBIVAA_HIGH, ASID, 16, 16)
2236    FIELD(SMMU_CB1_TLBIVAA_HIGH, ADDRESS, 5, 0)
2237REG32(SMMU_CB1_TLBIASID, 0x11610)
2238    FIELD(SMMU_CB1_TLBIASID, ASID, 16, 0)
2239REG32(SMMU_CB1_TLBIALL, 0x11618)
2240REG32(SMMU_CB1_TLBIVAL_LOW, 0x11620)
2241REG32(SMMU_CB1_TLBIVAL_HIGH, 0x11624)
2242    FIELD(SMMU_CB1_TLBIVAL_HIGH, ASID, 16, 16)
2243    FIELD(SMMU_CB1_TLBIVAL_HIGH, ADDRESS, 5, 0)
2244REG32(SMMU_CB1_TLBIVAAL_LOW, 0x11628)
2245REG32(SMMU_CB1_TLBIVAAL_HIGH, 0x1162c)
2246    FIELD(SMMU_CB1_TLBIVAAL_HIGH, ASID, 16, 16)
2247    FIELD(SMMU_CB1_TLBIVAAL_HIGH, ADDRESS, 5, 0)
2248REG32(SMMU_CB1_TLBIIPAS2_LOW, 0x11630)
2249REG32(SMMU_CB1_TLBIIPAS2_HIGH, 0x11634)
2250    FIELD(SMMU_CB1_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
2251REG32(SMMU_CB1_TLBIIPAS2L_LOW, 0x11638)
2252REG32(SMMU_CB1_TLBIIPAS2L_HIGH, 0x1163c)
2253    FIELD(SMMU_CB1_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
2254REG32(SMMU_CB1_TLBSYNC, 0x117f0)
2255REG32(SMMU_CB1_TLBSTATUS, 0x117f4)
2256    FIELD(SMMU_CB1_TLBSTATUS, SACTIVE, 1, 0)
2257REG32(SMMU_CB1_PMEVCNTR0, 0x11e00)
2258REG32(SMMU_CB1_PMEVCNTR1, 0x11e04)
2259REG32(SMMU_CB1_PMEVCNTR2, 0x11e08)
2260REG32(SMMU_CB1_PMEVCNTR3, 0x11e0c)
2261REG32(SMMU_CB1_PMEVTYPER0, 0x11e80)
2262    FIELD(SMMU_CB1_PMEVTYPER0, P, 1, 31)
2263    FIELD(SMMU_CB1_PMEVTYPER0, U, 1, 30)
2264    FIELD(SMMU_CB1_PMEVTYPER0, NSP, 1, 29)
2265    FIELD(SMMU_CB1_PMEVTYPER0, NSU, 1, 28)
2266    FIELD(SMMU_CB1_PMEVTYPER0, EVENT, 5, 0)
2267REG32(SMMU_CB1_PMEVTYPER1, 0x11e84)
2268    FIELD(SMMU_CB1_PMEVTYPER1, P, 1, 31)
2269    FIELD(SMMU_CB1_PMEVTYPER1, U, 1, 30)
2270    FIELD(SMMU_CB1_PMEVTYPER1, NSP, 1, 29)
2271    FIELD(SMMU_CB1_PMEVTYPER1, NSU, 1, 28)
2272    FIELD(SMMU_CB1_PMEVTYPER1, EVENT, 5, 0)
2273REG32(SMMU_CB1_PMEVTYPER2, 0x11e88)
2274    FIELD(SMMU_CB1_PMEVTYPER2, P, 1, 31)
2275    FIELD(SMMU_CB1_PMEVTYPER2, U, 1, 30)
2276    FIELD(SMMU_CB1_PMEVTYPER2, NSP, 1, 29)
2277    FIELD(SMMU_CB1_PMEVTYPER2, NSU, 1, 28)
2278    FIELD(SMMU_CB1_PMEVTYPER2, EVENT, 5, 0)
2279REG32(SMMU_CB1_PMEVTYPER3, 0x11e8c)
2280    FIELD(SMMU_CB1_PMEVTYPER3, P, 1, 31)
2281    FIELD(SMMU_CB1_PMEVTYPER3, U, 1, 30)
2282    FIELD(SMMU_CB1_PMEVTYPER3, NSP, 1, 29)
2283    FIELD(SMMU_CB1_PMEVTYPER3, NSU, 1, 28)
2284    FIELD(SMMU_CB1_PMEVTYPER3, EVENT, 5, 0)
2285REG32(SMMU_CB1_PMCFGR, 0x11f00)
2286    FIELD(SMMU_CB1_PMCFGR, NCG, 8, 24)
2287    FIELD(SMMU_CB1_PMCFGR, UEN, 1, 19)
2288    FIELD(SMMU_CB1_PMCFGR, EX, 1, 16)
2289    FIELD(SMMU_CB1_PMCFGR, CCD, 1, 15)
2290    FIELD(SMMU_CB1_PMCFGR, CC, 1, 14)
2291    FIELD(SMMU_CB1_PMCFGR, SIZE, 6, 8)
2292    FIELD(SMMU_CB1_PMCFGR, N, 8, 0)
2293REG32(SMMU_CB1_PMCR, 0x11f04)
2294    FIELD(SMMU_CB1_PMCR, IMP, 8, 24)
2295    FIELD(SMMU_CB1_PMCR, X, 1, 4)
2296    FIELD(SMMU_CB1_PMCR, P, 1, 1)
2297    FIELD(SMMU_CB1_PMCR, E, 1, 0)
2298REG32(SMMU_CB1_PMCEID, 0x11f20)
2299    FIELD(SMMU_CB1_PMCEID, EVENT0X12, 1, 17)
2300    FIELD(SMMU_CB1_PMCEID, EVENT0X11, 1, 16)
2301    FIELD(SMMU_CB1_PMCEID, EVENT0X10, 1, 15)
2302    FIELD(SMMU_CB1_PMCEID, EVENT0X0A, 1, 9)
2303    FIELD(SMMU_CB1_PMCEID, EVENT0X09, 1, 8)
2304    FIELD(SMMU_CB1_PMCEID, EVENT0X08, 1, 7)
2305    FIELD(SMMU_CB1_PMCEID, EVENT0X01, 1, 1)
2306    FIELD(SMMU_CB1_PMCEID, EVENT0X00, 1, 0)
2307REG32(SMMU_CB1_PMCNTENSE, 0x11f40)
2308    FIELD(SMMU_CB1_PMCNTENSE, P3, 1, 3)
2309    FIELD(SMMU_CB1_PMCNTENSE, P2, 1, 2)
2310    FIELD(SMMU_CB1_PMCNTENSE, P1, 1, 1)
2311    FIELD(SMMU_CB1_PMCNTENSE, P0, 1, 0)
2312REG32(SMMU_CB1_PMCNTENCLR, 0x11f44)
2313    FIELD(SMMU_CB1_PMCNTENCLR, P3, 1, 3)
2314    FIELD(SMMU_CB1_PMCNTENCLR, P2, 1, 2)
2315    FIELD(SMMU_CB1_PMCNTENCLR, P1, 1, 1)
2316    FIELD(SMMU_CB1_PMCNTENCLR, P0, 1, 0)
2317REG32(SMMU_CB1_PMCNTENSET, 0x11f48)
2318    FIELD(SMMU_CB1_PMCNTENSET, P3, 1, 3)
2319    FIELD(SMMU_CB1_PMCNTENSET, P2, 1, 2)
2320    FIELD(SMMU_CB1_PMCNTENSET, P1, 1, 1)
2321    FIELD(SMMU_CB1_PMCNTENSET, P0, 1, 0)
2322REG32(SMMU_CB1_PMINTENCLR, 0x11f4c)
2323    FIELD(SMMU_CB1_PMINTENCLR, P3, 1, 3)
2324    FIELD(SMMU_CB1_PMINTENCLR, P2, 1, 2)
2325    FIELD(SMMU_CB1_PMINTENCLR, P1, 1, 1)
2326    FIELD(SMMU_CB1_PMINTENCLR, P0, 1, 0)
2327REG32(SMMU_CB1_PMOVSCLR, 0x11f50)
2328    FIELD(SMMU_CB1_PMOVSCLR, P3, 1, 3)
2329    FIELD(SMMU_CB1_PMOVSCLR, P2, 1, 2)
2330    FIELD(SMMU_CB1_PMOVSCLR, P1, 1, 1)
2331    FIELD(SMMU_CB1_PMOVSCLR, P0, 1, 0)
2332REG32(SMMU_CB1_PMOVSSET, 0x11f58)
2333    FIELD(SMMU_CB1_PMOVSSET, P3, 1, 3)
2334    FIELD(SMMU_CB1_PMOVSSET, P2, 1, 2)
2335    FIELD(SMMU_CB1_PMOVSSET, P1, 1, 1)
2336    FIELD(SMMU_CB1_PMOVSSET, P0, 1, 0)
2337REG32(SMMU_CB1_PMAUTHSTATUS, 0x11fb8)
2338    FIELD(SMMU_CB1_PMAUTHSTATUS, SNI, 1, 7)
2339    FIELD(SMMU_CB1_PMAUTHSTATUS, SNE, 1, 6)
2340    FIELD(SMMU_CB1_PMAUTHSTATUS, SI, 1, 5)
2341    FIELD(SMMU_CB1_PMAUTHSTATUS, SE, 1, 4)
2342    FIELD(SMMU_CB1_PMAUTHSTATUS, NSNI, 1, 3)
2343    FIELD(SMMU_CB1_PMAUTHSTATUS, NSNE, 1, 2)
2344    FIELD(SMMU_CB1_PMAUTHSTATUS, NSI, 1, 1)
2345    FIELD(SMMU_CB1_PMAUTHSTATUS, NSE, 1, 0)
2346REG32(SMMU_CB2_SCTLR, 0x12000)
2347    FIELD(SMMU_CB2_SCTLR, NSCFG, 2, 28)
2348    FIELD(SMMU_CB2_SCTLR, WACFG, 2, 26)
2349    FIELD(SMMU_CB2_SCTLR, RACFG, 2, 24)
2350    FIELD(SMMU_CB2_SCTLR, SHCFG, 2, 22)
2351    FIELD(SMMU_CB2_SCTLR, FB, 1, 21)
2352    FIELD(SMMU_CB2_SCTLR, MTCFG, 1, 20)
2353    FIELD(SMMU_CB2_SCTLR, MEMATTR, 4, 16)
2354    FIELD(SMMU_CB2_SCTLR, TRANSIENTCFG, 2, 14)
2355    FIELD(SMMU_CB2_SCTLR, PTW, 1, 13)
2356    FIELD(SMMU_CB2_SCTLR, ASIDPNE, 1, 12)
2357    FIELD(SMMU_CB2_SCTLR, UWXN, 1, 10)
2358    FIELD(SMMU_CB2_SCTLR, WXN, 1, 9)
2359    FIELD(SMMU_CB2_SCTLR, HUPCF, 1, 8)
2360    FIELD(SMMU_CB2_SCTLR, CFCFG, 1, 7)
2361    FIELD(SMMU_CB2_SCTLR, CFIE, 1, 6)
2362    FIELD(SMMU_CB2_SCTLR, CFRE, 1, 5)
2363    FIELD(SMMU_CB2_SCTLR, E, 1, 4)
2364    FIELD(SMMU_CB2_SCTLR, AFFD, 1, 3)
2365    FIELD(SMMU_CB2_SCTLR, AFE, 1, 2)
2366    FIELD(SMMU_CB2_SCTLR, TRE, 1, 1)
2367    FIELD(SMMU_CB2_SCTLR, M, 1, 0)
2368REG32(SMMU_CB2_ACTLR, 0x12004)
2369    FIELD(SMMU_CB2_ACTLR, CPRE, 1, 1)
2370    FIELD(SMMU_CB2_ACTLR, CMTLB, 1, 0)
2371REG32(SMMU_CB2_RESUME, 0x12008)
2372    FIELD(SMMU_CB2_RESUME, TNR, 1, 0)
2373REG32(SMMU_CB2_TCR2, 0x12010)
2374    FIELD(SMMU_CB2_TCR2, NSCFG1, 1, 30)
2375    FIELD(SMMU_CB2_TCR2, SEP, 3, 15)
2376    FIELD(SMMU_CB2_TCR2, NSCFG0, 1, 14)
2377    FIELD(SMMU_CB2_TCR2, TBI1, 1, 6)
2378    FIELD(SMMU_CB2_TCR2, TBI0, 1, 5)
2379    FIELD(SMMU_CB2_TCR2, AS, 1, 4)
2380    FIELD(SMMU_CB2_TCR2, PASIZE, 3, 0)
2381REG32(SMMU_CB2_TTBR0_LOW, 0x12020)
2382    FIELD(SMMU_CB2_TTBR0_LOW, ADDRESS_31_7, 25, 7)
2383    FIELD(SMMU_CB2_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
2384    FIELD(SMMU_CB2_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
2385    FIELD(SMMU_CB2_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
2386    FIELD(SMMU_CB2_TTBR0_LOW, ADDRESS_2, 1, 2)
2387    FIELD(SMMU_CB2_TTBR0_LOW, ADDRESS_1_S, 1, 1)
2388    FIELD(SMMU_CB2_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
2389REG32(SMMU_CB2_TTBR0_HIGH, 0x12024)
2390    FIELD(SMMU_CB2_TTBR0_HIGH, ASID, 16, 16)
2391    FIELD(SMMU_CB2_TTBR0_HIGH, ADDRESS, 16, 0)
2392REG32(SMMU_CB2_TTBR1_LOW, 0x12028)
2393    FIELD(SMMU_CB2_TTBR1_LOW, ADDRESS_31_7, 25, 7)
2394    FIELD(SMMU_CB2_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
2395    FIELD(SMMU_CB2_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
2396    FIELD(SMMU_CB2_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
2397    FIELD(SMMU_CB2_TTBR1_LOW, ADDRESS_2, 1, 2)
2398    FIELD(SMMU_CB2_TTBR1_LOW, ADDRESS_1_S, 1, 1)
2399    FIELD(SMMU_CB2_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
2400REG32(SMMU_CB2_TTBR1_HIGH, 0x1202c)
2401    FIELD(SMMU_CB2_TTBR1_HIGH, ASID, 16, 16)
2402    FIELD(SMMU_CB2_TTBR1_HIGH, ADDRESS, 16, 0)
2403REG32(SMMU_CB2_TCR_LPAE, 0x12030)
2404    FIELD(SMMU_CB2_TCR_LPAE, EAE, 1, 31)
2405    FIELD(SMMU_CB2_TCR_LPAE, NSCFG1_TG1, 1, 30)
2406    FIELD(SMMU_CB2_TCR_LPAE, SH1, 2, 28)
2407    FIELD(SMMU_CB2_TCR_LPAE, ORGN1, 2, 26)
2408    FIELD(SMMU_CB2_TCR_LPAE, IRGN1, 2, 24)
2409    FIELD(SMMU_CB2_TCR_LPAE, EPD1, 1, 23)
2410    FIELD(SMMU_CB2_TCR_LPAE, A1, 1, 22)
2411    FIELD(SMMU_CB2_TCR_LPAE, T1SZ_5_3, 3, 19)
2412    FIELD(SMMU_CB2_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
2413    FIELD(SMMU_CB2_TCR_LPAE, NSCFG0_TG0, 1, 14)
2414    FIELD(SMMU_CB2_TCR_LPAE, SH0, 2, 12)
2415    FIELD(SMMU_CB2_TCR_LPAE, ORGN0, 2, 10)
2416    FIELD(SMMU_CB2_TCR_LPAE, IRGN0, 2, 8)
2417    FIELD(SMMU_CB2_TCR_LPAE, SL0_1_EPD0, 1, 7)
2418    FIELD(SMMU_CB2_TCR_LPAE, SL0_0, 1, 6)
2419    FIELD(SMMU_CB2_TCR_LPAE, PD1_T0SZ_5, 1, 5)
2420    FIELD(SMMU_CB2_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
2421    FIELD(SMMU_CB2_TCR_LPAE, T0SZ_3_0, 4, 0)
2422REG32(SMMU_CB2_CONTEXTIDR, 0x12034)
2423    FIELD(SMMU_CB2_CONTEXTIDR, PROCID, 24, 8)
2424    FIELD(SMMU_CB2_CONTEXTIDR, ASID, 8, 0)
2425REG32(SMMU_CB2_PRRR_MAIR0, 0x12038)
2426    FIELD(SMMU_CB2_PRRR_MAIR0, NOS7, 1, 31)
2427    FIELD(SMMU_CB2_PRRR_MAIR0, NOS6, 1, 30)
2428    FIELD(SMMU_CB2_PRRR_MAIR0, NOS5, 1, 29)
2429    FIELD(SMMU_CB2_PRRR_MAIR0, NOS4, 1, 28)
2430    FIELD(SMMU_CB2_PRRR_MAIR0, NOS3, 1, 27)
2431    FIELD(SMMU_CB2_PRRR_MAIR0, NOS2, 1, 26)
2432    FIELD(SMMU_CB2_PRRR_MAIR0, NOS1, 1, 25)
2433    FIELD(SMMU_CB2_PRRR_MAIR0, NOS0, 1, 24)
2434    FIELD(SMMU_CB2_PRRR_MAIR0, NS1, 1, 19)
2435    FIELD(SMMU_CB2_PRRR_MAIR0, NS0, 1, 18)
2436    FIELD(SMMU_CB2_PRRR_MAIR0, DS1, 1, 17)
2437    FIELD(SMMU_CB2_PRRR_MAIR0, DS0, 1, 16)
2438    FIELD(SMMU_CB2_PRRR_MAIR0, TR7, 2, 14)
2439    FIELD(SMMU_CB2_PRRR_MAIR0, TR6, 2, 12)
2440    FIELD(SMMU_CB2_PRRR_MAIR0, TR5, 2, 10)
2441    FIELD(SMMU_CB2_PRRR_MAIR0, TR4, 2, 8)
2442    FIELD(SMMU_CB2_PRRR_MAIR0, TR3, 2, 6)
2443    FIELD(SMMU_CB2_PRRR_MAIR0, TR2, 2, 4)
2444    FIELD(SMMU_CB2_PRRR_MAIR0, TR1, 2, 2)
2445    FIELD(SMMU_CB2_PRRR_MAIR0, TR0, 2, 0)
2446REG32(SMMU_CB2_NMRR_MAIR1, 0x1203c)
2447    FIELD(SMMU_CB2_NMRR_MAIR1, OR7, 2, 30)
2448    FIELD(SMMU_CB2_NMRR_MAIR1, OR6, 2, 28)
2449    FIELD(SMMU_CB2_NMRR_MAIR1, OR5, 2, 26)
2450    FIELD(SMMU_CB2_NMRR_MAIR1, OR4, 2, 24)
2451    FIELD(SMMU_CB2_NMRR_MAIR1, OR3, 2, 22)
2452    FIELD(SMMU_CB2_NMRR_MAIR1, OR2, 2, 20)
2453    FIELD(SMMU_CB2_NMRR_MAIR1, OR1, 2, 18)
2454    FIELD(SMMU_CB2_NMRR_MAIR1, OR0, 2, 16)
2455    FIELD(SMMU_CB2_NMRR_MAIR1, IR7, 2, 14)
2456    FIELD(SMMU_CB2_NMRR_MAIR1, IR6, 2, 12)
2457    FIELD(SMMU_CB2_NMRR_MAIR1, IR5, 2, 10)
2458    FIELD(SMMU_CB2_NMRR_MAIR1, IR4, 2, 8)
2459    FIELD(SMMU_CB2_NMRR_MAIR1, IR3, 2, 6)
2460    FIELD(SMMU_CB2_NMRR_MAIR1, IR2, 2, 4)
2461    FIELD(SMMU_CB2_NMRR_MAIR1, IR1, 2, 2)
2462    FIELD(SMMU_CB2_NMRR_MAIR1, IR0, 2, 0)
2463REG32(SMMU_CB2_FSR, 0x12058)
2464    FIELD(SMMU_CB2_FSR, MULTI, 1, 31)
2465    FIELD(SMMU_CB2_FSR, SS, 1, 30)
2466    FIELD(SMMU_CB2_FSR, FORMAT, 2, 9)
2467    FIELD(SMMU_CB2_FSR, UUT, 1, 8)
2468    FIELD(SMMU_CB2_FSR, ASF, 1, 7)
2469    FIELD(SMMU_CB2_FSR, TLBLKF, 1, 6)
2470    FIELD(SMMU_CB2_FSR, TLBMCF, 1, 5)
2471    FIELD(SMMU_CB2_FSR, EF, 1, 4)
2472    FIELD(SMMU_CB2_FSR, PF, 1, 3)
2473    FIELD(SMMU_CB2_FSR, AFF, 1, 2)
2474    FIELD(SMMU_CB2_FSR, TF, 1, 1)
2475REG32(SMMU_CB2_FSRRESTORE, 0x1205c)
2476REG32(SMMU_CB2_FAR_LOW, 0x12060)
2477REG32(SMMU_CB2_FAR_HIGH, 0x12064)
2478    FIELD(SMMU_CB2_FAR_HIGH, BITS, 17, 0)
2479REG32(SMMU_CB2_FSYNR0, 0x12068)
2480    FIELD(SMMU_CB2_FSYNR0, S1CBNDX, 4, 16)
2481    FIELD(SMMU_CB2_FSYNR0, AFR, 1, 11)
2482    FIELD(SMMU_CB2_FSYNR0, PTWF, 1, 10)
2483    FIELD(SMMU_CB2_FSYNR0, ATOF, 1, 9)
2484    FIELD(SMMU_CB2_FSYNR0, NSATTR, 1, 8)
2485    FIELD(SMMU_CB2_FSYNR0, IND, 1, 6)
2486    FIELD(SMMU_CB2_FSYNR0, PNU, 1, 5)
2487    FIELD(SMMU_CB2_FSYNR0, WNR, 1, 4)
2488    FIELD(SMMU_CB2_FSYNR0, PLVL, 2, 0)
2489REG32(SMMU_CB2_IPAFAR_LOW, 0x12070)
2490    FIELD(SMMU_CB2_IPAFAR_LOW, IPAFAR_L, 20, 12)
2491    FIELD(SMMU_CB2_IPAFAR_LOW, FAR_RO, 12, 0)
2492REG32(SMMU_CB2_IPAFAR_HIGH, 0x12074)
2493    FIELD(SMMU_CB2_IPAFAR_HIGH, BITS, 16, 0)
2494REG32(SMMU_CB2_TLBIVA_LOW, 0x12600)
2495REG32(SMMU_CB2_TLBIVA_HIGH, 0x12604)
2496    FIELD(SMMU_CB2_TLBIVA_HIGH, ASID, 16, 16)
2497    FIELD(SMMU_CB2_TLBIVA_HIGH, ADDRESS, 5, 0)
2498REG32(SMMU_CB2_TLBIVAA_LOW, 0x12608)
2499REG32(SMMU_CB2_TLBIVAA_HIGH, 0x1260c)
2500    FIELD(SMMU_CB2_TLBIVAA_HIGH, ASID, 16, 16)
2501    FIELD(SMMU_CB2_TLBIVAA_HIGH, ADDRESS, 5, 0)
2502REG32(SMMU_CB2_TLBIASID, 0x12610)
2503    FIELD(SMMU_CB2_TLBIASID, ASID, 16, 0)
2504REG32(SMMU_CB2_TLBIALL, 0x12618)
2505REG32(SMMU_CB2_TLBIVAL_LOW, 0x12620)
2506REG32(SMMU_CB2_TLBIVAL_HIGH, 0x12624)
2507    FIELD(SMMU_CB2_TLBIVAL_HIGH, ASID, 16, 16)
2508    FIELD(SMMU_CB2_TLBIVAL_HIGH, ADDRESS, 5, 0)
2509REG32(SMMU_CB2_TLBIVAAL_LOW, 0x12628)
2510REG32(SMMU_CB2_TLBIVAAL_HIGH, 0x1262c)
2511    FIELD(SMMU_CB2_TLBIVAAL_HIGH, ASID, 16, 16)
2512    FIELD(SMMU_CB2_TLBIVAAL_HIGH, ADDRESS, 5, 0)
2513REG32(SMMU_CB2_TLBIIPAS2_LOW, 0x12630)
2514REG32(SMMU_CB2_TLBIIPAS2_HIGH, 0x12634)
2515    FIELD(SMMU_CB2_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
2516REG32(SMMU_CB2_TLBIIPAS2L_LOW, 0x12638)
2517REG32(SMMU_CB2_TLBIIPAS2L_HIGH, 0x1263c)
2518    FIELD(SMMU_CB2_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
2519REG32(SMMU_CB2_TLBSYNC, 0x127f0)
2520REG32(SMMU_CB2_TLBSTATUS, 0x127f4)
2521    FIELD(SMMU_CB2_TLBSTATUS, SACTIVE, 1, 0)
2522REG32(SMMU_CB2_PMEVCNTR0, 0x12e00)
2523REG32(SMMU_CB2_PMEVCNTR1, 0x12e04)
2524REG32(SMMU_CB2_PMEVCNTR2, 0x12e08)
2525REG32(SMMU_CB2_PMEVCNTR3, 0x12e0c)
2526REG32(SMMU_CB2_PMEVTYPER0, 0x12e80)
2527    FIELD(SMMU_CB2_PMEVTYPER0, P, 1, 31)
2528    FIELD(SMMU_CB2_PMEVTYPER0, U, 1, 30)
2529    FIELD(SMMU_CB2_PMEVTYPER0, NSP, 1, 29)
2530    FIELD(SMMU_CB2_PMEVTYPER0, NSU, 1, 28)
2531    FIELD(SMMU_CB2_PMEVTYPER0, EVENT, 5, 0)
2532REG32(SMMU_CB2_PMEVTYPER1, 0x12e84)
2533    FIELD(SMMU_CB2_PMEVTYPER1, P, 1, 31)
2534    FIELD(SMMU_CB2_PMEVTYPER1, U, 1, 30)
2535    FIELD(SMMU_CB2_PMEVTYPER1, NSP, 1, 29)
2536    FIELD(SMMU_CB2_PMEVTYPER1, NSU, 1, 28)
2537    FIELD(SMMU_CB2_PMEVTYPER1, EVENT, 5, 0)
2538REG32(SMMU_CB2_PMEVTYPER2, 0x12e88)
2539    FIELD(SMMU_CB2_PMEVTYPER2, P, 1, 31)
2540    FIELD(SMMU_CB2_PMEVTYPER2, U, 1, 30)
2541    FIELD(SMMU_CB2_PMEVTYPER2, NSP, 1, 29)
2542    FIELD(SMMU_CB2_PMEVTYPER2, NSU, 1, 28)
2543    FIELD(SMMU_CB2_PMEVTYPER2, EVENT, 5, 0)
2544REG32(SMMU_CB2_PMEVTYPER3, 0x12e8c)
2545    FIELD(SMMU_CB2_PMEVTYPER3, P, 1, 31)
2546    FIELD(SMMU_CB2_PMEVTYPER3, U, 1, 30)
2547    FIELD(SMMU_CB2_PMEVTYPER3, NSP, 1, 29)
2548    FIELD(SMMU_CB2_PMEVTYPER3, NSU, 1, 28)
2549    FIELD(SMMU_CB2_PMEVTYPER3, EVENT, 5, 0)
2550REG32(SMMU_CB2_PMCFGR, 0x12f00)
2551    FIELD(SMMU_CB2_PMCFGR, NCG, 8, 24)
2552    FIELD(SMMU_CB2_PMCFGR, UEN, 1, 19)
2553    FIELD(SMMU_CB2_PMCFGR, EX, 1, 16)
2554    FIELD(SMMU_CB2_PMCFGR, CCD, 1, 15)
2555    FIELD(SMMU_CB2_PMCFGR, CC, 1, 14)
2556    FIELD(SMMU_CB2_PMCFGR, SIZE, 6, 8)
2557    FIELD(SMMU_CB2_PMCFGR, N, 8, 0)
2558REG32(SMMU_CB2_PMCR, 0x12f04)
2559    FIELD(SMMU_CB2_PMCR, IMP, 8, 24)
2560    FIELD(SMMU_CB2_PMCR, X, 1, 4)
2561    FIELD(SMMU_CB2_PMCR, P, 1, 1)
2562    FIELD(SMMU_CB2_PMCR, E, 1, 0)
2563REG32(SMMU_CB2_PMCEID, 0x12f20)
2564    FIELD(SMMU_CB2_PMCEID, EVENT0X12, 1, 17)
2565    FIELD(SMMU_CB2_PMCEID, EVENT0X11, 1, 16)
2566    FIELD(SMMU_CB2_PMCEID, EVENT0X10, 1, 15)
2567    FIELD(SMMU_CB2_PMCEID, EVENT0X0A, 1, 9)
2568    FIELD(SMMU_CB2_PMCEID, EVENT0X09, 1, 8)
2569    FIELD(SMMU_CB2_PMCEID, EVENT0X08, 1, 7)
2570    FIELD(SMMU_CB2_PMCEID, EVENT0X01, 1, 1)
2571    FIELD(SMMU_CB2_PMCEID, EVENT0X00, 1, 0)
2572REG32(SMMU_CB2_PMCNTENSE, 0x12f40)
2573    FIELD(SMMU_CB2_PMCNTENSE, P3, 1, 3)
2574    FIELD(SMMU_CB2_PMCNTENSE, P2, 1, 2)
2575    FIELD(SMMU_CB2_PMCNTENSE, P1, 1, 1)
2576    FIELD(SMMU_CB2_PMCNTENSE, P0, 1, 0)
2577REG32(SMMU_CB2_PMCNTENCLR, 0x12f44)
2578    FIELD(SMMU_CB2_PMCNTENCLR, P3, 1, 3)
2579    FIELD(SMMU_CB2_PMCNTENCLR, P2, 1, 2)
2580    FIELD(SMMU_CB2_PMCNTENCLR, P1, 1, 1)
2581    FIELD(SMMU_CB2_PMCNTENCLR, P0, 1, 0)
2582REG32(SMMU_CB2_PMCNTENSET, 0x12f48)
2583    FIELD(SMMU_CB2_PMCNTENSET, P3, 1, 3)
2584    FIELD(SMMU_CB2_PMCNTENSET, P2, 1, 2)
2585    FIELD(SMMU_CB2_PMCNTENSET, P1, 1, 1)
2586    FIELD(SMMU_CB2_PMCNTENSET, P0, 1, 0)
2587REG32(SMMU_CB2_PMINTENCLR, 0x12f4c)
2588    FIELD(SMMU_CB2_PMINTENCLR, P3, 1, 3)
2589    FIELD(SMMU_CB2_PMINTENCLR, P2, 1, 2)
2590    FIELD(SMMU_CB2_PMINTENCLR, P1, 1, 1)
2591    FIELD(SMMU_CB2_PMINTENCLR, P0, 1, 0)
2592REG32(SMMU_CB2_PMOVSCLR, 0x12f50)
2593    FIELD(SMMU_CB2_PMOVSCLR, P3, 1, 3)
2594    FIELD(SMMU_CB2_PMOVSCLR, P2, 1, 2)
2595    FIELD(SMMU_CB2_PMOVSCLR, P1, 1, 1)
2596    FIELD(SMMU_CB2_PMOVSCLR, P0, 1, 0)
2597REG32(SMMU_CB2_PMOVSSET, 0x12f58)
2598    FIELD(SMMU_CB2_PMOVSSET, P3, 1, 3)
2599    FIELD(SMMU_CB2_PMOVSSET, P2, 1, 2)
2600    FIELD(SMMU_CB2_PMOVSSET, P1, 1, 1)
2601    FIELD(SMMU_CB2_PMOVSSET, P0, 1, 0)
2602REG32(SMMU_CB2_PMAUTHSTATUS, 0x12fb8)
2603    FIELD(SMMU_CB2_PMAUTHSTATUS, SNI, 1, 7)
2604    FIELD(SMMU_CB2_PMAUTHSTATUS, SNE, 1, 6)
2605    FIELD(SMMU_CB2_PMAUTHSTATUS, SI, 1, 5)
2606    FIELD(SMMU_CB2_PMAUTHSTATUS, SE, 1, 4)
2607    FIELD(SMMU_CB2_PMAUTHSTATUS, NSNI, 1, 3)
2608    FIELD(SMMU_CB2_PMAUTHSTATUS, NSNE, 1, 2)
2609    FIELD(SMMU_CB2_PMAUTHSTATUS, NSI, 1, 1)
2610    FIELD(SMMU_CB2_PMAUTHSTATUS, NSE, 1, 0)
2611REG32(SMMU_CB3_SCTLR, 0x13000)
2612    FIELD(SMMU_CB3_SCTLR, NSCFG, 2, 28)
2613    FIELD(SMMU_CB3_SCTLR, WACFG, 2, 26)
2614    FIELD(SMMU_CB3_SCTLR, RACFG, 2, 24)
2615    FIELD(SMMU_CB3_SCTLR, SHCFG, 2, 22)
2616    FIELD(SMMU_CB3_SCTLR, FB, 1, 21)
2617    FIELD(SMMU_CB3_SCTLR, MTCFG, 1, 20)
2618    FIELD(SMMU_CB3_SCTLR, MEMATTR, 4, 16)
2619    FIELD(SMMU_CB3_SCTLR, TRANSIENTCFG, 2, 14)
2620    FIELD(SMMU_CB3_SCTLR, PTW, 1, 13)
2621    FIELD(SMMU_CB3_SCTLR, ASIDPNE, 1, 12)
2622    FIELD(SMMU_CB3_SCTLR, UWXN, 1, 10)
2623    FIELD(SMMU_CB3_SCTLR, WXN, 1, 9)
2624    FIELD(SMMU_CB3_SCTLR, HUPCF, 1, 8)
2625    FIELD(SMMU_CB3_SCTLR, CFCFG, 1, 7)
2626    FIELD(SMMU_CB3_SCTLR, CFIE, 1, 6)
2627    FIELD(SMMU_CB3_SCTLR, CFRE, 1, 5)
2628    FIELD(SMMU_CB3_SCTLR, E, 1, 4)
2629    FIELD(SMMU_CB3_SCTLR, AFFD, 1, 3)
2630    FIELD(SMMU_CB3_SCTLR, AFE, 1, 2)
2631    FIELD(SMMU_CB3_SCTLR, TRE, 1, 1)
2632    FIELD(SMMU_CB3_SCTLR, M, 1, 0)
2633REG32(SMMU_CB3_ACTLR, 0x13004)
2634    FIELD(SMMU_CB3_ACTLR, CPRE, 1, 1)
2635    FIELD(SMMU_CB3_ACTLR, CMTLB, 1, 0)
2636REG32(SMMU_CB3_RESUME, 0x13008)
2637    FIELD(SMMU_CB3_RESUME, TNR, 1, 0)
2638REG32(SMMU_CB3_TCR2, 0x13010)
2639    FIELD(SMMU_CB3_TCR2, NSCFG1, 1, 30)
2640    FIELD(SMMU_CB3_TCR2, SEP, 3, 15)
2641    FIELD(SMMU_CB3_TCR2, NSCFG0, 1, 14)
2642    FIELD(SMMU_CB3_TCR2, TBI1, 1, 6)
2643    FIELD(SMMU_CB3_TCR2, TBI0, 1, 5)
2644    FIELD(SMMU_CB3_TCR2, AS, 1, 4)
2645    FIELD(SMMU_CB3_TCR2, PASIZE, 3, 0)
2646REG32(SMMU_CB3_TTBR0_LOW, 0x13020)
2647    FIELD(SMMU_CB3_TTBR0_LOW, ADDRESS_31_7, 25, 7)
2648    FIELD(SMMU_CB3_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
2649    FIELD(SMMU_CB3_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
2650    FIELD(SMMU_CB3_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
2651    FIELD(SMMU_CB3_TTBR0_LOW, ADDRESS_2, 1, 2)
2652    FIELD(SMMU_CB3_TTBR0_LOW, ADDRESS_1_S, 1, 1)
2653    FIELD(SMMU_CB3_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
2654REG32(SMMU_CB3_TTBR0_HIGH, 0x13024)
2655    FIELD(SMMU_CB3_TTBR0_HIGH, ASID, 16, 16)
2656    FIELD(SMMU_CB3_TTBR0_HIGH, ADDRESS, 16, 0)
2657REG32(SMMU_CB3_TTBR1_LOW, 0x13028)
2658    FIELD(SMMU_CB3_TTBR1_LOW, ADDRESS_31_7, 25, 7)
2659    FIELD(SMMU_CB3_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
2660    FIELD(SMMU_CB3_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
2661    FIELD(SMMU_CB3_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
2662    FIELD(SMMU_CB3_TTBR1_LOW, ADDRESS_2, 1, 2)
2663    FIELD(SMMU_CB3_TTBR1_LOW, ADDRESS_1_S, 1, 1)
2664    FIELD(SMMU_CB3_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
2665REG32(SMMU_CB3_TTBR1_HIGH, 0x1302c)
2666    FIELD(SMMU_CB3_TTBR1_HIGH, ASID, 16, 16)
2667    FIELD(SMMU_CB3_TTBR1_HIGH, ADDRESS, 16, 0)
2668REG32(SMMU_CB3_TCR_LPAE, 0x13030)
2669    FIELD(SMMU_CB3_TCR_LPAE, EAE, 1, 31)
2670    FIELD(SMMU_CB3_TCR_LPAE, NSCFG1_TG1, 1, 30)
2671    FIELD(SMMU_CB3_TCR_LPAE, SH1, 2, 28)
2672    FIELD(SMMU_CB3_TCR_LPAE, ORGN1, 2, 26)
2673    FIELD(SMMU_CB3_TCR_LPAE, IRGN1, 2, 24)
2674    FIELD(SMMU_CB3_TCR_LPAE, EPD1, 1, 23)
2675    FIELD(SMMU_CB3_TCR_LPAE, A1, 1, 22)
2676    FIELD(SMMU_CB3_TCR_LPAE, T1SZ_5_3, 3, 19)
2677    FIELD(SMMU_CB3_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
2678    FIELD(SMMU_CB3_TCR_LPAE, NSCFG0_TG0, 1, 14)
2679    FIELD(SMMU_CB3_TCR_LPAE, SH0, 2, 12)
2680    FIELD(SMMU_CB3_TCR_LPAE, ORGN0, 2, 10)
2681    FIELD(SMMU_CB3_TCR_LPAE, IRGN0, 2, 8)
2682    FIELD(SMMU_CB3_TCR_LPAE, SL0_1_EPD0, 1, 7)
2683    FIELD(SMMU_CB3_TCR_LPAE, SL0_0, 1, 6)
2684    FIELD(SMMU_CB3_TCR_LPAE, PD1_T0SZ_5, 1, 5)
2685    FIELD(SMMU_CB3_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
2686    FIELD(SMMU_CB3_TCR_LPAE, T0SZ_3_0, 4, 0)
2687REG32(SMMU_CB3_CONTEXTIDR, 0x13034)
2688    FIELD(SMMU_CB3_CONTEXTIDR, PROCID, 24, 8)
2689    FIELD(SMMU_CB3_CONTEXTIDR, ASID, 8, 0)
2690REG32(SMMU_CB3_PRRR_MAIR0, 0x13038)
2691    FIELD(SMMU_CB3_PRRR_MAIR0, NOS7, 1, 31)
2692    FIELD(SMMU_CB3_PRRR_MAIR0, NOS6, 1, 30)
2693    FIELD(SMMU_CB3_PRRR_MAIR0, NOS5, 1, 29)
2694    FIELD(SMMU_CB3_PRRR_MAIR0, NOS4, 1, 28)
2695    FIELD(SMMU_CB3_PRRR_MAIR0, NOS3, 1, 27)
2696    FIELD(SMMU_CB3_PRRR_MAIR0, NOS2, 1, 26)
2697    FIELD(SMMU_CB3_PRRR_MAIR0, NOS1, 1, 25)
2698    FIELD(SMMU_CB3_PRRR_MAIR0, NOS0, 1, 24)
2699    FIELD(SMMU_CB3_PRRR_MAIR0, NS1, 1, 19)
2700    FIELD(SMMU_CB3_PRRR_MAIR0, NS0, 1, 18)
2701    FIELD(SMMU_CB3_PRRR_MAIR0, DS1, 1, 17)
2702    FIELD(SMMU_CB3_PRRR_MAIR0, DS0, 1, 16)
2703    FIELD(SMMU_CB3_PRRR_MAIR0, TR7, 2, 14)
2704    FIELD(SMMU_CB3_PRRR_MAIR0, TR6, 2, 12)
2705    FIELD(SMMU_CB3_PRRR_MAIR0, TR5, 2, 10)
2706    FIELD(SMMU_CB3_PRRR_MAIR0, TR4, 2, 8)
2707    FIELD(SMMU_CB3_PRRR_MAIR0, TR3, 2, 6)
2708    FIELD(SMMU_CB3_PRRR_MAIR0, TR2, 2, 4)
2709    FIELD(SMMU_CB3_PRRR_MAIR0, TR1, 2, 2)
2710    FIELD(SMMU_CB3_PRRR_MAIR0, TR0, 2, 0)
2711REG32(SMMU_CB3_NMRR_MAIR1, 0x1303c)
2712    FIELD(SMMU_CB3_NMRR_MAIR1, OR7, 2, 30)
2713    FIELD(SMMU_CB3_NMRR_MAIR1, OR6, 2, 28)
2714    FIELD(SMMU_CB3_NMRR_MAIR1, OR5, 2, 26)
2715    FIELD(SMMU_CB3_NMRR_MAIR1, OR4, 2, 24)
2716    FIELD(SMMU_CB3_NMRR_MAIR1, OR3, 2, 22)
2717    FIELD(SMMU_CB3_NMRR_MAIR1, OR2, 2, 20)
2718    FIELD(SMMU_CB3_NMRR_MAIR1, OR1, 2, 18)
2719    FIELD(SMMU_CB3_NMRR_MAIR1, OR0, 2, 16)
2720    FIELD(SMMU_CB3_NMRR_MAIR1, IR7, 2, 14)
2721    FIELD(SMMU_CB3_NMRR_MAIR1, IR6, 2, 12)
2722    FIELD(SMMU_CB3_NMRR_MAIR1, IR5, 2, 10)
2723    FIELD(SMMU_CB3_NMRR_MAIR1, IR4, 2, 8)
2724    FIELD(SMMU_CB3_NMRR_MAIR1, IR3, 2, 6)
2725    FIELD(SMMU_CB3_NMRR_MAIR1, IR2, 2, 4)
2726    FIELD(SMMU_CB3_NMRR_MAIR1, IR1, 2, 2)
2727    FIELD(SMMU_CB3_NMRR_MAIR1, IR0, 2, 0)
2728REG32(SMMU_CB3_FSR, 0x13058)
2729    FIELD(SMMU_CB3_FSR, MULTI, 1, 31)
2730    FIELD(SMMU_CB3_FSR, SS, 1, 30)
2731    FIELD(SMMU_CB3_FSR, FORMAT, 2, 9)
2732    FIELD(SMMU_CB3_FSR, UUT, 1, 8)
2733    FIELD(SMMU_CB3_FSR, ASF, 1, 7)
2734    FIELD(SMMU_CB3_FSR, TLBLKF, 1, 6)
2735    FIELD(SMMU_CB3_FSR, TLBMCF, 1, 5)
2736    FIELD(SMMU_CB3_FSR, EF, 1, 4)
2737    FIELD(SMMU_CB3_FSR, PF, 1, 3)
2738    FIELD(SMMU_CB3_FSR, AFF, 1, 2)
2739    FIELD(SMMU_CB3_FSR, TF, 1, 1)
2740REG32(SMMU_CB3_FSRRESTORE, 0x1305c)
2741REG32(SMMU_CB3_FAR_LOW, 0x13060)
2742REG32(SMMU_CB3_FAR_HIGH, 0x13064)
2743    FIELD(SMMU_CB3_FAR_HIGH, BITS, 17, 0)
2744REG32(SMMU_CB3_FSYNR0, 0x13068)
2745    FIELD(SMMU_CB3_FSYNR0, S1CBNDX, 4, 16)
2746    FIELD(SMMU_CB3_FSYNR0, AFR, 1, 11)
2747    FIELD(SMMU_CB3_FSYNR0, PTWF, 1, 10)
2748    FIELD(SMMU_CB3_FSYNR0, ATOF, 1, 9)
2749    FIELD(SMMU_CB3_FSYNR0, NSATTR, 1, 8)
2750    FIELD(SMMU_CB3_FSYNR0, IND, 1, 6)
2751    FIELD(SMMU_CB3_FSYNR0, PNU, 1, 5)
2752    FIELD(SMMU_CB3_FSYNR0, WNR, 1, 4)
2753    FIELD(SMMU_CB3_FSYNR0, PLVL, 2, 0)
2754REG32(SMMU_CB3_IPAFAR_LOW, 0x13070)
2755    FIELD(SMMU_CB3_IPAFAR_LOW, IPAFAR_L, 20, 12)
2756    FIELD(SMMU_CB3_IPAFAR_LOW, FAR_RO, 12, 0)
2757REG32(SMMU_CB3_IPAFAR_HIGH, 0x13074)
2758    FIELD(SMMU_CB3_IPAFAR_HIGH, BITS, 16, 0)
2759REG32(SMMU_CB3_TLBIVA_LOW, 0x13600)
2760REG32(SMMU_CB3_TLBIVA_HIGH, 0x13604)
2761    FIELD(SMMU_CB3_TLBIVA_HIGH, ASID, 16, 16)
2762    FIELD(SMMU_CB3_TLBIVA_HIGH, ADDRESS, 5, 0)
2763REG32(SMMU_CB3_TLBIVAA_LOW, 0x13608)
2764REG32(SMMU_CB3_TLBIVAA_HIGH, 0x1360c)
2765    FIELD(SMMU_CB3_TLBIVAA_HIGH, ASID, 16, 16)
2766    FIELD(SMMU_CB3_TLBIVAA_HIGH, ADDRESS, 5, 0)
2767REG32(SMMU_CB3_TLBIASID, 0x13610)
2768    FIELD(SMMU_CB3_TLBIASID, ASID, 16, 0)
2769REG32(SMMU_CB3_TLBIALL, 0x13618)
2770REG32(SMMU_CB3_TLBIVAL_LOW, 0x13620)
2771REG32(SMMU_CB3_TLBIVAL_HIGH, 0x13624)
2772    FIELD(SMMU_CB3_TLBIVAL_HIGH, ASID, 16, 16)
2773    FIELD(SMMU_CB3_TLBIVAL_HIGH, ADDRESS, 5, 0)
2774REG32(SMMU_CB3_TLBIVAAL_LOW, 0x13628)
2775REG32(SMMU_CB3_TLBIVAAL_HIGH, 0x1362c)
2776    FIELD(SMMU_CB3_TLBIVAAL_HIGH, ASID, 16, 16)
2777    FIELD(SMMU_CB3_TLBIVAAL_HIGH, ADDRESS, 5, 0)
2778REG32(SMMU_CB3_TLBIIPAS2_LOW, 0x13630)
2779REG32(SMMU_CB3_TLBIIPAS2_HIGH, 0x13634)
2780    FIELD(SMMU_CB3_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
2781REG32(SMMU_CB3_TLBIIPAS2L_LOW, 0x13638)
2782REG32(SMMU_CB3_TLBIIPAS2L_HIGH, 0x1363c)
2783    FIELD(SMMU_CB3_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
2784REG32(SMMU_CB3_TLBSYNC, 0x137f0)
2785REG32(SMMU_CB3_TLBSTATUS, 0x137f4)
2786    FIELD(SMMU_CB3_TLBSTATUS, SACTIVE, 1, 0)
2787REG32(SMMU_CB3_PMEVCNTR0, 0x13e00)
2788REG32(SMMU_CB3_PMEVCNTR1, 0x13e04)
2789REG32(SMMU_CB3_PMEVCNTR2, 0x13e08)
2790REG32(SMMU_CB3_PMEVCNTR3, 0x13e0c)
2791REG32(SMMU_CB3_PMEVTYPER0, 0x13e80)
2792    FIELD(SMMU_CB3_PMEVTYPER0, P, 1, 31)
2793    FIELD(SMMU_CB3_PMEVTYPER0, U, 1, 30)
2794    FIELD(SMMU_CB3_PMEVTYPER0, NSP, 1, 29)
2795    FIELD(SMMU_CB3_PMEVTYPER0, NSU, 1, 28)
2796    FIELD(SMMU_CB3_PMEVTYPER0, EVENT, 5, 0)
2797REG32(SMMU_CB3_PMEVTYPER1, 0x13e84)
2798    FIELD(SMMU_CB3_PMEVTYPER1, P, 1, 31)
2799    FIELD(SMMU_CB3_PMEVTYPER1, U, 1, 30)
2800    FIELD(SMMU_CB3_PMEVTYPER1, NSP, 1, 29)
2801    FIELD(SMMU_CB3_PMEVTYPER1, NSU, 1, 28)
2802    FIELD(SMMU_CB3_PMEVTYPER1, EVENT, 5, 0)
2803REG32(SMMU_CB3_PMEVTYPER2, 0x13e88)
2804    FIELD(SMMU_CB3_PMEVTYPER2, P, 1, 31)
2805    FIELD(SMMU_CB3_PMEVTYPER2, U, 1, 30)
2806    FIELD(SMMU_CB3_PMEVTYPER2, NSP, 1, 29)
2807    FIELD(SMMU_CB3_PMEVTYPER2, NSU, 1, 28)
2808    FIELD(SMMU_CB3_PMEVTYPER2, EVENT, 5, 0)
2809REG32(SMMU_CB3_PMEVTYPER3, 0x13e8c)
2810    FIELD(SMMU_CB3_PMEVTYPER3, P, 1, 31)
2811    FIELD(SMMU_CB3_PMEVTYPER3, U, 1, 30)
2812    FIELD(SMMU_CB3_PMEVTYPER3, NSP, 1, 29)
2813    FIELD(SMMU_CB3_PMEVTYPER3, NSU, 1, 28)
2814    FIELD(SMMU_CB3_PMEVTYPER3, EVENT, 5, 0)
2815REG32(SMMU_CB3_PMCFGR, 0x13f00)
2816    FIELD(SMMU_CB3_PMCFGR, NCG, 8, 24)
2817    FIELD(SMMU_CB3_PMCFGR, UEN, 1, 19)
2818    FIELD(SMMU_CB3_PMCFGR, EX, 1, 16)
2819    FIELD(SMMU_CB3_PMCFGR, CCD, 1, 15)
2820    FIELD(SMMU_CB3_PMCFGR, CC, 1, 14)
2821    FIELD(SMMU_CB3_PMCFGR, SIZE, 6, 8)
2822    FIELD(SMMU_CB3_PMCFGR, N, 8, 0)
2823REG32(SMMU_CB3_PMCR, 0x13f04)
2824    FIELD(SMMU_CB3_PMCR, IMP, 8, 24)
2825    FIELD(SMMU_CB3_PMCR, X, 1, 4)
2826    FIELD(SMMU_CB3_PMCR, P, 1, 1)
2827    FIELD(SMMU_CB3_PMCR, E, 1, 0)
2828REG32(SMMU_CB3_PMCEID, 0x13f20)
2829    FIELD(SMMU_CB3_PMCEID, EVENT0X12, 1, 17)
2830    FIELD(SMMU_CB3_PMCEID, EVENT0X11, 1, 16)
2831    FIELD(SMMU_CB3_PMCEID, EVENT0X10, 1, 15)
2832    FIELD(SMMU_CB3_PMCEID, EVENT0X0A, 1, 9)
2833    FIELD(SMMU_CB3_PMCEID, EVENT0X09, 1, 8)
2834    FIELD(SMMU_CB3_PMCEID, EVENT0X08, 1, 7)
2835    FIELD(SMMU_CB3_PMCEID, EVENT0X01, 1, 1)
2836    FIELD(SMMU_CB3_PMCEID, EVENT0X00, 1, 0)
2837REG32(SMMU_CB3_PMCNTENSE, 0x13f40)
2838    FIELD(SMMU_CB3_PMCNTENSE, P3, 1, 3)
2839    FIELD(SMMU_CB3_PMCNTENSE, P2, 1, 2)
2840    FIELD(SMMU_CB3_PMCNTENSE, P1, 1, 1)
2841    FIELD(SMMU_CB3_PMCNTENSE, P0, 1, 0)
2842REG32(SMMU_CB3_PMCNTENCLR, 0x13f44)
2843    FIELD(SMMU_CB3_PMCNTENCLR, P3, 1, 3)
2844    FIELD(SMMU_CB3_PMCNTENCLR, P2, 1, 2)
2845    FIELD(SMMU_CB3_PMCNTENCLR, P1, 1, 1)
2846    FIELD(SMMU_CB3_PMCNTENCLR, P0, 1, 0)
2847REG32(SMMU_CB3_PMCNTENSET, 0x13f48)
2848    FIELD(SMMU_CB3_PMCNTENSET, P3, 1, 3)
2849    FIELD(SMMU_CB3_PMCNTENSET, P2, 1, 2)
2850    FIELD(SMMU_CB3_PMCNTENSET, P1, 1, 1)
2851    FIELD(SMMU_CB3_PMCNTENSET, P0, 1, 0)
2852REG32(SMMU_CB3_PMINTENCLR, 0x13f4c)
2853    FIELD(SMMU_CB3_PMINTENCLR, P3, 1, 3)
2854    FIELD(SMMU_CB3_PMINTENCLR, P2, 1, 2)
2855    FIELD(SMMU_CB3_PMINTENCLR, P1, 1, 1)
2856    FIELD(SMMU_CB3_PMINTENCLR, P0, 1, 0)
2857REG32(SMMU_CB3_PMOVSCLR, 0x13f50)
2858    FIELD(SMMU_CB3_PMOVSCLR, P3, 1, 3)
2859    FIELD(SMMU_CB3_PMOVSCLR, P2, 1, 2)
2860    FIELD(SMMU_CB3_PMOVSCLR, P1, 1, 1)
2861    FIELD(SMMU_CB3_PMOVSCLR, P0, 1, 0)
2862REG32(SMMU_CB3_PMOVSSET, 0x13f58)
2863    FIELD(SMMU_CB3_PMOVSSET, P3, 1, 3)
2864    FIELD(SMMU_CB3_PMOVSSET, P2, 1, 2)
2865    FIELD(SMMU_CB3_PMOVSSET, P1, 1, 1)
2866    FIELD(SMMU_CB3_PMOVSSET, P0, 1, 0)
2867REG32(SMMU_CB3_PMAUTHSTATUS, 0x13fb8)
2868    FIELD(SMMU_CB3_PMAUTHSTATUS, SNI, 1, 7)
2869    FIELD(SMMU_CB3_PMAUTHSTATUS, SNE, 1, 6)
2870    FIELD(SMMU_CB3_PMAUTHSTATUS, SI, 1, 5)
2871    FIELD(SMMU_CB3_PMAUTHSTATUS, SE, 1, 4)
2872    FIELD(SMMU_CB3_PMAUTHSTATUS, NSNI, 1, 3)
2873    FIELD(SMMU_CB3_PMAUTHSTATUS, NSNE, 1, 2)
2874    FIELD(SMMU_CB3_PMAUTHSTATUS, NSI, 1, 1)
2875    FIELD(SMMU_CB3_PMAUTHSTATUS, NSE, 1, 0)
2876REG32(SMMU_CB4_SCTLR, 0x14000)
2877    FIELD(SMMU_CB4_SCTLR, NSCFG, 2, 28)
2878    FIELD(SMMU_CB4_SCTLR, WACFG, 2, 26)
2879    FIELD(SMMU_CB4_SCTLR, RACFG, 2, 24)
2880    FIELD(SMMU_CB4_SCTLR, SHCFG, 2, 22)
2881    FIELD(SMMU_CB4_SCTLR, FB, 1, 21)
2882    FIELD(SMMU_CB4_SCTLR, MTCFG, 1, 20)
2883    FIELD(SMMU_CB4_SCTLR, MEMATTR, 4, 16)
2884    FIELD(SMMU_CB4_SCTLR, TRANSIENTCFG, 2, 14)
2885    FIELD(SMMU_CB4_SCTLR, PTW, 1, 13)
2886    FIELD(SMMU_CB4_SCTLR, ASIDPNE, 1, 12)
2887    FIELD(SMMU_CB4_SCTLR, UWXN, 1, 10)
2888    FIELD(SMMU_CB4_SCTLR, WXN, 1, 9)
2889    FIELD(SMMU_CB4_SCTLR, HUPCF, 1, 8)
2890    FIELD(SMMU_CB4_SCTLR, CFCFG, 1, 7)
2891    FIELD(SMMU_CB4_SCTLR, CFIE, 1, 6)
2892    FIELD(SMMU_CB4_SCTLR, CFRE, 1, 5)
2893    FIELD(SMMU_CB4_SCTLR, E, 1, 4)
2894    FIELD(SMMU_CB4_SCTLR, AFFD, 1, 3)
2895    FIELD(SMMU_CB4_SCTLR, AFE, 1, 2)
2896    FIELD(SMMU_CB4_SCTLR, TRE, 1, 1)
2897    FIELD(SMMU_CB4_SCTLR, M, 1, 0)
2898REG32(SMMU_CB4_ACTLR, 0x14004)
2899    FIELD(SMMU_CB4_ACTLR, CPRE, 1, 1)
2900    FIELD(SMMU_CB4_ACTLR, CMTLB, 1, 0)
2901REG32(SMMU_CB4_RESUME, 0x14008)
2902    FIELD(SMMU_CB4_RESUME, TNR, 1, 0)
2903REG32(SMMU_CB4_TCR2, 0x14010)
2904    FIELD(SMMU_CB4_TCR2, NSCFG1, 1, 30)
2905    FIELD(SMMU_CB4_TCR2, SEP, 3, 15)
2906    FIELD(SMMU_CB4_TCR2, NSCFG0, 1, 14)
2907    FIELD(SMMU_CB4_TCR2, TBI1, 1, 6)
2908    FIELD(SMMU_CB4_TCR2, TBI0, 1, 5)
2909    FIELD(SMMU_CB4_TCR2, AS, 1, 4)
2910    FIELD(SMMU_CB4_TCR2, PASIZE, 3, 0)
2911REG32(SMMU_CB4_TTBR0_LOW, 0x14020)
2912    FIELD(SMMU_CB4_TTBR0_LOW, ADDRESS_31_7, 25, 7)
2913    FIELD(SMMU_CB4_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
2914    FIELD(SMMU_CB4_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
2915    FIELD(SMMU_CB4_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
2916    FIELD(SMMU_CB4_TTBR0_LOW, ADDRESS_2, 1, 2)
2917    FIELD(SMMU_CB4_TTBR0_LOW, ADDRESS_1_S, 1, 1)
2918    FIELD(SMMU_CB4_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
2919REG32(SMMU_CB4_TTBR0_HIGH, 0x14024)
2920    FIELD(SMMU_CB4_TTBR0_HIGH, ASID, 16, 16)
2921    FIELD(SMMU_CB4_TTBR0_HIGH, ADDRESS, 16, 0)
2922REG32(SMMU_CB4_TTBR1_LOW, 0x14028)
2923    FIELD(SMMU_CB4_TTBR1_LOW, ADDRESS_31_7, 25, 7)
2924    FIELD(SMMU_CB4_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
2925    FIELD(SMMU_CB4_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
2926    FIELD(SMMU_CB4_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
2927    FIELD(SMMU_CB4_TTBR1_LOW, ADDRESS_2, 1, 2)
2928    FIELD(SMMU_CB4_TTBR1_LOW, ADDRESS_1_S, 1, 1)
2929    FIELD(SMMU_CB4_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
2930REG32(SMMU_CB4_TTBR1_HIGH, 0x1402c)
2931    FIELD(SMMU_CB4_TTBR1_HIGH, ASID, 16, 16)
2932    FIELD(SMMU_CB4_TTBR1_HIGH, ADDRESS, 16, 0)
2933REG32(SMMU_CB4_TCR_LPAE, 0x14030)
2934    FIELD(SMMU_CB4_TCR_LPAE, EAE, 1, 31)
2935    FIELD(SMMU_CB4_TCR_LPAE, NSCFG1_TG1, 1, 30)
2936    FIELD(SMMU_CB4_TCR_LPAE, SH1, 2, 28)
2937    FIELD(SMMU_CB4_TCR_LPAE, ORGN1, 2, 26)
2938    FIELD(SMMU_CB4_TCR_LPAE, IRGN1, 2, 24)
2939    FIELD(SMMU_CB4_TCR_LPAE, EPD1, 1, 23)
2940    FIELD(SMMU_CB4_TCR_LPAE, A1, 1, 22)
2941    FIELD(SMMU_CB4_TCR_LPAE, T1SZ_5_3, 3, 19)
2942    FIELD(SMMU_CB4_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
2943    FIELD(SMMU_CB4_TCR_LPAE, NSCFG0_TG0, 1, 14)
2944    FIELD(SMMU_CB4_TCR_LPAE, SH0, 2, 12)
2945    FIELD(SMMU_CB4_TCR_LPAE, ORGN0, 2, 10)
2946    FIELD(SMMU_CB4_TCR_LPAE, IRGN0, 2, 8)
2947    FIELD(SMMU_CB4_TCR_LPAE, SL0_1_EPD0, 1, 7)
2948    FIELD(SMMU_CB4_TCR_LPAE, SL0_0, 1, 6)
2949    FIELD(SMMU_CB4_TCR_LPAE, PD1_T0SZ_5, 1, 5)
2950    FIELD(SMMU_CB4_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
2951    FIELD(SMMU_CB4_TCR_LPAE, T0SZ_3_0, 4, 0)
2952REG32(SMMU_CB4_CONTEXTIDR, 0x14034)
2953    FIELD(SMMU_CB4_CONTEXTIDR, PROCID, 24, 8)
2954    FIELD(SMMU_CB4_CONTEXTIDR, ASID, 8, 0)
2955REG32(SMMU_CB4_PRRR_MAIR0, 0x14038)
2956    FIELD(SMMU_CB4_PRRR_MAIR0, NOS7, 1, 31)
2957    FIELD(SMMU_CB4_PRRR_MAIR0, NOS6, 1, 30)
2958    FIELD(SMMU_CB4_PRRR_MAIR0, NOS5, 1, 29)
2959    FIELD(SMMU_CB4_PRRR_MAIR0, NOS4, 1, 28)
2960    FIELD(SMMU_CB4_PRRR_MAIR0, NOS3, 1, 27)
2961    FIELD(SMMU_CB4_PRRR_MAIR0, NOS2, 1, 26)
2962    FIELD(SMMU_CB4_PRRR_MAIR0, NOS1, 1, 25)
2963    FIELD(SMMU_CB4_PRRR_MAIR0, NOS0, 1, 24)
2964    FIELD(SMMU_CB4_PRRR_MAIR0, NS1, 1, 19)
2965    FIELD(SMMU_CB4_PRRR_MAIR0, NS0, 1, 18)
2966    FIELD(SMMU_CB4_PRRR_MAIR0, DS1, 1, 17)
2967    FIELD(SMMU_CB4_PRRR_MAIR0, DS0, 1, 16)
2968    FIELD(SMMU_CB4_PRRR_MAIR0, TR7, 2, 14)
2969    FIELD(SMMU_CB4_PRRR_MAIR0, TR6, 2, 12)
2970    FIELD(SMMU_CB4_PRRR_MAIR0, TR5, 2, 10)
2971    FIELD(SMMU_CB4_PRRR_MAIR0, TR4, 2, 8)
2972    FIELD(SMMU_CB4_PRRR_MAIR0, TR3, 2, 6)
2973    FIELD(SMMU_CB4_PRRR_MAIR0, TR2, 2, 4)
2974    FIELD(SMMU_CB4_PRRR_MAIR0, TR1, 2, 2)
2975    FIELD(SMMU_CB4_PRRR_MAIR0, TR0, 2, 0)
2976REG32(SMMU_CB4_NMRR_MAIR1, 0x1403c)
2977    FIELD(SMMU_CB4_NMRR_MAIR1, OR7, 2, 30)
2978    FIELD(SMMU_CB4_NMRR_MAIR1, OR6, 2, 28)
2979    FIELD(SMMU_CB4_NMRR_MAIR1, OR5, 2, 26)
2980    FIELD(SMMU_CB4_NMRR_MAIR1, OR4, 2, 24)
2981    FIELD(SMMU_CB4_NMRR_MAIR1, OR3, 2, 22)
2982    FIELD(SMMU_CB4_NMRR_MAIR1, OR2, 2, 20)
2983    FIELD(SMMU_CB4_NMRR_MAIR1, OR1, 2, 18)
2984    FIELD(SMMU_CB4_NMRR_MAIR1, OR0, 2, 16)
2985    FIELD(SMMU_CB4_NMRR_MAIR1, IR7, 2, 14)
2986    FIELD(SMMU_CB4_NMRR_MAIR1, IR6, 2, 12)
2987    FIELD(SMMU_CB4_NMRR_MAIR1, IR5, 2, 10)
2988    FIELD(SMMU_CB4_NMRR_MAIR1, IR4, 2, 8)
2989    FIELD(SMMU_CB4_NMRR_MAIR1, IR3, 2, 6)
2990    FIELD(SMMU_CB4_NMRR_MAIR1, IR2, 2, 4)
2991    FIELD(SMMU_CB4_NMRR_MAIR1, IR1, 2, 2)
2992    FIELD(SMMU_CB4_NMRR_MAIR1, IR0, 2, 0)
2993REG32(SMMU_CB4_FSR, 0x14058)
2994    FIELD(SMMU_CB4_FSR, MULTI, 1, 31)
2995    FIELD(SMMU_CB4_FSR, SS, 1, 30)
2996    FIELD(SMMU_CB4_FSR, FORMAT, 2, 9)
2997    FIELD(SMMU_CB4_FSR, UUT, 1, 8)
2998    FIELD(SMMU_CB4_FSR, ASF, 1, 7)
2999    FIELD(SMMU_CB4_FSR, TLBLKF, 1, 6)
3000    FIELD(SMMU_CB4_FSR, TLBMCF, 1, 5)
3001    FIELD(SMMU_CB4_FSR, EF, 1, 4)
3002    FIELD(SMMU_CB4_FSR, PF, 1, 3)
3003    FIELD(SMMU_CB4_FSR, AFF, 1, 2)
3004    FIELD(SMMU_CB4_FSR, TF, 1, 1)
3005REG32(SMMU_CB4_FSRRESTORE, 0x1405c)
3006REG32(SMMU_CB4_FAR_LOW, 0x14060)
3007REG32(SMMU_CB4_FAR_HIGH, 0x14064)
3008    FIELD(SMMU_CB4_FAR_HIGH, BITS, 17, 0)
3009REG32(SMMU_CB4_FSYNR0, 0x14068)
3010    FIELD(SMMU_CB4_FSYNR0, S1CBNDX, 4, 16)
3011    FIELD(SMMU_CB4_FSYNR0, AFR, 1, 11)
3012    FIELD(SMMU_CB4_FSYNR0, PTWF, 1, 10)
3013    FIELD(SMMU_CB4_FSYNR0, ATOF, 1, 9)
3014    FIELD(SMMU_CB4_FSYNR0, NSATTR, 1, 8)
3015    FIELD(SMMU_CB4_FSYNR0, IND, 1, 6)
3016    FIELD(SMMU_CB4_FSYNR0, PNU, 1, 5)
3017    FIELD(SMMU_CB4_FSYNR0, WNR, 1, 4)
3018    FIELD(SMMU_CB4_FSYNR0, PLVL, 2, 0)
3019REG32(SMMU_CB4_IPAFAR_LOW, 0x14070)
3020    FIELD(SMMU_CB4_IPAFAR_LOW, IPAFAR_L, 20, 12)
3021    FIELD(SMMU_CB4_IPAFAR_LOW, FAR_RO, 12, 0)
3022REG32(SMMU_CB4_IPAFAR_HIGH, 0x14074)
3023    FIELD(SMMU_CB4_IPAFAR_HIGH, BITS, 16, 0)
3024REG32(SMMU_CB4_TLBIVA_LOW, 0x14600)
3025REG32(SMMU_CB4_TLBIVA_HIGH, 0x14604)
3026    FIELD(SMMU_CB4_TLBIVA_HIGH, ASID, 16, 16)
3027    FIELD(SMMU_CB4_TLBIVA_HIGH, ADDRESS, 5, 0)
3028REG32(SMMU_CB4_TLBIVAA_LOW, 0x14608)
3029REG32(SMMU_CB4_TLBIVAA_HIGH, 0x1460c)
3030    FIELD(SMMU_CB4_TLBIVAA_HIGH, ASID, 16, 16)
3031    FIELD(SMMU_CB4_TLBIVAA_HIGH, ADDRESS, 5, 0)
3032REG32(SMMU_CB4_TLBIASID, 0x14610)
3033    FIELD(SMMU_CB4_TLBIASID, ASID, 16, 0)
3034REG32(SMMU_CB4_TLBIALL, 0x14618)
3035REG32(SMMU_CB4_TLBIVAL_LOW, 0x14620)
3036REG32(SMMU_CB4_TLBIVAL_HIGH, 0x14624)
3037    FIELD(SMMU_CB4_TLBIVAL_HIGH, ASID, 16, 16)
3038    FIELD(SMMU_CB4_TLBIVAL_HIGH, ADDRESS, 5, 0)
3039REG32(SMMU_CB4_TLBIVAAL_LOW, 0x14628)
3040REG32(SMMU_CB4_TLBIVAAL_HIGH, 0x1462c)
3041    FIELD(SMMU_CB4_TLBIVAAL_HIGH, ASID, 16, 16)
3042    FIELD(SMMU_CB4_TLBIVAAL_HIGH, ADDRESS, 5, 0)
3043REG32(SMMU_CB4_TLBIIPAS2_LOW, 0x14630)
3044REG32(SMMU_CB4_TLBIIPAS2_HIGH, 0x14634)
3045    FIELD(SMMU_CB4_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
3046REG32(SMMU_CB4_TLBIIPAS2L_LOW, 0x14638)
3047REG32(SMMU_CB4_TLBIIPAS2L_HIGH, 0x1463c)
3048    FIELD(SMMU_CB4_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
3049REG32(SMMU_CB4_TLBSYNC, 0x147f0)
3050REG32(SMMU_CB4_TLBSTATUS, 0x147f4)
3051    FIELD(SMMU_CB4_TLBSTATUS, SACTIVE, 1, 0)
3052REG32(SMMU_CB4_PMEVCNTR0, 0x14e00)
3053REG32(SMMU_CB4_PMEVCNTR1, 0x14e04)
3054REG32(SMMU_CB4_PMEVCNTR2, 0x14e08)
3055REG32(SMMU_CB4_PMEVCNTR3, 0x14e0c)
3056REG32(SMMU_CB4_PMEVTYPER0, 0x14e80)
3057    FIELD(SMMU_CB4_PMEVTYPER0, P, 1, 31)
3058    FIELD(SMMU_CB4_PMEVTYPER0, U, 1, 30)
3059    FIELD(SMMU_CB4_PMEVTYPER0, NSP, 1, 29)
3060    FIELD(SMMU_CB4_PMEVTYPER0, NSU, 1, 28)
3061    FIELD(SMMU_CB4_PMEVTYPER0, EVENT, 5, 0)
3062REG32(SMMU_CB4_PMEVTYPER1, 0x14e84)
3063    FIELD(SMMU_CB4_PMEVTYPER1, P, 1, 31)
3064    FIELD(SMMU_CB4_PMEVTYPER1, U, 1, 30)
3065    FIELD(SMMU_CB4_PMEVTYPER1, NSP, 1, 29)
3066    FIELD(SMMU_CB4_PMEVTYPER1, NSU, 1, 28)
3067    FIELD(SMMU_CB4_PMEVTYPER1, EVENT, 5, 0)
3068REG32(SMMU_CB4_PMEVTYPER2, 0x14e88)
3069    FIELD(SMMU_CB4_PMEVTYPER2, P, 1, 31)
3070    FIELD(SMMU_CB4_PMEVTYPER2, U, 1, 30)
3071    FIELD(SMMU_CB4_PMEVTYPER2, NSP, 1, 29)
3072    FIELD(SMMU_CB4_PMEVTYPER2, NSU, 1, 28)
3073    FIELD(SMMU_CB4_PMEVTYPER2, EVENT, 5, 0)
3074REG32(SMMU_CB4_PMEVTYPER3, 0x14e8c)
3075    FIELD(SMMU_CB4_PMEVTYPER3, P, 1, 31)
3076    FIELD(SMMU_CB4_PMEVTYPER3, U, 1, 30)
3077    FIELD(SMMU_CB4_PMEVTYPER3, NSP, 1, 29)
3078    FIELD(SMMU_CB4_PMEVTYPER3, NSU, 1, 28)
3079    FIELD(SMMU_CB4_PMEVTYPER3, EVENT, 5, 0)
3080REG32(SMMU_CB4_PMCFGR, 0x14f00)
3081    FIELD(SMMU_CB4_PMCFGR, NCG, 8, 24)
3082    FIELD(SMMU_CB4_PMCFGR, UEN, 1, 19)
3083    FIELD(SMMU_CB4_PMCFGR, EX, 1, 16)
3084    FIELD(SMMU_CB4_PMCFGR, CCD, 1, 15)
3085    FIELD(SMMU_CB4_PMCFGR, CC, 1, 14)
3086    FIELD(SMMU_CB4_PMCFGR, SIZE, 6, 8)
3087    FIELD(SMMU_CB4_PMCFGR, N, 8, 0)
3088REG32(SMMU_CB4_PMCR, 0x14f04)
3089    FIELD(SMMU_CB4_PMCR, IMP, 8, 24)
3090    FIELD(SMMU_CB4_PMCR, X, 1, 4)
3091    FIELD(SMMU_CB4_PMCR, P, 1, 1)
3092    FIELD(SMMU_CB4_PMCR, E, 1, 0)
3093REG32(SMMU_CB4_PMCEID, 0x14f20)
3094    FIELD(SMMU_CB4_PMCEID, EVENT0X12, 1, 17)
3095    FIELD(SMMU_CB4_PMCEID, EVENT0X11, 1, 16)
3096    FIELD(SMMU_CB4_PMCEID, EVENT0X10, 1, 15)
3097    FIELD(SMMU_CB4_PMCEID, EVENT0X0A, 1, 9)
3098    FIELD(SMMU_CB4_PMCEID, EVENT0X09, 1, 8)
3099    FIELD(SMMU_CB4_PMCEID, EVENT0X08, 1, 7)
3100    FIELD(SMMU_CB4_PMCEID, EVENT0X01, 1, 1)
3101    FIELD(SMMU_CB4_PMCEID, EVENT0X00, 1, 0)
3102REG32(SMMU_CB4_PMCNTENSE, 0x14f40)
3103    FIELD(SMMU_CB4_PMCNTENSE, P3, 1, 3)
3104    FIELD(SMMU_CB4_PMCNTENSE, P2, 1, 2)
3105    FIELD(SMMU_CB4_PMCNTENSE, P1, 1, 1)
3106    FIELD(SMMU_CB4_PMCNTENSE, P0, 1, 0)
3107REG32(SMMU_CB4_PMCNTENCLR, 0x14f44)
3108    FIELD(SMMU_CB4_PMCNTENCLR, P3, 1, 3)
3109    FIELD(SMMU_CB4_PMCNTENCLR, P2, 1, 2)
3110    FIELD(SMMU_CB4_PMCNTENCLR, P1, 1, 1)
3111    FIELD(SMMU_CB4_PMCNTENCLR, P0, 1, 0)
3112REG32(SMMU_CB4_PMCNTENSET, 0x14f48)
3113    FIELD(SMMU_CB4_PMCNTENSET, P3, 1, 3)
3114    FIELD(SMMU_CB4_PMCNTENSET, P2, 1, 2)
3115    FIELD(SMMU_CB4_PMCNTENSET, P1, 1, 1)
3116    FIELD(SMMU_CB4_PMCNTENSET, P0, 1, 0)
3117REG32(SMMU_CB4_PMINTENCLR, 0x14f4c)
3118    FIELD(SMMU_CB4_PMINTENCLR, P3, 1, 3)
3119    FIELD(SMMU_CB4_PMINTENCLR, P2, 1, 2)
3120    FIELD(SMMU_CB4_PMINTENCLR, P1, 1, 1)
3121    FIELD(SMMU_CB4_PMINTENCLR, P0, 1, 0)
3122REG32(SMMU_CB4_PMOVSCLR, 0x14f50)
3123    FIELD(SMMU_CB4_PMOVSCLR, P3, 1, 3)
3124    FIELD(SMMU_CB4_PMOVSCLR, P2, 1, 2)
3125    FIELD(SMMU_CB4_PMOVSCLR, P1, 1, 1)
3126    FIELD(SMMU_CB4_PMOVSCLR, P0, 1, 0)
3127REG32(SMMU_CB4_PMOVSSET, 0x14f58)
3128    FIELD(SMMU_CB4_PMOVSSET, P3, 1, 3)
3129    FIELD(SMMU_CB4_PMOVSSET, P2, 1, 2)
3130    FIELD(SMMU_CB4_PMOVSSET, P1, 1, 1)
3131    FIELD(SMMU_CB4_PMOVSSET, P0, 1, 0)
3132REG32(SMMU_CB4_PMAUTHSTATUS, 0x14fb8)
3133    FIELD(SMMU_CB4_PMAUTHSTATUS, SNI, 1, 7)
3134    FIELD(SMMU_CB4_PMAUTHSTATUS, SNE, 1, 6)
3135    FIELD(SMMU_CB4_PMAUTHSTATUS, SI, 1, 5)
3136    FIELD(SMMU_CB4_PMAUTHSTATUS, SE, 1, 4)
3137    FIELD(SMMU_CB4_PMAUTHSTATUS, NSNI, 1, 3)
3138    FIELD(SMMU_CB4_PMAUTHSTATUS, NSNE, 1, 2)
3139    FIELD(SMMU_CB4_PMAUTHSTATUS, NSI, 1, 1)
3140    FIELD(SMMU_CB4_PMAUTHSTATUS, NSE, 1, 0)
3141REG32(SMMU_CB5_SCTLR, 0x15000)
3142    FIELD(SMMU_CB5_SCTLR, NSCFG, 2, 28)
3143    FIELD(SMMU_CB5_SCTLR, WACFG, 2, 26)
3144    FIELD(SMMU_CB5_SCTLR, RACFG, 2, 24)
3145    FIELD(SMMU_CB5_SCTLR, SHCFG, 2, 22)
3146    FIELD(SMMU_CB5_SCTLR, FB, 1, 21)
3147    FIELD(SMMU_CB5_SCTLR, MTCFG, 1, 20)
3148    FIELD(SMMU_CB5_SCTLR, MEMATTR, 4, 16)
3149    FIELD(SMMU_CB5_SCTLR, TRANSIENTCFG, 2, 14)
3150    FIELD(SMMU_CB5_SCTLR, PTW, 1, 13)
3151    FIELD(SMMU_CB5_SCTLR, ASIDPNE, 1, 12)
3152    FIELD(SMMU_CB5_SCTLR, UWXN, 1, 10)
3153    FIELD(SMMU_CB5_SCTLR, WXN, 1, 9)
3154    FIELD(SMMU_CB5_SCTLR, HUPCF, 1, 8)
3155    FIELD(SMMU_CB5_SCTLR, CFCFG, 1, 7)
3156    FIELD(SMMU_CB5_SCTLR, CFIE, 1, 6)
3157    FIELD(SMMU_CB5_SCTLR, CFRE, 1, 5)
3158    FIELD(SMMU_CB5_SCTLR, E, 1, 4)
3159    FIELD(SMMU_CB5_SCTLR, AFFD, 1, 3)
3160    FIELD(SMMU_CB5_SCTLR, AFE, 1, 2)
3161    FIELD(SMMU_CB5_SCTLR, TRE, 1, 1)
3162    FIELD(SMMU_CB5_SCTLR, M, 1, 0)
3163REG32(SMMU_CB5_ACTLR, 0x15004)
3164    FIELD(SMMU_CB5_ACTLR, CPRE, 1, 1)
3165    FIELD(SMMU_CB5_ACTLR, CMTLB, 1, 0)
3166REG32(SMMU_CB5_RESUME, 0x15008)
3167    FIELD(SMMU_CB5_RESUME, TNR, 1, 0)
3168REG32(SMMU_CB5_TCR2, 0x15010)
3169    FIELD(SMMU_CB5_TCR2, NSCFG1, 1, 30)
3170    FIELD(SMMU_CB5_TCR2, SEP, 3, 15)
3171    FIELD(SMMU_CB5_TCR2, NSCFG0, 1, 14)
3172    FIELD(SMMU_CB5_TCR2, TBI1, 1, 6)
3173    FIELD(SMMU_CB5_TCR2, TBI0, 1, 5)
3174    FIELD(SMMU_CB5_TCR2, AS, 1, 4)
3175    FIELD(SMMU_CB5_TCR2, PASIZE, 3, 0)
3176REG32(SMMU_CB5_TTBR0_LOW, 0x15020)
3177    FIELD(SMMU_CB5_TTBR0_LOW, ADDRESS_31_7, 25, 7)
3178    FIELD(SMMU_CB5_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
3179    FIELD(SMMU_CB5_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
3180    FIELD(SMMU_CB5_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
3181    FIELD(SMMU_CB5_TTBR0_LOW, ADDRESS_2, 1, 2)
3182    FIELD(SMMU_CB5_TTBR0_LOW, ADDRESS_1_S, 1, 1)
3183    FIELD(SMMU_CB5_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
3184REG32(SMMU_CB5_TTBR0_HIGH, 0x15024)
3185    FIELD(SMMU_CB5_TTBR0_HIGH, ASID, 16, 16)
3186    FIELD(SMMU_CB5_TTBR0_HIGH, ADDRESS, 16, 0)
3187REG32(SMMU_CB5_TTBR1_LOW, 0x15028)
3188    FIELD(SMMU_CB5_TTBR1_LOW, ADDRESS_31_7, 25, 7)
3189    FIELD(SMMU_CB5_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
3190    FIELD(SMMU_CB5_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
3191    FIELD(SMMU_CB5_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
3192    FIELD(SMMU_CB5_TTBR1_LOW, ADDRESS_2, 1, 2)
3193    FIELD(SMMU_CB5_TTBR1_LOW, ADDRESS_1_S, 1, 1)
3194    FIELD(SMMU_CB5_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
3195REG32(SMMU_CB5_TTBR1_HIGH, 0x1502c)
3196    FIELD(SMMU_CB5_TTBR1_HIGH, ASID, 16, 16)
3197    FIELD(SMMU_CB5_TTBR1_HIGH, ADDRESS, 16, 0)
3198REG32(SMMU_CB5_TCR_LPAE, 0x15030)
3199    FIELD(SMMU_CB5_TCR_LPAE, EAE, 1, 31)
3200    FIELD(SMMU_CB5_TCR_LPAE, NSCFG1_TG1, 1, 30)
3201    FIELD(SMMU_CB5_TCR_LPAE, SH1, 2, 28)
3202    FIELD(SMMU_CB5_TCR_LPAE, ORGN1, 2, 26)
3203    FIELD(SMMU_CB5_TCR_LPAE, IRGN1, 2, 24)
3204    FIELD(SMMU_CB5_TCR_LPAE, EPD1, 1, 23)
3205    FIELD(SMMU_CB5_TCR_LPAE, A1, 1, 22)
3206    FIELD(SMMU_CB5_TCR_LPAE, T1SZ_5_3, 3, 19)
3207    FIELD(SMMU_CB5_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
3208    FIELD(SMMU_CB5_TCR_LPAE, NSCFG0_TG0, 1, 14)
3209    FIELD(SMMU_CB5_TCR_LPAE, SH0, 2, 12)
3210    FIELD(SMMU_CB5_TCR_LPAE, ORGN0, 2, 10)
3211    FIELD(SMMU_CB5_TCR_LPAE, IRGN0, 2, 8)
3212    FIELD(SMMU_CB5_TCR_LPAE, SL0_1_EPD0, 1, 7)
3213    FIELD(SMMU_CB5_TCR_LPAE, SL0_0, 1, 6)
3214    FIELD(SMMU_CB5_TCR_LPAE, PD1_T0SZ_5, 1, 5)
3215    FIELD(SMMU_CB5_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
3216    FIELD(SMMU_CB5_TCR_LPAE, T0SZ_3_0, 4, 0)
3217REG32(SMMU_CB5_CONTEXTIDR, 0x15034)
3218    FIELD(SMMU_CB5_CONTEXTIDR, PROCID, 24, 8)
3219    FIELD(SMMU_CB5_CONTEXTIDR, ASID, 8, 0)
3220REG32(SMMU_CB5_PRRR_MAIR0, 0x15038)
3221    FIELD(SMMU_CB5_PRRR_MAIR0, NOS7, 1, 31)
3222    FIELD(SMMU_CB5_PRRR_MAIR0, NOS6, 1, 30)
3223    FIELD(SMMU_CB5_PRRR_MAIR0, NOS5, 1, 29)
3224    FIELD(SMMU_CB5_PRRR_MAIR0, NOS4, 1, 28)
3225    FIELD(SMMU_CB5_PRRR_MAIR0, NOS3, 1, 27)
3226    FIELD(SMMU_CB5_PRRR_MAIR0, NOS2, 1, 26)
3227    FIELD(SMMU_CB5_PRRR_MAIR0, NOS1, 1, 25)
3228    FIELD(SMMU_CB5_PRRR_MAIR0, NOS0, 1, 24)
3229    FIELD(SMMU_CB5_PRRR_MAIR0, NS1, 1, 19)
3230    FIELD(SMMU_CB5_PRRR_MAIR0, NS0, 1, 18)
3231    FIELD(SMMU_CB5_PRRR_MAIR0, DS1, 1, 17)
3232    FIELD(SMMU_CB5_PRRR_MAIR0, DS0, 1, 16)
3233    FIELD(SMMU_CB5_PRRR_MAIR0, TR7, 2, 14)
3234    FIELD(SMMU_CB5_PRRR_MAIR0, TR6, 2, 12)
3235    FIELD(SMMU_CB5_PRRR_MAIR0, TR5, 2, 10)
3236    FIELD(SMMU_CB5_PRRR_MAIR0, TR4, 2, 8)
3237    FIELD(SMMU_CB5_PRRR_MAIR0, TR3, 2, 6)
3238    FIELD(SMMU_CB5_PRRR_MAIR0, TR2, 2, 4)
3239    FIELD(SMMU_CB5_PRRR_MAIR0, TR1, 2, 2)
3240    FIELD(SMMU_CB5_PRRR_MAIR0, TR0, 2, 0)
3241REG32(SMMU_CB5_NMRR_MAIR1, 0x1503c)
3242    FIELD(SMMU_CB5_NMRR_MAIR1, OR7, 2, 30)
3243    FIELD(SMMU_CB5_NMRR_MAIR1, OR6, 2, 28)
3244    FIELD(SMMU_CB5_NMRR_MAIR1, OR5, 2, 26)
3245    FIELD(SMMU_CB5_NMRR_MAIR1, OR4, 2, 24)
3246    FIELD(SMMU_CB5_NMRR_MAIR1, OR3, 2, 22)
3247    FIELD(SMMU_CB5_NMRR_MAIR1, OR2, 2, 20)
3248    FIELD(SMMU_CB5_NMRR_MAIR1, OR1, 2, 18)
3249    FIELD(SMMU_CB5_NMRR_MAIR1, OR0, 2, 16)
3250    FIELD(SMMU_CB5_NMRR_MAIR1, IR7, 2, 14)
3251    FIELD(SMMU_CB5_NMRR_MAIR1, IR6, 2, 12)
3252    FIELD(SMMU_CB5_NMRR_MAIR1, IR5, 2, 10)
3253    FIELD(SMMU_CB5_NMRR_MAIR1, IR4, 2, 8)
3254    FIELD(SMMU_CB5_NMRR_MAIR1, IR3, 2, 6)
3255    FIELD(SMMU_CB5_NMRR_MAIR1, IR2, 2, 4)
3256    FIELD(SMMU_CB5_NMRR_MAIR1, IR1, 2, 2)
3257    FIELD(SMMU_CB5_NMRR_MAIR1, IR0, 2, 0)
3258REG32(SMMU_CB5_FSR, 0x15058)
3259    FIELD(SMMU_CB5_FSR, MULTI, 1, 31)
3260    FIELD(SMMU_CB5_FSR, SS, 1, 30)
3261    FIELD(SMMU_CB5_FSR, FORMAT, 2, 9)
3262    FIELD(SMMU_CB5_FSR, UUT, 1, 8)
3263    FIELD(SMMU_CB5_FSR, ASF, 1, 7)
3264    FIELD(SMMU_CB5_FSR, TLBLKF, 1, 6)
3265    FIELD(SMMU_CB5_FSR, TLBMCF, 1, 5)
3266    FIELD(SMMU_CB5_FSR, EF, 1, 4)
3267    FIELD(SMMU_CB5_FSR, PF, 1, 3)
3268    FIELD(SMMU_CB5_FSR, AFF, 1, 2)
3269    FIELD(SMMU_CB5_FSR, TF, 1, 1)
3270REG32(SMMU_CB5_FSRRESTORE, 0x1505c)
3271REG32(SMMU_CB5_FAR_LOW, 0x15060)
3272REG32(SMMU_CB5_FAR_HIGH, 0x15064)
3273    FIELD(SMMU_CB5_FAR_HIGH, BITS, 17, 0)
3274REG32(SMMU_CB5_FSYNR0, 0x15068)
3275    FIELD(SMMU_CB5_FSYNR0, S1CBNDX, 4, 16)
3276    FIELD(SMMU_CB5_FSYNR0, AFR, 1, 11)
3277    FIELD(SMMU_CB5_FSYNR0, PTWF, 1, 10)
3278    FIELD(SMMU_CB5_FSYNR0, ATOF, 1, 9)
3279    FIELD(SMMU_CB5_FSYNR0, NSATTR, 1, 8)
3280    FIELD(SMMU_CB5_FSYNR0, IND, 1, 6)
3281    FIELD(SMMU_CB5_FSYNR0, PNU, 1, 5)
3282    FIELD(SMMU_CB5_FSYNR0, WNR, 1, 4)
3283    FIELD(SMMU_CB5_FSYNR0, PLVL, 2, 0)
3284REG32(SMMU_CB5_IPAFAR_LOW, 0x15070)
3285    FIELD(SMMU_CB5_IPAFAR_LOW, IPAFAR_L, 20, 12)
3286    FIELD(SMMU_CB5_IPAFAR_LOW, FAR_RO, 12, 0)
3287REG32(SMMU_CB5_IPAFAR_HIGH, 0x15074)
3288    FIELD(SMMU_CB5_IPAFAR_HIGH, BITS, 16, 0)
3289REG32(SMMU_CB5_TLBIVA_LOW, 0x15600)
3290REG32(SMMU_CB5_TLBIVA_HIGH, 0x15604)
3291    FIELD(SMMU_CB5_TLBIVA_HIGH, ASID, 16, 16)
3292    FIELD(SMMU_CB5_TLBIVA_HIGH, ADDRESS, 5, 0)
3293REG32(SMMU_CB5_TLBIVAA_LOW, 0x15608)
3294REG32(SMMU_CB5_TLBIVAA_HIGH, 0x1560c)
3295    FIELD(SMMU_CB5_TLBIVAA_HIGH, ASID, 16, 16)
3296    FIELD(SMMU_CB5_TLBIVAA_HIGH, ADDRESS, 5, 0)
3297REG32(SMMU_CB5_TLBIASID, 0x15610)
3298    FIELD(SMMU_CB5_TLBIASID, ASID, 16, 0)
3299REG32(SMMU_CB5_TLBIALL, 0x15618)
3300REG32(SMMU_CB5_TLBIVAL_LOW, 0x15620)
3301REG32(SMMU_CB5_TLBIVAL_HIGH, 0x15624)
3302    FIELD(SMMU_CB5_TLBIVAL_HIGH, ASID, 16, 16)
3303    FIELD(SMMU_CB5_TLBIVAL_HIGH, ADDRESS, 5, 0)
3304REG32(SMMU_CB5_TLBIVAAL_LOW, 0x15628)
3305REG32(SMMU_CB5_TLBIVAAL_HIGH, 0x1562c)
3306    FIELD(SMMU_CB5_TLBIVAAL_HIGH, ASID, 16, 16)
3307    FIELD(SMMU_CB5_TLBIVAAL_HIGH, ADDRESS, 5, 0)
3308REG32(SMMU_CB5_TLBIIPAS2_LOW, 0x15630)
3309REG32(SMMU_CB5_TLBIIPAS2_HIGH, 0x15634)
3310    FIELD(SMMU_CB5_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
3311REG32(SMMU_CB5_TLBIIPAS2L_LOW, 0x15638)
3312REG32(SMMU_CB5_TLBIIPAS2L_HIGH, 0x1563c)
3313    FIELD(SMMU_CB5_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
3314REG32(SMMU_CB5_TLBSYNC, 0x157f0)
3315REG32(SMMU_CB5_TLBSTATUS, 0x157f4)
3316    FIELD(SMMU_CB5_TLBSTATUS, SACTIVE, 1, 0)
3317REG32(SMMU_CB5_PMEVCNTR0, 0x15e00)
3318REG32(SMMU_CB5_PMEVCNTR1, 0x15e04)
3319REG32(SMMU_CB5_PMEVCNTR2, 0x15e08)
3320REG32(SMMU_CB5_PMEVCNTR3, 0x15e0c)
3321REG32(SMMU_CB5_PMEVTYPER0, 0x15e80)
3322    FIELD(SMMU_CB5_PMEVTYPER0, P, 1, 31)
3323    FIELD(SMMU_CB5_PMEVTYPER0, U, 1, 30)
3324    FIELD(SMMU_CB5_PMEVTYPER0, NSP, 1, 29)
3325    FIELD(SMMU_CB5_PMEVTYPER0, NSU, 1, 28)
3326    FIELD(SMMU_CB5_PMEVTYPER0, EVENT, 5, 0)
3327REG32(SMMU_CB5_PMEVTYPER1, 0x15e84)
3328    FIELD(SMMU_CB5_PMEVTYPER1, P, 1, 31)
3329    FIELD(SMMU_CB5_PMEVTYPER1, U, 1, 30)
3330    FIELD(SMMU_CB5_PMEVTYPER1, NSP, 1, 29)
3331    FIELD(SMMU_CB5_PMEVTYPER1, NSU, 1, 28)
3332    FIELD(SMMU_CB5_PMEVTYPER1, EVENT, 5, 0)
3333REG32(SMMU_CB5_PMEVTYPER2, 0x15e88)
3334    FIELD(SMMU_CB5_PMEVTYPER2, P, 1, 31)
3335    FIELD(SMMU_CB5_PMEVTYPER2, U, 1, 30)
3336    FIELD(SMMU_CB5_PMEVTYPER2, NSP, 1, 29)
3337    FIELD(SMMU_CB5_PMEVTYPER2, NSU, 1, 28)
3338    FIELD(SMMU_CB5_PMEVTYPER2, EVENT, 5, 0)
3339REG32(SMMU_CB5_PMEVTYPER3, 0x15e8c)
3340    FIELD(SMMU_CB5_PMEVTYPER3, P, 1, 31)
3341    FIELD(SMMU_CB5_PMEVTYPER3, U, 1, 30)
3342    FIELD(SMMU_CB5_PMEVTYPER3, NSP, 1, 29)
3343    FIELD(SMMU_CB5_PMEVTYPER3, NSU, 1, 28)
3344    FIELD(SMMU_CB5_PMEVTYPER3, EVENT, 5, 0)
3345REG32(SMMU_CB5_PMCFGR, 0x15f00)
3346    FIELD(SMMU_CB5_PMCFGR, NCG, 8, 24)
3347    FIELD(SMMU_CB5_PMCFGR, UEN, 1, 19)
3348    FIELD(SMMU_CB5_PMCFGR, EX, 1, 16)
3349    FIELD(SMMU_CB5_PMCFGR, CCD, 1, 15)
3350    FIELD(SMMU_CB5_PMCFGR, CC, 1, 14)
3351    FIELD(SMMU_CB5_PMCFGR, SIZE, 6, 8)
3352    FIELD(SMMU_CB5_PMCFGR, N, 8, 0)
3353REG32(SMMU_CB5_PMCR, 0x15f04)
3354    FIELD(SMMU_CB5_PMCR, IMP, 8, 24)
3355    FIELD(SMMU_CB5_PMCR, X, 1, 4)
3356    FIELD(SMMU_CB5_PMCR, P, 1, 1)
3357    FIELD(SMMU_CB5_PMCR, E, 1, 0)
3358REG32(SMMU_CB5_PMCEID, 0x15f20)
3359    FIELD(SMMU_CB5_PMCEID, EVENT0X12, 1, 17)
3360    FIELD(SMMU_CB5_PMCEID, EVENT0X11, 1, 16)
3361    FIELD(SMMU_CB5_PMCEID, EVENT0X10, 1, 15)
3362    FIELD(SMMU_CB5_PMCEID, EVENT0X0A, 1, 9)
3363    FIELD(SMMU_CB5_PMCEID, EVENT0X09, 1, 8)
3364    FIELD(SMMU_CB5_PMCEID, EVENT0X08, 1, 7)
3365    FIELD(SMMU_CB5_PMCEID, EVENT0X01, 1, 1)
3366    FIELD(SMMU_CB5_PMCEID, EVENT0X00, 1, 0)
3367REG32(SMMU_CB5_PMCNTENSE, 0x15f40)
3368    FIELD(SMMU_CB5_PMCNTENSE, P3, 1, 3)
3369    FIELD(SMMU_CB5_PMCNTENSE, P2, 1, 2)
3370    FIELD(SMMU_CB5_PMCNTENSE, P1, 1, 1)
3371    FIELD(SMMU_CB5_PMCNTENSE, P0, 1, 0)
3372REG32(SMMU_CB5_PMCNTENCLR, 0x15f44)
3373    FIELD(SMMU_CB5_PMCNTENCLR, P3, 1, 3)
3374    FIELD(SMMU_CB5_PMCNTENCLR, P2, 1, 2)
3375    FIELD(SMMU_CB5_PMCNTENCLR, P1, 1, 1)
3376    FIELD(SMMU_CB5_PMCNTENCLR, P0, 1, 0)
3377REG32(SMMU_CB5_PMCNTENSET, 0x15f48)
3378    FIELD(SMMU_CB5_PMCNTENSET, P3, 1, 3)
3379    FIELD(SMMU_CB5_PMCNTENSET, P2, 1, 2)
3380    FIELD(SMMU_CB5_PMCNTENSET, P1, 1, 1)
3381    FIELD(SMMU_CB5_PMCNTENSET, P0, 1, 0)
3382REG32(SMMU_CB5_PMINTENCLR, 0x15f4c)
3383    FIELD(SMMU_CB5_PMINTENCLR, P3, 1, 3)
3384    FIELD(SMMU_CB5_PMINTENCLR, P2, 1, 2)
3385    FIELD(SMMU_CB5_PMINTENCLR, P1, 1, 1)
3386    FIELD(SMMU_CB5_PMINTENCLR, P0, 1, 0)
3387REG32(SMMU_CB5_PMOVSCLR, 0x15f50)
3388    FIELD(SMMU_CB5_PMOVSCLR, P3, 1, 3)
3389    FIELD(SMMU_CB5_PMOVSCLR, P2, 1, 2)
3390    FIELD(SMMU_CB5_PMOVSCLR, P1, 1, 1)
3391    FIELD(SMMU_CB5_PMOVSCLR, P0, 1, 0)
3392REG32(SMMU_CB5_PMOVSSET, 0x15f58)
3393    FIELD(SMMU_CB5_PMOVSSET, P3, 1, 3)
3394    FIELD(SMMU_CB5_PMOVSSET, P2, 1, 2)
3395    FIELD(SMMU_CB5_PMOVSSET, P1, 1, 1)
3396    FIELD(SMMU_CB5_PMOVSSET, P0, 1, 0)
3397REG32(SMMU_CB5_PMAUTHSTATUS, 0x15fb8)
3398    FIELD(SMMU_CB5_PMAUTHSTATUS, SNI, 1, 7)
3399    FIELD(SMMU_CB5_PMAUTHSTATUS, SNE, 1, 6)
3400    FIELD(SMMU_CB5_PMAUTHSTATUS, SI, 1, 5)
3401    FIELD(SMMU_CB5_PMAUTHSTATUS, SE, 1, 4)
3402    FIELD(SMMU_CB5_PMAUTHSTATUS, NSNI, 1, 3)
3403    FIELD(SMMU_CB5_PMAUTHSTATUS, NSNE, 1, 2)
3404    FIELD(SMMU_CB5_PMAUTHSTATUS, NSI, 1, 1)
3405    FIELD(SMMU_CB5_PMAUTHSTATUS, NSE, 1, 0)
3406REG32(SMMU_CB6_SCTLR, 0x16000)
3407    FIELD(SMMU_CB6_SCTLR, NSCFG, 2, 28)
3408    FIELD(SMMU_CB6_SCTLR, WACFG, 2, 26)
3409    FIELD(SMMU_CB6_SCTLR, RACFG, 2, 24)
3410    FIELD(SMMU_CB6_SCTLR, SHCFG, 2, 22)
3411    FIELD(SMMU_CB6_SCTLR, FB, 1, 21)
3412    FIELD(SMMU_CB6_SCTLR, MTCFG, 1, 20)
3413    FIELD(SMMU_CB6_SCTLR, MEMATTR, 4, 16)
3414    FIELD(SMMU_CB6_SCTLR, TRANSIENTCFG, 2, 14)
3415    FIELD(SMMU_CB6_SCTLR, PTW, 1, 13)
3416    FIELD(SMMU_CB6_SCTLR, ASIDPNE, 1, 12)
3417    FIELD(SMMU_CB6_SCTLR, UWXN, 1, 10)
3418    FIELD(SMMU_CB6_SCTLR, WXN, 1, 9)
3419    FIELD(SMMU_CB6_SCTLR, HUPCF, 1, 8)
3420    FIELD(SMMU_CB6_SCTLR, CFCFG, 1, 7)
3421    FIELD(SMMU_CB6_SCTLR, CFIE, 1, 6)
3422    FIELD(SMMU_CB6_SCTLR, CFRE, 1, 5)
3423    FIELD(SMMU_CB6_SCTLR, E, 1, 4)
3424    FIELD(SMMU_CB6_SCTLR, AFFD, 1, 3)
3425    FIELD(SMMU_CB6_SCTLR, AFE, 1, 2)
3426    FIELD(SMMU_CB6_SCTLR, TRE, 1, 1)
3427    FIELD(SMMU_CB6_SCTLR, M, 1, 0)
3428REG32(SMMU_CB6_ACTLR, 0x16004)
3429    FIELD(SMMU_CB6_ACTLR, CPRE, 1, 1)
3430    FIELD(SMMU_CB6_ACTLR, CMTLB, 1, 0)
3431REG32(SMMU_CB6_RESUME, 0x16008)
3432    FIELD(SMMU_CB6_RESUME, TNR, 1, 0)
3433REG32(SMMU_CB6_TCR2, 0x16010)
3434    FIELD(SMMU_CB6_TCR2, NSCFG1, 1, 30)
3435    FIELD(SMMU_CB6_TCR2, SEP, 3, 15)
3436    FIELD(SMMU_CB6_TCR2, NSCFG0, 1, 14)
3437    FIELD(SMMU_CB6_TCR2, TBI1, 1, 6)
3438    FIELD(SMMU_CB6_TCR2, TBI0, 1, 5)
3439    FIELD(SMMU_CB6_TCR2, AS, 1, 4)
3440    FIELD(SMMU_CB6_TCR2, PASIZE, 3, 0)
3441REG32(SMMU_CB6_TTBR0_LOW, 0x16020)
3442    FIELD(SMMU_CB6_TTBR0_LOW, ADDRESS_31_7, 25, 7)
3443    FIELD(SMMU_CB6_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
3444    FIELD(SMMU_CB6_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
3445    FIELD(SMMU_CB6_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
3446    FIELD(SMMU_CB6_TTBR0_LOW, ADDRESS_2, 1, 2)
3447    FIELD(SMMU_CB6_TTBR0_LOW, ADDRESS_1_S, 1, 1)
3448    FIELD(SMMU_CB6_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
3449REG32(SMMU_CB6_TTBR0_HIGH, 0x16024)
3450    FIELD(SMMU_CB6_TTBR0_HIGH, ASID, 16, 16)
3451    FIELD(SMMU_CB6_TTBR0_HIGH, ADDRESS, 16, 0)
3452REG32(SMMU_CB6_TTBR1_LOW, 0x16028)
3453    FIELD(SMMU_CB6_TTBR1_LOW, ADDRESS_31_7, 25, 7)
3454    FIELD(SMMU_CB6_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
3455    FIELD(SMMU_CB6_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
3456    FIELD(SMMU_CB6_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
3457    FIELD(SMMU_CB6_TTBR1_LOW, ADDRESS_2, 1, 2)
3458    FIELD(SMMU_CB6_TTBR1_LOW, ADDRESS_1_S, 1, 1)
3459    FIELD(SMMU_CB6_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
3460REG32(SMMU_CB6_TTBR1_HIGH, 0x1602c)
3461    FIELD(SMMU_CB6_TTBR1_HIGH, ASID, 16, 16)
3462    FIELD(SMMU_CB6_TTBR1_HIGH, ADDRESS, 16, 0)
3463REG32(SMMU_CB6_TCR_LPAE, 0x16030)
3464    FIELD(SMMU_CB6_TCR_LPAE, EAE, 1, 31)
3465    FIELD(SMMU_CB6_TCR_LPAE, NSCFG1_TG1, 1, 30)
3466    FIELD(SMMU_CB6_TCR_LPAE, SH1, 2, 28)
3467    FIELD(SMMU_CB6_TCR_LPAE, ORGN1, 2, 26)
3468    FIELD(SMMU_CB6_TCR_LPAE, IRGN1, 2, 24)
3469    FIELD(SMMU_CB6_TCR_LPAE, EPD1, 1, 23)
3470    FIELD(SMMU_CB6_TCR_LPAE, A1, 1, 22)
3471    FIELD(SMMU_CB6_TCR_LPAE, T1SZ_5_3, 3, 19)
3472    FIELD(SMMU_CB6_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
3473    FIELD(SMMU_CB6_TCR_LPAE, NSCFG0_TG0, 1, 14)
3474    FIELD(SMMU_CB6_TCR_LPAE, SH0, 2, 12)
3475    FIELD(SMMU_CB6_TCR_LPAE, ORGN0, 2, 10)
3476    FIELD(SMMU_CB6_TCR_LPAE, IRGN0, 2, 8)
3477    FIELD(SMMU_CB6_TCR_LPAE, SL0_1_EPD0, 1, 7)
3478    FIELD(SMMU_CB6_TCR_LPAE, SL0_0, 1, 6)
3479    FIELD(SMMU_CB6_TCR_LPAE, PD1_T0SZ_5, 1, 5)
3480    FIELD(SMMU_CB6_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
3481    FIELD(SMMU_CB6_TCR_LPAE, T0SZ_3_0, 4, 0)
3482REG32(SMMU_CB6_CONTEXTIDR, 0x16034)
3483    FIELD(SMMU_CB6_CONTEXTIDR, PROCID, 24, 8)
3484    FIELD(SMMU_CB6_CONTEXTIDR, ASID, 8, 0)
3485REG32(SMMU_CB6_PRRR_MAIR0, 0x16038)
3486    FIELD(SMMU_CB6_PRRR_MAIR0, NOS7, 1, 31)
3487    FIELD(SMMU_CB6_PRRR_MAIR0, NOS6, 1, 30)
3488    FIELD(SMMU_CB6_PRRR_MAIR0, NOS5, 1, 29)
3489    FIELD(SMMU_CB6_PRRR_MAIR0, NOS4, 1, 28)
3490    FIELD(SMMU_CB6_PRRR_MAIR0, NOS3, 1, 27)
3491    FIELD(SMMU_CB6_PRRR_MAIR0, NOS2, 1, 26)
3492    FIELD(SMMU_CB6_PRRR_MAIR0, NOS1, 1, 25)
3493    FIELD(SMMU_CB6_PRRR_MAIR0, NOS0, 1, 24)
3494    FIELD(SMMU_CB6_PRRR_MAIR0, NS1, 1, 19)
3495    FIELD(SMMU_CB6_PRRR_MAIR0, NS0, 1, 18)
3496    FIELD(SMMU_CB6_PRRR_MAIR0, DS1, 1, 17)
3497    FIELD(SMMU_CB6_PRRR_MAIR0, DS0, 1, 16)
3498    FIELD(SMMU_CB6_PRRR_MAIR0, TR7, 2, 14)
3499    FIELD(SMMU_CB6_PRRR_MAIR0, TR6, 2, 12)
3500    FIELD(SMMU_CB6_PRRR_MAIR0, TR5, 2, 10)
3501    FIELD(SMMU_CB6_PRRR_MAIR0, TR4, 2, 8)
3502    FIELD(SMMU_CB6_PRRR_MAIR0, TR3, 2, 6)
3503    FIELD(SMMU_CB6_PRRR_MAIR0, TR2, 2, 4)
3504    FIELD(SMMU_CB6_PRRR_MAIR0, TR1, 2, 2)
3505    FIELD(SMMU_CB6_PRRR_MAIR0, TR0, 2, 0)
3506REG32(SMMU_CB6_NMRR_MAIR1, 0x1603c)
3507    FIELD(SMMU_CB6_NMRR_MAIR1, OR7, 2, 30)
3508    FIELD(SMMU_CB6_NMRR_MAIR1, OR6, 2, 28)
3509    FIELD(SMMU_CB6_NMRR_MAIR1, OR5, 2, 26)
3510    FIELD(SMMU_CB6_NMRR_MAIR1, OR4, 2, 24)
3511    FIELD(SMMU_CB6_NMRR_MAIR1, OR3, 2, 22)
3512    FIELD(SMMU_CB6_NMRR_MAIR1, OR2, 2, 20)
3513    FIELD(SMMU_CB6_NMRR_MAIR1, OR1, 2, 18)
3514    FIELD(SMMU_CB6_NMRR_MAIR1, OR0, 2, 16)
3515    FIELD(SMMU_CB6_NMRR_MAIR1, IR7, 2, 14)
3516    FIELD(SMMU_CB6_NMRR_MAIR1, IR6, 2, 12)
3517    FIELD(SMMU_CB6_NMRR_MAIR1, IR5, 2, 10)
3518    FIELD(SMMU_CB6_NMRR_MAIR1, IR4, 2, 8)
3519    FIELD(SMMU_CB6_NMRR_MAIR1, IR3, 2, 6)
3520    FIELD(SMMU_CB6_NMRR_MAIR1, IR2, 2, 4)
3521    FIELD(SMMU_CB6_NMRR_MAIR1, IR1, 2, 2)
3522    FIELD(SMMU_CB6_NMRR_MAIR1, IR0, 2, 0)
3523REG32(SMMU_CB6_FSR, 0x16058)
3524    FIELD(SMMU_CB6_FSR, MULTI, 1, 31)
3525    FIELD(SMMU_CB6_FSR, SS, 1, 30)
3526    FIELD(SMMU_CB6_FSR, FORMAT, 2, 9)
3527    FIELD(SMMU_CB6_FSR, UUT, 1, 8)
3528    FIELD(SMMU_CB6_FSR, ASF, 1, 7)
3529    FIELD(SMMU_CB6_FSR, TLBLKF, 1, 6)
3530    FIELD(SMMU_CB6_FSR, TLBMCF, 1, 5)
3531    FIELD(SMMU_CB6_FSR, EF, 1, 4)
3532    FIELD(SMMU_CB6_FSR, PF, 1, 3)
3533    FIELD(SMMU_CB6_FSR, AFF, 1, 2)
3534    FIELD(SMMU_CB6_FSR, TF, 1, 1)
3535REG32(SMMU_CB6_FSRRESTORE, 0x1605c)
3536REG32(SMMU_CB6_FAR_LOW, 0x16060)
3537REG32(SMMU_CB6_FAR_HIGH, 0x16064)
3538    FIELD(SMMU_CB6_FAR_HIGH, BITS, 17, 0)
3539REG32(SMMU_CB6_FSYNR0, 0x16068)
3540    FIELD(SMMU_CB6_FSYNR0, S1CBNDX, 4, 16)
3541    FIELD(SMMU_CB6_FSYNR0, AFR, 1, 11)
3542    FIELD(SMMU_CB6_FSYNR0, PTWF, 1, 10)
3543    FIELD(SMMU_CB6_FSYNR0, ATOF, 1, 9)
3544    FIELD(SMMU_CB6_FSYNR0, NSATTR, 1, 8)
3545    FIELD(SMMU_CB6_FSYNR0, IND, 1, 6)
3546    FIELD(SMMU_CB6_FSYNR0, PNU, 1, 5)
3547    FIELD(SMMU_CB6_FSYNR0, WNR, 1, 4)
3548    FIELD(SMMU_CB6_FSYNR0, PLVL, 2, 0)
3549REG32(SMMU_CB6_IPAFAR_LOW, 0x16070)
3550    FIELD(SMMU_CB6_IPAFAR_LOW, IPAFAR_L, 20, 12)
3551    FIELD(SMMU_CB6_IPAFAR_LOW, FAR_RO, 12, 0)
3552REG32(SMMU_CB6_IPAFAR_HIGH, 0x16074)
3553    FIELD(SMMU_CB6_IPAFAR_HIGH, BITS, 16, 0)
3554REG32(SMMU_CB6_TLBIVA_LOW, 0x16600)
3555REG32(SMMU_CB6_TLBIVA_HIGH, 0x16604)
3556    FIELD(SMMU_CB6_TLBIVA_HIGH, ASID, 16, 16)
3557    FIELD(SMMU_CB6_TLBIVA_HIGH, ADDRESS, 5, 0)
3558REG32(SMMU_CB6_TLBIVAA_LOW, 0x16608)
3559REG32(SMMU_CB6_TLBIVAA_HIGH, 0x1660c)
3560    FIELD(SMMU_CB6_TLBIVAA_HIGH, ASID, 16, 16)
3561    FIELD(SMMU_CB6_TLBIVAA_HIGH, ADDRESS, 5, 0)
3562REG32(SMMU_CB6_TLBIASID, 0x16610)
3563    FIELD(SMMU_CB6_TLBIASID, ASID, 16, 0)
3564REG32(SMMU_CB6_TLBIALL, 0x16618)
3565REG32(SMMU_CB6_TLBIVAL_LOW, 0x16620)
3566REG32(SMMU_CB6_TLBIVAL_HIGH, 0x16624)
3567    FIELD(SMMU_CB6_TLBIVAL_HIGH, ASID, 16, 16)
3568    FIELD(SMMU_CB6_TLBIVAL_HIGH, ADDRESS, 5, 0)
3569REG32(SMMU_CB6_TLBIVAAL_LOW, 0x16628)
3570REG32(SMMU_CB6_TLBIVAAL_HIGH, 0x1662c)
3571    FIELD(SMMU_CB6_TLBIVAAL_HIGH, ASID, 16, 16)
3572    FIELD(SMMU_CB6_TLBIVAAL_HIGH, ADDRESS, 5, 0)
3573REG32(SMMU_CB6_TLBIIPAS2_LOW, 0x16630)
3574REG32(SMMU_CB6_TLBIIPAS2_HIGH, 0x16634)
3575    FIELD(SMMU_CB6_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
3576REG32(SMMU_CB6_TLBIIPAS2L_LOW, 0x16638)
3577REG32(SMMU_CB6_TLBIIPAS2L_HIGH, 0x1663c)
3578    FIELD(SMMU_CB6_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
3579REG32(SMMU_CB6_TLBSYNC, 0x167f0)
3580REG32(SMMU_CB6_TLBSTATUS, 0x167f4)
3581    FIELD(SMMU_CB6_TLBSTATUS, SACTIVE, 1, 0)
3582REG32(SMMU_CB6_PMEVCNTR0, 0x16e00)
3583REG32(SMMU_CB6_PMEVCNTR1, 0x16e04)
3584REG32(SMMU_CB6_PMEVCNTR2, 0x16e08)
3585REG32(SMMU_CB6_PMEVCNTR3, 0x16e0c)
3586REG32(SMMU_CB6_PMEVTYPER0, 0x16e80)
3587    FIELD(SMMU_CB6_PMEVTYPER0, P, 1, 31)
3588    FIELD(SMMU_CB6_PMEVTYPER0, U, 1, 30)
3589    FIELD(SMMU_CB6_PMEVTYPER0, NSP, 1, 29)
3590    FIELD(SMMU_CB6_PMEVTYPER0, NSU, 1, 28)
3591    FIELD(SMMU_CB6_PMEVTYPER0, EVENT, 5, 0)
3592REG32(SMMU_CB6_PMEVTYPER1, 0x16e84)
3593    FIELD(SMMU_CB6_PMEVTYPER1, P, 1, 31)
3594    FIELD(SMMU_CB6_PMEVTYPER1, U, 1, 30)
3595    FIELD(SMMU_CB6_PMEVTYPER1, NSP, 1, 29)
3596    FIELD(SMMU_CB6_PMEVTYPER1, NSU, 1, 28)
3597    FIELD(SMMU_CB6_PMEVTYPER1, EVENT, 5, 0)
3598REG32(SMMU_CB6_PMEVTYPER2, 0x16e88)
3599    FIELD(SMMU_CB6_PMEVTYPER2, P, 1, 31)
3600    FIELD(SMMU_CB6_PMEVTYPER2, U, 1, 30)
3601    FIELD(SMMU_CB6_PMEVTYPER2, NSP, 1, 29)
3602    FIELD(SMMU_CB6_PMEVTYPER2, NSU, 1, 28)
3603    FIELD(SMMU_CB6_PMEVTYPER2, EVENT, 5, 0)
3604REG32(SMMU_CB6_PMEVTYPER3, 0x16e8c)
3605    FIELD(SMMU_CB6_PMEVTYPER3, P, 1, 31)
3606    FIELD(SMMU_CB6_PMEVTYPER3, U, 1, 30)
3607    FIELD(SMMU_CB6_PMEVTYPER3, NSP, 1, 29)
3608    FIELD(SMMU_CB6_PMEVTYPER3, NSU, 1, 28)
3609    FIELD(SMMU_CB6_PMEVTYPER3, EVENT, 5, 0)
3610REG32(SMMU_CB6_PMCFGR, 0x16f00)
3611    FIELD(SMMU_CB6_PMCFGR, NCG, 8, 24)
3612    FIELD(SMMU_CB6_PMCFGR, UEN, 1, 19)
3613    FIELD(SMMU_CB6_PMCFGR, EX, 1, 16)
3614    FIELD(SMMU_CB6_PMCFGR, CCD, 1, 15)
3615    FIELD(SMMU_CB6_PMCFGR, CC, 1, 14)
3616    FIELD(SMMU_CB6_PMCFGR, SIZE, 6, 8)
3617    FIELD(SMMU_CB6_PMCFGR, N, 8, 0)
3618REG32(SMMU_CB6_PMCR, 0x16f04)
3619    FIELD(SMMU_CB6_PMCR, IMP, 8, 24)
3620    FIELD(SMMU_CB6_PMCR, X, 1, 4)
3621    FIELD(SMMU_CB6_PMCR, P, 1, 1)
3622    FIELD(SMMU_CB6_PMCR, E, 1, 0)
3623REG32(SMMU_CB6_PMCEID, 0x16f20)
3624    FIELD(SMMU_CB6_PMCEID, EVENT0X12, 1, 17)
3625    FIELD(SMMU_CB6_PMCEID, EVENT0X11, 1, 16)
3626    FIELD(SMMU_CB6_PMCEID, EVENT0X10, 1, 15)
3627    FIELD(SMMU_CB6_PMCEID, EVENT0X0A, 1, 9)
3628    FIELD(SMMU_CB6_PMCEID, EVENT0X09, 1, 8)
3629    FIELD(SMMU_CB6_PMCEID, EVENT0X08, 1, 7)
3630    FIELD(SMMU_CB6_PMCEID, EVENT0X01, 1, 1)
3631    FIELD(SMMU_CB6_PMCEID, EVENT0X00, 1, 0)
3632REG32(SMMU_CB6_PMCNTENSE, 0x16f40)
3633    FIELD(SMMU_CB6_PMCNTENSE, P3, 1, 3)
3634    FIELD(SMMU_CB6_PMCNTENSE, P2, 1, 2)
3635    FIELD(SMMU_CB6_PMCNTENSE, P1, 1, 1)
3636    FIELD(SMMU_CB6_PMCNTENSE, P0, 1, 0)
3637REG32(SMMU_CB6_PMCNTENCLR, 0x16f44)
3638    FIELD(SMMU_CB6_PMCNTENCLR, P3, 1, 3)
3639    FIELD(SMMU_CB6_PMCNTENCLR, P2, 1, 2)
3640    FIELD(SMMU_CB6_PMCNTENCLR, P1, 1, 1)
3641    FIELD(SMMU_CB6_PMCNTENCLR, P0, 1, 0)
3642REG32(SMMU_CB6_PMCNTENSET, 0x16f48)
3643    FIELD(SMMU_CB6_PMCNTENSET, P3, 1, 3)
3644    FIELD(SMMU_CB6_PMCNTENSET, P2, 1, 2)
3645    FIELD(SMMU_CB6_PMCNTENSET, P1, 1, 1)
3646    FIELD(SMMU_CB6_PMCNTENSET, P0, 1, 0)
3647REG32(SMMU_CB6_PMINTENCLR, 0x16f4c)
3648    FIELD(SMMU_CB6_PMINTENCLR, P3, 1, 3)
3649    FIELD(SMMU_CB6_PMINTENCLR, P2, 1, 2)
3650    FIELD(SMMU_CB6_PMINTENCLR, P1, 1, 1)
3651    FIELD(SMMU_CB6_PMINTENCLR, P0, 1, 0)
3652REG32(SMMU_CB6_PMOVSCLR, 0x16f50)
3653    FIELD(SMMU_CB6_PMOVSCLR, P3, 1, 3)
3654    FIELD(SMMU_CB6_PMOVSCLR, P2, 1, 2)
3655    FIELD(SMMU_CB6_PMOVSCLR, P1, 1, 1)
3656    FIELD(SMMU_CB6_PMOVSCLR, P0, 1, 0)
3657REG32(SMMU_CB6_PMOVSSET, 0x16f58)
3658    FIELD(SMMU_CB6_PMOVSSET, P3, 1, 3)
3659    FIELD(SMMU_CB6_PMOVSSET, P2, 1, 2)
3660    FIELD(SMMU_CB6_PMOVSSET, P1, 1, 1)
3661    FIELD(SMMU_CB6_PMOVSSET, P0, 1, 0)
3662REG32(SMMU_CB6_PMAUTHSTATUS, 0x16fb8)
3663    FIELD(SMMU_CB6_PMAUTHSTATUS, SNI, 1, 7)
3664    FIELD(SMMU_CB6_PMAUTHSTATUS, SNE, 1, 6)
3665    FIELD(SMMU_CB6_PMAUTHSTATUS, SI, 1, 5)
3666    FIELD(SMMU_CB6_PMAUTHSTATUS, SE, 1, 4)
3667    FIELD(SMMU_CB6_PMAUTHSTATUS, NSNI, 1, 3)
3668    FIELD(SMMU_CB6_PMAUTHSTATUS, NSNE, 1, 2)
3669    FIELD(SMMU_CB6_PMAUTHSTATUS, NSI, 1, 1)
3670    FIELD(SMMU_CB6_PMAUTHSTATUS, NSE, 1, 0)
3671REG32(SMMU_CB7_SCTLR, 0x17000)
3672    FIELD(SMMU_CB7_SCTLR, NSCFG, 2, 28)
3673    FIELD(SMMU_CB7_SCTLR, WACFG, 2, 26)
3674    FIELD(SMMU_CB7_SCTLR, RACFG, 2, 24)
3675    FIELD(SMMU_CB7_SCTLR, SHCFG, 2, 22)
3676    FIELD(SMMU_CB7_SCTLR, FB, 1, 21)
3677    FIELD(SMMU_CB7_SCTLR, MTCFG, 1, 20)
3678    FIELD(SMMU_CB7_SCTLR, MEMATTR, 4, 16)
3679    FIELD(SMMU_CB7_SCTLR, TRANSIENTCFG, 2, 14)
3680    FIELD(SMMU_CB7_SCTLR, PTW, 1, 13)
3681    FIELD(SMMU_CB7_SCTLR, ASIDPNE, 1, 12)
3682    FIELD(SMMU_CB7_SCTLR, UWXN, 1, 10)
3683    FIELD(SMMU_CB7_SCTLR, WXN, 1, 9)
3684    FIELD(SMMU_CB7_SCTLR, HUPCF, 1, 8)
3685    FIELD(SMMU_CB7_SCTLR, CFCFG, 1, 7)
3686    FIELD(SMMU_CB7_SCTLR, CFIE, 1, 6)
3687    FIELD(SMMU_CB7_SCTLR, CFRE, 1, 5)
3688    FIELD(SMMU_CB7_SCTLR, E, 1, 4)
3689    FIELD(SMMU_CB7_SCTLR, AFFD, 1, 3)
3690    FIELD(SMMU_CB7_SCTLR, AFE, 1, 2)
3691    FIELD(SMMU_CB7_SCTLR, TRE, 1, 1)
3692    FIELD(SMMU_CB7_SCTLR, M, 1, 0)
3693REG32(SMMU_CB7_ACTLR, 0x17004)
3694    FIELD(SMMU_CB7_ACTLR, CPRE, 1, 1)
3695    FIELD(SMMU_CB7_ACTLR, CMTLB, 1, 0)
3696REG32(SMMU_CB7_RESUME, 0x17008)
3697    FIELD(SMMU_CB7_RESUME, TNR, 1, 0)
3698REG32(SMMU_CB7_TCR2, 0x17010)
3699    FIELD(SMMU_CB7_TCR2, NSCFG1, 1, 30)
3700    FIELD(SMMU_CB7_TCR2, SEP, 3, 15)
3701    FIELD(SMMU_CB7_TCR2, NSCFG0, 1, 14)
3702    FIELD(SMMU_CB7_TCR2, TBI1, 1, 6)
3703    FIELD(SMMU_CB7_TCR2, TBI0, 1, 5)
3704    FIELD(SMMU_CB7_TCR2, AS, 1, 4)
3705    FIELD(SMMU_CB7_TCR2, PASIZE, 3, 0)
3706REG32(SMMU_CB7_TTBR0_LOW, 0x17020)
3707    FIELD(SMMU_CB7_TTBR0_LOW, ADDRESS_31_7, 25, 7)
3708    FIELD(SMMU_CB7_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
3709    FIELD(SMMU_CB7_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
3710    FIELD(SMMU_CB7_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
3711    FIELD(SMMU_CB7_TTBR0_LOW, ADDRESS_2, 1, 2)
3712    FIELD(SMMU_CB7_TTBR0_LOW, ADDRESS_1_S, 1, 1)
3713    FIELD(SMMU_CB7_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
3714REG32(SMMU_CB7_TTBR0_HIGH, 0x17024)
3715    FIELD(SMMU_CB7_TTBR0_HIGH, ASID, 16, 16)
3716    FIELD(SMMU_CB7_TTBR0_HIGH, ADDRESS, 16, 0)
3717REG32(SMMU_CB7_TTBR1_LOW, 0x17028)
3718    FIELD(SMMU_CB7_TTBR1_LOW, ADDRESS_31_7, 25, 7)
3719    FIELD(SMMU_CB7_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
3720    FIELD(SMMU_CB7_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
3721    FIELD(SMMU_CB7_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
3722    FIELD(SMMU_CB7_TTBR1_LOW, ADDRESS_2, 1, 2)
3723    FIELD(SMMU_CB7_TTBR1_LOW, ADDRESS_1_S, 1, 1)
3724    FIELD(SMMU_CB7_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
3725REG32(SMMU_CB7_TTBR1_HIGH, 0x1702c)
3726    FIELD(SMMU_CB7_TTBR1_HIGH, ASID, 16, 16)
3727    FIELD(SMMU_CB7_TTBR1_HIGH, ADDRESS, 16, 0)
3728REG32(SMMU_CB7_TCR_LPAE, 0x17030)
3729    FIELD(SMMU_CB7_TCR_LPAE, EAE, 1, 31)
3730    FIELD(SMMU_CB7_TCR_LPAE, NSCFG1_TG1, 1, 30)
3731    FIELD(SMMU_CB7_TCR_LPAE, SH1, 2, 28)
3732    FIELD(SMMU_CB7_TCR_LPAE, ORGN1, 2, 26)
3733    FIELD(SMMU_CB7_TCR_LPAE, IRGN1, 2, 24)
3734    FIELD(SMMU_CB7_TCR_LPAE, EPD1, 1, 23)
3735    FIELD(SMMU_CB7_TCR_LPAE, A1, 1, 22)
3736    FIELD(SMMU_CB7_TCR_LPAE, T1SZ_5_3, 3, 19)
3737    FIELD(SMMU_CB7_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
3738    FIELD(SMMU_CB7_TCR_LPAE, NSCFG0_TG0, 1, 14)
3739    FIELD(SMMU_CB7_TCR_LPAE, SH0, 2, 12)
3740    FIELD(SMMU_CB7_TCR_LPAE, ORGN0, 2, 10)
3741    FIELD(SMMU_CB7_TCR_LPAE, IRGN0, 2, 8)
3742    FIELD(SMMU_CB7_TCR_LPAE, SL0_1_EPD0, 1, 7)
3743    FIELD(SMMU_CB7_TCR_LPAE, SL0_0, 1, 6)
3744    FIELD(SMMU_CB7_TCR_LPAE, PD1_T0SZ_5, 1, 5)
3745    FIELD(SMMU_CB7_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
3746    FIELD(SMMU_CB7_TCR_LPAE, T0SZ_3_0, 4, 0)
3747REG32(SMMU_CB7_CONTEXTIDR, 0x17034)
3748    FIELD(SMMU_CB7_CONTEXTIDR, PROCID, 24, 8)
3749    FIELD(SMMU_CB7_CONTEXTIDR, ASID, 8, 0)
3750REG32(SMMU_CB7_PRRR_MAIR0, 0x17038)
3751    FIELD(SMMU_CB7_PRRR_MAIR0, NOS7, 1, 31)
3752    FIELD(SMMU_CB7_PRRR_MAIR0, NOS6, 1, 30)
3753    FIELD(SMMU_CB7_PRRR_MAIR0, NOS5, 1, 29)
3754    FIELD(SMMU_CB7_PRRR_MAIR0, NOS4, 1, 28)
3755    FIELD(SMMU_CB7_PRRR_MAIR0, NOS3, 1, 27)
3756    FIELD(SMMU_CB7_PRRR_MAIR0, NOS2, 1, 26)
3757    FIELD(SMMU_CB7_PRRR_MAIR0, NOS1, 1, 25)
3758    FIELD(SMMU_CB7_PRRR_MAIR0, NOS0, 1, 24)
3759    FIELD(SMMU_CB7_PRRR_MAIR0, NS1, 1, 19)
3760    FIELD(SMMU_CB7_PRRR_MAIR0, NS0, 1, 18)
3761    FIELD(SMMU_CB7_PRRR_MAIR0, DS1, 1, 17)
3762    FIELD(SMMU_CB7_PRRR_MAIR0, DS0, 1, 16)
3763    FIELD(SMMU_CB7_PRRR_MAIR0, TR7, 2, 14)
3764    FIELD(SMMU_CB7_PRRR_MAIR0, TR6, 2, 12)
3765    FIELD(SMMU_CB7_PRRR_MAIR0, TR5, 2, 10)
3766    FIELD(SMMU_CB7_PRRR_MAIR0, TR4, 2, 8)
3767    FIELD(SMMU_CB7_PRRR_MAIR0, TR3, 2, 6)
3768    FIELD(SMMU_CB7_PRRR_MAIR0, TR2, 2, 4)
3769    FIELD(SMMU_CB7_PRRR_MAIR0, TR1, 2, 2)
3770    FIELD(SMMU_CB7_PRRR_MAIR0, TR0, 2, 0)
3771REG32(SMMU_CB7_NMRR_MAIR1, 0x1703c)
3772    FIELD(SMMU_CB7_NMRR_MAIR1, OR7, 2, 30)
3773    FIELD(SMMU_CB7_NMRR_MAIR1, OR6, 2, 28)
3774    FIELD(SMMU_CB7_NMRR_MAIR1, OR5, 2, 26)
3775    FIELD(SMMU_CB7_NMRR_MAIR1, OR4, 2, 24)
3776    FIELD(SMMU_CB7_NMRR_MAIR1, OR3, 2, 22)
3777    FIELD(SMMU_CB7_NMRR_MAIR1, OR2, 2, 20)
3778    FIELD(SMMU_CB7_NMRR_MAIR1, OR1, 2, 18)
3779    FIELD(SMMU_CB7_NMRR_MAIR1, OR0, 2, 16)
3780    FIELD(SMMU_CB7_NMRR_MAIR1, IR7, 2, 14)
3781    FIELD(SMMU_CB7_NMRR_MAIR1, IR6, 2, 12)
3782    FIELD(SMMU_CB7_NMRR_MAIR1, IR5, 2, 10)
3783    FIELD(SMMU_CB7_NMRR_MAIR1, IR4, 2, 8)
3784    FIELD(SMMU_CB7_NMRR_MAIR1, IR3, 2, 6)
3785    FIELD(SMMU_CB7_NMRR_MAIR1, IR2, 2, 4)
3786    FIELD(SMMU_CB7_NMRR_MAIR1, IR1, 2, 2)
3787    FIELD(SMMU_CB7_NMRR_MAIR1, IR0, 2, 0)
3788REG32(SMMU_CB7_FSR, 0x17058)
3789    FIELD(SMMU_CB7_FSR, MULTI, 1, 31)
3790    FIELD(SMMU_CB7_FSR, SS, 1, 30)
3791    FIELD(SMMU_CB7_FSR, FORMAT, 2, 9)
3792    FIELD(SMMU_CB7_FSR, UUT, 1, 8)
3793    FIELD(SMMU_CB7_FSR, ASF, 1, 7)
3794    FIELD(SMMU_CB7_FSR, TLBLKF, 1, 6)
3795    FIELD(SMMU_CB7_FSR, TLBMCF, 1, 5)
3796    FIELD(SMMU_CB7_FSR, EF, 1, 4)
3797    FIELD(SMMU_CB7_FSR, PF, 1, 3)
3798    FIELD(SMMU_CB7_FSR, AFF, 1, 2)
3799    FIELD(SMMU_CB7_FSR, TF, 1, 1)
3800REG32(SMMU_CB7_FSRRESTORE, 0x1705c)
3801REG32(SMMU_CB7_FAR_LOW, 0x17060)
3802REG32(SMMU_CB7_FAR_HIGH, 0x17064)
3803    FIELD(SMMU_CB7_FAR_HIGH, BITS, 17, 0)
3804REG32(SMMU_CB7_FSYNR0, 0x17068)
3805    FIELD(SMMU_CB7_FSYNR0, S1CBNDX, 4, 16)
3806    FIELD(SMMU_CB7_FSYNR0, AFR, 1, 11)
3807    FIELD(SMMU_CB7_FSYNR0, PTWF, 1, 10)
3808    FIELD(SMMU_CB7_FSYNR0, ATOF, 1, 9)
3809    FIELD(SMMU_CB7_FSYNR0, NSATTR, 1, 8)
3810    FIELD(SMMU_CB7_FSYNR0, IND, 1, 6)
3811    FIELD(SMMU_CB7_FSYNR0, PNU, 1, 5)
3812    FIELD(SMMU_CB7_FSYNR0, WNR, 1, 4)
3813    FIELD(SMMU_CB7_FSYNR0, PLVL, 2, 0)
3814REG32(SMMU_CB7_IPAFAR_LOW, 0x17070)
3815    FIELD(SMMU_CB7_IPAFAR_LOW, IPAFAR_L, 20, 12)
3816    FIELD(SMMU_CB7_IPAFAR_LOW, FAR_RO, 12, 0)
3817REG32(SMMU_CB7_IPAFAR_HIGH, 0x17074)
3818    FIELD(SMMU_CB7_IPAFAR_HIGH, BITS, 16, 0)
3819REG32(SMMU_CB7_TLBIVA_LOW, 0x17600)
3820REG32(SMMU_CB7_TLBIVA_HIGH, 0x17604)
3821    FIELD(SMMU_CB7_TLBIVA_HIGH, ASID, 16, 16)
3822    FIELD(SMMU_CB7_TLBIVA_HIGH, ADDRESS, 5, 0)
3823REG32(SMMU_CB7_TLBIVAA_LOW, 0x17608)
3824REG32(SMMU_CB7_TLBIVAA_HIGH, 0x1760c)
3825    FIELD(SMMU_CB7_TLBIVAA_HIGH, ASID, 16, 16)
3826    FIELD(SMMU_CB7_TLBIVAA_HIGH, ADDRESS, 5, 0)
3827REG32(SMMU_CB7_TLBIASID, 0x17610)
3828    FIELD(SMMU_CB7_TLBIASID, ASID, 16, 0)
3829REG32(SMMU_CB7_TLBIALL, 0x17618)
3830REG32(SMMU_CB7_TLBIVAL_LOW, 0x17620)
3831REG32(SMMU_CB7_TLBIVAL_HIGH, 0x17624)
3832    FIELD(SMMU_CB7_TLBIVAL_HIGH, ASID, 16, 16)
3833    FIELD(SMMU_CB7_TLBIVAL_HIGH, ADDRESS, 5, 0)
3834REG32(SMMU_CB7_TLBIVAAL_LOW, 0x17628)
3835REG32(SMMU_CB7_TLBIVAAL_HIGH, 0x1762c)
3836    FIELD(SMMU_CB7_TLBIVAAL_HIGH, ASID, 16, 16)
3837    FIELD(SMMU_CB7_TLBIVAAL_HIGH, ADDRESS, 5, 0)
3838REG32(SMMU_CB7_TLBIIPAS2_LOW, 0x17630)
3839REG32(SMMU_CB7_TLBIIPAS2_HIGH, 0x17634)
3840    FIELD(SMMU_CB7_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
3841REG32(SMMU_CB7_TLBIIPAS2L_LOW, 0x17638)
3842REG32(SMMU_CB7_TLBIIPAS2L_HIGH, 0x1763c)
3843    FIELD(SMMU_CB7_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
3844REG32(SMMU_CB7_TLBSYNC, 0x177f0)
3845REG32(SMMU_CB7_TLBSTATUS, 0x177f4)
3846    FIELD(SMMU_CB7_TLBSTATUS, SACTIVE, 1, 0)
3847REG32(SMMU_CB7_PMEVCNTR0, 0x17e00)
3848REG32(SMMU_CB7_PMEVCNTR1, 0x17e04)
3849REG32(SMMU_CB7_PMEVCNTR2, 0x17e08)
3850REG32(SMMU_CB7_PMEVCNTR3, 0x17e0c)
3851REG32(SMMU_CB7_PMEVTYPER0, 0x17e80)
3852    FIELD(SMMU_CB7_PMEVTYPER0, P, 1, 31)
3853    FIELD(SMMU_CB7_PMEVTYPER0, U, 1, 30)
3854    FIELD(SMMU_CB7_PMEVTYPER0, NSP, 1, 29)
3855    FIELD(SMMU_CB7_PMEVTYPER0, NSU, 1, 28)
3856    FIELD(SMMU_CB7_PMEVTYPER0, EVENT, 5, 0)
3857REG32(SMMU_CB7_PMEVTYPER1, 0x17e84)
3858    FIELD(SMMU_CB7_PMEVTYPER1, P, 1, 31)
3859    FIELD(SMMU_CB7_PMEVTYPER1, U, 1, 30)
3860    FIELD(SMMU_CB7_PMEVTYPER1, NSP, 1, 29)
3861    FIELD(SMMU_CB7_PMEVTYPER1, NSU, 1, 28)
3862    FIELD(SMMU_CB7_PMEVTYPER1, EVENT, 5, 0)
3863REG32(SMMU_CB7_PMEVTYPER2, 0x17e88)
3864    FIELD(SMMU_CB7_PMEVTYPER2, P, 1, 31)
3865    FIELD(SMMU_CB7_PMEVTYPER2, U, 1, 30)
3866    FIELD(SMMU_CB7_PMEVTYPER2, NSP, 1, 29)
3867    FIELD(SMMU_CB7_PMEVTYPER2, NSU, 1, 28)
3868    FIELD(SMMU_CB7_PMEVTYPER2, EVENT, 5, 0)
3869REG32(SMMU_CB7_PMEVTYPER3, 0x17e8c)
3870    FIELD(SMMU_CB7_PMEVTYPER3, P, 1, 31)
3871    FIELD(SMMU_CB7_PMEVTYPER3, U, 1, 30)
3872    FIELD(SMMU_CB7_PMEVTYPER3, NSP, 1, 29)
3873    FIELD(SMMU_CB7_PMEVTYPER3, NSU, 1, 28)
3874    FIELD(SMMU_CB7_PMEVTYPER3, EVENT, 5, 0)
3875REG32(SMMU_CB7_PMCFGR, 0x17f00)
3876    FIELD(SMMU_CB7_PMCFGR, NCG, 8, 24)
3877    FIELD(SMMU_CB7_PMCFGR, UEN, 1, 19)
3878    FIELD(SMMU_CB7_PMCFGR, EX, 1, 16)
3879    FIELD(SMMU_CB7_PMCFGR, CCD, 1, 15)
3880    FIELD(SMMU_CB7_PMCFGR, CC, 1, 14)
3881    FIELD(SMMU_CB7_PMCFGR, SIZE, 6, 8)
3882    FIELD(SMMU_CB7_PMCFGR, N, 8, 0)
3883REG32(SMMU_CB7_PMCR, 0x17f04)
3884    FIELD(SMMU_CB7_PMCR, IMP, 8, 24)
3885    FIELD(SMMU_CB7_PMCR, X, 1, 4)
3886    FIELD(SMMU_CB7_PMCR, P, 1, 1)
3887    FIELD(SMMU_CB7_PMCR, E, 1, 0)
3888REG32(SMMU_CB7_PMCEID, 0x17f20)
3889    FIELD(SMMU_CB7_PMCEID, EVENT0X12, 1, 17)
3890    FIELD(SMMU_CB7_PMCEID, EVENT0X11, 1, 16)
3891    FIELD(SMMU_CB7_PMCEID, EVENT0X10, 1, 15)
3892    FIELD(SMMU_CB7_PMCEID, EVENT0X0A, 1, 9)
3893    FIELD(SMMU_CB7_PMCEID, EVENT0X09, 1, 8)
3894    FIELD(SMMU_CB7_PMCEID, EVENT0X08, 1, 7)
3895    FIELD(SMMU_CB7_PMCEID, EVENT0X01, 1, 1)
3896    FIELD(SMMU_CB7_PMCEID, EVENT0X00, 1, 0)
3897REG32(SMMU_CB7_PMCNTENSE, 0x17f40)
3898    FIELD(SMMU_CB7_PMCNTENSE, P3, 1, 3)
3899    FIELD(SMMU_CB7_PMCNTENSE, P2, 1, 2)
3900    FIELD(SMMU_CB7_PMCNTENSE, P1, 1, 1)
3901    FIELD(SMMU_CB7_PMCNTENSE, P0, 1, 0)
3902REG32(SMMU_CB7_PMCNTENCLR, 0x17f44)
3903    FIELD(SMMU_CB7_PMCNTENCLR, P3, 1, 3)
3904    FIELD(SMMU_CB7_PMCNTENCLR, P2, 1, 2)
3905    FIELD(SMMU_CB7_PMCNTENCLR, P1, 1, 1)
3906    FIELD(SMMU_CB7_PMCNTENCLR, P0, 1, 0)
3907REG32(SMMU_CB7_PMCNTENSET, 0x17f48)
3908    FIELD(SMMU_CB7_PMCNTENSET, P3, 1, 3)
3909    FIELD(SMMU_CB7_PMCNTENSET, P2, 1, 2)
3910    FIELD(SMMU_CB7_PMCNTENSET, P1, 1, 1)
3911    FIELD(SMMU_CB7_PMCNTENSET, P0, 1, 0)
3912REG32(SMMU_CB7_PMINTENCLR, 0x17f4c)
3913    FIELD(SMMU_CB7_PMINTENCLR, P3, 1, 3)
3914    FIELD(SMMU_CB7_PMINTENCLR, P2, 1, 2)
3915    FIELD(SMMU_CB7_PMINTENCLR, P1, 1, 1)
3916    FIELD(SMMU_CB7_PMINTENCLR, P0, 1, 0)
3917REG32(SMMU_CB7_PMOVSCLR, 0x17f50)
3918    FIELD(SMMU_CB7_PMOVSCLR, P3, 1, 3)
3919    FIELD(SMMU_CB7_PMOVSCLR, P2, 1, 2)
3920    FIELD(SMMU_CB7_PMOVSCLR, P1, 1, 1)
3921    FIELD(SMMU_CB7_PMOVSCLR, P0, 1, 0)
3922REG32(SMMU_CB7_PMOVSSET, 0x17f58)
3923    FIELD(SMMU_CB7_PMOVSSET, P3, 1, 3)
3924    FIELD(SMMU_CB7_PMOVSSET, P2, 1, 2)
3925    FIELD(SMMU_CB7_PMOVSSET, P1, 1, 1)
3926    FIELD(SMMU_CB7_PMOVSSET, P0, 1, 0)
3927REG32(SMMU_CB7_PMAUTHSTATUS, 0x17fb8)
3928    FIELD(SMMU_CB7_PMAUTHSTATUS, SNI, 1, 7)
3929    FIELD(SMMU_CB7_PMAUTHSTATUS, SNE, 1, 6)
3930    FIELD(SMMU_CB7_PMAUTHSTATUS, SI, 1, 5)
3931    FIELD(SMMU_CB7_PMAUTHSTATUS, SE, 1, 4)
3932    FIELD(SMMU_CB7_PMAUTHSTATUS, NSNI, 1, 3)
3933    FIELD(SMMU_CB7_PMAUTHSTATUS, NSNE, 1, 2)
3934    FIELD(SMMU_CB7_PMAUTHSTATUS, NSI, 1, 1)
3935    FIELD(SMMU_CB7_PMAUTHSTATUS, NSE, 1, 0)
3936REG32(SMMU_CB8_SCTLR, 0x18000)
3937    FIELD(SMMU_CB8_SCTLR, NSCFG, 2, 28)
3938    FIELD(SMMU_CB8_SCTLR, WACFG, 2, 26)
3939    FIELD(SMMU_CB8_SCTLR, RACFG, 2, 24)
3940    FIELD(SMMU_CB8_SCTLR, SHCFG, 2, 22)
3941    FIELD(SMMU_CB8_SCTLR, FB, 1, 21)
3942    FIELD(SMMU_CB8_SCTLR, MTCFG, 1, 20)
3943    FIELD(SMMU_CB8_SCTLR, MEMATTR, 4, 16)
3944    FIELD(SMMU_CB8_SCTLR, TRANSIENTCFG, 2, 14)
3945    FIELD(SMMU_CB8_SCTLR, PTW, 1, 13)
3946    FIELD(SMMU_CB8_SCTLR, ASIDPNE, 1, 12)
3947    FIELD(SMMU_CB8_SCTLR, UWXN, 1, 10)
3948    FIELD(SMMU_CB8_SCTLR, WXN, 1, 9)
3949    FIELD(SMMU_CB8_SCTLR, HUPCF, 1, 8)
3950    FIELD(SMMU_CB8_SCTLR, CFCFG, 1, 7)
3951    FIELD(SMMU_CB8_SCTLR, CFIE, 1, 6)
3952    FIELD(SMMU_CB8_SCTLR, CFRE, 1, 5)
3953    FIELD(SMMU_CB8_SCTLR, E, 1, 4)
3954    FIELD(SMMU_CB8_SCTLR, AFFD, 1, 3)
3955    FIELD(SMMU_CB8_SCTLR, AFE, 1, 2)
3956    FIELD(SMMU_CB8_SCTLR, TRE, 1, 1)
3957    FIELD(SMMU_CB8_SCTLR, M, 1, 0)
3958REG32(SMMU_CB8_ACTLR, 0x18004)
3959    FIELD(SMMU_CB8_ACTLR, CPRE, 1, 1)
3960    FIELD(SMMU_CB8_ACTLR, CMTLB, 1, 0)
3961REG32(SMMU_CB8_RESUME, 0x18008)
3962    FIELD(SMMU_CB8_RESUME, TNR, 1, 0)
3963REG32(SMMU_CB8_TCR2, 0x18010)
3964    FIELD(SMMU_CB8_TCR2, NSCFG1, 1, 30)
3965    FIELD(SMMU_CB8_TCR2, SEP, 3, 15)
3966    FIELD(SMMU_CB8_TCR2, NSCFG0, 1, 14)
3967    FIELD(SMMU_CB8_TCR2, TBI1, 1, 6)
3968    FIELD(SMMU_CB8_TCR2, TBI0, 1, 5)
3969    FIELD(SMMU_CB8_TCR2, AS, 1, 4)
3970    FIELD(SMMU_CB8_TCR2, PASIZE, 3, 0)
3971REG32(SMMU_CB8_TTBR0_LOW, 0x18020)
3972    FIELD(SMMU_CB8_TTBR0_LOW, ADDRESS_31_7, 25, 7)
3973    FIELD(SMMU_CB8_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
3974    FIELD(SMMU_CB8_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
3975    FIELD(SMMU_CB8_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
3976    FIELD(SMMU_CB8_TTBR0_LOW, ADDRESS_2, 1, 2)
3977    FIELD(SMMU_CB8_TTBR0_LOW, ADDRESS_1_S, 1, 1)
3978    FIELD(SMMU_CB8_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
3979REG32(SMMU_CB8_TTBR0_HIGH, 0x18024)
3980    FIELD(SMMU_CB8_TTBR0_HIGH, ASID, 16, 16)
3981    FIELD(SMMU_CB8_TTBR0_HIGH, ADDRESS, 16, 0)
3982REG32(SMMU_CB8_TTBR1_LOW, 0x18028)
3983    FIELD(SMMU_CB8_TTBR1_LOW, ADDRESS_31_7, 25, 7)
3984    FIELD(SMMU_CB8_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
3985    FIELD(SMMU_CB8_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
3986    FIELD(SMMU_CB8_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
3987    FIELD(SMMU_CB8_TTBR1_LOW, ADDRESS_2, 1, 2)
3988    FIELD(SMMU_CB8_TTBR1_LOW, ADDRESS_1_S, 1, 1)
3989    FIELD(SMMU_CB8_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
3990REG32(SMMU_CB8_TTBR1_HIGH, 0x1802c)
3991    FIELD(SMMU_CB8_TTBR1_HIGH, ASID, 16, 16)
3992    FIELD(SMMU_CB8_TTBR1_HIGH, ADDRESS, 16, 0)
3993REG32(SMMU_CB8_TCR_LPAE, 0x18030)
3994    FIELD(SMMU_CB8_TCR_LPAE, EAE, 1, 31)
3995    FIELD(SMMU_CB8_TCR_LPAE, NSCFG1_TG1, 1, 30)
3996    FIELD(SMMU_CB8_TCR_LPAE, SH1, 2, 28)
3997    FIELD(SMMU_CB8_TCR_LPAE, ORGN1, 2, 26)
3998    FIELD(SMMU_CB8_TCR_LPAE, IRGN1, 2, 24)
3999    FIELD(SMMU_CB8_TCR_LPAE, EPD1, 1, 23)
4000    FIELD(SMMU_CB8_TCR_LPAE, A1, 1, 22)
4001    FIELD(SMMU_CB8_TCR_LPAE, T1SZ_5_3, 3, 19)
4002    FIELD(SMMU_CB8_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
4003    FIELD(SMMU_CB8_TCR_LPAE, NSCFG0_TG0, 1, 14)
4004    FIELD(SMMU_CB8_TCR_LPAE, SH0, 2, 12)
4005    FIELD(SMMU_CB8_TCR_LPAE, ORGN0, 2, 10)
4006    FIELD(SMMU_CB8_TCR_LPAE, IRGN0, 2, 8)
4007    FIELD(SMMU_CB8_TCR_LPAE, SL0_1_EPD0, 1, 7)
4008    FIELD(SMMU_CB8_TCR_LPAE, SL0_0, 1, 6)
4009    FIELD(SMMU_CB8_TCR_LPAE, PD1_T0SZ_5, 1, 5)
4010    FIELD(SMMU_CB8_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
4011    FIELD(SMMU_CB8_TCR_LPAE, T0SZ_3_0, 4, 0)
4012REG32(SMMU_CB8_CONTEXTIDR, 0x18034)
4013    FIELD(SMMU_CB8_CONTEXTIDR, PROCID, 24, 8)
4014    FIELD(SMMU_CB8_CONTEXTIDR, ASID, 8, 0)
4015REG32(SMMU_CB8_PRRR_MAIR0, 0x18038)
4016    FIELD(SMMU_CB8_PRRR_MAIR0, NOS7, 1, 31)
4017    FIELD(SMMU_CB8_PRRR_MAIR0, NOS6, 1, 30)
4018    FIELD(SMMU_CB8_PRRR_MAIR0, NOS5, 1, 29)
4019    FIELD(SMMU_CB8_PRRR_MAIR0, NOS4, 1, 28)
4020    FIELD(SMMU_CB8_PRRR_MAIR0, NOS3, 1, 27)
4021    FIELD(SMMU_CB8_PRRR_MAIR0, NOS2, 1, 26)
4022    FIELD(SMMU_CB8_PRRR_MAIR0, NOS1, 1, 25)
4023    FIELD(SMMU_CB8_PRRR_MAIR0, NOS0, 1, 24)
4024    FIELD(SMMU_CB8_PRRR_MAIR0, NS1, 1, 19)
4025    FIELD(SMMU_CB8_PRRR_MAIR0, NS0, 1, 18)
4026    FIELD(SMMU_CB8_PRRR_MAIR0, DS1, 1, 17)
4027    FIELD(SMMU_CB8_PRRR_MAIR0, DS0, 1, 16)
4028    FIELD(SMMU_CB8_PRRR_MAIR0, TR7, 2, 14)
4029    FIELD(SMMU_CB8_PRRR_MAIR0, TR6, 2, 12)
4030    FIELD(SMMU_CB8_PRRR_MAIR0, TR5, 2, 10)
4031    FIELD(SMMU_CB8_PRRR_MAIR0, TR4, 2, 8)
4032    FIELD(SMMU_CB8_PRRR_MAIR0, TR3, 2, 6)
4033    FIELD(SMMU_CB8_PRRR_MAIR0, TR2, 2, 4)
4034    FIELD(SMMU_CB8_PRRR_MAIR0, TR1, 2, 2)
4035    FIELD(SMMU_CB8_PRRR_MAIR0, TR0, 2, 0)
4036REG32(SMMU_CB8_NMRR_MAIR1, 0x1803c)
4037    FIELD(SMMU_CB8_NMRR_MAIR1, OR7, 2, 30)
4038    FIELD(SMMU_CB8_NMRR_MAIR1, OR6, 2, 28)
4039    FIELD(SMMU_CB8_NMRR_MAIR1, OR5, 2, 26)
4040    FIELD(SMMU_CB8_NMRR_MAIR1, OR4, 2, 24)
4041    FIELD(SMMU_CB8_NMRR_MAIR1, OR3, 2, 22)
4042    FIELD(SMMU_CB8_NMRR_MAIR1, OR2, 2, 20)
4043    FIELD(SMMU_CB8_NMRR_MAIR1, OR1, 2, 18)
4044    FIELD(SMMU_CB8_NMRR_MAIR1, OR0, 2, 16)
4045    FIELD(SMMU_CB8_NMRR_MAIR1, IR7, 2, 14)
4046    FIELD(SMMU_CB8_NMRR_MAIR1, IR6, 2, 12)
4047    FIELD(SMMU_CB8_NMRR_MAIR1, IR5, 2, 10)
4048    FIELD(SMMU_CB8_NMRR_MAIR1, IR4, 2, 8)
4049    FIELD(SMMU_CB8_NMRR_MAIR1, IR3, 2, 6)
4050    FIELD(SMMU_CB8_NMRR_MAIR1, IR2, 2, 4)
4051    FIELD(SMMU_CB8_NMRR_MAIR1, IR1, 2, 2)
4052    FIELD(SMMU_CB8_NMRR_MAIR1, IR0, 2, 0)
4053REG32(SMMU_CB8_FSR, 0x18058)
4054    FIELD(SMMU_CB8_FSR, MULTI, 1, 31)
4055    FIELD(SMMU_CB8_FSR, SS, 1, 30)
4056    FIELD(SMMU_CB8_FSR, FORMAT, 2, 9)
4057    FIELD(SMMU_CB8_FSR, UUT, 1, 8)
4058    FIELD(SMMU_CB8_FSR, ASF, 1, 7)
4059    FIELD(SMMU_CB8_FSR, TLBLKF, 1, 6)
4060    FIELD(SMMU_CB8_FSR, TLBMCF, 1, 5)
4061    FIELD(SMMU_CB8_FSR, EF, 1, 4)
4062    FIELD(SMMU_CB8_FSR, PF, 1, 3)
4063    FIELD(SMMU_CB8_FSR, AFF, 1, 2)
4064    FIELD(SMMU_CB8_FSR, TF, 1, 1)
4065REG32(SMMU_CB8_FSRRESTORE, 0x1805c)
4066REG32(SMMU_CB8_FAR_LOW, 0x18060)
4067REG32(SMMU_CB8_FAR_HIGH, 0x18064)
4068    FIELD(SMMU_CB8_FAR_HIGH, BITS, 17, 0)
4069REG32(SMMU_CB8_FSYNR0, 0x18068)
4070    FIELD(SMMU_CB8_FSYNR0, S1CBNDX, 4, 16)
4071    FIELD(SMMU_CB8_FSYNR0, AFR, 1, 11)
4072    FIELD(SMMU_CB8_FSYNR0, PTWF, 1, 10)
4073    FIELD(SMMU_CB8_FSYNR0, ATOF, 1, 9)
4074    FIELD(SMMU_CB8_FSYNR0, NSATTR, 1, 8)
4075    FIELD(SMMU_CB8_FSYNR0, IND, 1, 6)
4076    FIELD(SMMU_CB8_FSYNR0, PNU, 1, 5)
4077    FIELD(SMMU_CB8_FSYNR0, WNR, 1, 4)
4078    FIELD(SMMU_CB8_FSYNR0, PLVL, 2, 0)
4079REG32(SMMU_CB8_IPAFAR_LOW, 0x18070)
4080    FIELD(SMMU_CB8_IPAFAR_LOW, IPAFAR_L, 20, 12)
4081    FIELD(SMMU_CB8_IPAFAR_LOW, FAR_RO, 12, 0)
4082REG32(SMMU_CB8_IPAFAR_HIGH, 0x18074)
4083    FIELD(SMMU_CB8_IPAFAR_HIGH, BITS, 16, 0)
4084REG32(SMMU_CB8_TLBIVA_LOW, 0x18600)
4085REG32(SMMU_CB8_TLBIVA_HIGH, 0x18604)
4086    FIELD(SMMU_CB8_TLBIVA_HIGH, ASID, 16, 16)
4087    FIELD(SMMU_CB8_TLBIVA_HIGH, ADDRESS, 5, 0)
4088REG32(SMMU_CB8_TLBIVAA_LOW, 0x18608)
4089REG32(SMMU_CB8_TLBIVAA_HIGH, 0x1860c)
4090    FIELD(SMMU_CB8_TLBIVAA_HIGH, ASID, 16, 16)
4091    FIELD(SMMU_CB8_TLBIVAA_HIGH, ADDRESS, 5, 0)
4092REG32(SMMU_CB8_TLBIASID, 0x18610)
4093    FIELD(SMMU_CB8_TLBIASID, ASID, 16, 0)
4094REG32(SMMU_CB8_TLBIALL, 0x18618)
4095REG32(SMMU_CB8_TLBIVAL_LOW, 0x18620)
4096REG32(SMMU_CB8_TLBIVAL_HIGH, 0x18624)
4097    FIELD(SMMU_CB8_TLBIVAL_HIGH, ASID, 16, 16)
4098    FIELD(SMMU_CB8_TLBIVAL_HIGH, ADDRESS, 5, 0)
4099REG32(SMMU_CB8_TLBIVAAL_LOW, 0x18628)
4100REG32(SMMU_CB8_TLBIVAAL_HIGH, 0x1862c)
4101    FIELD(SMMU_CB8_TLBIVAAL_HIGH, ASID, 16, 16)
4102    FIELD(SMMU_CB8_TLBIVAAL_HIGH, ADDRESS, 5, 0)
4103REG32(SMMU_CB8_TLBIIPAS2_LOW, 0x18630)
4104REG32(SMMU_CB8_TLBIIPAS2_HIGH, 0x18634)
4105    FIELD(SMMU_CB8_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
4106REG32(SMMU_CB8_TLBIIPAS2L_LOW, 0x18638)
4107REG32(SMMU_CB8_TLBIIPAS2L_HIGH, 0x1863c)
4108    FIELD(SMMU_CB8_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
4109REG32(SMMU_CB8_TLBSYNC, 0x187f0)
4110REG32(SMMU_CB8_TLBSTATUS, 0x187f4)
4111    FIELD(SMMU_CB8_TLBSTATUS, SACTIVE, 1, 0)
4112REG32(SMMU_CB8_PMEVCNTR0, 0x18e00)
4113REG32(SMMU_CB8_PMEVCNTR1, 0x18e04)
4114REG32(SMMU_CB8_PMEVCNTR2, 0x18e08)
4115REG32(SMMU_CB8_PMEVCNTR3, 0x18e0c)
4116REG32(SMMU_CB8_PMEVTYPER0, 0x18e80)
4117    FIELD(SMMU_CB8_PMEVTYPER0, P, 1, 31)
4118    FIELD(SMMU_CB8_PMEVTYPER0, U, 1, 30)
4119    FIELD(SMMU_CB8_PMEVTYPER0, NSP, 1, 29)
4120    FIELD(SMMU_CB8_PMEVTYPER0, NSU, 1, 28)
4121    FIELD(SMMU_CB8_PMEVTYPER0, EVENT, 5, 0)
4122REG32(SMMU_CB8_PMEVTYPER1, 0x18e84)
4123    FIELD(SMMU_CB8_PMEVTYPER1, P, 1, 31)
4124    FIELD(SMMU_CB8_PMEVTYPER1, U, 1, 30)
4125    FIELD(SMMU_CB8_PMEVTYPER1, NSP, 1, 29)
4126    FIELD(SMMU_CB8_PMEVTYPER1, NSU, 1, 28)
4127    FIELD(SMMU_CB8_PMEVTYPER1, EVENT, 5, 0)
4128REG32(SMMU_CB8_PMEVTYPER2, 0x18e88)
4129    FIELD(SMMU_CB8_PMEVTYPER2, P, 1, 31)
4130    FIELD(SMMU_CB8_PMEVTYPER2, U, 1, 30)
4131    FIELD(SMMU_CB8_PMEVTYPER2, NSP, 1, 29)
4132    FIELD(SMMU_CB8_PMEVTYPER2, NSU, 1, 28)
4133    FIELD(SMMU_CB8_PMEVTYPER2, EVENT, 5, 0)
4134REG32(SMMU_CB8_PMEVTYPER3, 0x18e8c)
4135    FIELD(SMMU_CB8_PMEVTYPER3, P, 1, 31)
4136    FIELD(SMMU_CB8_PMEVTYPER3, U, 1, 30)
4137    FIELD(SMMU_CB8_PMEVTYPER3, NSP, 1, 29)
4138    FIELD(SMMU_CB8_PMEVTYPER3, NSU, 1, 28)
4139    FIELD(SMMU_CB8_PMEVTYPER3, EVENT, 5, 0)
4140REG32(SMMU_CB8_PMCFGR, 0x18f00)
4141    FIELD(SMMU_CB8_PMCFGR, NCG, 8, 24)
4142    FIELD(SMMU_CB8_PMCFGR, UEN, 1, 19)
4143    FIELD(SMMU_CB8_PMCFGR, EX, 1, 16)
4144    FIELD(SMMU_CB8_PMCFGR, CCD, 1, 15)
4145    FIELD(SMMU_CB8_PMCFGR, CC, 1, 14)
4146    FIELD(SMMU_CB8_PMCFGR, SIZE, 6, 8)
4147    FIELD(SMMU_CB8_PMCFGR, N, 8, 0)
4148REG32(SMMU_CB8_PMCR, 0x18f04)
4149    FIELD(SMMU_CB8_PMCR, IMP, 8, 24)
4150    FIELD(SMMU_CB8_PMCR, X, 1, 4)
4151    FIELD(SMMU_CB8_PMCR, P, 1, 1)
4152    FIELD(SMMU_CB8_PMCR, E, 1, 0)
4153REG32(SMMU_CB8_PMCEID, 0x18f20)
4154    FIELD(SMMU_CB8_PMCEID, EVENT0X12, 1, 17)
4155    FIELD(SMMU_CB8_PMCEID, EVENT0X11, 1, 16)
4156    FIELD(SMMU_CB8_PMCEID, EVENT0X10, 1, 15)
4157    FIELD(SMMU_CB8_PMCEID, EVENT0X0A, 1, 9)
4158    FIELD(SMMU_CB8_PMCEID, EVENT0X09, 1, 8)
4159    FIELD(SMMU_CB8_PMCEID, EVENT0X08, 1, 7)
4160    FIELD(SMMU_CB8_PMCEID, EVENT0X01, 1, 1)
4161    FIELD(SMMU_CB8_PMCEID, EVENT0X00, 1, 0)
4162REG32(SMMU_CB8_PMCNTENSE, 0x18f40)
4163    FIELD(SMMU_CB8_PMCNTENSE, P3, 1, 3)
4164    FIELD(SMMU_CB8_PMCNTENSE, P2, 1, 2)
4165    FIELD(SMMU_CB8_PMCNTENSE, P1, 1, 1)
4166    FIELD(SMMU_CB8_PMCNTENSE, P0, 1, 0)
4167REG32(SMMU_CB8_PMCNTENCLR, 0x18f44)
4168    FIELD(SMMU_CB8_PMCNTENCLR, P3, 1, 3)
4169    FIELD(SMMU_CB8_PMCNTENCLR, P2, 1, 2)
4170    FIELD(SMMU_CB8_PMCNTENCLR, P1, 1, 1)
4171    FIELD(SMMU_CB8_PMCNTENCLR, P0, 1, 0)
4172REG32(SMMU_CB8_PMCNTENSET, 0x18f48)
4173    FIELD(SMMU_CB8_PMCNTENSET, P3, 1, 3)
4174    FIELD(SMMU_CB8_PMCNTENSET, P2, 1, 2)
4175    FIELD(SMMU_CB8_PMCNTENSET, P1, 1, 1)
4176    FIELD(SMMU_CB8_PMCNTENSET, P0, 1, 0)
4177REG32(SMMU_CB8_PMINTENCLR, 0x18f4c)
4178    FIELD(SMMU_CB8_PMINTENCLR, P3, 1, 3)
4179    FIELD(SMMU_CB8_PMINTENCLR, P2, 1, 2)
4180    FIELD(SMMU_CB8_PMINTENCLR, P1, 1, 1)
4181    FIELD(SMMU_CB8_PMINTENCLR, P0, 1, 0)
4182REG32(SMMU_CB8_PMOVSCLR, 0x18f50)
4183    FIELD(SMMU_CB8_PMOVSCLR, P3, 1, 3)
4184    FIELD(SMMU_CB8_PMOVSCLR, P2, 1, 2)
4185    FIELD(SMMU_CB8_PMOVSCLR, P1, 1, 1)
4186    FIELD(SMMU_CB8_PMOVSCLR, P0, 1, 0)
4187REG32(SMMU_CB8_PMOVSSET, 0x18f58)
4188    FIELD(SMMU_CB8_PMOVSSET, P3, 1, 3)
4189    FIELD(SMMU_CB8_PMOVSSET, P2, 1, 2)
4190    FIELD(SMMU_CB8_PMOVSSET, P1, 1, 1)
4191    FIELD(SMMU_CB8_PMOVSSET, P0, 1, 0)
4192REG32(SMMU_CB8_PMAUTHSTATUS, 0x18fb8)
4193    FIELD(SMMU_CB8_PMAUTHSTATUS, SNI, 1, 7)
4194    FIELD(SMMU_CB8_PMAUTHSTATUS, SNE, 1, 6)
4195    FIELD(SMMU_CB8_PMAUTHSTATUS, SI, 1, 5)
4196    FIELD(SMMU_CB8_PMAUTHSTATUS, SE, 1, 4)
4197    FIELD(SMMU_CB8_PMAUTHSTATUS, NSNI, 1, 3)
4198    FIELD(SMMU_CB8_PMAUTHSTATUS, NSNE, 1, 2)
4199    FIELD(SMMU_CB8_PMAUTHSTATUS, NSI, 1, 1)
4200    FIELD(SMMU_CB8_PMAUTHSTATUS, NSE, 1, 0)
4201REG32(SMMU_CB9_SCTLR, 0x19000)
4202    FIELD(SMMU_CB9_SCTLR, NSCFG, 2, 28)
4203    FIELD(SMMU_CB9_SCTLR, WACFG, 2, 26)
4204    FIELD(SMMU_CB9_SCTLR, RACFG, 2, 24)
4205    FIELD(SMMU_CB9_SCTLR, SHCFG, 2, 22)
4206    FIELD(SMMU_CB9_SCTLR, FB, 1, 21)
4207    FIELD(SMMU_CB9_SCTLR, MTCFG, 1, 20)
4208    FIELD(SMMU_CB9_SCTLR, MEMATTR, 4, 16)
4209    FIELD(SMMU_CB9_SCTLR, TRANSIENTCFG, 2, 14)
4210    FIELD(SMMU_CB9_SCTLR, PTW, 1, 13)
4211    FIELD(SMMU_CB9_SCTLR, ASIDPNE, 1, 12)
4212    FIELD(SMMU_CB9_SCTLR, UWXN, 1, 10)
4213    FIELD(SMMU_CB9_SCTLR, WXN, 1, 9)
4214    FIELD(SMMU_CB9_SCTLR, HUPCF, 1, 8)
4215    FIELD(SMMU_CB9_SCTLR, CFCFG, 1, 7)
4216    FIELD(SMMU_CB9_SCTLR, CFIE, 1, 6)
4217    FIELD(SMMU_CB9_SCTLR, CFRE, 1, 5)
4218    FIELD(SMMU_CB9_SCTLR, E, 1, 4)
4219    FIELD(SMMU_CB9_SCTLR, AFFD, 1, 3)
4220    FIELD(SMMU_CB9_SCTLR, AFE, 1, 2)
4221    FIELD(SMMU_CB9_SCTLR, TRE, 1, 1)
4222    FIELD(SMMU_CB9_SCTLR, M, 1, 0)
4223REG32(SMMU_CB9_ACTLR, 0x19004)
4224    FIELD(SMMU_CB9_ACTLR, CPRE, 1, 1)
4225    FIELD(SMMU_CB9_ACTLR, CMTLB, 1, 0)
4226REG32(SMMU_CB9_RESUME, 0x19008)
4227    FIELD(SMMU_CB9_RESUME, TNR, 1, 0)
4228REG32(SMMU_CB9_TCR2, 0x19010)
4229    FIELD(SMMU_CB9_TCR2, NSCFG1, 1, 30)
4230    FIELD(SMMU_CB9_TCR2, SEP, 3, 15)
4231    FIELD(SMMU_CB9_TCR2, NSCFG0, 1, 14)
4232    FIELD(SMMU_CB9_TCR2, TBI1, 1, 6)
4233    FIELD(SMMU_CB9_TCR2, TBI0, 1, 5)
4234    FIELD(SMMU_CB9_TCR2, AS, 1, 4)
4235    FIELD(SMMU_CB9_TCR2, PASIZE, 3, 0)
4236REG32(SMMU_CB9_TTBR0_LOW, 0x19020)
4237    FIELD(SMMU_CB9_TTBR0_LOW, ADDRESS_31_7, 25, 7)
4238    FIELD(SMMU_CB9_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
4239    FIELD(SMMU_CB9_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
4240    FIELD(SMMU_CB9_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
4241    FIELD(SMMU_CB9_TTBR0_LOW, ADDRESS_2, 1, 2)
4242    FIELD(SMMU_CB9_TTBR0_LOW, ADDRESS_1_S, 1, 1)
4243    FIELD(SMMU_CB9_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
4244REG32(SMMU_CB9_TTBR0_HIGH, 0x19024)
4245    FIELD(SMMU_CB9_TTBR0_HIGH, ASID, 16, 16)
4246    FIELD(SMMU_CB9_TTBR0_HIGH, ADDRESS, 16, 0)
4247REG32(SMMU_CB9_TTBR1_LOW, 0x19028)
4248    FIELD(SMMU_CB9_TTBR1_LOW, ADDRESS_31_7, 25, 7)
4249    FIELD(SMMU_CB9_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
4250    FIELD(SMMU_CB9_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
4251    FIELD(SMMU_CB9_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
4252    FIELD(SMMU_CB9_TTBR1_LOW, ADDRESS_2, 1, 2)
4253    FIELD(SMMU_CB9_TTBR1_LOW, ADDRESS_1_S, 1, 1)
4254    FIELD(SMMU_CB9_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
4255REG32(SMMU_CB9_TTBR1_HIGH, 0x1902c)
4256    FIELD(SMMU_CB9_TTBR1_HIGH, ASID, 16, 16)
4257    FIELD(SMMU_CB9_TTBR1_HIGH, ADDRESS, 16, 0)
4258REG32(SMMU_CB9_TCR_LPAE, 0x19030)
4259    FIELD(SMMU_CB9_TCR_LPAE, EAE, 1, 31)
4260    FIELD(SMMU_CB9_TCR_LPAE, NSCFG1_TG1, 1, 30)
4261    FIELD(SMMU_CB9_TCR_LPAE, SH1, 2, 28)
4262    FIELD(SMMU_CB9_TCR_LPAE, ORGN1, 2, 26)
4263    FIELD(SMMU_CB9_TCR_LPAE, IRGN1, 2, 24)
4264    FIELD(SMMU_CB9_TCR_LPAE, EPD1, 1, 23)
4265    FIELD(SMMU_CB9_TCR_LPAE, A1, 1, 22)
4266    FIELD(SMMU_CB9_TCR_LPAE, T1SZ_5_3, 3, 19)
4267    FIELD(SMMU_CB9_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
4268    FIELD(SMMU_CB9_TCR_LPAE, NSCFG0_TG0, 1, 14)
4269    FIELD(SMMU_CB9_TCR_LPAE, SH0, 2, 12)
4270    FIELD(SMMU_CB9_TCR_LPAE, ORGN0, 2, 10)
4271    FIELD(SMMU_CB9_TCR_LPAE, IRGN0, 2, 8)
4272    FIELD(SMMU_CB9_TCR_LPAE, SL0_1_EPD0, 1, 7)
4273    FIELD(SMMU_CB9_TCR_LPAE, SL0_0, 1, 6)
4274    FIELD(SMMU_CB9_TCR_LPAE, PD1_T0SZ_5, 1, 5)
4275    FIELD(SMMU_CB9_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
4276    FIELD(SMMU_CB9_TCR_LPAE, T0SZ_3_0, 4, 0)
4277REG32(SMMU_CB9_CONTEXTIDR, 0x19034)
4278    FIELD(SMMU_CB9_CONTEXTIDR, PROCID, 24, 8)
4279    FIELD(SMMU_CB9_CONTEXTIDR, ASID, 8, 0)
4280REG32(SMMU_CB9_PRRR_MAIR0, 0x19038)
4281    FIELD(SMMU_CB9_PRRR_MAIR0, NOS7, 1, 31)
4282    FIELD(SMMU_CB9_PRRR_MAIR0, NOS6, 1, 30)
4283    FIELD(SMMU_CB9_PRRR_MAIR0, NOS5, 1, 29)
4284    FIELD(SMMU_CB9_PRRR_MAIR0, NOS4, 1, 28)
4285    FIELD(SMMU_CB9_PRRR_MAIR0, NOS3, 1, 27)
4286    FIELD(SMMU_CB9_PRRR_MAIR0, NOS2, 1, 26)
4287    FIELD(SMMU_CB9_PRRR_MAIR0, NOS1, 1, 25)
4288    FIELD(SMMU_CB9_PRRR_MAIR0, NOS0, 1, 24)
4289    FIELD(SMMU_CB9_PRRR_MAIR0, NS1, 1, 19)
4290    FIELD(SMMU_CB9_PRRR_MAIR0, NS0, 1, 18)
4291    FIELD(SMMU_CB9_PRRR_MAIR0, DS1, 1, 17)
4292    FIELD(SMMU_CB9_PRRR_MAIR0, DS0, 1, 16)
4293    FIELD(SMMU_CB9_PRRR_MAIR0, TR7, 2, 14)
4294    FIELD(SMMU_CB9_PRRR_MAIR0, TR6, 2, 12)
4295    FIELD(SMMU_CB9_PRRR_MAIR0, TR5, 2, 10)
4296    FIELD(SMMU_CB9_PRRR_MAIR0, TR4, 2, 8)
4297    FIELD(SMMU_CB9_PRRR_MAIR0, TR3, 2, 6)
4298    FIELD(SMMU_CB9_PRRR_MAIR0, TR2, 2, 4)
4299    FIELD(SMMU_CB9_PRRR_MAIR0, TR1, 2, 2)
4300    FIELD(SMMU_CB9_PRRR_MAIR0, TR0, 2, 0)
4301REG32(SMMU_CB9_NMRR_MAIR1, 0x1903c)
4302    FIELD(SMMU_CB9_NMRR_MAIR1, OR7, 2, 30)
4303    FIELD(SMMU_CB9_NMRR_MAIR1, OR6, 2, 28)
4304    FIELD(SMMU_CB9_NMRR_MAIR1, OR5, 2, 26)
4305    FIELD(SMMU_CB9_NMRR_MAIR1, OR4, 2, 24)
4306    FIELD(SMMU_CB9_NMRR_MAIR1, OR3, 2, 22)
4307    FIELD(SMMU_CB9_NMRR_MAIR1, OR2, 2, 20)
4308    FIELD(SMMU_CB9_NMRR_MAIR1, OR1, 2, 18)
4309    FIELD(SMMU_CB9_NMRR_MAIR1, OR0, 2, 16)
4310    FIELD(SMMU_CB9_NMRR_MAIR1, IR7, 2, 14)
4311    FIELD(SMMU_CB9_NMRR_MAIR1, IR6, 2, 12)
4312    FIELD(SMMU_CB9_NMRR_MAIR1, IR5, 2, 10)
4313    FIELD(SMMU_CB9_NMRR_MAIR1, IR4, 2, 8)
4314    FIELD(SMMU_CB9_NMRR_MAIR1, IR3, 2, 6)
4315    FIELD(SMMU_CB9_NMRR_MAIR1, IR2, 2, 4)
4316    FIELD(SMMU_CB9_NMRR_MAIR1, IR1, 2, 2)
4317    FIELD(SMMU_CB9_NMRR_MAIR1, IR0, 2, 0)
4318REG32(SMMU_CB9_FSR, 0x19058)
4319    FIELD(SMMU_CB9_FSR, MULTI, 1, 31)
4320    FIELD(SMMU_CB9_FSR, SS, 1, 30)
4321    FIELD(SMMU_CB9_FSR, FORMAT, 2, 9)
4322    FIELD(SMMU_CB9_FSR, UUT, 1, 8)
4323    FIELD(SMMU_CB9_FSR, ASF, 1, 7)
4324    FIELD(SMMU_CB9_FSR, TLBLKF, 1, 6)
4325    FIELD(SMMU_CB9_FSR, TLBMCF, 1, 5)
4326    FIELD(SMMU_CB9_FSR, EF, 1, 4)
4327    FIELD(SMMU_CB9_FSR, PF, 1, 3)
4328    FIELD(SMMU_CB9_FSR, AFF, 1, 2)
4329    FIELD(SMMU_CB9_FSR, TF, 1, 1)
4330REG32(SMMU_CB9_FSRRESTORE, 0x1905c)
4331REG32(SMMU_CB9_FAR_LOW, 0x19060)
4332REG32(SMMU_CB9_FAR_HIGH, 0x19064)
4333    FIELD(SMMU_CB9_FAR_HIGH, BITS, 17, 0)
4334REG32(SMMU_CB9_FSYNR0, 0x19068)
4335    FIELD(SMMU_CB9_FSYNR0, S1CBNDX, 4, 16)
4336    FIELD(SMMU_CB9_FSYNR0, AFR, 1, 11)
4337    FIELD(SMMU_CB9_FSYNR0, PTWF, 1, 10)
4338    FIELD(SMMU_CB9_FSYNR0, ATOF, 1, 9)
4339    FIELD(SMMU_CB9_FSYNR0, NSATTR, 1, 8)
4340    FIELD(SMMU_CB9_FSYNR0, IND, 1, 6)
4341    FIELD(SMMU_CB9_FSYNR0, PNU, 1, 5)
4342    FIELD(SMMU_CB9_FSYNR0, WNR, 1, 4)
4343    FIELD(SMMU_CB9_FSYNR0, PLVL, 2, 0)
4344REG32(SMMU_CB9_IPAFAR_LOW, 0x19070)
4345    FIELD(SMMU_CB9_IPAFAR_LOW, IPAFAR_L, 20, 12)
4346    FIELD(SMMU_CB9_IPAFAR_LOW, FAR_RO, 12, 0)
4347REG32(SMMU_CB9_IPAFAR_HIGH, 0x19074)
4348    FIELD(SMMU_CB9_IPAFAR_HIGH, BITS, 16, 0)
4349REG32(SMMU_CB9_TLBIVA_LOW, 0x19600)
4350REG32(SMMU_CB9_TLBIVA_HIGH, 0x19604)
4351    FIELD(SMMU_CB9_TLBIVA_HIGH, ASID, 16, 16)
4352    FIELD(SMMU_CB9_TLBIVA_HIGH, ADDRESS, 5, 0)
4353REG32(SMMU_CB9_TLBIVAA_LOW, 0x19608)
4354REG32(SMMU_CB9_TLBIVAA_HIGH, 0x1960c)
4355    FIELD(SMMU_CB9_TLBIVAA_HIGH, ASID, 16, 16)
4356    FIELD(SMMU_CB9_TLBIVAA_HIGH, ADDRESS, 5, 0)
4357REG32(SMMU_CB9_TLBIASID, 0x19610)
4358    FIELD(SMMU_CB9_TLBIASID, ASID, 16, 0)
4359REG32(SMMU_CB9_TLBIALL, 0x19618)
4360REG32(SMMU_CB9_TLBIVAL_LOW, 0x19620)
4361REG32(SMMU_CB9_TLBIVAL_HIGH, 0x19624)
4362    FIELD(SMMU_CB9_TLBIVAL_HIGH, ASID, 16, 16)
4363    FIELD(SMMU_CB9_TLBIVAL_HIGH, ADDRESS, 5, 0)
4364REG32(SMMU_CB9_TLBIVAAL_LOW, 0x19628)
4365REG32(SMMU_CB9_TLBIVAAL_HIGH, 0x1962c)
4366    FIELD(SMMU_CB9_TLBIVAAL_HIGH, ASID, 16, 16)
4367    FIELD(SMMU_CB9_TLBIVAAL_HIGH, ADDRESS, 5, 0)
4368REG32(SMMU_CB9_TLBIIPAS2_LOW, 0x19630)
4369REG32(SMMU_CB9_TLBIIPAS2_HIGH, 0x19634)
4370    FIELD(SMMU_CB9_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
4371REG32(SMMU_CB9_TLBIIPAS2L_LOW, 0x19638)
4372REG32(SMMU_CB9_TLBIIPAS2L_HIGH, 0x1963c)
4373    FIELD(SMMU_CB9_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
4374REG32(SMMU_CB9_TLBSYNC, 0x197f0)
4375REG32(SMMU_CB9_TLBSTATUS, 0x197f4)
4376    FIELD(SMMU_CB9_TLBSTATUS, SACTIVE, 1, 0)
4377REG32(SMMU_CB9_PMEVCNTR0, 0x19e00)
4378REG32(SMMU_CB9_PMEVCNTR1, 0x19e04)
4379REG32(SMMU_CB9_PMEVCNTR2, 0x19e08)
4380REG32(SMMU_CB9_PMEVCNTR3, 0x19e0c)
4381REG32(SMMU_CB9_PMEVTYPER0, 0x19e80)
4382    FIELD(SMMU_CB9_PMEVTYPER0, P, 1, 31)
4383    FIELD(SMMU_CB9_PMEVTYPER0, U, 1, 30)
4384    FIELD(SMMU_CB9_PMEVTYPER0, NSP, 1, 29)
4385    FIELD(SMMU_CB9_PMEVTYPER0, NSU, 1, 28)
4386    FIELD(SMMU_CB9_PMEVTYPER0, EVENT, 5, 0)
4387REG32(SMMU_CB9_PMEVTYPER1, 0x19e84)
4388    FIELD(SMMU_CB9_PMEVTYPER1, P, 1, 31)
4389    FIELD(SMMU_CB9_PMEVTYPER1, U, 1, 30)
4390    FIELD(SMMU_CB9_PMEVTYPER1, NSP, 1, 29)
4391    FIELD(SMMU_CB9_PMEVTYPER1, NSU, 1, 28)
4392    FIELD(SMMU_CB9_PMEVTYPER1, EVENT, 5, 0)
4393REG32(SMMU_CB9_PMEVTYPER2, 0x19e88)
4394    FIELD(SMMU_CB9_PMEVTYPER2, P, 1, 31)
4395    FIELD(SMMU_CB9_PMEVTYPER2, U, 1, 30)
4396    FIELD(SMMU_CB9_PMEVTYPER2, NSP, 1, 29)
4397    FIELD(SMMU_CB9_PMEVTYPER2, NSU, 1, 28)
4398    FIELD(SMMU_CB9_PMEVTYPER2, EVENT, 5, 0)
4399REG32(SMMU_CB9_PMEVTYPER3, 0x19e8c)
4400    FIELD(SMMU_CB9_PMEVTYPER3, P, 1, 31)
4401    FIELD(SMMU_CB9_PMEVTYPER3, U, 1, 30)
4402    FIELD(SMMU_CB9_PMEVTYPER3, NSP, 1, 29)
4403    FIELD(SMMU_CB9_PMEVTYPER3, NSU, 1, 28)
4404    FIELD(SMMU_CB9_PMEVTYPER3, EVENT, 5, 0)
4405REG32(SMMU_CB9_PMCFGR, 0x19f00)
4406    FIELD(SMMU_CB9_PMCFGR, NCG, 8, 24)
4407    FIELD(SMMU_CB9_PMCFGR, UEN, 1, 19)
4408    FIELD(SMMU_CB9_PMCFGR, EX, 1, 16)
4409    FIELD(SMMU_CB9_PMCFGR, CCD, 1, 15)
4410    FIELD(SMMU_CB9_PMCFGR, CC, 1, 14)
4411    FIELD(SMMU_CB9_PMCFGR, SIZE, 6, 8)
4412    FIELD(SMMU_CB9_PMCFGR, N, 8, 0)
4413REG32(SMMU_CB9_PMCR, 0x19f04)
4414    FIELD(SMMU_CB9_PMCR, IMP, 8, 24)
4415    FIELD(SMMU_CB9_PMCR, X, 1, 4)
4416    FIELD(SMMU_CB9_PMCR, P, 1, 1)
4417    FIELD(SMMU_CB9_PMCR, E, 1, 0)
4418REG32(SMMU_CB9_PMCEID, 0x19f20)
4419    FIELD(SMMU_CB9_PMCEID, EVENT0X12, 1, 17)
4420    FIELD(SMMU_CB9_PMCEID, EVENT0X11, 1, 16)
4421    FIELD(SMMU_CB9_PMCEID, EVENT0X10, 1, 15)
4422    FIELD(SMMU_CB9_PMCEID, EVENT0X0A, 1, 9)
4423    FIELD(SMMU_CB9_PMCEID, EVENT0X09, 1, 8)
4424    FIELD(SMMU_CB9_PMCEID, EVENT0X08, 1, 7)
4425    FIELD(SMMU_CB9_PMCEID, EVENT0X01, 1, 1)
4426    FIELD(SMMU_CB9_PMCEID, EVENT0X00, 1, 0)
4427REG32(SMMU_CB9_PMCNTENSE, 0x19f40)
4428    FIELD(SMMU_CB9_PMCNTENSE, P3, 1, 3)
4429    FIELD(SMMU_CB9_PMCNTENSE, P2, 1, 2)
4430    FIELD(SMMU_CB9_PMCNTENSE, P1, 1, 1)
4431    FIELD(SMMU_CB9_PMCNTENSE, P0, 1, 0)
4432REG32(SMMU_CB9_PMCNTENCLR, 0x19f44)
4433    FIELD(SMMU_CB9_PMCNTENCLR, P3, 1, 3)
4434    FIELD(SMMU_CB9_PMCNTENCLR, P2, 1, 2)
4435    FIELD(SMMU_CB9_PMCNTENCLR, P1, 1, 1)
4436    FIELD(SMMU_CB9_PMCNTENCLR, P0, 1, 0)
4437REG32(SMMU_CB9_PMCNTENSET, 0x19f48)
4438    FIELD(SMMU_CB9_PMCNTENSET, P3, 1, 3)
4439    FIELD(SMMU_CB9_PMCNTENSET, P2, 1, 2)
4440    FIELD(SMMU_CB9_PMCNTENSET, P1, 1, 1)
4441    FIELD(SMMU_CB9_PMCNTENSET, P0, 1, 0)
4442REG32(SMMU_CB9_PMINTENCLR, 0x19f4c)
4443    FIELD(SMMU_CB9_PMINTENCLR, P3, 1, 3)
4444    FIELD(SMMU_CB9_PMINTENCLR, P2, 1, 2)
4445    FIELD(SMMU_CB9_PMINTENCLR, P1, 1, 1)
4446    FIELD(SMMU_CB9_PMINTENCLR, P0, 1, 0)
4447REG32(SMMU_CB9_PMOVSCLR, 0x19f50)
4448    FIELD(SMMU_CB9_PMOVSCLR, P3, 1, 3)
4449    FIELD(SMMU_CB9_PMOVSCLR, P2, 1, 2)
4450    FIELD(SMMU_CB9_PMOVSCLR, P1, 1, 1)
4451    FIELD(SMMU_CB9_PMOVSCLR, P0, 1, 0)
4452REG32(SMMU_CB9_PMOVSSET, 0x19f58)
4453    FIELD(SMMU_CB9_PMOVSSET, P3, 1, 3)
4454    FIELD(SMMU_CB9_PMOVSSET, P2, 1, 2)
4455    FIELD(SMMU_CB9_PMOVSSET, P1, 1, 1)
4456    FIELD(SMMU_CB9_PMOVSSET, P0, 1, 0)
4457REG32(SMMU_CB9_PMAUTHSTATUS, 0x19fb8)
4458    FIELD(SMMU_CB9_PMAUTHSTATUS, SNI, 1, 7)
4459    FIELD(SMMU_CB9_PMAUTHSTATUS, SNE, 1, 6)
4460    FIELD(SMMU_CB9_PMAUTHSTATUS, SI, 1, 5)
4461    FIELD(SMMU_CB9_PMAUTHSTATUS, SE, 1, 4)
4462    FIELD(SMMU_CB9_PMAUTHSTATUS, NSNI, 1, 3)
4463    FIELD(SMMU_CB9_PMAUTHSTATUS, NSNE, 1, 2)
4464    FIELD(SMMU_CB9_PMAUTHSTATUS, NSI, 1, 1)
4465    FIELD(SMMU_CB9_PMAUTHSTATUS, NSE, 1, 0)
4466REG32(SMMU_CB10_SCTLR, 0x1a000)
4467    FIELD(SMMU_CB10_SCTLR, NSCFG, 2, 28)
4468    FIELD(SMMU_CB10_SCTLR, WACFG, 2, 26)
4469    FIELD(SMMU_CB10_SCTLR, RACFG, 2, 24)
4470    FIELD(SMMU_CB10_SCTLR, SHCFG, 2, 22)
4471    FIELD(SMMU_CB10_SCTLR, FB, 1, 21)
4472    FIELD(SMMU_CB10_SCTLR, MTCFG, 1, 20)
4473    FIELD(SMMU_CB10_SCTLR, MEMATTR, 4, 16)
4474    FIELD(SMMU_CB10_SCTLR, TRANSIENTCFG, 2, 14)
4475    FIELD(SMMU_CB10_SCTLR, PTW, 1, 13)
4476    FIELD(SMMU_CB10_SCTLR, ASIDPNE, 1, 12)
4477    FIELD(SMMU_CB10_SCTLR, UWXN, 1, 10)
4478    FIELD(SMMU_CB10_SCTLR, WXN, 1, 9)
4479    FIELD(SMMU_CB10_SCTLR, HUPCF, 1, 8)
4480    FIELD(SMMU_CB10_SCTLR, CFCFG, 1, 7)
4481    FIELD(SMMU_CB10_SCTLR, CFIE, 1, 6)
4482    FIELD(SMMU_CB10_SCTLR, CFRE, 1, 5)
4483    FIELD(SMMU_CB10_SCTLR, E, 1, 4)
4484    FIELD(SMMU_CB10_SCTLR, AFFD, 1, 3)
4485    FIELD(SMMU_CB10_SCTLR, AFE, 1, 2)
4486    FIELD(SMMU_CB10_SCTLR, TRE, 1, 1)
4487    FIELD(SMMU_CB10_SCTLR, M, 1, 0)
4488REG32(SMMU_CB10_ACTLR, 0x1a004)
4489    FIELD(SMMU_CB10_ACTLR, CPRE, 1, 1)
4490    FIELD(SMMU_CB10_ACTLR, CMTLB, 1, 0)
4491REG32(SMMU_CB10_RESUME, 0x1a008)
4492    FIELD(SMMU_CB10_RESUME, TNR, 1, 0)
4493REG32(SMMU_CB10_TCR2, 0x1a010)
4494    FIELD(SMMU_CB10_TCR2, NSCFG1, 1, 30)
4495    FIELD(SMMU_CB10_TCR2, SEP, 3, 15)
4496    FIELD(SMMU_CB10_TCR2, NSCFG0, 1, 14)
4497    FIELD(SMMU_CB10_TCR2, TBI1, 1, 6)
4498    FIELD(SMMU_CB10_TCR2, TBI0, 1, 5)
4499    FIELD(SMMU_CB10_TCR2, AS, 1, 4)
4500    FIELD(SMMU_CB10_TCR2, PASIZE, 3, 0)
4501REG32(SMMU_CB10_TTBR0_LOW, 0x1a020)
4502    FIELD(SMMU_CB10_TTBR0_LOW, ADDRESS_31_7, 25, 7)
4503    FIELD(SMMU_CB10_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
4504    FIELD(SMMU_CB10_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
4505    FIELD(SMMU_CB10_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
4506    FIELD(SMMU_CB10_TTBR0_LOW, ADDRESS_2, 1, 2)
4507    FIELD(SMMU_CB10_TTBR0_LOW, ADDRESS_1_S, 1, 1)
4508    FIELD(SMMU_CB10_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
4509REG32(SMMU_CB10_TTBR0_HIGH, 0x1a024)
4510    FIELD(SMMU_CB10_TTBR0_HIGH, ASID, 16, 16)
4511    FIELD(SMMU_CB10_TTBR0_HIGH, ADDRESS, 16, 0)
4512REG32(SMMU_CB10_TTBR1_LOW, 0x1a028)
4513    FIELD(SMMU_CB10_TTBR1_LOW, ADDRESS_31_7, 25, 7)
4514    FIELD(SMMU_CB10_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
4515    FIELD(SMMU_CB10_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
4516    FIELD(SMMU_CB10_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
4517    FIELD(SMMU_CB10_TTBR1_LOW, ADDRESS_2, 1, 2)
4518    FIELD(SMMU_CB10_TTBR1_LOW, ADDRESS_1_S, 1, 1)
4519    FIELD(SMMU_CB10_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
4520REG32(SMMU_CB10_TTBR1_HIGH, 0x1a02c)
4521    FIELD(SMMU_CB10_TTBR1_HIGH, ASID, 16, 16)
4522    FIELD(SMMU_CB10_TTBR1_HIGH, ADDRESS, 16, 0)
4523REG32(SMMU_CB10_TCR_LPAE, 0x1a030)
4524    FIELD(SMMU_CB10_TCR_LPAE, EAE, 1, 31)
4525    FIELD(SMMU_CB10_TCR_LPAE, NSCFG1_TG1, 1, 30)
4526    FIELD(SMMU_CB10_TCR_LPAE, SH1, 2, 28)
4527    FIELD(SMMU_CB10_TCR_LPAE, ORGN1, 2, 26)
4528    FIELD(SMMU_CB10_TCR_LPAE, IRGN1, 2, 24)
4529    FIELD(SMMU_CB10_TCR_LPAE, EPD1, 1, 23)
4530    FIELD(SMMU_CB10_TCR_LPAE, A1, 1, 22)
4531    FIELD(SMMU_CB10_TCR_LPAE, T1SZ_5_3, 3, 19)
4532    FIELD(SMMU_CB10_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
4533    FIELD(SMMU_CB10_TCR_LPAE, NSCFG0_TG0, 1, 14)
4534    FIELD(SMMU_CB10_TCR_LPAE, SH0, 2, 12)
4535    FIELD(SMMU_CB10_TCR_LPAE, ORGN0, 2, 10)
4536    FIELD(SMMU_CB10_TCR_LPAE, IRGN0, 2, 8)
4537    FIELD(SMMU_CB10_TCR_LPAE, SL0_1_EPD0, 1, 7)
4538    FIELD(SMMU_CB10_TCR_LPAE, SL0_0, 1, 6)
4539    FIELD(SMMU_CB10_TCR_LPAE, PD1_T0SZ_5, 1, 5)
4540    FIELD(SMMU_CB10_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
4541    FIELD(SMMU_CB10_TCR_LPAE, T0SZ_3_0, 4, 0)
4542REG32(SMMU_CB10_CONTEXTIDR, 0x1a034)
4543    FIELD(SMMU_CB10_CONTEXTIDR, PROCID, 24, 8)
4544    FIELD(SMMU_CB10_CONTEXTIDR, ASID, 8, 0)
4545REG32(SMMU_CB10_PRRR_MAIR0, 0x1a038)
4546    FIELD(SMMU_CB10_PRRR_MAIR0, NOS7, 1, 31)
4547    FIELD(SMMU_CB10_PRRR_MAIR0, NOS6, 1, 30)
4548    FIELD(SMMU_CB10_PRRR_MAIR0, NOS5, 1, 29)
4549    FIELD(SMMU_CB10_PRRR_MAIR0, NOS4, 1, 28)
4550    FIELD(SMMU_CB10_PRRR_MAIR0, NOS3, 1, 27)
4551    FIELD(SMMU_CB10_PRRR_MAIR0, NOS2, 1, 26)
4552    FIELD(SMMU_CB10_PRRR_MAIR0, NOS1, 1, 25)
4553    FIELD(SMMU_CB10_PRRR_MAIR0, NOS0, 1, 24)
4554    FIELD(SMMU_CB10_PRRR_MAIR0, NS1, 1, 19)
4555    FIELD(SMMU_CB10_PRRR_MAIR0, NS0, 1, 18)
4556    FIELD(SMMU_CB10_PRRR_MAIR0, DS1, 1, 17)
4557    FIELD(SMMU_CB10_PRRR_MAIR0, DS0, 1, 16)
4558    FIELD(SMMU_CB10_PRRR_MAIR0, TR7, 2, 14)
4559    FIELD(SMMU_CB10_PRRR_MAIR0, TR6, 2, 12)
4560    FIELD(SMMU_CB10_PRRR_MAIR0, TR5, 2, 10)
4561    FIELD(SMMU_CB10_PRRR_MAIR0, TR4, 2, 8)
4562    FIELD(SMMU_CB10_PRRR_MAIR0, TR3, 2, 6)
4563    FIELD(SMMU_CB10_PRRR_MAIR0, TR2, 2, 4)
4564    FIELD(SMMU_CB10_PRRR_MAIR0, TR1, 2, 2)
4565    FIELD(SMMU_CB10_PRRR_MAIR0, TR0, 2, 0)
4566REG32(SMMU_CB10_NMRR_MAIR1, 0x1a03c)
4567    FIELD(SMMU_CB10_NMRR_MAIR1, OR7, 2, 30)
4568    FIELD(SMMU_CB10_NMRR_MAIR1, OR6, 2, 28)
4569    FIELD(SMMU_CB10_NMRR_MAIR1, OR5, 2, 26)
4570    FIELD(SMMU_CB10_NMRR_MAIR1, OR4, 2, 24)
4571    FIELD(SMMU_CB10_NMRR_MAIR1, OR3, 2, 22)
4572    FIELD(SMMU_CB10_NMRR_MAIR1, OR2, 2, 20)
4573    FIELD(SMMU_CB10_NMRR_MAIR1, OR1, 2, 18)
4574    FIELD(SMMU_CB10_NMRR_MAIR1, OR0, 2, 16)
4575    FIELD(SMMU_CB10_NMRR_MAIR1, IR7, 2, 14)
4576    FIELD(SMMU_CB10_NMRR_MAIR1, IR6, 2, 12)
4577    FIELD(SMMU_CB10_NMRR_MAIR1, IR5, 2, 10)
4578    FIELD(SMMU_CB10_NMRR_MAIR1, IR4, 2, 8)
4579    FIELD(SMMU_CB10_NMRR_MAIR1, IR3, 2, 6)
4580    FIELD(SMMU_CB10_NMRR_MAIR1, IR2, 2, 4)
4581    FIELD(SMMU_CB10_NMRR_MAIR1, IR1, 2, 2)
4582    FIELD(SMMU_CB10_NMRR_MAIR1, IR0, 2, 0)
4583REG32(SMMU_CB10_FSR, 0x1a058)
4584    FIELD(SMMU_CB10_FSR, MULTI, 1, 31)
4585    FIELD(SMMU_CB10_FSR, SS, 1, 30)
4586    FIELD(SMMU_CB10_FSR, FORMAT, 2, 9)
4587    FIELD(SMMU_CB10_FSR, UUT, 1, 8)
4588    FIELD(SMMU_CB10_FSR, ASF, 1, 7)
4589    FIELD(SMMU_CB10_FSR, TLBLKF, 1, 6)
4590    FIELD(SMMU_CB10_FSR, TLBMCF, 1, 5)
4591    FIELD(SMMU_CB10_FSR, EF, 1, 4)
4592    FIELD(SMMU_CB10_FSR, PF, 1, 3)
4593    FIELD(SMMU_CB10_FSR, AFF, 1, 2)
4594    FIELD(SMMU_CB10_FSR, TF, 1, 1)
4595REG32(SMMU_CB10_FSRRESTORE, 0x1a05c)
4596REG32(SMMU_CB10_FAR_LOW, 0x1a060)
4597REG32(SMMU_CB10_FAR_HIGH, 0x1a064)
4598    FIELD(SMMU_CB10_FAR_HIGH, BITS, 17, 0)
4599REG32(SMMU_CB10_FSYNR0, 0x1a068)
4600    FIELD(SMMU_CB10_FSYNR0, S1CBNDX, 4, 16)
4601    FIELD(SMMU_CB10_FSYNR0, AFR, 1, 11)
4602    FIELD(SMMU_CB10_FSYNR0, PTWF, 1, 10)
4603    FIELD(SMMU_CB10_FSYNR0, ATOF, 1, 9)
4604    FIELD(SMMU_CB10_FSYNR0, NSATTR, 1, 8)
4605    FIELD(SMMU_CB10_FSYNR0, IND, 1, 6)
4606    FIELD(SMMU_CB10_FSYNR0, PNU, 1, 5)
4607    FIELD(SMMU_CB10_FSYNR0, WNR, 1, 4)
4608    FIELD(SMMU_CB10_FSYNR0, PLVL, 2, 0)
4609REG32(SMMU_CB10_IPAFAR_LOW, 0x1a070)
4610    FIELD(SMMU_CB10_IPAFAR_LOW, IPAFAR_L, 20, 12)
4611    FIELD(SMMU_CB10_IPAFAR_LOW, FAR_RO, 12, 0)
4612REG32(SMMU_CB10_IPAFAR_HIGH, 0x1a074)
4613    FIELD(SMMU_CB10_IPAFAR_HIGH, BITS, 16, 0)
4614REG32(SMMU_CB10_TLBIVA_LOW, 0x1a600)
4615REG32(SMMU_CB10_TLBIVA_HIGH, 0x1a604)
4616    FIELD(SMMU_CB10_TLBIVA_HIGH, ASID, 16, 16)
4617    FIELD(SMMU_CB10_TLBIVA_HIGH, ADDRESS, 5, 0)
4618REG32(SMMU_CB10_TLBIVAA_LOW, 0x1a608)
4619REG32(SMMU_CB10_TLBIVAA_HIGH, 0x1a60c)
4620    FIELD(SMMU_CB10_TLBIVAA_HIGH, ASID, 16, 16)
4621    FIELD(SMMU_CB10_TLBIVAA_HIGH, ADDRESS, 5, 0)
4622REG32(SMMU_CB10_TLBIASID, 0x1a610)
4623    FIELD(SMMU_CB10_TLBIASID, ASID, 16, 0)
4624REG32(SMMU_CB10_TLBIALL, 0x1a618)
4625REG32(SMMU_CB10_TLBIVAL_LOW, 0x1a620)
4626REG32(SMMU_CB10_TLBIVAL_HIGH, 0x1a624)
4627    FIELD(SMMU_CB10_TLBIVAL_HIGH, ASID, 16, 16)
4628    FIELD(SMMU_CB10_TLBIVAL_HIGH, ADDRESS, 5, 0)
4629REG32(SMMU_CB10_TLBIVAAL_LOW, 0x1a628)
4630REG32(SMMU_CB10_TLBIVAAL_HIGH, 0x1a62c)
4631    FIELD(SMMU_CB10_TLBIVAAL_HIGH, ASID, 16, 16)
4632    FIELD(SMMU_CB10_TLBIVAAL_HIGH, ADDRESS, 5, 0)
4633REG32(SMMU_CB10_TLBIIPAS2_LOW, 0x1a630)
4634REG32(SMMU_CB10_TLBIIPAS2_HIGH, 0x1a634)
4635    FIELD(SMMU_CB10_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
4636REG32(SMMU_CB10_TLBIIPAS2L_LOW, 0x1a638)
4637REG32(SMMU_CB10_TLBIIPAS2L_HIGH, 0x1a63c)
4638    FIELD(SMMU_CB10_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
4639REG32(SMMU_CB10_TLBSYNC, 0x1a7f0)
4640REG32(SMMU_CB10_TLBSTATUS, 0x1a7f4)
4641    FIELD(SMMU_CB10_TLBSTATUS, SACTIVE, 1, 0)
4642REG32(SMMU_CB10_PMEVCNTR0, 0x1ae00)
4643REG32(SMMU_CB10_PMEVCNTR1, 0x1ae04)
4644REG32(SMMU_CB10_PMEVCNTR2, 0x1ae08)
4645REG32(SMMU_CB10_PMEVCNTR3, 0x1ae0c)
4646REG32(SMMU_CB10_PMEVTYPER0, 0x1ae80)
4647    FIELD(SMMU_CB10_PMEVTYPER0, P, 1, 31)
4648    FIELD(SMMU_CB10_PMEVTYPER0, U, 1, 30)
4649    FIELD(SMMU_CB10_PMEVTYPER0, NSP, 1, 29)
4650    FIELD(SMMU_CB10_PMEVTYPER0, NSU, 1, 28)
4651    FIELD(SMMU_CB10_PMEVTYPER0, EVENT, 5, 0)
4652REG32(SMMU_CB10_PMEVTYPER1, 0x1ae84)
4653    FIELD(SMMU_CB10_PMEVTYPER1, P, 1, 31)
4654    FIELD(SMMU_CB10_PMEVTYPER1, U, 1, 30)
4655    FIELD(SMMU_CB10_PMEVTYPER1, NSP, 1, 29)
4656    FIELD(SMMU_CB10_PMEVTYPER1, NSU, 1, 28)
4657    FIELD(SMMU_CB10_PMEVTYPER1, EVENT, 5, 0)
4658REG32(SMMU_CB10_PMEVTYPER2, 0x1ae88)
4659    FIELD(SMMU_CB10_PMEVTYPER2, P, 1, 31)
4660    FIELD(SMMU_CB10_PMEVTYPER2, U, 1, 30)
4661    FIELD(SMMU_CB10_PMEVTYPER2, NSP, 1, 29)
4662    FIELD(SMMU_CB10_PMEVTYPER2, NSU, 1, 28)
4663    FIELD(SMMU_CB10_PMEVTYPER2, EVENT, 5, 0)
4664REG32(SMMU_CB10_PMEVTYPER3, 0x1ae8c)
4665    FIELD(SMMU_CB10_PMEVTYPER3, P, 1, 31)
4666    FIELD(SMMU_CB10_PMEVTYPER3, U, 1, 30)
4667    FIELD(SMMU_CB10_PMEVTYPER3, NSP, 1, 29)
4668    FIELD(SMMU_CB10_PMEVTYPER3, NSU, 1, 28)
4669    FIELD(SMMU_CB10_PMEVTYPER3, EVENT, 5, 0)
4670REG32(SMMU_CB10_PMCFGR, 0x1af00)
4671    FIELD(SMMU_CB10_PMCFGR, NCG, 8, 24)
4672    FIELD(SMMU_CB10_PMCFGR, UEN, 1, 19)
4673    FIELD(SMMU_CB10_PMCFGR, EX, 1, 16)
4674    FIELD(SMMU_CB10_PMCFGR, CCD, 1, 15)
4675    FIELD(SMMU_CB10_PMCFGR, CC, 1, 14)
4676    FIELD(SMMU_CB10_PMCFGR, SIZE, 6, 8)
4677    FIELD(SMMU_CB10_PMCFGR, N, 8, 0)
4678REG32(SMMU_CB10_PMCR, 0x1af04)
4679    FIELD(SMMU_CB10_PMCR, IMP, 8, 24)
4680    FIELD(SMMU_CB10_PMCR, X, 1, 4)
4681    FIELD(SMMU_CB10_PMCR, P, 1, 1)
4682    FIELD(SMMU_CB10_PMCR, E, 1, 0)
4683REG32(SMMU_CB10_PMCEID, 0x1af20)
4684    FIELD(SMMU_CB10_PMCEID, EVENT0X12, 1, 17)
4685    FIELD(SMMU_CB10_PMCEID, EVENT0X11, 1, 16)
4686    FIELD(SMMU_CB10_PMCEID, EVENT0X10, 1, 15)
4687    FIELD(SMMU_CB10_PMCEID, EVENT0X0A, 1, 9)
4688    FIELD(SMMU_CB10_PMCEID, EVENT0X09, 1, 8)
4689    FIELD(SMMU_CB10_PMCEID, EVENT0X08, 1, 7)
4690    FIELD(SMMU_CB10_PMCEID, EVENT0X01, 1, 1)
4691    FIELD(SMMU_CB10_PMCEID, EVENT0X00, 1, 0)
4692REG32(SMMU_CB10_PMCNTENSE, 0x1af40)
4693    FIELD(SMMU_CB10_PMCNTENSE, P3, 1, 3)
4694    FIELD(SMMU_CB10_PMCNTENSE, P2, 1, 2)
4695    FIELD(SMMU_CB10_PMCNTENSE, P1, 1, 1)
4696    FIELD(SMMU_CB10_PMCNTENSE, P0, 1, 0)
4697REG32(SMMU_CB10_PMCNTENCLR, 0x1af44)
4698    FIELD(SMMU_CB10_PMCNTENCLR, P3, 1, 3)
4699    FIELD(SMMU_CB10_PMCNTENCLR, P2, 1, 2)
4700    FIELD(SMMU_CB10_PMCNTENCLR, P1, 1, 1)
4701    FIELD(SMMU_CB10_PMCNTENCLR, P0, 1, 0)
4702REG32(SMMU_CB10_PMCNTENSET, 0x1af48)
4703    FIELD(SMMU_CB10_PMCNTENSET, P3, 1, 3)
4704    FIELD(SMMU_CB10_PMCNTENSET, P2, 1, 2)
4705    FIELD(SMMU_CB10_PMCNTENSET, P1, 1, 1)
4706    FIELD(SMMU_CB10_PMCNTENSET, P0, 1, 0)
4707REG32(SMMU_CB10_PMINTENCLR, 0x1af4c)
4708    FIELD(SMMU_CB10_PMINTENCLR, P3, 1, 3)
4709    FIELD(SMMU_CB10_PMINTENCLR, P2, 1, 2)
4710    FIELD(SMMU_CB10_PMINTENCLR, P1, 1, 1)
4711    FIELD(SMMU_CB10_PMINTENCLR, P0, 1, 0)
4712REG32(SMMU_CB10_PMOVSCLR, 0x1af50)
4713    FIELD(SMMU_CB10_PMOVSCLR, P3, 1, 3)
4714    FIELD(SMMU_CB10_PMOVSCLR, P2, 1, 2)
4715    FIELD(SMMU_CB10_PMOVSCLR, P1, 1, 1)
4716    FIELD(SMMU_CB10_PMOVSCLR, P0, 1, 0)
4717REG32(SMMU_CB10_PMOVSSET, 0x1af58)
4718    FIELD(SMMU_CB10_PMOVSSET, P3, 1, 3)
4719    FIELD(SMMU_CB10_PMOVSSET, P2, 1, 2)
4720    FIELD(SMMU_CB10_PMOVSSET, P1, 1, 1)
4721    FIELD(SMMU_CB10_PMOVSSET, P0, 1, 0)
4722REG32(SMMU_CB10_PMAUTHSTATUS, 0x1afb8)
4723    FIELD(SMMU_CB10_PMAUTHSTATUS, SNI, 1, 7)
4724    FIELD(SMMU_CB10_PMAUTHSTATUS, SNE, 1, 6)
4725    FIELD(SMMU_CB10_PMAUTHSTATUS, SI, 1, 5)
4726    FIELD(SMMU_CB10_PMAUTHSTATUS, SE, 1, 4)
4727    FIELD(SMMU_CB10_PMAUTHSTATUS, NSNI, 1, 3)
4728    FIELD(SMMU_CB10_PMAUTHSTATUS, NSNE, 1, 2)
4729    FIELD(SMMU_CB10_PMAUTHSTATUS, NSI, 1, 1)
4730    FIELD(SMMU_CB10_PMAUTHSTATUS, NSE, 1, 0)
4731REG32(SMMU_CB11_SCTLR, 0x1b000)
4732    FIELD(SMMU_CB11_SCTLR, NSCFG, 2, 28)
4733    FIELD(SMMU_CB11_SCTLR, WACFG, 2, 26)
4734    FIELD(SMMU_CB11_SCTLR, RACFG, 2, 24)
4735    FIELD(SMMU_CB11_SCTLR, SHCFG, 2, 22)
4736    FIELD(SMMU_CB11_SCTLR, FB, 1, 21)
4737    FIELD(SMMU_CB11_SCTLR, MTCFG, 1, 20)
4738    FIELD(SMMU_CB11_SCTLR, MEMATTR, 4, 16)
4739    FIELD(SMMU_CB11_SCTLR, TRANSIENTCFG, 2, 14)
4740    FIELD(SMMU_CB11_SCTLR, PTW, 1, 13)
4741    FIELD(SMMU_CB11_SCTLR, ASIDPNE, 1, 12)
4742    FIELD(SMMU_CB11_SCTLR, UWXN, 1, 10)
4743    FIELD(SMMU_CB11_SCTLR, WXN, 1, 9)
4744    FIELD(SMMU_CB11_SCTLR, HUPCF, 1, 8)
4745    FIELD(SMMU_CB11_SCTLR, CFCFG, 1, 7)
4746    FIELD(SMMU_CB11_SCTLR, CFIE, 1, 6)
4747    FIELD(SMMU_CB11_SCTLR, CFRE, 1, 5)
4748    FIELD(SMMU_CB11_SCTLR, E, 1, 4)
4749    FIELD(SMMU_CB11_SCTLR, AFFD, 1, 3)
4750    FIELD(SMMU_CB11_SCTLR, AFE, 1, 2)
4751    FIELD(SMMU_CB11_SCTLR, TRE, 1, 1)
4752    FIELD(SMMU_CB11_SCTLR, M, 1, 0)
4753REG32(SMMU_CB11_ACTLR, 0x1b004)
4754    FIELD(SMMU_CB11_ACTLR, CPRE, 1, 1)
4755    FIELD(SMMU_CB11_ACTLR, CMTLB, 1, 0)
4756REG32(SMMU_CB11_RESUME, 0x1b008)
4757    FIELD(SMMU_CB11_RESUME, TNR, 1, 0)
4758REG32(SMMU_CB11_TCR2, 0x1b010)
4759    FIELD(SMMU_CB11_TCR2, NSCFG1, 1, 30)
4760    FIELD(SMMU_CB11_TCR2, SEP, 3, 15)
4761    FIELD(SMMU_CB11_TCR2, NSCFG0, 1, 14)
4762    FIELD(SMMU_CB11_TCR2, TBI1, 1, 6)
4763    FIELD(SMMU_CB11_TCR2, TBI0, 1, 5)
4764    FIELD(SMMU_CB11_TCR2, AS, 1, 4)
4765    FIELD(SMMU_CB11_TCR2, PASIZE, 3, 0)
4766REG32(SMMU_CB11_TTBR0_LOW, 0x1b020)
4767    FIELD(SMMU_CB11_TTBR0_LOW, ADDRESS_31_7, 25, 7)
4768    FIELD(SMMU_CB11_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
4769    FIELD(SMMU_CB11_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
4770    FIELD(SMMU_CB11_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
4771    FIELD(SMMU_CB11_TTBR0_LOW, ADDRESS_2, 1, 2)
4772    FIELD(SMMU_CB11_TTBR0_LOW, ADDRESS_1_S, 1, 1)
4773    FIELD(SMMU_CB11_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
4774REG32(SMMU_CB11_TTBR0_HIGH, 0x1b024)
4775    FIELD(SMMU_CB11_TTBR0_HIGH, ASID, 16, 16)
4776    FIELD(SMMU_CB11_TTBR0_HIGH, ADDRESS, 16, 0)
4777REG32(SMMU_CB11_TTBR1_LOW, 0x1b028)
4778    FIELD(SMMU_CB11_TTBR1_LOW, ADDRESS_31_7, 25, 7)
4779    FIELD(SMMU_CB11_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
4780    FIELD(SMMU_CB11_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
4781    FIELD(SMMU_CB11_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
4782    FIELD(SMMU_CB11_TTBR1_LOW, ADDRESS_2, 1, 2)
4783    FIELD(SMMU_CB11_TTBR1_LOW, ADDRESS_1_S, 1, 1)
4784    FIELD(SMMU_CB11_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
4785REG32(SMMU_CB11_TTBR1_HIGH, 0x1b02c)
4786    FIELD(SMMU_CB11_TTBR1_HIGH, ASID, 16, 16)
4787    FIELD(SMMU_CB11_TTBR1_HIGH, ADDRESS, 16, 0)
4788REG32(SMMU_CB11_TCR_LPAE, 0x1b030)
4789    FIELD(SMMU_CB11_TCR_LPAE, EAE, 1, 31)
4790    FIELD(SMMU_CB11_TCR_LPAE, NSCFG1_TG1, 1, 30)
4791    FIELD(SMMU_CB11_TCR_LPAE, SH1, 2, 28)
4792    FIELD(SMMU_CB11_TCR_LPAE, ORGN1, 2, 26)
4793    FIELD(SMMU_CB11_TCR_LPAE, IRGN1, 2, 24)
4794    FIELD(SMMU_CB11_TCR_LPAE, EPD1, 1, 23)
4795    FIELD(SMMU_CB11_TCR_LPAE, A1, 1, 22)
4796    FIELD(SMMU_CB11_TCR_LPAE, T1SZ_5_3, 3, 19)
4797    FIELD(SMMU_CB11_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
4798    FIELD(SMMU_CB11_TCR_LPAE, NSCFG0_TG0, 1, 14)
4799    FIELD(SMMU_CB11_TCR_LPAE, SH0, 2, 12)
4800    FIELD(SMMU_CB11_TCR_LPAE, ORGN0, 2, 10)
4801    FIELD(SMMU_CB11_TCR_LPAE, IRGN0, 2, 8)
4802    FIELD(SMMU_CB11_TCR_LPAE, SL0_1_EPD0, 1, 7)
4803    FIELD(SMMU_CB11_TCR_LPAE, SL0_0, 1, 6)
4804    FIELD(SMMU_CB11_TCR_LPAE, PD1_T0SZ_5, 1, 5)
4805    FIELD(SMMU_CB11_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
4806    FIELD(SMMU_CB11_TCR_LPAE, T0SZ_3_0, 4, 0)
4807REG32(SMMU_CB11_CONTEXTIDR, 0x1b034)
4808    FIELD(SMMU_CB11_CONTEXTIDR, PROCID, 24, 8)
4809    FIELD(SMMU_CB11_CONTEXTIDR, ASID, 8, 0)
4810REG32(SMMU_CB11_PRRR_MAIR0, 0x1b038)
4811    FIELD(SMMU_CB11_PRRR_MAIR0, NOS7, 1, 31)
4812    FIELD(SMMU_CB11_PRRR_MAIR0, NOS6, 1, 30)
4813    FIELD(SMMU_CB11_PRRR_MAIR0, NOS5, 1, 29)
4814    FIELD(SMMU_CB11_PRRR_MAIR0, NOS4, 1, 28)
4815    FIELD(SMMU_CB11_PRRR_MAIR0, NOS3, 1, 27)
4816    FIELD(SMMU_CB11_PRRR_MAIR0, NOS2, 1, 26)
4817    FIELD(SMMU_CB11_PRRR_MAIR0, NOS1, 1, 25)
4818    FIELD(SMMU_CB11_PRRR_MAIR0, NOS0, 1, 24)
4819    FIELD(SMMU_CB11_PRRR_MAIR0, NS1, 1, 19)
4820    FIELD(SMMU_CB11_PRRR_MAIR0, NS0, 1, 18)
4821    FIELD(SMMU_CB11_PRRR_MAIR0, DS1, 1, 17)
4822    FIELD(SMMU_CB11_PRRR_MAIR0, DS0, 1, 16)
4823    FIELD(SMMU_CB11_PRRR_MAIR0, TR7, 2, 14)
4824    FIELD(SMMU_CB11_PRRR_MAIR0, TR6, 2, 12)
4825    FIELD(SMMU_CB11_PRRR_MAIR0, TR5, 2, 10)
4826    FIELD(SMMU_CB11_PRRR_MAIR0, TR4, 2, 8)
4827    FIELD(SMMU_CB11_PRRR_MAIR0, TR3, 2, 6)
4828    FIELD(SMMU_CB11_PRRR_MAIR0, TR2, 2, 4)
4829    FIELD(SMMU_CB11_PRRR_MAIR0, TR1, 2, 2)
4830    FIELD(SMMU_CB11_PRRR_MAIR0, TR0, 2, 0)
4831REG32(SMMU_CB11_NMRR_MAIR1, 0x1b03c)
4832    FIELD(SMMU_CB11_NMRR_MAIR1, OR7, 2, 30)
4833    FIELD(SMMU_CB11_NMRR_MAIR1, OR6, 2, 28)
4834    FIELD(SMMU_CB11_NMRR_MAIR1, OR5, 2, 26)
4835    FIELD(SMMU_CB11_NMRR_MAIR1, OR4, 2, 24)
4836    FIELD(SMMU_CB11_NMRR_MAIR1, OR3, 2, 22)
4837    FIELD(SMMU_CB11_NMRR_MAIR1, OR2, 2, 20)
4838    FIELD(SMMU_CB11_NMRR_MAIR1, OR1, 2, 18)
4839    FIELD(SMMU_CB11_NMRR_MAIR1, OR0, 2, 16)
4840    FIELD(SMMU_CB11_NMRR_MAIR1, IR7, 2, 14)
4841    FIELD(SMMU_CB11_NMRR_MAIR1, IR6, 2, 12)
4842    FIELD(SMMU_CB11_NMRR_MAIR1, IR5, 2, 10)
4843    FIELD(SMMU_CB11_NMRR_MAIR1, IR4, 2, 8)
4844    FIELD(SMMU_CB11_NMRR_MAIR1, IR3, 2, 6)
4845    FIELD(SMMU_CB11_NMRR_MAIR1, IR2, 2, 4)
4846    FIELD(SMMU_CB11_NMRR_MAIR1, IR1, 2, 2)
4847    FIELD(SMMU_CB11_NMRR_MAIR1, IR0, 2, 0)
4848REG32(SMMU_CB11_FSR, 0x1b058)
4849    FIELD(SMMU_CB11_FSR, MULTI, 1, 31)
4850    FIELD(SMMU_CB11_FSR, SS, 1, 30)
4851    FIELD(SMMU_CB11_FSR, FORMAT, 2, 9)
4852    FIELD(SMMU_CB11_FSR, UUT, 1, 8)
4853    FIELD(SMMU_CB11_FSR, ASF, 1, 7)
4854    FIELD(SMMU_CB11_FSR, TLBLKF, 1, 6)
4855    FIELD(SMMU_CB11_FSR, TLBMCF, 1, 5)
4856    FIELD(SMMU_CB11_FSR, EF, 1, 4)
4857    FIELD(SMMU_CB11_FSR, PF, 1, 3)
4858    FIELD(SMMU_CB11_FSR, AFF, 1, 2)
4859    FIELD(SMMU_CB11_FSR, TF, 1, 1)
4860REG32(SMMU_CB11_FSRRESTORE, 0x1b05c)
4861REG32(SMMU_CB11_FAR_LOW, 0x1b060)
4862REG32(SMMU_CB11_FAR_HIGH, 0x1b064)
4863    FIELD(SMMU_CB11_FAR_HIGH, BITS, 17, 0)
4864REG32(SMMU_CB11_FSYNR0, 0x1b068)
4865    FIELD(SMMU_CB11_FSYNR0, S1CBNDX, 4, 16)
4866    FIELD(SMMU_CB11_FSYNR0, AFR, 1, 11)
4867    FIELD(SMMU_CB11_FSYNR0, PTWF, 1, 10)
4868    FIELD(SMMU_CB11_FSYNR0, ATOF, 1, 9)
4869    FIELD(SMMU_CB11_FSYNR0, NSATTR, 1, 8)
4870    FIELD(SMMU_CB11_FSYNR0, IND, 1, 6)
4871    FIELD(SMMU_CB11_FSYNR0, PNU, 1, 5)
4872    FIELD(SMMU_CB11_FSYNR0, WNR, 1, 4)
4873    FIELD(SMMU_CB11_FSYNR0, PLVL, 2, 0)
4874REG32(SMMU_CB11_IPAFAR_LOW, 0x1b070)
4875    FIELD(SMMU_CB11_IPAFAR_LOW, IPAFAR_L, 20, 12)
4876    FIELD(SMMU_CB11_IPAFAR_LOW, FAR_RO, 12, 0)
4877REG32(SMMU_CB11_IPAFAR_HIGH, 0x1b074)
4878    FIELD(SMMU_CB11_IPAFAR_HIGH, BITS, 16, 0)
4879REG32(SMMU_CB11_TLBIVA_LOW, 0x1b600)
4880REG32(SMMU_CB11_TLBIVA_HIGH, 0x1b604)
4881    FIELD(SMMU_CB11_TLBIVA_HIGH, ASID, 16, 16)
4882    FIELD(SMMU_CB11_TLBIVA_HIGH, ADDRESS, 5, 0)
4883REG32(SMMU_CB11_TLBIVAA_LOW, 0x1b608)
4884REG32(SMMU_CB11_TLBIVAA_HIGH, 0x1b60c)
4885    FIELD(SMMU_CB11_TLBIVAA_HIGH, ASID, 16, 16)
4886    FIELD(SMMU_CB11_TLBIVAA_HIGH, ADDRESS, 5, 0)
4887REG32(SMMU_CB11_TLBIASID, 0x1b610)
4888    FIELD(SMMU_CB11_TLBIASID, ASID, 16, 0)
4889REG32(SMMU_CB11_TLBIALL, 0x1b618)
4890REG32(SMMU_CB11_TLBIVAL_LOW, 0x1b620)
4891REG32(SMMU_CB11_TLBIVAL_HIGH, 0x1b624)
4892    FIELD(SMMU_CB11_TLBIVAL_HIGH, ASID, 16, 16)
4893    FIELD(SMMU_CB11_TLBIVAL_HIGH, ADDRESS, 5, 0)
4894REG32(SMMU_CB11_TLBIVAAL_LOW, 0x1b628)
4895REG32(SMMU_CB11_TLBIVAAL_HIGH, 0x1b62c)
4896    FIELD(SMMU_CB11_TLBIVAAL_HIGH, ASID, 16, 16)
4897    FIELD(SMMU_CB11_TLBIVAAL_HIGH, ADDRESS, 5, 0)
4898REG32(SMMU_CB11_TLBIIPAS2_LOW, 0x1b630)
4899REG32(SMMU_CB11_TLBIIPAS2_HIGH, 0x1b634)
4900    FIELD(SMMU_CB11_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
4901REG32(SMMU_CB11_TLBIIPAS2L_LOW, 0x1b638)
4902REG32(SMMU_CB11_TLBIIPAS2L_HIGH, 0x1b63c)
4903    FIELD(SMMU_CB11_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
4904REG32(SMMU_CB11_TLBSYNC, 0x1b7f0)
4905REG32(SMMU_CB11_TLBSTATUS, 0x1b7f4)
4906    FIELD(SMMU_CB11_TLBSTATUS, SACTIVE, 1, 0)
4907REG32(SMMU_CB11_PMEVCNTR0, 0x1be00)
4908REG32(SMMU_CB11_PMEVCNTR1, 0x1be04)
4909REG32(SMMU_CB11_PMEVCNTR2, 0x1be08)
4910REG32(SMMU_CB11_PMEVCNTR3, 0x1be0c)
4911REG32(SMMU_CB11_PMEVTYPER0, 0x1be80)
4912    FIELD(SMMU_CB11_PMEVTYPER0, P, 1, 31)
4913    FIELD(SMMU_CB11_PMEVTYPER0, U, 1, 30)
4914    FIELD(SMMU_CB11_PMEVTYPER0, NSP, 1, 29)
4915    FIELD(SMMU_CB11_PMEVTYPER0, NSU, 1, 28)
4916    FIELD(SMMU_CB11_PMEVTYPER0, EVENT, 5, 0)
4917REG32(SMMU_CB11_PMEVTYPER1, 0x1be84)
4918    FIELD(SMMU_CB11_PMEVTYPER1, P, 1, 31)
4919    FIELD(SMMU_CB11_PMEVTYPER1, U, 1, 30)
4920    FIELD(SMMU_CB11_PMEVTYPER1, NSP, 1, 29)
4921    FIELD(SMMU_CB11_PMEVTYPER1, NSU, 1, 28)
4922    FIELD(SMMU_CB11_PMEVTYPER1, EVENT, 5, 0)
4923REG32(SMMU_CB11_PMEVTYPER2, 0x1be88)
4924    FIELD(SMMU_CB11_PMEVTYPER2, P, 1, 31)
4925    FIELD(SMMU_CB11_PMEVTYPER2, U, 1, 30)
4926    FIELD(SMMU_CB11_PMEVTYPER2, NSP, 1, 29)
4927    FIELD(SMMU_CB11_PMEVTYPER2, NSU, 1, 28)
4928    FIELD(SMMU_CB11_PMEVTYPER2, EVENT, 5, 0)
4929REG32(SMMU_CB11_PMEVTYPER3, 0x1be8c)
4930    FIELD(SMMU_CB11_PMEVTYPER3, P, 1, 31)
4931    FIELD(SMMU_CB11_PMEVTYPER3, U, 1, 30)
4932    FIELD(SMMU_CB11_PMEVTYPER3, NSP, 1, 29)
4933    FIELD(SMMU_CB11_PMEVTYPER3, NSU, 1, 28)
4934    FIELD(SMMU_CB11_PMEVTYPER3, EVENT, 5, 0)
4935REG32(SMMU_CB11_PMCFGR, 0x1bf00)
4936    FIELD(SMMU_CB11_PMCFGR, NCG, 8, 24)
4937    FIELD(SMMU_CB11_PMCFGR, UEN, 1, 19)
4938    FIELD(SMMU_CB11_PMCFGR, EX, 1, 16)
4939    FIELD(SMMU_CB11_PMCFGR, CCD, 1, 15)
4940    FIELD(SMMU_CB11_PMCFGR, CC, 1, 14)
4941    FIELD(SMMU_CB11_PMCFGR, SIZE, 6, 8)
4942    FIELD(SMMU_CB11_PMCFGR, N, 8, 0)
4943REG32(SMMU_CB11_PMCR, 0x1bf04)
4944    FIELD(SMMU_CB11_PMCR, IMP, 8, 24)
4945    FIELD(SMMU_CB11_PMCR, X, 1, 4)
4946    FIELD(SMMU_CB11_PMCR, P, 1, 1)
4947    FIELD(SMMU_CB11_PMCR, E, 1, 0)
4948REG32(SMMU_CB11_PMCEID, 0x1bf20)
4949    FIELD(SMMU_CB11_PMCEID, EVENT0X12, 1, 17)
4950    FIELD(SMMU_CB11_PMCEID, EVENT0X11, 1, 16)
4951    FIELD(SMMU_CB11_PMCEID, EVENT0X10, 1, 15)
4952    FIELD(SMMU_CB11_PMCEID, EVENT0X0A, 1, 9)
4953    FIELD(SMMU_CB11_PMCEID, EVENT0X09, 1, 8)
4954    FIELD(SMMU_CB11_PMCEID, EVENT0X08, 1, 7)
4955    FIELD(SMMU_CB11_PMCEID, EVENT0X01, 1, 1)
4956    FIELD(SMMU_CB11_PMCEID, EVENT0X00, 1, 0)
4957REG32(SMMU_CB11_PMCNTENSE, 0x1bf40)
4958    FIELD(SMMU_CB11_PMCNTENSE, P3, 1, 3)
4959    FIELD(SMMU_CB11_PMCNTENSE, P2, 1, 2)
4960    FIELD(SMMU_CB11_PMCNTENSE, P1, 1, 1)
4961    FIELD(SMMU_CB11_PMCNTENSE, P0, 1, 0)
4962REG32(SMMU_CB11_PMCNTENCLR, 0x1bf44)
4963    FIELD(SMMU_CB11_PMCNTENCLR, P3, 1, 3)
4964    FIELD(SMMU_CB11_PMCNTENCLR, P2, 1, 2)
4965    FIELD(SMMU_CB11_PMCNTENCLR, P1, 1, 1)
4966    FIELD(SMMU_CB11_PMCNTENCLR, P0, 1, 0)
4967REG32(SMMU_CB11_PMCNTENSET, 0x1bf48)
4968    FIELD(SMMU_CB11_PMCNTENSET, P3, 1, 3)
4969    FIELD(SMMU_CB11_PMCNTENSET, P2, 1, 2)
4970    FIELD(SMMU_CB11_PMCNTENSET, P1, 1, 1)
4971    FIELD(SMMU_CB11_PMCNTENSET, P0, 1, 0)
4972REG32(SMMU_CB11_PMINTENCLR, 0x1bf4c)
4973    FIELD(SMMU_CB11_PMINTENCLR, P3, 1, 3)
4974    FIELD(SMMU_CB11_PMINTENCLR, P2, 1, 2)
4975    FIELD(SMMU_CB11_PMINTENCLR, P1, 1, 1)
4976    FIELD(SMMU_CB11_PMINTENCLR, P0, 1, 0)
4977REG32(SMMU_CB11_PMOVSCLR, 0x1bf50)
4978    FIELD(SMMU_CB11_PMOVSCLR, P3, 1, 3)
4979    FIELD(SMMU_CB11_PMOVSCLR, P2, 1, 2)
4980    FIELD(SMMU_CB11_PMOVSCLR, P1, 1, 1)
4981    FIELD(SMMU_CB11_PMOVSCLR, P0, 1, 0)
4982REG32(SMMU_CB11_PMOVSSET, 0x1bf58)
4983    FIELD(SMMU_CB11_PMOVSSET, P3, 1, 3)
4984    FIELD(SMMU_CB11_PMOVSSET, P2, 1, 2)
4985    FIELD(SMMU_CB11_PMOVSSET, P1, 1, 1)
4986    FIELD(SMMU_CB11_PMOVSSET, P0, 1, 0)
4987REG32(SMMU_CB11_PMAUTHSTATUS, 0x1bfb8)
4988    FIELD(SMMU_CB11_PMAUTHSTATUS, SNI, 1, 7)
4989    FIELD(SMMU_CB11_PMAUTHSTATUS, SNE, 1, 6)
4990    FIELD(SMMU_CB11_PMAUTHSTATUS, SI, 1, 5)
4991    FIELD(SMMU_CB11_PMAUTHSTATUS, SE, 1, 4)
4992    FIELD(SMMU_CB11_PMAUTHSTATUS, NSNI, 1, 3)
4993    FIELD(SMMU_CB11_PMAUTHSTATUS, NSNE, 1, 2)
4994    FIELD(SMMU_CB11_PMAUTHSTATUS, NSI, 1, 1)
4995    FIELD(SMMU_CB11_PMAUTHSTATUS, NSE, 1, 0)
4996REG32(SMMU_CB12_SCTLR, 0x1c000)
4997    FIELD(SMMU_CB12_SCTLR, NSCFG, 2, 28)
4998    FIELD(SMMU_CB12_SCTLR, WACFG, 2, 26)
4999    FIELD(SMMU_CB12_SCTLR, RACFG, 2, 24)
5000    FIELD(SMMU_CB12_SCTLR, SHCFG, 2, 22)
5001    FIELD(SMMU_CB12_SCTLR, FB, 1, 21)
5002    FIELD(SMMU_CB12_SCTLR, MTCFG, 1, 20)
5003    FIELD(SMMU_CB12_SCTLR, MEMATTR, 4, 16)
5004    FIELD(SMMU_CB12_SCTLR, TRANSIENTCFG, 2, 14)
5005    FIELD(SMMU_CB12_SCTLR, PTW, 1, 13)
5006    FIELD(SMMU_CB12_SCTLR, ASIDPNE, 1, 12)
5007    FIELD(SMMU_CB12_SCTLR, UWXN, 1, 10)
5008    FIELD(SMMU_CB12_SCTLR, WXN, 1, 9)
5009    FIELD(SMMU_CB12_SCTLR, HUPCF, 1, 8)
5010    FIELD(SMMU_CB12_SCTLR, CFCFG, 1, 7)
5011    FIELD(SMMU_CB12_SCTLR, CFIE, 1, 6)
5012    FIELD(SMMU_CB12_SCTLR, CFRE, 1, 5)
5013    FIELD(SMMU_CB12_SCTLR, E, 1, 4)
5014    FIELD(SMMU_CB12_SCTLR, AFFD, 1, 3)
5015    FIELD(SMMU_CB12_SCTLR, AFE, 1, 2)
5016    FIELD(SMMU_CB12_SCTLR, TRE, 1, 1)
5017    FIELD(SMMU_CB12_SCTLR, M, 1, 0)
5018REG32(SMMU_CB12_ACTLR, 0x1c004)
5019    FIELD(SMMU_CB12_ACTLR, CPRE, 1, 1)
5020    FIELD(SMMU_CB12_ACTLR, CMTLB, 1, 0)
5021REG32(SMMU_CB12_RESUME, 0x1c008)
5022    FIELD(SMMU_CB12_RESUME, TNR, 1, 0)
5023REG32(SMMU_CB12_TCR2, 0x1c010)
5024    FIELD(SMMU_CB12_TCR2, NSCFG1, 1, 30)
5025    FIELD(SMMU_CB12_TCR2, SEP, 3, 15)
5026    FIELD(SMMU_CB12_TCR2, NSCFG0, 1, 14)
5027    FIELD(SMMU_CB12_TCR2, TBI1, 1, 6)
5028    FIELD(SMMU_CB12_TCR2, TBI0, 1, 5)
5029    FIELD(SMMU_CB12_TCR2, AS, 1, 4)
5030    FIELD(SMMU_CB12_TCR2, PASIZE, 3, 0)
5031REG32(SMMU_CB12_TTBR0_LOW, 0x1c020)
5032    FIELD(SMMU_CB12_TTBR0_LOW, ADDRESS_31_7, 25, 7)
5033    FIELD(SMMU_CB12_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
5034    FIELD(SMMU_CB12_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
5035    FIELD(SMMU_CB12_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
5036    FIELD(SMMU_CB12_TTBR0_LOW, ADDRESS_2, 1, 2)
5037    FIELD(SMMU_CB12_TTBR0_LOW, ADDRESS_1_S, 1, 1)
5038    FIELD(SMMU_CB12_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
5039REG32(SMMU_CB12_TTBR0_HIGH, 0x1c024)
5040    FIELD(SMMU_CB12_TTBR0_HIGH, ASID, 16, 16)
5041    FIELD(SMMU_CB12_TTBR0_HIGH, ADDRESS, 16, 0)
5042REG32(SMMU_CB12_TTBR1_LOW, 0x1c028)
5043    FIELD(SMMU_CB12_TTBR1_LOW, ADDRESS_31_7, 25, 7)
5044    FIELD(SMMU_CB12_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
5045    FIELD(SMMU_CB12_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
5046    FIELD(SMMU_CB12_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
5047    FIELD(SMMU_CB12_TTBR1_LOW, ADDRESS_2, 1, 2)
5048    FIELD(SMMU_CB12_TTBR1_LOW, ADDRESS_1_S, 1, 1)
5049    FIELD(SMMU_CB12_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
5050REG32(SMMU_CB12_TTBR1_HIGH, 0x1c02c)
5051    FIELD(SMMU_CB12_TTBR1_HIGH, ASID, 16, 16)
5052    FIELD(SMMU_CB12_TTBR1_HIGH, ADDRESS, 16, 0)
5053REG32(SMMU_CB12_TCR_LPAE, 0x1c030)
5054    FIELD(SMMU_CB12_TCR_LPAE, EAE, 1, 31)
5055    FIELD(SMMU_CB12_TCR_LPAE, NSCFG1_TG1, 1, 30)
5056    FIELD(SMMU_CB12_TCR_LPAE, SH1, 2, 28)
5057    FIELD(SMMU_CB12_TCR_LPAE, ORGN1, 2, 26)
5058    FIELD(SMMU_CB12_TCR_LPAE, IRGN1, 2, 24)
5059    FIELD(SMMU_CB12_TCR_LPAE, EPD1, 1, 23)
5060    FIELD(SMMU_CB12_TCR_LPAE, A1, 1, 22)
5061    FIELD(SMMU_CB12_TCR_LPAE, T1SZ_5_3, 3, 19)
5062    FIELD(SMMU_CB12_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
5063    FIELD(SMMU_CB12_TCR_LPAE, NSCFG0_TG0, 1, 14)
5064    FIELD(SMMU_CB12_TCR_LPAE, SH0, 2, 12)
5065    FIELD(SMMU_CB12_TCR_LPAE, ORGN0, 2, 10)
5066    FIELD(SMMU_CB12_TCR_LPAE, IRGN0, 2, 8)
5067    FIELD(SMMU_CB12_TCR_LPAE, SL0_1_EPD0, 1, 7)
5068    FIELD(SMMU_CB12_TCR_LPAE, SL0_0, 1, 6)
5069    FIELD(SMMU_CB12_TCR_LPAE, PD1_T0SZ_5, 1, 5)
5070    FIELD(SMMU_CB12_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
5071    FIELD(SMMU_CB12_TCR_LPAE, T0SZ_3_0, 4, 0)
5072REG32(SMMU_CB12_CONTEXTIDR, 0x1c034)
5073    FIELD(SMMU_CB12_CONTEXTIDR, PROCID, 24, 8)
5074    FIELD(SMMU_CB12_CONTEXTIDR, ASID, 8, 0)
5075REG32(SMMU_CB12_PRRR_MAIR0, 0x1c038)
5076    FIELD(SMMU_CB12_PRRR_MAIR0, NOS7, 1, 31)
5077    FIELD(SMMU_CB12_PRRR_MAIR0, NOS6, 1, 30)
5078    FIELD(SMMU_CB12_PRRR_MAIR0, NOS5, 1, 29)
5079    FIELD(SMMU_CB12_PRRR_MAIR0, NOS4, 1, 28)
5080    FIELD(SMMU_CB12_PRRR_MAIR0, NOS3, 1, 27)
5081    FIELD(SMMU_CB12_PRRR_MAIR0, NOS2, 1, 26)
5082    FIELD(SMMU_CB12_PRRR_MAIR0, NOS1, 1, 25)
5083    FIELD(SMMU_CB12_PRRR_MAIR0, NOS0, 1, 24)
5084    FIELD(SMMU_CB12_PRRR_MAIR0, NS1, 1, 19)
5085    FIELD(SMMU_CB12_PRRR_MAIR0, NS0, 1, 18)
5086    FIELD(SMMU_CB12_PRRR_MAIR0, DS1, 1, 17)
5087    FIELD(SMMU_CB12_PRRR_MAIR0, DS0, 1, 16)
5088    FIELD(SMMU_CB12_PRRR_MAIR0, TR7, 2, 14)
5089    FIELD(SMMU_CB12_PRRR_MAIR0, TR6, 2, 12)
5090    FIELD(SMMU_CB12_PRRR_MAIR0, TR5, 2, 10)
5091    FIELD(SMMU_CB12_PRRR_MAIR0, TR4, 2, 8)
5092    FIELD(SMMU_CB12_PRRR_MAIR0, TR3, 2, 6)
5093    FIELD(SMMU_CB12_PRRR_MAIR0, TR2, 2, 4)
5094    FIELD(SMMU_CB12_PRRR_MAIR0, TR1, 2, 2)
5095    FIELD(SMMU_CB12_PRRR_MAIR0, TR0, 2, 0)
5096REG32(SMMU_CB12_NMRR_MAIR1, 0x1c03c)
5097    FIELD(SMMU_CB12_NMRR_MAIR1, OR7, 2, 30)
5098    FIELD(SMMU_CB12_NMRR_MAIR1, OR6, 2, 28)
5099    FIELD(SMMU_CB12_NMRR_MAIR1, OR5, 2, 26)
5100    FIELD(SMMU_CB12_NMRR_MAIR1, OR4, 2, 24)
5101    FIELD(SMMU_CB12_NMRR_MAIR1, OR3, 2, 22)
5102    FIELD(SMMU_CB12_NMRR_MAIR1, OR2, 2, 20)
5103    FIELD(SMMU_CB12_NMRR_MAIR1, OR1, 2, 18)
5104    FIELD(SMMU_CB12_NMRR_MAIR1, OR0, 2, 16)
5105    FIELD(SMMU_CB12_NMRR_MAIR1, IR7, 2, 14)
5106    FIELD(SMMU_CB12_NMRR_MAIR1, IR6, 2, 12)
5107    FIELD(SMMU_CB12_NMRR_MAIR1, IR5, 2, 10)
5108    FIELD(SMMU_CB12_NMRR_MAIR1, IR4, 2, 8)
5109    FIELD(SMMU_CB12_NMRR_MAIR1, IR3, 2, 6)
5110    FIELD(SMMU_CB12_NMRR_MAIR1, IR2, 2, 4)
5111    FIELD(SMMU_CB12_NMRR_MAIR1, IR1, 2, 2)
5112    FIELD(SMMU_CB12_NMRR_MAIR1, IR0, 2, 0)
5113REG32(SMMU_CB12_FSR, 0x1c058)
5114    FIELD(SMMU_CB12_FSR, MULTI, 1, 31)
5115    FIELD(SMMU_CB12_FSR, SS, 1, 30)
5116    FIELD(SMMU_CB12_FSR, FORMAT, 2, 9)
5117    FIELD(SMMU_CB12_FSR, UUT, 1, 8)
5118    FIELD(SMMU_CB12_FSR, ASF, 1, 7)
5119    FIELD(SMMU_CB12_FSR, TLBLKF, 1, 6)
5120    FIELD(SMMU_CB12_FSR, TLBMCF, 1, 5)
5121    FIELD(SMMU_CB12_FSR, EF, 1, 4)
5122    FIELD(SMMU_CB12_FSR, PF, 1, 3)
5123    FIELD(SMMU_CB12_FSR, AFF, 1, 2)
5124    FIELD(SMMU_CB12_FSR, TF, 1, 1)
5125REG32(SMMU_CB12_FSRRESTORE, 0x1c05c)
5126REG32(SMMU_CB12_FAR_LOW, 0x1c060)
5127REG32(SMMU_CB12_FAR_HIGH, 0x1c064)
5128    FIELD(SMMU_CB12_FAR_HIGH, BITS, 17, 0)
5129REG32(SMMU_CB12_FSYNR0, 0x1c068)
5130    FIELD(SMMU_CB12_FSYNR0, S1CBNDX, 4, 16)
5131    FIELD(SMMU_CB12_FSYNR0, AFR, 1, 11)
5132    FIELD(SMMU_CB12_FSYNR0, PTWF, 1, 10)
5133    FIELD(SMMU_CB12_FSYNR0, ATOF, 1, 9)
5134    FIELD(SMMU_CB12_FSYNR0, NSATTR, 1, 8)
5135    FIELD(SMMU_CB12_FSYNR0, IND, 1, 6)
5136    FIELD(SMMU_CB12_FSYNR0, PNU, 1, 5)
5137    FIELD(SMMU_CB12_FSYNR0, WNR, 1, 4)
5138    FIELD(SMMU_CB12_FSYNR0, PLVL, 2, 0)
5139REG32(SMMU_CB12_IPAFAR_LOW, 0x1c070)
5140    FIELD(SMMU_CB12_IPAFAR_LOW, IPAFAR_L, 20, 12)
5141    FIELD(SMMU_CB12_IPAFAR_LOW, FAR_RO, 12, 0)
5142REG32(SMMU_CB12_IPAFAR_HIGH, 0x1c074)
5143    FIELD(SMMU_CB12_IPAFAR_HIGH, BITS, 16, 0)
5144REG32(SMMU_CB12_TLBIVA_LOW, 0x1c600)
5145REG32(SMMU_CB12_TLBIVA_HIGH, 0x1c604)
5146    FIELD(SMMU_CB12_TLBIVA_HIGH, ASID, 16, 16)
5147    FIELD(SMMU_CB12_TLBIVA_HIGH, ADDRESS, 5, 0)
5148REG32(SMMU_CB12_TLBIVAA_LOW, 0x1c608)
5149REG32(SMMU_CB12_TLBIVAA_HIGH, 0x1c60c)
5150    FIELD(SMMU_CB12_TLBIVAA_HIGH, ASID, 16, 16)
5151    FIELD(SMMU_CB12_TLBIVAA_HIGH, ADDRESS, 5, 0)
5152REG32(SMMU_CB12_TLBIASID, 0x1c610)
5153    FIELD(SMMU_CB12_TLBIASID, ASID, 16, 0)
5154REG32(SMMU_CB12_TLBIALL, 0x1c618)
5155REG32(SMMU_CB12_TLBIVAL_LOW, 0x1c620)
5156REG32(SMMU_CB12_TLBIVAL_HIGH, 0x1c624)
5157    FIELD(SMMU_CB12_TLBIVAL_HIGH, ASID, 16, 16)
5158    FIELD(SMMU_CB12_TLBIVAL_HIGH, ADDRESS, 5, 0)
5159REG32(SMMU_CB12_TLBIVAAL_LOW, 0x1c628)
5160REG32(SMMU_CB12_TLBIVAAL_HIGH, 0x1c62c)
5161    FIELD(SMMU_CB12_TLBIVAAL_HIGH, ASID, 16, 16)
5162    FIELD(SMMU_CB12_TLBIVAAL_HIGH, ADDRESS, 5, 0)
5163REG32(SMMU_CB12_TLBIIPAS2_LOW, 0x1c630)
5164REG32(SMMU_CB12_TLBIIPAS2_HIGH, 0x1c634)
5165    FIELD(SMMU_CB12_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
5166REG32(SMMU_CB12_TLBIIPAS2L_LOW, 0x1c638)
5167REG32(SMMU_CB12_TLBIIPAS2L_HIGH, 0x1c63c)
5168    FIELD(SMMU_CB12_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
5169REG32(SMMU_CB12_TLBSYNC, 0x1c7f0)
5170REG32(SMMU_CB12_TLBSTATUS, 0x1c7f4)
5171    FIELD(SMMU_CB12_TLBSTATUS, SACTIVE, 1, 0)
5172REG32(SMMU_CB12_PMEVCNTR0, 0x1ce00)
5173REG32(SMMU_CB12_PMEVCNTR1, 0x1ce04)
5174REG32(SMMU_CB12_PMEVCNTR2, 0x1ce08)
5175REG32(SMMU_CB12_PMEVCNTR3, 0x1ce0c)
5176REG32(SMMU_CB12_PMEVTYPER0, 0x1ce80)
5177    FIELD(SMMU_CB12_PMEVTYPER0, P, 1, 31)
5178    FIELD(SMMU_CB12_PMEVTYPER0, U, 1, 30)
5179    FIELD(SMMU_CB12_PMEVTYPER0, NSP, 1, 29)
5180    FIELD(SMMU_CB12_PMEVTYPER0, NSU, 1, 28)
5181    FIELD(SMMU_CB12_PMEVTYPER0, EVENT, 5, 0)
5182REG32(SMMU_CB12_PMEVTYPER1, 0x1ce84)
5183    FIELD(SMMU_CB12_PMEVTYPER1, P, 1, 31)
5184    FIELD(SMMU_CB12_PMEVTYPER1, U, 1, 30)
5185    FIELD(SMMU_CB12_PMEVTYPER1, NSP, 1, 29)
5186    FIELD(SMMU_CB12_PMEVTYPER1, NSU, 1, 28)
5187    FIELD(SMMU_CB12_PMEVTYPER1, EVENT, 5, 0)
5188REG32(SMMU_CB12_PMEVTYPER2, 0x1ce88)
5189    FIELD(SMMU_CB12_PMEVTYPER2, P, 1, 31)
5190    FIELD(SMMU_CB12_PMEVTYPER2, U, 1, 30)
5191    FIELD(SMMU_CB12_PMEVTYPER2, NSP, 1, 29)
5192    FIELD(SMMU_CB12_PMEVTYPER2, NSU, 1, 28)
5193    FIELD(SMMU_CB12_PMEVTYPER2, EVENT, 5, 0)
5194REG32(SMMU_CB12_PMEVTYPER3, 0x1ce8c)
5195    FIELD(SMMU_CB12_PMEVTYPER3, P, 1, 31)
5196    FIELD(SMMU_CB12_PMEVTYPER3, U, 1, 30)
5197    FIELD(SMMU_CB12_PMEVTYPER3, NSP, 1, 29)
5198    FIELD(SMMU_CB12_PMEVTYPER3, NSU, 1, 28)
5199    FIELD(SMMU_CB12_PMEVTYPER3, EVENT, 5, 0)
5200REG32(SMMU_CB12_PMCFGR, 0x1cf00)
5201    FIELD(SMMU_CB12_PMCFGR, NCG, 8, 24)
5202    FIELD(SMMU_CB12_PMCFGR, UEN, 1, 19)
5203    FIELD(SMMU_CB12_PMCFGR, EX, 1, 16)
5204    FIELD(SMMU_CB12_PMCFGR, CCD, 1, 15)
5205    FIELD(SMMU_CB12_PMCFGR, CC, 1, 14)
5206    FIELD(SMMU_CB12_PMCFGR, SIZE, 6, 8)
5207    FIELD(SMMU_CB12_PMCFGR, N, 8, 0)
5208REG32(SMMU_CB12_PMCR, 0x1cf04)
5209    FIELD(SMMU_CB12_PMCR, IMP, 8, 24)
5210    FIELD(SMMU_CB12_PMCR, X, 1, 4)
5211    FIELD(SMMU_CB12_PMCR, P, 1, 1)
5212    FIELD(SMMU_CB12_PMCR, E, 1, 0)
5213REG32(SMMU_CB12_PMCEID, 0x1cf20)
5214    FIELD(SMMU_CB12_PMCEID, EVENT0X12, 1, 17)
5215    FIELD(SMMU_CB12_PMCEID, EVENT0X11, 1, 16)
5216    FIELD(SMMU_CB12_PMCEID, EVENT0X10, 1, 15)
5217    FIELD(SMMU_CB12_PMCEID, EVENT0X0A, 1, 9)
5218    FIELD(SMMU_CB12_PMCEID, EVENT0X09, 1, 8)
5219    FIELD(SMMU_CB12_PMCEID, EVENT0X08, 1, 7)
5220    FIELD(SMMU_CB12_PMCEID, EVENT0X01, 1, 1)
5221    FIELD(SMMU_CB12_PMCEID, EVENT0X00, 1, 0)
5222REG32(SMMU_CB12_PMCNTENSE, 0x1cf40)
5223    FIELD(SMMU_CB12_PMCNTENSE, P3, 1, 3)
5224    FIELD(SMMU_CB12_PMCNTENSE, P2, 1, 2)
5225    FIELD(SMMU_CB12_PMCNTENSE, P1, 1, 1)
5226    FIELD(SMMU_CB12_PMCNTENSE, P0, 1, 0)
5227REG32(SMMU_CB12_PMCNTENCLR, 0x1cf44)
5228    FIELD(SMMU_CB12_PMCNTENCLR, P3, 1, 3)
5229    FIELD(SMMU_CB12_PMCNTENCLR, P2, 1, 2)
5230    FIELD(SMMU_CB12_PMCNTENCLR, P1, 1, 1)
5231    FIELD(SMMU_CB12_PMCNTENCLR, P0, 1, 0)
5232REG32(SMMU_CB12_PMCNTENSET, 0x1cf48)
5233    FIELD(SMMU_CB12_PMCNTENSET, P3, 1, 3)
5234    FIELD(SMMU_CB12_PMCNTENSET, P2, 1, 2)
5235    FIELD(SMMU_CB12_PMCNTENSET, P1, 1, 1)
5236    FIELD(SMMU_CB12_PMCNTENSET, P0, 1, 0)
5237REG32(SMMU_CB12_PMINTENCLR, 0x1cf4c)
5238    FIELD(SMMU_CB12_PMINTENCLR, P3, 1, 3)
5239    FIELD(SMMU_CB12_PMINTENCLR, P2, 1, 2)
5240    FIELD(SMMU_CB12_PMINTENCLR, P1, 1, 1)
5241    FIELD(SMMU_CB12_PMINTENCLR, P0, 1, 0)
5242REG32(SMMU_CB12_PMOVSCLR, 0x1cf50)
5243    FIELD(SMMU_CB12_PMOVSCLR, P3, 1, 3)
5244    FIELD(SMMU_CB12_PMOVSCLR, P2, 1, 2)
5245    FIELD(SMMU_CB12_PMOVSCLR, P1, 1, 1)
5246    FIELD(SMMU_CB12_PMOVSCLR, P0, 1, 0)
5247REG32(SMMU_CB12_PMOVSSET, 0x1cf58)
5248    FIELD(SMMU_CB12_PMOVSSET, P3, 1, 3)
5249    FIELD(SMMU_CB12_PMOVSSET, P2, 1, 2)
5250    FIELD(SMMU_CB12_PMOVSSET, P1, 1, 1)
5251    FIELD(SMMU_CB12_PMOVSSET, P0, 1, 0)
5252REG32(SMMU_CB12_PMAUTHSTATUS, 0x1cfb8)
5253    FIELD(SMMU_CB12_PMAUTHSTATUS, SNI, 1, 7)
5254    FIELD(SMMU_CB12_PMAUTHSTATUS, SNE, 1, 6)
5255    FIELD(SMMU_CB12_PMAUTHSTATUS, SI, 1, 5)
5256    FIELD(SMMU_CB12_PMAUTHSTATUS, SE, 1, 4)
5257    FIELD(SMMU_CB12_PMAUTHSTATUS, NSNI, 1, 3)
5258    FIELD(SMMU_CB12_PMAUTHSTATUS, NSNE, 1, 2)
5259    FIELD(SMMU_CB12_PMAUTHSTATUS, NSI, 1, 1)
5260    FIELD(SMMU_CB12_PMAUTHSTATUS, NSE, 1, 0)
5261REG32(SMMU_CB13_SCTLR, 0x1d000)
5262    FIELD(SMMU_CB13_SCTLR, NSCFG, 2, 28)
5263    FIELD(SMMU_CB13_SCTLR, WACFG, 2, 26)
5264    FIELD(SMMU_CB13_SCTLR, RACFG, 2, 24)
5265    FIELD(SMMU_CB13_SCTLR, SHCFG, 2, 22)
5266    FIELD(SMMU_CB13_SCTLR, FB, 1, 21)
5267    FIELD(SMMU_CB13_SCTLR, MTCFG, 1, 20)
5268    FIELD(SMMU_CB13_SCTLR, MEMATTR, 4, 16)
5269    FIELD(SMMU_CB13_SCTLR, TRANSIENTCFG, 2, 14)
5270    FIELD(SMMU_CB13_SCTLR, PTW, 1, 13)
5271    FIELD(SMMU_CB13_SCTLR, ASIDPNE, 1, 12)
5272    FIELD(SMMU_CB13_SCTLR, UWXN, 1, 10)
5273    FIELD(SMMU_CB13_SCTLR, WXN, 1, 9)
5274    FIELD(SMMU_CB13_SCTLR, HUPCF, 1, 8)
5275    FIELD(SMMU_CB13_SCTLR, CFCFG, 1, 7)
5276    FIELD(SMMU_CB13_SCTLR, CFIE, 1, 6)
5277    FIELD(SMMU_CB13_SCTLR, CFRE, 1, 5)
5278    FIELD(SMMU_CB13_SCTLR, E, 1, 4)
5279    FIELD(SMMU_CB13_SCTLR, AFFD, 1, 3)
5280    FIELD(SMMU_CB13_SCTLR, AFE, 1, 2)
5281    FIELD(SMMU_CB13_SCTLR, TRE, 1, 1)
5282    FIELD(SMMU_CB13_SCTLR, M, 1, 0)
5283REG32(SMMU_CB13_ACTLR, 0x1d004)
5284    FIELD(SMMU_CB13_ACTLR, CPRE, 1, 1)
5285    FIELD(SMMU_CB13_ACTLR, CMTLB, 1, 0)
5286REG32(SMMU_CB13_RESUME, 0x1d008)
5287    FIELD(SMMU_CB13_RESUME, TNR, 1, 0)
5288REG32(SMMU_CB13_TCR2, 0x1d010)
5289    FIELD(SMMU_CB13_TCR2, NSCFG1, 1, 30)
5290    FIELD(SMMU_CB13_TCR2, SEP, 3, 15)
5291    FIELD(SMMU_CB13_TCR2, NSCFG0, 1, 14)
5292    FIELD(SMMU_CB13_TCR2, TBI1, 1, 6)
5293    FIELD(SMMU_CB13_TCR2, TBI0, 1, 5)
5294    FIELD(SMMU_CB13_TCR2, AS, 1, 4)
5295    FIELD(SMMU_CB13_TCR2, PASIZE, 3, 0)
5296REG32(SMMU_CB13_TTBR0_LOW, 0x1d020)
5297    FIELD(SMMU_CB13_TTBR0_LOW, ADDRESS_31_7, 25, 7)
5298    FIELD(SMMU_CB13_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
5299    FIELD(SMMU_CB13_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
5300    FIELD(SMMU_CB13_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
5301    FIELD(SMMU_CB13_TTBR0_LOW, ADDRESS_2, 1, 2)
5302    FIELD(SMMU_CB13_TTBR0_LOW, ADDRESS_1_S, 1, 1)
5303    FIELD(SMMU_CB13_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
5304REG32(SMMU_CB13_TTBR0_HIGH, 0x1d024)
5305    FIELD(SMMU_CB13_TTBR0_HIGH, ASID, 16, 16)
5306    FIELD(SMMU_CB13_TTBR0_HIGH, ADDRESS, 16, 0)
5307REG32(SMMU_CB13_TTBR1_LOW, 0x1d028)
5308    FIELD(SMMU_CB13_TTBR1_LOW, ADDRESS_31_7, 25, 7)
5309    FIELD(SMMU_CB13_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
5310    FIELD(SMMU_CB13_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
5311    FIELD(SMMU_CB13_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
5312    FIELD(SMMU_CB13_TTBR1_LOW, ADDRESS_2, 1, 2)
5313    FIELD(SMMU_CB13_TTBR1_LOW, ADDRESS_1_S, 1, 1)
5314    FIELD(SMMU_CB13_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
5315REG32(SMMU_CB13_TTBR1_HIGH, 0x1d02c)
5316    FIELD(SMMU_CB13_TTBR1_HIGH, ASID, 16, 16)
5317    FIELD(SMMU_CB13_TTBR1_HIGH, ADDRESS, 16, 0)
5318REG32(SMMU_CB13_TCR_LPAE, 0x1d030)
5319    FIELD(SMMU_CB13_TCR_LPAE, EAE, 1, 31)
5320    FIELD(SMMU_CB13_TCR_LPAE, NSCFG1_TG1, 1, 30)
5321    FIELD(SMMU_CB13_TCR_LPAE, SH1, 2, 28)
5322    FIELD(SMMU_CB13_TCR_LPAE, ORGN1, 2, 26)
5323    FIELD(SMMU_CB13_TCR_LPAE, IRGN1, 2, 24)
5324    FIELD(SMMU_CB13_TCR_LPAE, EPD1, 1, 23)
5325    FIELD(SMMU_CB13_TCR_LPAE, A1, 1, 22)
5326    FIELD(SMMU_CB13_TCR_LPAE, T1SZ_5_3, 3, 19)
5327    FIELD(SMMU_CB13_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
5328    FIELD(SMMU_CB13_TCR_LPAE, NSCFG0_TG0, 1, 14)
5329    FIELD(SMMU_CB13_TCR_LPAE, SH0, 2, 12)
5330    FIELD(SMMU_CB13_TCR_LPAE, ORGN0, 2, 10)
5331    FIELD(SMMU_CB13_TCR_LPAE, IRGN0, 2, 8)
5332    FIELD(SMMU_CB13_TCR_LPAE, SL0_1_EPD0, 1, 7)
5333    FIELD(SMMU_CB13_TCR_LPAE, SL0_0, 1, 6)
5334    FIELD(SMMU_CB13_TCR_LPAE, PD1_T0SZ_5, 1, 5)
5335    FIELD(SMMU_CB13_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
5336    FIELD(SMMU_CB13_TCR_LPAE, T0SZ_3_0, 4, 0)
5337REG32(SMMU_CB13_CONTEXTIDR, 0x1d034)
5338    FIELD(SMMU_CB13_CONTEXTIDR, PROCID, 24, 8)
5339    FIELD(SMMU_CB13_CONTEXTIDR, ASID, 8, 0)
5340REG32(SMMU_CB13_PRRR_MAIR0, 0x1d038)
5341    FIELD(SMMU_CB13_PRRR_MAIR0, NOS7, 1, 31)
5342    FIELD(SMMU_CB13_PRRR_MAIR0, NOS6, 1, 30)
5343    FIELD(SMMU_CB13_PRRR_MAIR0, NOS5, 1, 29)
5344    FIELD(SMMU_CB13_PRRR_MAIR0, NOS4, 1, 28)
5345    FIELD(SMMU_CB13_PRRR_MAIR0, NOS3, 1, 27)
5346    FIELD(SMMU_CB13_PRRR_MAIR0, NOS2, 1, 26)
5347    FIELD(SMMU_CB13_PRRR_MAIR0, NOS1, 1, 25)
5348    FIELD(SMMU_CB13_PRRR_MAIR0, NOS0, 1, 24)
5349    FIELD(SMMU_CB13_PRRR_MAIR0, NS1, 1, 19)
5350    FIELD(SMMU_CB13_PRRR_MAIR0, NS0, 1, 18)
5351    FIELD(SMMU_CB13_PRRR_MAIR0, DS1, 1, 17)
5352    FIELD(SMMU_CB13_PRRR_MAIR0, DS0, 1, 16)
5353    FIELD(SMMU_CB13_PRRR_MAIR0, TR7, 2, 14)
5354    FIELD(SMMU_CB13_PRRR_MAIR0, TR6, 2, 12)
5355    FIELD(SMMU_CB13_PRRR_MAIR0, TR5, 2, 10)
5356    FIELD(SMMU_CB13_PRRR_MAIR0, TR4, 2, 8)
5357    FIELD(SMMU_CB13_PRRR_MAIR0, TR3, 2, 6)
5358    FIELD(SMMU_CB13_PRRR_MAIR0, TR2, 2, 4)
5359    FIELD(SMMU_CB13_PRRR_MAIR0, TR1, 2, 2)
5360    FIELD(SMMU_CB13_PRRR_MAIR0, TR0, 2, 0)
5361REG32(SMMU_CB13_NMRR_MAIR1, 0x1d03c)
5362    FIELD(SMMU_CB13_NMRR_MAIR1, OR7, 2, 30)
5363    FIELD(SMMU_CB13_NMRR_MAIR1, OR6, 2, 28)
5364    FIELD(SMMU_CB13_NMRR_MAIR1, OR5, 2, 26)
5365    FIELD(SMMU_CB13_NMRR_MAIR1, OR4, 2, 24)
5366    FIELD(SMMU_CB13_NMRR_MAIR1, OR3, 2, 22)
5367    FIELD(SMMU_CB13_NMRR_MAIR1, OR2, 2, 20)
5368    FIELD(SMMU_CB13_NMRR_MAIR1, OR1, 2, 18)
5369    FIELD(SMMU_CB13_NMRR_MAIR1, OR0, 2, 16)
5370    FIELD(SMMU_CB13_NMRR_MAIR1, IR7, 2, 14)
5371    FIELD(SMMU_CB13_NMRR_MAIR1, IR6, 2, 12)
5372    FIELD(SMMU_CB13_NMRR_MAIR1, IR5, 2, 10)
5373    FIELD(SMMU_CB13_NMRR_MAIR1, IR4, 2, 8)
5374    FIELD(SMMU_CB13_NMRR_MAIR1, IR3, 2, 6)
5375    FIELD(SMMU_CB13_NMRR_MAIR1, IR2, 2, 4)
5376    FIELD(SMMU_CB13_NMRR_MAIR1, IR1, 2, 2)
5377    FIELD(SMMU_CB13_NMRR_MAIR1, IR0, 2, 0)
5378REG32(SMMU_CB13_FSR, 0x1d058)
5379    FIELD(SMMU_CB13_FSR, MULTI, 1, 31)
5380    FIELD(SMMU_CB13_FSR, SS, 1, 30)
5381    FIELD(SMMU_CB13_FSR, FORMAT, 2, 9)
5382    FIELD(SMMU_CB13_FSR, UUT, 1, 8)
5383    FIELD(SMMU_CB13_FSR, ASF, 1, 7)
5384    FIELD(SMMU_CB13_FSR, TLBLKF, 1, 6)
5385    FIELD(SMMU_CB13_FSR, TLBMCF, 1, 5)
5386    FIELD(SMMU_CB13_FSR, EF, 1, 4)
5387    FIELD(SMMU_CB13_FSR, PF, 1, 3)
5388    FIELD(SMMU_CB13_FSR, AFF, 1, 2)
5389    FIELD(SMMU_CB13_FSR, TF, 1, 1)
5390REG32(SMMU_CB13_FSRRESTORE, 0x1d05c)
5391REG32(SMMU_CB13_FAR_LOW, 0x1d060)
5392REG32(SMMU_CB13_FAR_HIGH, 0x1d064)
5393    FIELD(SMMU_CB13_FAR_HIGH, BITS, 17, 0)
5394REG32(SMMU_CB13_FSYNR0, 0x1d068)
5395    FIELD(SMMU_CB13_FSYNR0, S1CBNDX, 4, 16)
5396    FIELD(SMMU_CB13_FSYNR0, AFR, 1, 11)
5397    FIELD(SMMU_CB13_FSYNR0, PTWF, 1, 10)
5398    FIELD(SMMU_CB13_FSYNR0, ATOF, 1, 9)
5399    FIELD(SMMU_CB13_FSYNR0, NSATTR, 1, 8)
5400    FIELD(SMMU_CB13_FSYNR0, IND, 1, 6)
5401    FIELD(SMMU_CB13_FSYNR0, PNU, 1, 5)
5402    FIELD(SMMU_CB13_FSYNR0, WNR, 1, 4)
5403    FIELD(SMMU_CB13_FSYNR0, PLVL, 2, 0)
5404REG32(SMMU_CB13_IPAFAR_LOW, 0x1d070)
5405    FIELD(SMMU_CB13_IPAFAR_LOW, IPAFAR_L, 20, 12)
5406    FIELD(SMMU_CB13_IPAFAR_LOW, FAR_RO, 12, 0)
5407REG32(SMMU_CB13_IPAFAR_HIGH, 0x1d074)
5408    FIELD(SMMU_CB13_IPAFAR_HIGH, BITS, 16, 0)
5409REG32(SMMU_CB13_TLBIVA_LOW, 0x1d600)
5410REG32(SMMU_CB13_TLBIVA_HIGH, 0x1d604)
5411    FIELD(SMMU_CB13_TLBIVA_HIGH, ASID, 16, 16)
5412    FIELD(SMMU_CB13_TLBIVA_HIGH, ADDRESS, 5, 0)
5413REG32(SMMU_CB13_TLBIVAA_LOW, 0x1d608)
5414REG32(SMMU_CB13_TLBIVAA_HIGH, 0x1d60c)
5415    FIELD(SMMU_CB13_TLBIVAA_HIGH, ASID, 16, 16)
5416    FIELD(SMMU_CB13_TLBIVAA_HIGH, ADDRESS, 5, 0)
5417REG32(SMMU_CB13_TLBIASID, 0x1d610)
5418    FIELD(SMMU_CB13_TLBIASID, ASID, 16, 0)
5419REG32(SMMU_CB13_TLBIALL, 0x1d618)
5420REG32(SMMU_CB13_TLBIVAL_LOW, 0x1d620)
5421REG32(SMMU_CB13_TLBIVAL_HIGH, 0x1d624)
5422    FIELD(SMMU_CB13_TLBIVAL_HIGH, ASID, 16, 16)
5423    FIELD(SMMU_CB13_TLBIVAL_HIGH, ADDRESS, 5, 0)
5424REG32(SMMU_CB13_TLBIVAAL_LOW, 0x1d628)
5425REG32(SMMU_CB13_TLBIVAAL_HIGH, 0x1d62c)
5426    FIELD(SMMU_CB13_TLBIVAAL_HIGH, ASID, 16, 16)
5427    FIELD(SMMU_CB13_TLBIVAAL_HIGH, ADDRESS, 5, 0)
5428REG32(SMMU_CB13_TLBIIPAS2_LOW, 0x1d630)
5429REG32(SMMU_CB13_TLBIIPAS2_HIGH, 0x1d634)
5430    FIELD(SMMU_CB13_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
5431REG32(SMMU_CB13_TLBIIPAS2L_LOW, 0x1d638)
5432REG32(SMMU_CB13_TLBIIPAS2L_HIGH, 0x1d63c)
5433    FIELD(SMMU_CB13_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
5434REG32(SMMU_CB13_TLBSYNC, 0x1d7f0)
5435REG32(SMMU_CB13_TLBSTATUS, 0x1d7f4)
5436    FIELD(SMMU_CB13_TLBSTATUS, SACTIVE, 1, 0)
5437REG32(SMMU_CB13_PMEVCNTR0, 0x1de00)
5438REG32(SMMU_CB13_PMEVCNTR1, 0x1de04)
5439REG32(SMMU_CB13_PMEVCNTR2, 0x1de08)
5440REG32(SMMU_CB13_PMEVCNTR3, 0x1de0c)
5441REG32(SMMU_CB13_PMEVTYPER0, 0x1de80)
5442    FIELD(SMMU_CB13_PMEVTYPER0, P, 1, 31)
5443    FIELD(SMMU_CB13_PMEVTYPER0, U, 1, 30)
5444    FIELD(SMMU_CB13_PMEVTYPER0, NSP, 1, 29)
5445    FIELD(SMMU_CB13_PMEVTYPER0, NSU, 1, 28)
5446    FIELD(SMMU_CB13_PMEVTYPER0, EVENT, 5, 0)
5447REG32(SMMU_CB13_PMEVTYPER1, 0x1de84)
5448    FIELD(SMMU_CB13_PMEVTYPER1, P, 1, 31)
5449    FIELD(SMMU_CB13_PMEVTYPER1, U, 1, 30)
5450    FIELD(SMMU_CB13_PMEVTYPER1, NSP, 1, 29)
5451    FIELD(SMMU_CB13_PMEVTYPER1, NSU, 1, 28)
5452    FIELD(SMMU_CB13_PMEVTYPER1, EVENT, 5, 0)
5453REG32(SMMU_CB13_PMEVTYPER2, 0x1de88)
5454    FIELD(SMMU_CB13_PMEVTYPER2, P, 1, 31)
5455    FIELD(SMMU_CB13_PMEVTYPER2, U, 1, 30)
5456    FIELD(SMMU_CB13_PMEVTYPER2, NSP, 1, 29)
5457    FIELD(SMMU_CB13_PMEVTYPER2, NSU, 1, 28)
5458    FIELD(SMMU_CB13_PMEVTYPER2, EVENT, 5, 0)
5459REG32(SMMU_CB13_PMEVTYPER3, 0x1de8c)
5460    FIELD(SMMU_CB13_PMEVTYPER3, P, 1, 31)
5461    FIELD(SMMU_CB13_PMEVTYPER3, U, 1, 30)
5462    FIELD(SMMU_CB13_PMEVTYPER3, NSP, 1, 29)
5463    FIELD(SMMU_CB13_PMEVTYPER3, NSU, 1, 28)
5464    FIELD(SMMU_CB13_PMEVTYPER3, EVENT, 5, 0)
5465REG32(SMMU_CB13_PMCFGR, 0x1df00)
5466    FIELD(SMMU_CB13_PMCFGR, NCG, 8, 24)
5467    FIELD(SMMU_CB13_PMCFGR, UEN, 1, 19)
5468    FIELD(SMMU_CB13_PMCFGR, EX, 1, 16)
5469    FIELD(SMMU_CB13_PMCFGR, CCD, 1, 15)
5470    FIELD(SMMU_CB13_PMCFGR, CC, 1, 14)
5471    FIELD(SMMU_CB13_PMCFGR, SIZE, 6, 8)
5472    FIELD(SMMU_CB13_PMCFGR, N, 8, 0)
5473REG32(SMMU_CB13_PMCR, 0x1df04)
5474    FIELD(SMMU_CB13_PMCR, IMP, 8, 24)
5475    FIELD(SMMU_CB13_PMCR, X, 1, 4)
5476    FIELD(SMMU_CB13_PMCR, P, 1, 1)
5477    FIELD(SMMU_CB13_PMCR, E, 1, 0)
5478REG32(SMMU_CB13_PMCEID, 0x1df20)
5479    FIELD(SMMU_CB13_PMCEID, EVENT0X12, 1, 17)
5480    FIELD(SMMU_CB13_PMCEID, EVENT0X11, 1, 16)
5481    FIELD(SMMU_CB13_PMCEID, EVENT0X10, 1, 15)
5482    FIELD(SMMU_CB13_PMCEID, EVENT0X0A, 1, 9)
5483    FIELD(SMMU_CB13_PMCEID, EVENT0X09, 1, 8)
5484    FIELD(SMMU_CB13_PMCEID, EVENT0X08, 1, 7)
5485    FIELD(SMMU_CB13_PMCEID, EVENT0X01, 1, 1)
5486    FIELD(SMMU_CB13_PMCEID, EVENT0X00, 1, 0)
5487REG32(SMMU_CB13_PMCNTENSE, 0x1df40)
5488    FIELD(SMMU_CB13_PMCNTENSE, P3, 1, 3)
5489    FIELD(SMMU_CB13_PMCNTENSE, P2, 1, 2)
5490    FIELD(SMMU_CB13_PMCNTENSE, P1, 1, 1)
5491    FIELD(SMMU_CB13_PMCNTENSE, P0, 1, 0)
5492REG32(SMMU_CB13_PMCNTENCLR, 0x1df44)
5493    FIELD(SMMU_CB13_PMCNTENCLR, P3, 1, 3)
5494    FIELD(SMMU_CB13_PMCNTENCLR, P2, 1, 2)
5495    FIELD(SMMU_CB13_PMCNTENCLR, P1, 1, 1)
5496    FIELD(SMMU_CB13_PMCNTENCLR, P0, 1, 0)
5497REG32(SMMU_CB13_PMCNTENSET, 0x1df48)
5498    FIELD(SMMU_CB13_PMCNTENSET, P3, 1, 3)
5499    FIELD(SMMU_CB13_PMCNTENSET, P2, 1, 2)
5500    FIELD(SMMU_CB13_PMCNTENSET, P1, 1, 1)
5501    FIELD(SMMU_CB13_PMCNTENSET, P0, 1, 0)
5502REG32(SMMU_CB13_PMINTENCLR, 0x1df4c)
5503    FIELD(SMMU_CB13_PMINTENCLR, P3, 1, 3)
5504    FIELD(SMMU_CB13_PMINTENCLR, P2, 1, 2)
5505    FIELD(SMMU_CB13_PMINTENCLR, P1, 1, 1)
5506    FIELD(SMMU_CB13_PMINTENCLR, P0, 1, 0)
5507REG32(SMMU_CB13_PMOVSCLR, 0x1df50)
5508    FIELD(SMMU_CB13_PMOVSCLR, P3, 1, 3)
5509    FIELD(SMMU_CB13_PMOVSCLR, P2, 1, 2)
5510    FIELD(SMMU_CB13_PMOVSCLR, P1, 1, 1)
5511    FIELD(SMMU_CB13_PMOVSCLR, P0, 1, 0)
5512REG32(SMMU_CB13_PMOVSSET, 0x1df58)
5513    FIELD(SMMU_CB13_PMOVSSET, P3, 1, 3)
5514    FIELD(SMMU_CB13_PMOVSSET, P2, 1, 2)
5515    FIELD(SMMU_CB13_PMOVSSET, P1, 1, 1)
5516    FIELD(SMMU_CB13_PMOVSSET, P0, 1, 0)
5517REG32(SMMU_CB13_PMAUTHSTATUS, 0x1dfb8)
5518    FIELD(SMMU_CB13_PMAUTHSTATUS, SNI, 1, 7)
5519    FIELD(SMMU_CB13_PMAUTHSTATUS, SNE, 1, 6)
5520    FIELD(SMMU_CB13_PMAUTHSTATUS, SI, 1, 5)
5521    FIELD(SMMU_CB13_PMAUTHSTATUS, SE, 1, 4)
5522    FIELD(SMMU_CB13_PMAUTHSTATUS, NSNI, 1, 3)
5523    FIELD(SMMU_CB13_PMAUTHSTATUS, NSNE, 1, 2)
5524    FIELD(SMMU_CB13_PMAUTHSTATUS, NSI, 1, 1)
5525    FIELD(SMMU_CB13_PMAUTHSTATUS, NSE, 1, 0)
5526REG32(SMMU_CB14_SCTLR, 0x1e000)
5527    FIELD(SMMU_CB14_SCTLR, NSCFG, 2, 28)
5528    FIELD(SMMU_CB14_SCTLR, WACFG, 2, 26)
5529    FIELD(SMMU_CB14_SCTLR, RACFG, 2, 24)
5530    FIELD(SMMU_CB14_SCTLR, SHCFG, 2, 22)
5531    FIELD(SMMU_CB14_SCTLR, FB, 1, 21)
5532    FIELD(SMMU_CB14_SCTLR, MTCFG, 1, 20)
5533    FIELD(SMMU_CB14_SCTLR, MEMATTR, 4, 16)
5534    FIELD(SMMU_CB14_SCTLR, TRANSIENTCFG, 2, 14)
5535    FIELD(SMMU_CB14_SCTLR, PTW, 1, 13)
5536    FIELD(SMMU_CB14_SCTLR, ASIDPNE, 1, 12)
5537    FIELD(SMMU_CB14_SCTLR, UWXN, 1, 10)
5538    FIELD(SMMU_CB14_SCTLR, WXN, 1, 9)
5539    FIELD(SMMU_CB14_SCTLR, HUPCF, 1, 8)
5540    FIELD(SMMU_CB14_SCTLR, CFCFG, 1, 7)
5541    FIELD(SMMU_CB14_SCTLR, CFIE, 1, 6)
5542    FIELD(SMMU_CB14_SCTLR, CFRE, 1, 5)
5543    FIELD(SMMU_CB14_SCTLR, E, 1, 4)
5544    FIELD(SMMU_CB14_SCTLR, AFFD, 1, 3)
5545    FIELD(SMMU_CB14_SCTLR, AFE, 1, 2)
5546    FIELD(SMMU_CB14_SCTLR, TRE, 1, 1)
5547    FIELD(SMMU_CB14_SCTLR, M, 1, 0)
5548REG32(SMMU_CB14_ACTLR, 0x1e004)
5549    FIELD(SMMU_CB14_ACTLR, CPRE, 1, 1)
5550    FIELD(SMMU_CB14_ACTLR, CMTLB, 1, 0)
5551REG32(SMMU_CB14_RESUME, 0x1e008)
5552    FIELD(SMMU_CB14_RESUME, TNR, 1, 0)
5553REG32(SMMU_CB14_TCR2, 0x1e010)
5554    FIELD(SMMU_CB14_TCR2, NSCFG1, 1, 30)
5555    FIELD(SMMU_CB14_TCR2, SEP, 3, 15)
5556    FIELD(SMMU_CB14_TCR2, NSCFG0, 1, 14)
5557    FIELD(SMMU_CB14_TCR2, TBI1, 1, 6)
5558    FIELD(SMMU_CB14_TCR2, TBI0, 1, 5)
5559    FIELD(SMMU_CB14_TCR2, AS, 1, 4)
5560    FIELD(SMMU_CB14_TCR2, PASIZE, 3, 0)
5561REG32(SMMU_CB14_TTBR0_LOW, 0x1e020)
5562    FIELD(SMMU_CB14_TTBR0_LOW, ADDRESS_31_7, 25, 7)
5563    FIELD(SMMU_CB14_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
5564    FIELD(SMMU_CB14_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
5565    FIELD(SMMU_CB14_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
5566    FIELD(SMMU_CB14_TTBR0_LOW, ADDRESS_2, 1, 2)
5567    FIELD(SMMU_CB14_TTBR0_LOW, ADDRESS_1_S, 1, 1)
5568    FIELD(SMMU_CB14_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
5569REG32(SMMU_CB14_TTBR0_HIGH, 0x1e024)
5570    FIELD(SMMU_CB14_TTBR0_HIGH, ASID, 16, 16)
5571    FIELD(SMMU_CB14_TTBR0_HIGH, ADDRESS, 16, 0)
5572REG32(SMMU_CB14_TTBR1_LOW, 0x1e028)
5573    FIELD(SMMU_CB14_TTBR1_LOW, ADDRESS_31_7, 25, 7)
5574    FIELD(SMMU_CB14_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
5575    FIELD(SMMU_CB14_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
5576    FIELD(SMMU_CB14_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
5577    FIELD(SMMU_CB14_TTBR1_LOW, ADDRESS_2, 1, 2)
5578    FIELD(SMMU_CB14_TTBR1_LOW, ADDRESS_1_S, 1, 1)
5579    FIELD(SMMU_CB14_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
5580REG32(SMMU_CB14_TTBR1_HIGH, 0x1e02c)
5581    FIELD(SMMU_CB14_TTBR1_HIGH, ASID, 16, 16)
5582    FIELD(SMMU_CB14_TTBR1_HIGH, ADDRESS, 16, 0)
5583REG32(SMMU_CB14_TCR_LPAE, 0x1e030)
5584    FIELD(SMMU_CB14_TCR_LPAE, EAE, 1, 31)
5585    FIELD(SMMU_CB14_TCR_LPAE, NSCFG1_TG1, 1, 30)
5586    FIELD(SMMU_CB14_TCR_LPAE, SH1, 2, 28)
5587    FIELD(SMMU_CB14_TCR_LPAE, ORGN1, 2, 26)
5588    FIELD(SMMU_CB14_TCR_LPAE, IRGN1, 2, 24)
5589    FIELD(SMMU_CB14_TCR_LPAE, EPD1, 1, 23)
5590    FIELD(SMMU_CB14_TCR_LPAE, A1, 1, 22)
5591    FIELD(SMMU_CB14_TCR_LPAE, T1SZ_5_3, 3, 19)
5592    FIELD(SMMU_CB14_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
5593    FIELD(SMMU_CB14_TCR_LPAE, NSCFG0_TG0, 1, 14)
5594    FIELD(SMMU_CB14_TCR_LPAE, SH0, 2, 12)
5595    FIELD(SMMU_CB14_TCR_LPAE, ORGN0, 2, 10)
5596    FIELD(SMMU_CB14_TCR_LPAE, IRGN0, 2, 8)
5597    FIELD(SMMU_CB14_TCR_LPAE, SL0_1_EPD0, 1, 7)
5598    FIELD(SMMU_CB14_TCR_LPAE, SL0_0, 1, 6)
5599    FIELD(SMMU_CB14_TCR_LPAE, PD1_T0SZ_5, 1, 5)
5600    FIELD(SMMU_CB14_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
5601    FIELD(SMMU_CB14_TCR_LPAE, T0SZ_3_0, 4, 0)
5602REG32(SMMU_CB14_CONTEXTIDR, 0x1e034)
5603    FIELD(SMMU_CB14_CONTEXTIDR, PROCID, 24, 8)
5604    FIELD(SMMU_CB14_CONTEXTIDR, ASID, 8, 0)
5605REG32(SMMU_CB14_PRRR_MAIR0, 0x1e038)
5606    FIELD(SMMU_CB14_PRRR_MAIR0, NOS7, 1, 31)
5607    FIELD(SMMU_CB14_PRRR_MAIR0, NOS6, 1, 30)
5608    FIELD(SMMU_CB14_PRRR_MAIR0, NOS5, 1, 29)
5609    FIELD(SMMU_CB14_PRRR_MAIR0, NOS4, 1, 28)
5610    FIELD(SMMU_CB14_PRRR_MAIR0, NOS3, 1, 27)
5611    FIELD(SMMU_CB14_PRRR_MAIR0, NOS2, 1, 26)
5612    FIELD(SMMU_CB14_PRRR_MAIR0, NOS1, 1, 25)
5613    FIELD(SMMU_CB14_PRRR_MAIR0, NOS0, 1, 24)
5614    FIELD(SMMU_CB14_PRRR_MAIR0, NS1, 1, 19)
5615    FIELD(SMMU_CB14_PRRR_MAIR0, NS0, 1, 18)
5616    FIELD(SMMU_CB14_PRRR_MAIR0, DS1, 1, 17)
5617    FIELD(SMMU_CB14_PRRR_MAIR0, DS0, 1, 16)
5618    FIELD(SMMU_CB14_PRRR_MAIR0, TR7, 2, 14)
5619    FIELD(SMMU_CB14_PRRR_MAIR0, TR6, 2, 12)
5620    FIELD(SMMU_CB14_PRRR_MAIR0, TR5, 2, 10)
5621    FIELD(SMMU_CB14_PRRR_MAIR0, TR4, 2, 8)
5622    FIELD(SMMU_CB14_PRRR_MAIR0, TR3, 2, 6)
5623    FIELD(SMMU_CB14_PRRR_MAIR0, TR2, 2, 4)
5624    FIELD(SMMU_CB14_PRRR_MAIR0, TR1, 2, 2)
5625    FIELD(SMMU_CB14_PRRR_MAIR0, TR0, 2, 0)
5626REG32(SMMU_CB14_NMRR_MAIR1, 0x1e03c)
5627    FIELD(SMMU_CB14_NMRR_MAIR1, OR7, 2, 30)
5628    FIELD(SMMU_CB14_NMRR_MAIR1, OR6, 2, 28)
5629    FIELD(SMMU_CB14_NMRR_MAIR1, OR5, 2, 26)
5630    FIELD(SMMU_CB14_NMRR_MAIR1, OR4, 2, 24)
5631    FIELD(SMMU_CB14_NMRR_MAIR1, OR3, 2, 22)
5632    FIELD(SMMU_CB14_NMRR_MAIR1, OR2, 2, 20)
5633    FIELD(SMMU_CB14_NMRR_MAIR1, OR1, 2, 18)
5634    FIELD(SMMU_CB14_NMRR_MAIR1, OR0, 2, 16)
5635    FIELD(SMMU_CB14_NMRR_MAIR1, IR7, 2, 14)
5636    FIELD(SMMU_CB14_NMRR_MAIR1, IR6, 2, 12)
5637    FIELD(SMMU_CB14_NMRR_MAIR1, IR5, 2, 10)
5638    FIELD(SMMU_CB14_NMRR_MAIR1, IR4, 2, 8)
5639    FIELD(SMMU_CB14_NMRR_MAIR1, IR3, 2, 6)
5640    FIELD(SMMU_CB14_NMRR_MAIR1, IR2, 2, 4)
5641    FIELD(SMMU_CB14_NMRR_MAIR1, IR1, 2, 2)
5642    FIELD(SMMU_CB14_NMRR_MAIR1, IR0, 2, 0)
5643REG32(SMMU_CB14_FSR, 0x1e058)
5644    FIELD(SMMU_CB14_FSR, MULTI, 1, 31)
5645    FIELD(SMMU_CB14_FSR, SS, 1, 30)
5646    FIELD(SMMU_CB14_FSR, FORMAT, 2, 9)
5647    FIELD(SMMU_CB14_FSR, UUT, 1, 8)
5648    FIELD(SMMU_CB14_FSR, ASF, 1, 7)
5649    FIELD(SMMU_CB14_FSR, TLBLKF, 1, 6)
5650    FIELD(SMMU_CB14_FSR, TLBMCF, 1, 5)
5651    FIELD(SMMU_CB14_FSR, EF, 1, 4)
5652    FIELD(SMMU_CB14_FSR, PF, 1, 3)
5653    FIELD(SMMU_CB14_FSR, AFF, 1, 2)
5654    FIELD(SMMU_CB14_FSR, TF, 1, 1)
5655REG32(SMMU_CB14_FSRRESTORE, 0x1e05c)
5656REG32(SMMU_CB14_FAR_LOW, 0x1e060)
5657REG32(SMMU_CB14_FAR_HIGH, 0x1e064)
5658    FIELD(SMMU_CB14_FAR_HIGH, BITS, 17, 0)
5659REG32(SMMU_CB14_FSYNR0, 0x1e068)
5660    FIELD(SMMU_CB14_FSYNR0, S1CBNDX, 4, 16)
5661    FIELD(SMMU_CB14_FSYNR0, AFR, 1, 11)
5662    FIELD(SMMU_CB14_FSYNR0, PTWF, 1, 10)
5663    FIELD(SMMU_CB14_FSYNR0, ATOF, 1, 9)
5664    FIELD(SMMU_CB14_FSYNR0, NSATTR, 1, 8)
5665    FIELD(SMMU_CB14_FSYNR0, IND, 1, 6)
5666    FIELD(SMMU_CB14_FSYNR0, PNU, 1, 5)
5667    FIELD(SMMU_CB14_FSYNR0, WNR, 1, 4)
5668    FIELD(SMMU_CB14_FSYNR0, PLVL, 2, 0)
5669REG32(SMMU_CB14_IPAFAR_LOW, 0x1e070)
5670    FIELD(SMMU_CB14_IPAFAR_LOW, IPAFAR_L, 20, 12)
5671    FIELD(SMMU_CB14_IPAFAR_LOW, FAR_RO, 12, 0)
5672REG32(SMMU_CB14_IPAFAR_HIGH, 0x1e074)
5673    FIELD(SMMU_CB14_IPAFAR_HIGH, BITS, 16, 0)
5674REG32(SMMU_CB14_TLBIVA_LOW, 0x1e600)
5675REG32(SMMU_CB14_TLBIVA_HIGH, 0x1e604)
5676    FIELD(SMMU_CB14_TLBIVA_HIGH, ASID, 16, 16)
5677    FIELD(SMMU_CB14_TLBIVA_HIGH, ADDRESS, 5, 0)
5678REG32(SMMU_CB14_TLBIVAA_LOW, 0x1e608)
5679REG32(SMMU_CB14_TLBIVAA_HIGH, 0x1e60c)
5680    FIELD(SMMU_CB14_TLBIVAA_HIGH, ASID, 16, 16)
5681    FIELD(SMMU_CB14_TLBIVAA_HIGH, ADDRESS, 5, 0)
5682REG32(SMMU_CB14_TLBIASID, 0x1e610)
5683    FIELD(SMMU_CB14_TLBIASID, ASID, 16, 0)
5684REG32(SMMU_CB14_TLBIALL, 0x1e618)
5685REG32(SMMU_CB14_TLBIVAL_LOW, 0x1e620)
5686REG32(SMMU_CB14_TLBIVAL_HIGH, 0x1e624)
5687    FIELD(SMMU_CB14_TLBIVAL_HIGH, ASID, 16, 16)
5688    FIELD(SMMU_CB14_TLBIVAL_HIGH, ADDRESS, 5, 0)
5689REG32(SMMU_CB14_TLBIVAAL_LOW, 0x1e628)
5690REG32(SMMU_CB14_TLBIVAAL_HIGH, 0x1e62c)
5691    FIELD(SMMU_CB14_TLBIVAAL_HIGH, ASID, 16, 16)
5692    FIELD(SMMU_CB14_TLBIVAAL_HIGH, ADDRESS, 5, 0)
5693REG32(SMMU_CB14_TLBIIPAS2_LOW, 0x1e630)
5694REG32(SMMU_CB14_TLBIIPAS2_HIGH, 0x1e634)
5695    FIELD(SMMU_CB14_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
5696REG32(SMMU_CB14_TLBIIPAS2L_LOW, 0x1e638)
5697REG32(SMMU_CB14_TLBIIPAS2L_HIGH, 0x1e63c)
5698    FIELD(SMMU_CB14_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
5699REG32(SMMU_CB14_TLBSYNC, 0x1e7f0)
5700REG32(SMMU_CB14_TLBSTATUS, 0x1e7f4)
5701    FIELD(SMMU_CB14_TLBSTATUS, SACTIVE, 1, 0)
5702REG32(SMMU_CB14_PMEVCNTR0, 0x1ee00)
5703REG32(SMMU_CB14_PMEVCNTR1, 0x1ee04)
5704REG32(SMMU_CB14_PMEVCNTR2, 0x1ee08)
5705REG32(SMMU_CB14_PMEVCNTR3, 0x1ee0c)
5706REG32(SMMU_CB14_PMEVTYPER0, 0x1ee80)
5707    FIELD(SMMU_CB14_PMEVTYPER0, P, 1, 31)
5708    FIELD(SMMU_CB14_PMEVTYPER0, U, 1, 30)
5709    FIELD(SMMU_CB14_PMEVTYPER0, NSP, 1, 29)
5710    FIELD(SMMU_CB14_PMEVTYPER0, NSU, 1, 28)
5711    FIELD(SMMU_CB14_PMEVTYPER0, EVENT, 5, 0)
5712REG32(SMMU_CB14_PMEVTYPER1, 0x1ee84)
5713    FIELD(SMMU_CB14_PMEVTYPER1, P, 1, 31)
5714    FIELD(SMMU_CB14_PMEVTYPER1, U, 1, 30)
5715    FIELD(SMMU_CB14_PMEVTYPER1, NSP, 1, 29)
5716    FIELD(SMMU_CB14_PMEVTYPER1, NSU, 1, 28)
5717    FIELD(SMMU_CB14_PMEVTYPER1, EVENT, 5, 0)
5718REG32(SMMU_CB14_PMEVTYPER2, 0x1ee88)
5719    FIELD(SMMU_CB14_PMEVTYPER2, P, 1, 31)
5720    FIELD(SMMU_CB14_PMEVTYPER2, U, 1, 30)
5721    FIELD(SMMU_CB14_PMEVTYPER2, NSP, 1, 29)
5722    FIELD(SMMU_CB14_PMEVTYPER2, NSU, 1, 28)
5723    FIELD(SMMU_CB14_PMEVTYPER2, EVENT, 5, 0)
5724REG32(SMMU_CB14_PMEVTYPER3, 0x1ee8c)
5725    FIELD(SMMU_CB14_PMEVTYPER3, P, 1, 31)
5726    FIELD(SMMU_CB14_PMEVTYPER3, U, 1, 30)
5727    FIELD(SMMU_CB14_PMEVTYPER3, NSP, 1, 29)
5728    FIELD(SMMU_CB14_PMEVTYPER3, NSU, 1, 28)
5729    FIELD(SMMU_CB14_PMEVTYPER3, EVENT, 5, 0)
5730REG32(SMMU_CB14_PMCFGR, 0x1ef00)
5731    FIELD(SMMU_CB14_PMCFGR, NCG, 8, 24)
5732    FIELD(SMMU_CB14_PMCFGR, UEN, 1, 19)
5733    FIELD(SMMU_CB14_PMCFGR, EX, 1, 16)
5734    FIELD(SMMU_CB14_PMCFGR, CCD, 1, 15)
5735    FIELD(SMMU_CB14_PMCFGR, CC, 1, 14)
5736    FIELD(SMMU_CB14_PMCFGR, SIZE, 6, 8)
5737    FIELD(SMMU_CB14_PMCFGR, N, 8, 0)
5738REG32(SMMU_CB14_PMCR, 0x1ef04)
5739    FIELD(SMMU_CB14_PMCR, IMP, 8, 24)
5740    FIELD(SMMU_CB14_PMCR, X, 1, 4)
5741    FIELD(SMMU_CB14_PMCR, P, 1, 1)
5742    FIELD(SMMU_CB14_PMCR, E, 1, 0)
5743REG32(SMMU_CB14_PMCEID, 0x1ef20)
5744    FIELD(SMMU_CB14_PMCEID, EVENT0X12, 1, 17)
5745    FIELD(SMMU_CB14_PMCEID, EVENT0X11, 1, 16)
5746    FIELD(SMMU_CB14_PMCEID, EVENT0X10, 1, 15)
5747    FIELD(SMMU_CB14_PMCEID, EVENT0X0A, 1, 9)
5748    FIELD(SMMU_CB14_PMCEID, EVENT0X09, 1, 8)
5749    FIELD(SMMU_CB14_PMCEID, EVENT0X08, 1, 7)
5750    FIELD(SMMU_CB14_PMCEID, EVENT0X01, 1, 1)
5751    FIELD(SMMU_CB14_PMCEID, EVENT0X00, 1, 0)
5752REG32(SMMU_CB14_PMCNTENSE, 0x1ef40)
5753    FIELD(SMMU_CB14_PMCNTENSE, P3, 1, 3)
5754    FIELD(SMMU_CB14_PMCNTENSE, P2, 1, 2)
5755    FIELD(SMMU_CB14_PMCNTENSE, P1, 1, 1)
5756    FIELD(SMMU_CB14_PMCNTENSE, P0, 1, 0)
5757REG32(SMMU_CB14_PMCNTENCLR, 0x1ef44)
5758    FIELD(SMMU_CB14_PMCNTENCLR, P3, 1, 3)
5759    FIELD(SMMU_CB14_PMCNTENCLR, P2, 1, 2)
5760    FIELD(SMMU_CB14_PMCNTENCLR, P1, 1, 1)
5761    FIELD(SMMU_CB14_PMCNTENCLR, P0, 1, 0)
5762REG32(SMMU_CB14_PMCNTENSET, 0x1ef48)
5763    FIELD(SMMU_CB14_PMCNTENSET, P3, 1, 3)
5764    FIELD(SMMU_CB14_PMCNTENSET, P2, 1, 2)
5765    FIELD(SMMU_CB14_PMCNTENSET, P1, 1, 1)
5766    FIELD(SMMU_CB14_PMCNTENSET, P0, 1, 0)
5767REG32(SMMU_CB14_PMINTENCLR, 0x1ef4c)
5768    FIELD(SMMU_CB14_PMINTENCLR, P3, 1, 3)
5769    FIELD(SMMU_CB14_PMINTENCLR, P2, 1, 2)
5770    FIELD(SMMU_CB14_PMINTENCLR, P1, 1, 1)
5771    FIELD(SMMU_CB14_PMINTENCLR, P0, 1, 0)
5772REG32(SMMU_CB14_PMOVSCLR, 0x1ef50)
5773    FIELD(SMMU_CB14_PMOVSCLR, P3, 1, 3)
5774    FIELD(SMMU_CB14_PMOVSCLR, P2, 1, 2)
5775    FIELD(SMMU_CB14_PMOVSCLR, P1, 1, 1)
5776    FIELD(SMMU_CB14_PMOVSCLR, P0, 1, 0)
5777REG32(SMMU_CB14_PMOVSSET, 0x1ef58)
5778    FIELD(SMMU_CB14_PMOVSSET, P3, 1, 3)
5779    FIELD(SMMU_CB14_PMOVSSET, P2, 1, 2)
5780    FIELD(SMMU_CB14_PMOVSSET, P1, 1, 1)
5781    FIELD(SMMU_CB14_PMOVSSET, P0, 1, 0)
5782REG32(SMMU_CB14_PMAUTHSTATUS, 0x1efb8)
5783    FIELD(SMMU_CB14_PMAUTHSTATUS, SNI, 1, 7)
5784    FIELD(SMMU_CB14_PMAUTHSTATUS, SNE, 1, 6)
5785    FIELD(SMMU_CB14_PMAUTHSTATUS, SI, 1, 5)
5786    FIELD(SMMU_CB14_PMAUTHSTATUS, SE, 1, 4)
5787    FIELD(SMMU_CB14_PMAUTHSTATUS, NSNI, 1, 3)
5788    FIELD(SMMU_CB14_PMAUTHSTATUS, NSNE, 1, 2)
5789    FIELD(SMMU_CB14_PMAUTHSTATUS, NSI, 1, 1)
5790    FIELD(SMMU_CB14_PMAUTHSTATUS, NSE, 1, 0)
5791REG32(SMMU_CB15_SCTLR, 0x1f000)
5792    FIELD(SMMU_CB15_SCTLR, NSCFG, 2, 28)
5793    FIELD(SMMU_CB15_SCTLR, WACFG, 2, 26)
5794    FIELD(SMMU_CB15_SCTLR, RACFG, 2, 24)
5795    FIELD(SMMU_CB15_SCTLR, SHCFG, 2, 22)
5796    FIELD(SMMU_CB15_SCTLR, FB, 1, 21)
5797    FIELD(SMMU_CB15_SCTLR, MTCFG, 1, 20)
5798    FIELD(SMMU_CB15_SCTLR, MEMATTR, 4, 16)
5799    FIELD(SMMU_CB15_SCTLR, TRANSIENTCFG, 2, 14)
5800    FIELD(SMMU_CB15_SCTLR, PTW, 1, 13)
5801    FIELD(SMMU_CB15_SCTLR, ASIDPNE, 1, 12)
5802    FIELD(SMMU_CB15_SCTLR, UWXN, 1, 10)
5803    FIELD(SMMU_CB15_SCTLR, WXN, 1, 9)
5804    FIELD(SMMU_CB15_SCTLR, HUPCF, 1, 8)
5805    FIELD(SMMU_CB15_SCTLR, CFCFG, 1, 7)
5806    FIELD(SMMU_CB15_SCTLR, CFIE, 1, 6)
5807    FIELD(SMMU_CB15_SCTLR, CFRE, 1, 5)
5808    FIELD(SMMU_CB15_SCTLR, E, 1, 4)
5809    FIELD(SMMU_CB15_SCTLR, AFFD, 1, 3)
5810    FIELD(SMMU_CB15_SCTLR, AFE, 1, 2)
5811    FIELD(SMMU_CB15_SCTLR, TRE, 1, 1)
5812    FIELD(SMMU_CB15_SCTLR, M, 1, 0)
5813REG32(SMMU_CB15_ACTLR, 0x1f004)
5814    FIELD(SMMU_CB15_ACTLR, CPRE, 1, 1)
5815    FIELD(SMMU_CB15_ACTLR, CMTLB, 1, 0)
5816REG32(SMMU_CB15_RESUME, 0x1f008)
5817    FIELD(SMMU_CB15_RESUME, TNR, 1, 0)
5818REG32(SMMU_CB15_TCR2, 0x1f010)
5819    FIELD(SMMU_CB15_TCR2, NSCFG1, 1, 30)
5820    FIELD(SMMU_CB15_TCR2, SEP, 3, 15)
5821    FIELD(SMMU_CB15_TCR2, NSCFG0, 1, 14)
5822    FIELD(SMMU_CB15_TCR2, TBI1, 1, 6)
5823    FIELD(SMMU_CB15_TCR2, TBI0, 1, 5)
5824    FIELD(SMMU_CB15_TCR2, AS, 1, 4)
5825    FIELD(SMMU_CB15_TCR2, PASIZE, 3, 0)
5826REG32(SMMU_CB15_TTBR0_LOW, 0x1f020)
5827    FIELD(SMMU_CB15_TTBR0_LOW, ADDRESS_31_7, 25, 7)
5828    FIELD(SMMU_CB15_TTBR0_LOW, ADDRESS_6_IRGN0, 1, 6)
5829    FIELD(SMMU_CB15_TTBR0_LOW, ADDRESS_5_NOS, 1, 5)
5830    FIELD(SMMU_CB15_TTBR0_LOW, ADDRESS_4_3_RGN, 2, 3)
5831    FIELD(SMMU_CB15_TTBR0_LOW, ADDRESS_2, 1, 2)
5832    FIELD(SMMU_CB15_TTBR0_LOW, ADDRESS_1_S, 1, 1)
5833    FIELD(SMMU_CB15_TTBR0_LOW, ADDRESS_0_IRGN1, 1, 0)
5834REG32(SMMU_CB15_TTBR0_HIGH, 0x1f024)
5835    FIELD(SMMU_CB15_TTBR0_HIGH, ASID, 16, 16)
5836    FIELD(SMMU_CB15_TTBR0_HIGH, ADDRESS, 16, 0)
5837REG32(SMMU_CB15_TTBR1_LOW, 0x1f028)
5838    FIELD(SMMU_CB15_TTBR1_LOW, ADDRESS_31_7, 25, 7)
5839    FIELD(SMMU_CB15_TTBR1_LOW, ADDRESS_6_IRGN0, 1, 6)
5840    FIELD(SMMU_CB15_TTBR1_LOW, ADDRESS_5_NOS, 1, 5)
5841    FIELD(SMMU_CB15_TTBR1_LOW, ADDRESS_4_3_RGN, 2, 3)
5842    FIELD(SMMU_CB15_TTBR1_LOW, ADDRESS_2, 1, 2)
5843    FIELD(SMMU_CB15_TTBR1_LOW, ADDRESS_1_S, 1, 1)
5844    FIELD(SMMU_CB15_TTBR1_LOW, ADDRESS_0_IRGN1, 1, 0)
5845REG32(SMMU_CB15_TTBR1_HIGH, 0x1f02c)
5846    FIELD(SMMU_CB15_TTBR1_HIGH, ASID, 16, 16)
5847    FIELD(SMMU_CB15_TTBR1_HIGH, ADDRESS, 16, 0)
5848REG32(SMMU_CB15_TCR_LPAE, 0x1f030)
5849    FIELD(SMMU_CB15_TCR_LPAE, EAE, 1, 31)
5850    FIELD(SMMU_CB15_TCR_LPAE, NSCFG1_TG1, 1, 30)
5851    FIELD(SMMU_CB15_TCR_LPAE, SH1, 2, 28)
5852    FIELD(SMMU_CB15_TCR_LPAE, ORGN1, 2, 26)
5853    FIELD(SMMU_CB15_TCR_LPAE, IRGN1, 2, 24)
5854    FIELD(SMMU_CB15_TCR_LPAE, EPD1, 1, 23)
5855    FIELD(SMMU_CB15_TCR_LPAE, A1, 1, 22)
5856    FIELD(SMMU_CB15_TCR_LPAE, T1SZ_5_3, 3, 19)
5857    FIELD(SMMU_CB15_TCR_LPAE, T1SZ_2_0_PASIZE, 3, 16)
5858    FIELD(SMMU_CB15_TCR_LPAE, NSCFG0_TG0, 1, 14)
5859    FIELD(SMMU_CB15_TCR_LPAE, SH0, 2, 12)
5860    FIELD(SMMU_CB15_TCR_LPAE, ORGN0, 2, 10)
5861    FIELD(SMMU_CB15_TCR_LPAE, IRGN0, 2, 8)
5862    FIELD(SMMU_CB15_TCR_LPAE, SL0_1_EPD0, 1, 7)
5863    FIELD(SMMU_CB15_TCR_LPAE, SL0_0, 1, 6)
5864    FIELD(SMMU_CB15_TCR_LPAE, PD1_T0SZ_5, 1, 5)
5865    FIELD(SMMU_CB15_TCR_LPAE, S_PD0_T0SZ_4, 1, 4)
5866    FIELD(SMMU_CB15_TCR_LPAE, T0SZ_3_0, 4, 0)
5867REG32(SMMU_CB15_CONTEXTIDR, 0x1f034)
5868    FIELD(SMMU_CB15_CONTEXTIDR, PROCID, 24, 8)
5869    FIELD(SMMU_CB15_CONTEXTIDR, ASID, 8, 0)
5870REG32(SMMU_CB15_PRRR_MAIR0, 0x1f038)
5871    FIELD(SMMU_CB15_PRRR_MAIR0, NOS7, 1, 31)
5872    FIELD(SMMU_CB15_PRRR_MAIR0, NOS6, 1, 30)
5873    FIELD(SMMU_CB15_PRRR_MAIR0, NOS5, 1, 29)
5874    FIELD(SMMU_CB15_PRRR_MAIR0, NOS4, 1, 28)
5875    FIELD(SMMU_CB15_PRRR_MAIR0, NOS3, 1, 27)
5876    FIELD(SMMU_CB15_PRRR_MAIR0, NOS2, 1, 26)
5877    FIELD(SMMU_CB15_PRRR_MAIR0, NOS1, 1, 25)
5878    FIELD(SMMU_CB15_PRRR_MAIR0, NOS0, 1, 24)
5879    FIELD(SMMU_CB15_PRRR_MAIR0, NS1, 1, 19)
5880    FIELD(SMMU_CB15_PRRR_MAIR0, NS0, 1, 18)
5881    FIELD(SMMU_CB15_PRRR_MAIR0, DS1, 1, 17)
5882    FIELD(SMMU_CB15_PRRR_MAIR0, DS0, 1, 16)
5883    FIELD(SMMU_CB15_PRRR_MAIR0, TR7, 2, 14)
5884    FIELD(SMMU_CB15_PRRR_MAIR0, TR6, 2, 12)
5885    FIELD(SMMU_CB15_PRRR_MAIR0, TR5, 2, 10)
5886    FIELD(SMMU_CB15_PRRR_MAIR0, TR4, 2, 8)
5887    FIELD(SMMU_CB15_PRRR_MAIR0, TR3, 2, 6)
5888    FIELD(SMMU_CB15_PRRR_MAIR0, TR2, 2, 4)
5889    FIELD(SMMU_CB15_PRRR_MAIR0, TR1, 2, 2)
5890    FIELD(SMMU_CB15_PRRR_MAIR0, TR0, 2, 0)
5891REG32(SMMU_CB15_NMRR_MAIR1, 0x1f03c)
5892    FIELD(SMMU_CB15_NMRR_MAIR1, OR7, 2, 30)
5893    FIELD(SMMU_CB15_NMRR_MAIR1, OR6, 2, 28)
5894    FIELD(SMMU_CB15_NMRR_MAIR1, OR5, 2, 26)
5895    FIELD(SMMU_CB15_NMRR_MAIR1, OR4, 2, 24)
5896    FIELD(SMMU_CB15_NMRR_MAIR1, OR3, 2, 22)
5897    FIELD(SMMU_CB15_NMRR_MAIR1, OR2, 2, 20)
5898    FIELD(SMMU_CB15_NMRR_MAIR1, OR1, 2, 18)
5899    FIELD(SMMU_CB15_NMRR_MAIR1, OR0, 2, 16)
5900    FIELD(SMMU_CB15_NMRR_MAIR1, IR7, 2, 14)
5901    FIELD(SMMU_CB15_NMRR_MAIR1, IR6, 2, 12)
5902    FIELD(SMMU_CB15_NMRR_MAIR1, IR5, 2, 10)
5903    FIELD(SMMU_CB15_NMRR_MAIR1, IR4, 2, 8)
5904    FIELD(SMMU_CB15_NMRR_MAIR1, IR3, 2, 6)
5905    FIELD(SMMU_CB15_NMRR_MAIR1, IR2, 2, 4)
5906    FIELD(SMMU_CB15_NMRR_MAIR1, IR1, 2, 2)
5907    FIELD(SMMU_CB15_NMRR_MAIR1, IR0, 2, 0)
5908REG32(SMMU_CB15_FSR, 0x1f058)
5909    FIELD(SMMU_CB15_FSR, MULTI, 1, 31)
5910    FIELD(SMMU_CB15_FSR, SS, 1, 30)
5911    FIELD(SMMU_CB15_FSR, FORMAT, 2, 9)
5912    FIELD(SMMU_CB15_FSR, UUT, 1, 8)
5913    FIELD(SMMU_CB15_FSR, ASF, 1, 7)
5914    FIELD(SMMU_CB15_FSR, TLBLKF, 1, 6)
5915    FIELD(SMMU_CB15_FSR, TLBMCF, 1, 5)
5916    FIELD(SMMU_CB15_FSR, EF, 1, 4)
5917    FIELD(SMMU_CB15_FSR, PF, 1, 3)
5918    FIELD(SMMU_CB15_FSR, AFF, 1, 2)
5919    FIELD(SMMU_CB15_FSR, TF, 1, 1)
5920REG32(SMMU_CB15_FSRRESTORE, 0x1f05c)
5921REG32(SMMU_CB15_FAR_LOW, 0x1f060)
5922REG32(SMMU_CB15_FAR_HIGH, 0x1f064)
5923    FIELD(SMMU_CB15_FAR_HIGH, BITS, 17, 0)
5924REG32(SMMU_CB15_FSYNR0, 0x1f068)
5925    FIELD(SMMU_CB15_FSYNR0, S1CBNDX, 4, 16)
5926    FIELD(SMMU_CB15_FSYNR0, AFR, 1, 11)
5927    FIELD(SMMU_CB15_FSYNR0, PTWF, 1, 10)
5928    FIELD(SMMU_CB15_FSYNR0, ATOF, 1, 9)
5929    FIELD(SMMU_CB15_FSYNR0, NSATTR, 1, 8)
5930    FIELD(SMMU_CB15_FSYNR0, IND, 1, 6)
5931    FIELD(SMMU_CB15_FSYNR0, PNU, 1, 5)
5932    FIELD(SMMU_CB15_FSYNR0, WNR, 1, 4)
5933    FIELD(SMMU_CB15_FSYNR0, PLVL, 2, 0)
5934REG32(SMMU_CB15_IPAFAR_LOW, 0x1f070)
5935    FIELD(SMMU_CB15_IPAFAR_LOW, IPAFAR_L, 20, 12)
5936    FIELD(SMMU_CB15_IPAFAR_LOW, FAR_RO, 12, 0)
5937REG32(SMMU_CB15_IPAFAR_HIGH, 0x1f074)
5938    FIELD(SMMU_CB15_IPAFAR_HIGH, BITS, 16, 0)
5939REG32(SMMU_CB15_TLBIVA_LOW, 0x1f600)
5940REG32(SMMU_CB15_TLBIVA_HIGH, 0x1f604)
5941    FIELD(SMMU_CB15_TLBIVA_HIGH, ASID, 16, 16)
5942    FIELD(SMMU_CB15_TLBIVA_HIGH, ADDRESS, 5, 0)
5943REG32(SMMU_CB15_TLBIVAA_LOW, 0x1f608)
5944REG32(SMMU_CB15_TLBIVAA_HIGH, 0x1f60c)
5945    FIELD(SMMU_CB15_TLBIVAA_HIGH, ASID, 16, 16)
5946    FIELD(SMMU_CB15_TLBIVAA_HIGH, ADDRESS, 5, 0)
5947REG32(SMMU_CB15_TLBIASID, 0x1f610)
5948    FIELD(SMMU_CB15_TLBIASID, ASID, 16, 0)
5949REG32(SMMU_CB15_TLBIALL, 0x1f618)
5950REG32(SMMU_CB15_TLBIVAL_LOW, 0x1f620)
5951REG32(SMMU_CB15_TLBIVAL_HIGH, 0x1f624)
5952    FIELD(SMMU_CB15_TLBIVAL_HIGH, ASID, 16, 16)
5953    FIELD(SMMU_CB15_TLBIVAL_HIGH, ADDRESS, 5, 0)
5954REG32(SMMU_CB15_TLBIVAAL_LOW, 0x1f628)
5955REG32(SMMU_CB15_TLBIVAAL_HIGH, 0x1f62c)
5956    FIELD(SMMU_CB15_TLBIVAAL_HIGH, ASID, 16, 16)
5957    FIELD(SMMU_CB15_TLBIVAAL_HIGH, ADDRESS, 5, 0)
5958REG32(SMMU_CB15_TLBIIPAS2_LOW, 0x1f630)
5959REG32(SMMU_CB15_TLBIIPAS2_HIGH, 0x1f634)
5960    FIELD(SMMU_CB15_TLBIIPAS2_HIGH, ADDRESS, 4, 0)
5961REG32(SMMU_CB15_TLBIIPAS2L_LOW, 0x1f638)
5962REG32(SMMU_CB15_TLBIIPAS2L_HIGH, 0x1f63c)
5963    FIELD(SMMU_CB15_TLBIIPAS2L_HIGH, ADDRESS, 4, 0)
5964REG32(SMMU_CB15_TLBSYNC, 0x1f7f0)
5965REG32(SMMU_CB15_TLBSTATUS, 0x1f7f4)
5966    FIELD(SMMU_CB15_TLBSTATUS, SACTIVE, 1, 0)
5967REG32(SMMU_CB15_PMEVCNTR0, 0x1fe00)
5968REG32(SMMU_CB15_PMEVCNTR1, 0x1fe04)
5969REG32(SMMU_CB15_PMEVCNTR2, 0x1fe08)
5970REG32(SMMU_CB15_PMEVCNTR3, 0x1fe0c)
5971REG32(SMMU_CB15_PMEVTYPER0, 0x1fe80)
5972    FIELD(SMMU_CB15_PMEVTYPER0, P, 1, 31)
5973    FIELD(SMMU_CB15_PMEVTYPER0, U, 1, 30)
5974    FIELD(SMMU_CB15_PMEVTYPER0, NSP, 1, 29)
5975    FIELD(SMMU_CB15_PMEVTYPER0, NSU, 1, 28)
5976    FIELD(SMMU_CB15_PMEVTYPER0, EVENT, 5, 0)
5977REG32(SMMU_CB15_PMEVTYPER1, 0x1fe84)
5978    FIELD(SMMU_CB15_PMEVTYPER1, P, 1, 31)
5979    FIELD(SMMU_CB15_PMEVTYPER1, U, 1, 30)
5980    FIELD(SMMU_CB15_PMEVTYPER1, NSP, 1, 29)
5981    FIELD(SMMU_CB15_PMEVTYPER1, NSU, 1, 28)
5982    FIELD(SMMU_CB15_PMEVTYPER1, EVENT, 5, 0)
5983REG32(SMMU_CB15_PMEVTYPER2, 0x1fe88)
5984    FIELD(SMMU_CB15_PMEVTYPER2, P, 1, 31)
5985    FIELD(SMMU_CB15_PMEVTYPER2, U, 1, 30)
5986    FIELD(SMMU_CB15_PMEVTYPER2, NSP, 1, 29)
5987    FIELD(SMMU_CB15_PMEVTYPER2, NSU, 1, 28)
5988    FIELD(SMMU_CB15_PMEVTYPER2, EVENT, 5, 0)
5989REG32(SMMU_CB15_PMEVTYPER3, 0x1fe8c)
5990    FIELD(SMMU_CB15_PMEVTYPER3, P, 1, 31)
5991    FIELD(SMMU_CB15_PMEVTYPER3, U, 1, 30)
5992    FIELD(SMMU_CB15_PMEVTYPER3, NSP, 1, 29)
5993    FIELD(SMMU_CB15_PMEVTYPER3, NSU, 1, 28)
5994    FIELD(SMMU_CB15_PMEVTYPER3, EVENT, 5, 0)
5995REG32(SMMU_CB15_PMCFGR, 0x1ff00)
5996    FIELD(SMMU_CB15_PMCFGR, NCG, 8, 24)
5997    FIELD(SMMU_CB15_PMCFGR, UEN, 1, 19)
5998    FIELD(SMMU_CB15_PMCFGR, EX, 1, 16)
5999    FIELD(SMMU_CB15_PMCFGR, CCD, 1, 15)
6000    FIELD(SMMU_CB15_PMCFGR, CC, 1, 14)
6001    FIELD(SMMU_CB15_PMCFGR, SIZE, 6, 8)
6002    FIELD(SMMU_CB15_PMCFGR, N, 8, 0)
6003REG32(SMMU_CB15_PMCR, 0x1ff04)
6004    FIELD(SMMU_CB15_PMCR, IMP, 8, 24)
6005    FIELD(SMMU_CB15_PMCR, X, 1, 4)
6006    FIELD(SMMU_CB15_PMCR, P, 1, 1)
6007    FIELD(SMMU_CB15_PMCR, E, 1, 0)
6008REG32(SMMU_CB15_PMCEID, 0x1ff20)
6009    FIELD(SMMU_CB15_PMCEID, EVENT0X12, 1, 17)
6010    FIELD(SMMU_CB15_PMCEID, EVENT0X11, 1, 16)
6011    FIELD(SMMU_CB15_PMCEID, EVENT0X10, 1, 15)
6012    FIELD(SMMU_CB15_PMCEID, EVENT0X0A, 1, 9)
6013    FIELD(SMMU_CB15_PMCEID, EVENT0X09, 1, 8)
6014    FIELD(SMMU_CB15_PMCEID, EVENT0X08, 1, 7)
6015    FIELD(SMMU_CB15_PMCEID, EVENT0X01, 1, 1)
6016    FIELD(SMMU_CB15_PMCEID, EVENT0X00, 1, 0)
6017REG32(SMMU_CB15_PMCNTENSE, 0x1ff40)
6018    FIELD(SMMU_CB15_PMCNTENSE, P3, 1, 3)
6019    FIELD(SMMU_CB15_PMCNTENSE, P2, 1, 2)
6020    FIELD(SMMU_CB15_PMCNTENSE, P1, 1, 1)
6021    FIELD(SMMU_CB15_PMCNTENSE, P0, 1, 0)
6022REG32(SMMU_CB15_PMCNTENCLR, 0x1ff44)
6023    FIELD(SMMU_CB15_PMCNTENCLR, P3, 1, 3)
6024    FIELD(SMMU_CB15_PMCNTENCLR, P2, 1, 2)
6025    FIELD(SMMU_CB15_PMCNTENCLR, P1, 1, 1)
6026    FIELD(SMMU_CB15_PMCNTENCLR, P0, 1, 0)
6027REG32(SMMU_CB15_PMCNTENSET, 0x1ff48)
6028    FIELD(SMMU_CB15_PMCNTENSET, P3, 1, 3)
6029    FIELD(SMMU_CB15_PMCNTENSET, P2, 1, 2)
6030    FIELD(SMMU_CB15_PMCNTENSET, P1, 1, 1)
6031    FIELD(SMMU_CB15_PMCNTENSET, P0, 1, 0)
6032REG32(SMMU_CB15_PMINTENCLR, 0x1ff4c)
6033    FIELD(SMMU_CB15_PMINTENCLR, P3, 1, 3)
6034    FIELD(SMMU_CB15_PMINTENCLR, P2, 1, 2)
6035    FIELD(SMMU_CB15_PMINTENCLR, P1, 1, 1)
6036    FIELD(SMMU_CB15_PMINTENCLR, P0, 1, 0)
6037REG32(SMMU_CB15_PMOVSCLR, 0x1ff50)
6038    FIELD(SMMU_CB15_PMOVSCLR, P3, 1, 3)
6039    FIELD(SMMU_CB15_PMOVSCLR, P2, 1, 2)
6040    FIELD(SMMU_CB15_PMOVSCLR, P1, 1, 1)
6041    FIELD(SMMU_CB15_PMOVSCLR, P0, 1, 0)
6042REG32(SMMU_CB15_PMOVSSET, 0x1ff58)
6043    FIELD(SMMU_CB15_PMOVSSET, P3, 1, 3)
6044    FIELD(SMMU_CB15_PMOVSSET, P2, 1, 2)
6045    FIELD(SMMU_CB15_PMOVSSET, P1, 1, 1)
6046    FIELD(SMMU_CB15_PMOVSSET, P0, 1, 0)
6047REG32(SMMU_CB15_PMAUTHSTATUS, 0x1ffb8)
6048    FIELD(SMMU_CB15_PMAUTHSTATUS, SNI, 1, 7)
6049    FIELD(SMMU_CB15_PMAUTHSTATUS, SNE, 1, 6)
6050    FIELD(SMMU_CB15_PMAUTHSTATUS, SI, 1, 5)
6051    FIELD(SMMU_CB15_PMAUTHSTATUS, SE, 1, 4)
6052    FIELD(SMMU_CB15_PMAUTHSTATUS, NSNI, 1, 3)
6053    FIELD(SMMU_CB15_PMAUTHSTATUS, NSNE, 1, 2)
6054    FIELD(SMMU_CB15_PMAUTHSTATUS, NSI, 1, 1)
6055    FIELD(SMMU_CB15_PMAUTHSTATUS, NSE, 1, 0)
6056
6057/* Missing from the regspec.  */
6058REG32(SMMU_GATS1PR, 0x110)
6059REG32(SMMU_GATS1PR_H, 0x114)
6060REG32(SMMU_GATS1PW, 0x118)
6061REG32(SMMU_GATS1PW_H, 0x11C)
6062REG32(SMMU_GATS12PR, 0x130)
6063REG32(SMMU_GATS12PR_H, 0x134)
6064REG32(SMMU_GATS12PW, 0x138)
6065REG32(SMMU_GATS12PW_H, 0x13C)
6066REG32(SMMU_GPAR, 0x180)
6067REG32(SMMU_GPAR_H, 0x184)
6068REG32(SMMU_GATSR, 0x188)
6069
6070#define R_MAX (R_SMMU_CB15_PMAUTHSTATUS + 1)
6071
6072/* This should be configurable per instance.  */
6073#define PAGESIZE (A_SMMU_CB1_TTBR0_LOW - A_SMMU_CB0_TTBR0_LOW)
6074
6075/* Maximum number of TBUs supported by this model.  */
6076#define MAX_TBU 16
6077
6078typedef struct SMMU SMMU;
6079typedef struct TBU {
6080    SMMU *smmu;
6081    MemoryRegion iommu;
6082    AddressSpace *as;
6083    MemoryRegion *mr;
6084} TBU;
6085
6086struct SMMU {
6087    SysBusDevice parent_obj;
6088    MemoryRegion iomem;
6089
6090    MemoryRegion *dma_mr;
6091    AddressSpace *dma_as;
6092
6093    TBU tbu[MAX_TBU];
6094
6095    struct {
6096        qemu_irq global;
6097        qemu_irq context[16];
6098    } irq;
6099
6100    struct {
6101        uint32_t pamax;
6102    } cfg;
6103
6104    uint32_t regs[R_MAX];
6105    RegisterInfo regs_info[R_MAX];
6106};
6107
6108/* Generic page attributes.  */
6109typedef struct PageAttr {
6110    uint64_t pa;
6111    unsigned int block : 1;
6112    unsigned int rd : 1;
6113    unsigned int wr : 1;
6114    unsigned int ns : 1;
6115} PageAttr;
6116
6117typedef struct TransReq {
6118    uint64_t va;
6119    uint64_t tcr[3];
6120    uint64_t ttbr[3][2];
6121    uint32_t access;
6122    unsigned int stage;
6123    bool s2_enabled;
6124    unsigned int s2_cb;
6125
6126    uint64_t pa;
6127    uint32_t prot;
6128
6129    bool err;
6130} TransReq;
6131
6132static void smmu_update_ctx_irq(SMMU *s, unsigned int cb)
6133{
6134    unsigned int cb_offset = (cb * PAGESIZE) / 4;
6135    uint32_t sctlr;
6136    uint32_t fsr;
6137    bool ie, tf;
6138    bool pending;
6139
6140    fsr = s->regs[R_SMMU_CB0_FSR + cb_offset];
6141    sctlr = s->regs[R_SMMU_CB0_SCTLR + cb_offset];
6142
6143    tf = F_EX32(fsr, SMMU_CB0_FSR, TF);
6144    ie = F_EX32(sctlr, SMMU_CB0_SCTLR, CFIE);
6145    pending = tf && ie;
6146    qemu_set_irq(s->irq.context[cb], pending);
6147}
6148
6149static void smmu_fault(SMMU *s, unsigned int cb, TransReq *req, uint64_t syn)
6150{
6151    unsigned int cb_offset = (cb * PAGESIZE) / 4;
6152
6153    s->regs[R_SMMU_CB0_FSR + cb_offset] |= 1 << 1;
6154
6155    req->err = true;
6156    smmu_update_ctx_irq(s, cb);
6157}
6158
6159static int smmu_stream_id_match(SMMU *s, uint32_t stream_id)
6160{
6161    unsigned int nr_smr = AF_EX32(s->regs, SMMU_SIDR0, NUMSMRG);
6162    unsigned int i;
6163    uint32_t s2cr;
6164    unsigned int cbndx = -1;
6165
6166    for (i = 0; i < nr_smr; i++) {
6167        uint32_t v = s->regs[R_SMMU_SMR0 + i];
6168        bool valid = F_EX32(v, SMMU_SMR0, VALID);
6169        uint16_t mask = F_EX32(v, SMMU_SMR0, MASK);
6170        uint16_t id = F_EX32(v, SMMU_SMR0, ID);
6171
6172
6173        if (valid && (~mask & id) == (~mask & stream_id)) {
6174            s2cr = s->regs[R_SMMU_S2CR0 + i];
6175            cbndx = F_EX32(s2cr, SMMU_S2CR0, CBNDX_VMID);
6176            break;
6177        }
6178    }
6179    return cbndx;
6180}
6181
6182static bool check_s2_startlevel(bool is_aa64, unsigned int pamax, int level,
6183                                int inputsize, int stride)
6184{
6185    /* Negative levels are never allowed.  */
6186    if (level < 0) {
6187        return false;
6188    }
6189
6190    if (is_aa64) {
6191        switch (stride) {
6192        case 13: /* 64KB Pages.  */
6193            if (level == 0 || (level == 1 && pamax <= 42)) {
6194                return false;
6195            }
6196            break;
6197        case 11: /* 16KB Pages.  */
6198            if (level == 0 || (level == 1 && pamax <= 40)) {
6199                return false;
6200            }
6201            break;
6202        case 9: /* 4KB Pages.  */
6203            if (level == 0 && pamax <= 42) {
6204                return false;
6205            }
6206            break;
6207        default:
6208            g_assert_not_reached();
6209        }
6210    } else {
6211        const int grainsize = stride + 3;
6212        int startsizecheck;
6213
6214        /* AArch32 only supports 4KB pages. Assert on that.  */
6215        assert(stride == 9);
6216
6217        if (level == 0) {
6218            return false;
6219        }
6220
6221        startsizecheck = inputsize - ((3 - level) * stride + grainsize);
6222        if (startsizecheck < 1 || startsizecheck > stride + 4) {
6223            return false;
6224        }
6225    }
6226    return true;
6227}
6228
6229static bool check_out_addr(uint64_t addr, unsigned int outputsize)
6230{
6231    if (outputsize != 48 && extract64(addr, outputsize, 48 - outputsize)) {
6232        return false;
6233    }
6234    return true;
6235}
6236
6237static void smmu_ptw64(SMMU *s, unsigned int cb, TransReq *req)
6238{
6239    static const unsigned int outsize_map[] = {
6240        [0] = 32,
6241        [1] = 36,
6242        [2] = 40,
6243        [3] = 42,
6244        [4] = 44,
6245        [5] = 48,
6246        [6] = 48,
6247        [7] = 48,
6248    };
6249    unsigned int cb_offset = (cb * PAGESIZE) / 4;
6250    uint32_t sctlr;
6251    unsigned int tsz;
6252    unsigned int t0sz;
6253    unsigned int t1sz;
6254    unsigned int inputsize;
6255    unsigned int outputsize;
6256    unsigned int grainsize = -1;
6257    unsigned int stride;
6258    int level = 0;
6259    unsigned int firstblocklevel = 0;
6260    unsigned int tg;
6261    unsigned int ps;
6262    unsigned int baselowerbound;
6263    unsigned int stage = req->stage;
6264    bool blocktranslate = false;
6265    bool epd = false;
6266    bool va64;
6267    bool type64;
6268    uint32_t tableattrs = 0;
6269    uint32_t attrs;
6270    uint32_t s2attrs;
6271    uint64_t descmask;
6272    uint64_t ttbr;
6273    uint64_t desc;
6274
6275    req->err = false;
6276    sctlr = s->regs[R_SMMU_CB0_SCTLR + cb_offset];
6277
6278    if (F_EX32(sctlr, SMMU_CB0_SCTLR, M) == 0) {
6279        req->pa = req->va;
6280        req->prot = IOMMU_RW;
6281        D("SMMU disabled for context %d sctlr=%x\n", cb, sctlr);
6282        return;
6283    }
6284
6285    ttbr = req->ttbr[stage][0];
6286    tg = extract32(req->tcr[stage], 14, 2);
6287    if (stage == 1) {
6288        ps = extract64(req->tcr[stage], 32, 3);
6289    } else {
6290        ps = extract64(req->tcr[stage], 16, 3);
6291    }
6292    t0sz = extract32(req->tcr[stage], 0, 6);
6293    tsz = t0sz;
6294    req->pa = req->va;
6295
6296    va64 = s->regs[R_SMMU_CBA2R0 + cb] & 1;
6297    if (req->stage == 1) {
6298        type64 = va64 || extract32(req->tcr[1], 31, 1);
6299        /* We don't support 32bit page-tables yet.  */
6300        assert(type64);
6301
6302        if ((req->va & (1ULL << 63)) == 0) {
6303        } else {
6304            static const unsigned int tg1map[] = {
6305                [0] = 3,
6306                [1] = 2,
6307                [2] = 0,
6308                [3] = 1,
6309            };
6310            if (!va64 && type64) {
6311                /* LPAE uses 4K pages.  */
6312                tg = extract32(req->tcr[stage], 30, 2);
6313                tg = tg1map[tg];
6314                t1sz = extract32(req->tcr[stage], 16, 6);
6315            } else {
6316                /* Default to 4K.  */
6317                tg = 0;
6318                t1sz = extract32(req->tcr[stage], 16, 3);
6319            }
6320            ttbr = req->ttbr[stage][1];
6321            tsz = t1sz;
6322        }
6323        epd = extract32(req->tcr[1], 7, 1);
6324    } else {
6325        type64 = true;
6326    }
6327
6328    if (epd) {
6329        /* We've already missed the TLB at this stage so fault.  */
6330        goto do_fault;
6331    }
6332
6333    inputsize = 64 - tsz;
6334    switch (tg) {
6335    case 1:
6336        /* 64KB pages.  */
6337        grainsize = 16;
6338        level = 3;
6339        firstblocklevel = 2;
6340        break;
6341    case 2:
6342        /* 16KB pages.  */
6343        grainsize = 14;
6344        level = 3;
6345        firstblocklevel = 2;
6346        break;
6347    case 0:
6348        /* 4KB pages.  */
6349        grainsize = 12;
6350        level = 2;
6351        firstblocklevel = 1;
6352        break;
6353    default:
6354        qemu_log_mask(LOG_GUEST_ERROR, "SMMU: Wrong pagesize\n");
6355        break;
6356    }
6357
6358    stride = grainsize - 3;
6359    if (req->stage == 1) {
6360        if (grainsize < 16 && (inputsize > (grainsize + 3 * stride))) {
6361            level = 0;
6362        } else if (inputsize > (grainsize + 2 * stride)) {
6363            level = 1;
6364        } else if (inputsize > (grainsize + stride)) {
6365            level = 2;
6366        }
6367
6368        if (inputsize < 25 || inputsize > 48
6369            || extract64(req->va, inputsize, 64 - inputsize)) {
6370            goto do_fault;
6371        }
6372    } else {
6373        unsigned int startlevel = extract32(req->tcr[stage], 6, 2);
6374        bool ok;
6375
6376        level = 3 - startlevel;
6377        if (grainsize == 12) {
6378            level = 2 - startlevel;
6379        }
6380
6381        ok = check_s2_startlevel(true, 40, level, inputsize, stride);
6382        if (!ok) {
6383            goto do_fault;
6384        }
6385    }
6386
6387    outputsize = outsize_map[ps];
6388    if (outputsize > s->cfg.pamax) {
6389        outputsize = s->cfg.pamax;
6390    }
6391
6392    baselowerbound = 3 + inputsize - ((3 - level) * stride + grainsize);
6393    ttbr = extract64(ttbr, 0, 48);
6394    ttbr &= ~((1ULL << baselowerbound) - 1);
6395
6396    if (!check_out_addr(ttbr, outputsize)) {
6397        goto do_fault;
6398    }
6399
6400    descmask = (1ULL << grainsize) - 1;
6401    do {
6402        unsigned int addrselectbottom = (3 - level) * stride + grainsize;
6403        uint64_t index;
6404        uint64_t descaddr;
6405        unsigned int type;
6406
6407        index = (req->va >> (addrselectbottom - 3)) & descmask;
6408        index &= ~7ULL;
6409        descaddr = ttbr | index;
6410
6411        /* S1 PTW through the S2 system.  */
6412        if (req->stage == 1 && req->s2_enabled) {
6413            TransReq s2req = *req;
6414
6415            s2req.stage = 2;
6416            s2req.va = descaddr;
6417            smmu_ptw64(s, s2req.s2_cb, &s2req);
6418            descaddr = s2req.pa;
6419        }
6420        dma_memory_read(s->dma_as, descaddr, &desc, sizeof(desc));
6421        type = desc & 3;
6422
6423        D_PTW("smmu: S%d L%d va=%lx gz=%d descaddr=%lx desc=%lx "
6424              "asb=%d index=%lx osize=%d\n", req->stage, level, req->va,
6425              grainsize, descaddr, desc, addrselectbottom, index, outputsize);
6426        ttbr = extract64(desc, 0, 48);
6427        ttbr &= ~descmask;
6428
6429        /* special case.  */
6430        if (!(type & 2) && level == 3) {
6431            D("smmu: bad level 3 desc\n");
6432            goto do_fault;
6433        }
6434
6435        if (level == 3) {
6436            break;
6437        }
6438        switch (type) {
6439        case 2:
6440        case 0:
6441            /* Invalid.  */
6442            D("smmu: bad desc\n");
6443            goto do_fault;
6444            break;
6445        case 1:
6446            blocktranslate = true;
6447            if (level < firstblocklevel) {
6448                goto do_fault;
6449            }
6450            break;
6451        case 3:
6452            tableattrs |= extract64(desc, 59, 5);
6453            if (!check_out_addr(ttbr, outputsize)) {
6454                goto do_fault;
6455            }
6456            level++;
6457            break;
6458        }
6459    } while (!blocktranslate);
6460
6461    if (!check_out_addr(ttbr, outputsize)) {
6462        goto do_fault;
6463    }
6464
6465    {
6466        unsigned long page_size;
6467        page_size = (1ULL << ((stride * (4 - level)) + 3));
6468        ttbr |= (req->va & (page_size - 1));
6469    }
6470
6471    s2attrs = attrs = extract64(desc, 2, 10)
6472                      | (extract64(desc, 52, 12) << 10);
6473    if (req->stage == 1) {
6474        attrs |= extract32(tableattrs, 0, 2) << 11; /* XN, PXN */
6475        attrs |= extract32(tableattrs, 3, 1) << 5; /* APTable[1] => AP[2] */
6476        /* The sense of AP[1] vs APTable[0] is reversed, as APTable[0] == 1
6477         * means "force PL1 access only", which means forcing AP[1] to 0.
6478         */
6479        if (extract32(tableattrs, 2, 1)) {
6480            attrs &= ~(1 << 4);
6481        }
6482    }
6483
6484    req->prot = IOMMU_RW;
6485    if ((attrs & (1 << 8)) == 0) {
6486        /* Access flag */
6487        D("smmu: access forbidden %x\n", attrs);
6488        goto do_fault;
6489    }
6490
6491    /* AP[1] SBO.  */
6492    if (!(attrs & (1 << 4))) {
6493        D("smmu: AP[1] should be one but set to zero!\n");
6494        goto do_fault;
6495    }
6496    if (req->stage == 1) {
6497        if (attrs & (1 << 5)) {
6498            /* Write access forbidden */
6499            if (req->access == IOMMU_WO) {
6500                D("smmu: Write access forbidden %x\n", attrs);
6501                goto do_fault;
6502            }
6503            req->prot &= ~IOMMU_WO;
6504        }
6505    } else {
6506        switch ((s2attrs >> 4) & 3) {
6507        /* None.  */
6508        case 0:
6509            goto do_fault;
6510            break;
6511        /* RO.  */
6512        case 1:
6513            if (req->access == IOMMU_WO) {
6514                goto do_fault;
6515            }
6516            req->prot &= ~IOMMU_WO;
6517            break;
6518        /* WO.  */
6519        case 2:
6520            if (req->access == IOMMU_RO) {
6521                goto do_fault;
6522            }
6523            req->prot &= ~IOMMU_RO;
6524            break;
6525        /* RW.  */
6526        case 3:
6527            break;
6528        }
6529    }
6530
6531    req->pa = ttbr;
6532    D("SMMU: %lx -> %lx\n", req->va, req->pa);
6533    return;
6534
6535do_fault:
6536    D("smmu fault\n");
6537    smmu_fault(s, cb, req, level);
6538}
6539
6540static bool smmu500_at64(SMMU *s, unsigned int cb, hwaddr va,
6541                         bool wr, bool s2, hwaddr *pa, int *prot)
6542{
6543    unsigned int cb_offset = (cb * PAGESIZE) / 4;
6544    unsigned int cb2_offset = 0;
6545    TransReq req;
6546    uint32_t v;
6547    unsigned int t;
6548
6549    v = s->regs[R_SMMU_CBAR0 + cb];
6550    t = F_EX32(v, SMMU_CBAR0, TYPE);
6551    switch (t) {
6552    case 0:
6553        req.stage = 2;
6554        req.s2_enabled = true;
6555        req.s2_cb = cb;
6556        cb2_offset = cb_offset;
6557        break;
6558    case 1:
6559        req.stage = 1;
6560        req.s2_enabled = false;
6561        break;
6562    case 2:
6563        req.stage = 1;
6564        req.s2_enabled = false;
6565        /* Invalid ??? */
6566        break;
6567    case 3:
6568        req.stage = 1;
6569        req.s2_enabled = true;
6570        req.s2_cb = extract32(v, 8, 8);
6571        cb2_offset = (req.s2_cb * PAGESIZE) / 4;
6572        break;
6573    }
6574
6575    req.va = va;
6576    req.tcr[1] = s->regs[R_SMMU_CB0_TCR2 + cb_offset];
6577    req.tcr[1] <<= 32;
6578    req.tcr[1] |= s->regs[R_SMMU_CB0_TCR_LPAE + cb_offset];
6579
6580    req.ttbr[1][0] = s->regs[R_SMMU_CB0_TTBR0_HIGH + cb_offset];
6581    req.ttbr[1][0] <<= 32;
6582    req.ttbr[1][0] |= s->regs[R_SMMU_CB0_TTBR0_LOW + cb_offset];
6583
6584    req.ttbr[1][1] = s->regs[R_SMMU_CB0_TTBR1_HIGH + cb_offset];
6585    req.ttbr[1][1] <<= 32;
6586    req.ttbr[1][1] |= s->regs[R_SMMU_CB0_TTBR1_LOW + cb_offset];
6587
6588    if (req.s2_enabled) {
6589        req.tcr[2] = s->regs[R_SMMU_CB0_TCR_LPAE + cb2_offset];
6590        req.ttbr[2][0] = s->regs[R_SMMU_CB0_TTBR0_HIGH + cb2_offset];
6591        req.ttbr[2][0] <<= 32;
6592        req.ttbr[2][0] |= s->regs[R_SMMU_CB0_TTBR0_LOW + cb2_offset];
6593    }
6594
6595    req.access = wr ? IOMMU_WO : IOMMU_RO;
6596
6597    if (req.stage == 1) {
6598        smmu_ptw64(s, cb, &req);
6599        req.stage++;
6600    } else {
6601        req.pa = req.va;
6602    }
6603
6604    if (s2 && req.s2_enabled) {
6605        req.va = req.pa;
6606
6607        smmu_ptw64(s, cb, &req);
6608    }
6609
6610    *pa = req.pa;
6611    *prot = req.prot;
6612    return req.err;
6613}
6614
6615static bool smmu500_at(SMMU *s, unsigned int cb, hwaddr va,
6616                       bool wr, bool s2, hwaddr *pa, int *prot)
6617{
6618    return smmu500_at64(s, cb, va, wr, s2, pa, prot);
6619}
6620
6621#define ADDRMASK    ((1ULL << 12) - 1)
6622
6623static void smmu500_gat(SMMU *s, uint64_t v, bool wr, bool s2)
6624{
6625    uint64_t va = v & ~ADDRMASK;
6626    unsigned int cb = v & ADDRMASK;
6627    hwaddr pa;
6628    int prot;
6629    bool err;
6630
6631    D("ATS: va=%lx cb=%d wr=%d s2=%d\n", va, cb, wr, s2);
6632    err = smmu500_at(s, cb, va, wr, s2, &pa, &prot);
6633
6634    s->regs[R_SMMU_GPAR] = pa | err;
6635    s->regs[R_SMMU_GPAR_H] = pa >> 32;
6636}
6637
6638static void smmu_gats1pr(RegisterInfo *reg, uint64_t val)
6639{
6640    SMMU *s = XILINX_SMMU500(reg->opaque);
6641
6642    val <<= 32;
6643    val |= s->regs[(reg->access->decode.addr / 4) - 1];
6644    smmu500_gat(s, val, false, false);
6645}
6646
6647static void smmu_gats1pw(RegisterInfo *reg, uint64_t val)
6648{
6649    SMMU *s = XILINX_SMMU500(reg->opaque);
6650
6651    val <<= 32;
6652    val |= s->regs[(reg->access->decode.addr / 4) - 1];
6653    smmu500_gat(s, val, true, false);
6654}
6655
6656static void smmu_gats12pr(RegisterInfo *reg, uint64_t val)
6657{
6658    SMMU *s = XILINX_SMMU500(reg->opaque);
6659
6660    val <<= 32;
6661    val |= s->regs[(reg->access->decode.addr / 4) - 1];
6662    smmu500_gat(s, val, false, true);
6663}
6664
6665static void smmu_gats12pw(RegisterInfo *reg, uint64_t val)
6666{
6667    SMMU *s = XILINX_SMMU500(reg->opaque);
6668
6669    val <<= 32;
6670    val |= s->regs[(reg->access->decode.addr / 4) - 1];
6671    smmu500_gat(s, val, true, true);
6672}
6673
6674static void smmu_nscr0_pw(RegisterInfo *reg, uint64_t val)
6675{
6676    SMMU *s = XILINX_SMMU500(reg->opaque);
6677
6678    /* FIXME: Take care of secure vs non-secure accesses.  */
6679    s->regs[R_SMMU_SCR0] = val;
6680    s->regs[R_SMMU_NSCR0] = val;
6681}
6682
6683static IOMMUTLBEntry smmu_translate(MemoryRegion *mr, hwaddr addr,
6684                                    bool is_write,
6685                                    MemTxAttrs *attr)
6686{
6687    TBU *tbu = container_of(mr, TBU, iommu);
6688    SMMU *s = tbu->smmu;
6689    IOMMUTLBEntry ret = {
6690        .target_as = tbu->as,
6691        .translated_addr = addr,
6692        .addr_mask = (1ULL << 12) - 1,
6693        .perm = IOMMU_RW,
6694    };
6695    int cb;
6696    uint64_t va = addr & ~ADDRMASK;
6697    hwaddr pa = va;
6698    int prot;
6699    bool err = false;
6700    uint64_t master_id = attr->master_id;
6701    bool clientpd = AF_EX32(s->regs, SMMU_SCR0, CLIENTPD);
6702
6703    if (clientpd) {
6704        return ret;
6705    }
6706
6707    cb = smmu_stream_id_match(s, master_id);
6708
6709    if (cb >= 0) {
6710        err = smmu500_at(s, cb, va, false, true, &pa, &prot);
6711        ret.translated_addr = pa;
6712        if (err) {
6713            memset(&ret, 0, sizeof ret);
6714            ret.perm = IOMMU_NONE;
6715        }
6716    }
6717    return ret;
6718}
6719
6720static void smmu_fsr_pw(RegisterInfo *reg, uint64_t val)
6721{
6722    SMMU *s = XILINX_SMMU500(reg->opaque);
6723    unsigned int i;
6724
6725    for (i = 0; i < 16; i++) {
6726        smmu_update_ctx_irq(s, i);
6727    }
6728}
6729
6730static RegisterAccessInfo smmu500_regs_info[] = {
6731    /* Manually added.  */
6732    {   .name = "SMMU_GATS1PR",  .decode.addr = A_SMMU_GATS1PR,
6733    },
6734    {   .name = "SMMU_GATS1PR_H",  .decode.addr = A_SMMU_GATS1PR_H,
6735        .post_write = smmu_gats1pr,
6736    },
6737
6738    {   .name = "SMMU_GATS1PW",  .decode.addr = A_SMMU_GATS1PW,
6739    },
6740    {   .name = "SMMU_GATS1PW_H",  .decode.addr = A_SMMU_GATS1PW_H,
6741        .post_write = smmu_gats1pw,
6742    },
6743
6744    {   .name = "SMMU_GATS12PR",  .decode.addr = A_SMMU_GATS12PR,
6745    },
6746    {   .name = "SMMU_GATS12PR_H",  .decode.addr = A_SMMU_GATS12PR_H,
6747        .post_write = smmu_gats12pr,
6748    },
6749
6750    {   .name = "SMMU_GATS12PW",  .decode.addr = A_SMMU_GATS12PW,
6751    },
6752    {   .name = "SMMU_GATS12PW_H",  .decode.addr = A_SMMU_GATS12PW_H,
6753        .post_write = smmu_gats12pw,
6754    },
6755
6756    {   .name = "SMMU_GPAR",  .decode.addr = A_SMMU_GPAR, },
6757    {   .name = "SMMU_GPAR_H",  .decode.addr = A_SMMU_GPAR_H, },
6758    {   .name = "SMMU_GATSR",  .decode.addr = A_SMMU_GATSR, },
6759
6760
6761    {   .name = "SMMU_SCR0",  .decode.addr = A_SMMU_SCR0,
6762        .reset = 0x200001,
6763        .ro = 0x200330,
6764    },{ .name = "SMMU_SCR1",  .decode.addr = A_SMMU_SCR1,
6765        .reset = 0x2013010,
6766        .ro = 0x10ff0000,
6767    },{ .name = "SMMU_SACR",  .decode.addr = A_SMMU_SACR,
6768        .reset = 0x4000004,
6769    },{ .name = "SMMU_SIDR0",  .decode.addr = A_SMMU_SIDR0,
6770        .reset = 0xfc013e30,
6771        .ro = 0xffff7eff,
6772    },{ .name = "SMMU_SIDR1",  .decode.addr = A_SMMU_SIDR1,
6773        .reset = 0x30000f10,
6774        .ro = 0xf0ff9fff,
6775    },{ .name = "SMMU_SIDR2",  .decode.addr = A_SMMU_SIDR2,
6776        .reset = 0x5555,
6777        .ro = 0x7fff,
6778    },{ .name = "SMMU_SIDR7",  .decode.addr = A_SMMU_SIDR7,
6779        .reset = 0x21,
6780        .ro = 0xff,
6781    },{ .name = "SMMU_SGFAR_LOW",  .decode.addr = A_SMMU_SGFAR_LOW,
6782    },{ .name = "SMMU_SGFAR_HIGH",  .decode.addr = A_SMMU_SGFAR_HIGH,
6783    },{ .name = "SMMU_SGFSR",  .decode.addr = A_SMMU_SGFSR,
6784    },{ .name = "SMMU_SGFSRRESTORE",  .decode.addr = A_SMMU_SGFSRRESTORE,
6785    },{ .name = "SMMU_SGFSYNR0",  .decode.addr = A_SMMU_SGFSYNR0,
6786        .ro = 0x40,
6787    },{ .name = "SMMU_SGFSYNR1",  .decode.addr = A_SMMU_SGFSYNR1,
6788    },{ .name = "SMMU_STLBIALL",  .decode.addr = A_SMMU_STLBIALL,
6789    },{ .name = "SMMU_TLBIVMID",  .decode.addr = A_SMMU_TLBIVMID,
6790    },{ .name = "SMMU_TLBIALLNSNH",  .decode.addr = A_SMMU_TLBIALLNSNH,
6791    },{ .name = "SMMU_STLBGSYNC",  .decode.addr = A_SMMU_STLBGSYNC,
6792    },{ .name = "SMMU_STLBGSTATUS",  .decode.addr = A_SMMU_STLBGSTATUS,
6793        .ro = 0x1,
6794    },{ .name = "SMMU_DBGRPTRTBU",  .decode.addr = A_SMMU_DBGRPTRTBU,
6795    },{ .name = "SMMU_DBGRDATATBU",  .decode.addr = A_SMMU_DBGRDATATBU,
6796        .ro = 0xffffffff,
6797    },{ .name = "SMMU_DBGRPTRTCU",  .decode.addr = A_SMMU_DBGRPTRTCU,
6798    },{ .name = "SMMU_DBGRDATATCU",  .decode.addr = A_SMMU_DBGRDATATCU,
6799        .ro = 0xffffffff,
6800    },{ .name = "SMMU_STLBIVALM_LOW",  .decode.addr = A_SMMU_STLBIVALM_LOW,
6801    },{ .name = "SMMU_STLBIVALM_HIGH",  .decode.addr = A_SMMU_STLBIVALM_HIGH,
6802    },{ .name = "SMMU_STLBIVAM_LOW",  .decode.addr = A_SMMU_STLBIVAM_LOW,
6803    },{ .name = "SMMU_STLBIVAM_HIGH",  .decode.addr = A_SMMU_STLBIVAM_HIGH,
6804    },{ .name = "SMMU_STLBIALLM",  .decode.addr = A_SMMU_STLBIALLM,
6805    },{ .name = "SMMU_NSCR0",  .decode.addr = A_SMMU_NSCR0,
6806        .reset = 0x200001,
6807        .ro = 0x200330,
6808        .post_write = smmu_nscr0_pw,
6809    },{ .name = "SMMU_NSACR",  .decode.addr = A_SMMU_NSACR,
6810        .reset = 0x400001c,
6811    },{ .name = "SMMU_NSGFAR_LOW",  .decode.addr = A_SMMU_NSGFAR_LOW,
6812    },{ .name = "SMMU_NSGFAR_HIGH",  .decode.addr = A_SMMU_NSGFAR_HIGH,
6813    },{ .name = "SMMU_NSGFSR",  .decode.addr = A_SMMU_NSGFSR,
6814    },{ .name = "SMMU_NSGFSRRESTORE",  .decode.addr = A_SMMU_NSGFSRRESTORE,
6815    },{ .name = "SMMU_NSGFSYNR0",  .decode.addr = A_SMMU_NSGFSYNR0,
6816        .ro = 0x40,
6817    },{ .name = "SMMU_NSGFSYNDR1",  .decode.addr = A_SMMU_NSGFSYNDR1,
6818        .ro = 0x7fff0000,
6819    },{ .name = "SMMU_NSTLBGSYNC",  .decode.addr = A_SMMU_NSTLBGSYNC,
6820    },{ .name = "SMMU_NSTLBGSTATUS",  .decode.addr = A_SMMU_NSTLBGSTATUS,
6821        .ro = 0x1,
6822    },{ .name = "SMMU_SMR0",  .decode.addr = A_SMMU_SMR0,
6823    },{ .name = "SMMU_SMR1",  .decode.addr = A_SMMU_SMR1,
6824    },{ .name = "SMMU_SMR2",  .decode.addr = A_SMMU_SMR2,
6825    },{ .name = "SMMU_SMR3",  .decode.addr = A_SMMU_SMR3,
6826    },{ .name = "SMMU_SMR4",  .decode.addr = A_SMMU_SMR4,
6827    },{ .name = "SMMU_SMR5",  .decode.addr = A_SMMU_SMR5,
6828    },{ .name = "SMMU_SMR6",  .decode.addr = A_SMMU_SMR6,
6829    },{ .name = "SMMU_SMR7",  .decode.addr = A_SMMU_SMR7,
6830    },{ .name = "SMMU_SMR8",  .decode.addr = A_SMMU_SMR8,
6831    },{ .name = "SMMU_SMR9",  .decode.addr = A_SMMU_SMR9,
6832    },{ .name = "SMMU_SMR10",  .decode.addr = A_SMMU_SMR10,
6833    },{ .name = "SMMU_SMR11",  .decode.addr = A_SMMU_SMR11,
6834    },{ .name = "SMMU_SMR12",  .decode.addr = A_SMMU_SMR12,
6835    },{ .name = "SMMU_SMR13",  .decode.addr = A_SMMU_SMR13,
6836    },{ .name = "SMMU_SMR14",  .decode.addr = A_SMMU_SMR14,
6837    },{ .name = "SMMU_SMR15",  .decode.addr = A_SMMU_SMR15,
6838    },{ .name = "SMMU_SMR16",  .decode.addr = A_SMMU_SMR16,
6839    },{ .name = "SMMU_SMR17",  .decode.addr = A_SMMU_SMR17,
6840    },{ .name = "SMMU_SMR18",  .decode.addr = A_SMMU_SMR18,
6841    },{ .name = "SMMU_SMR19",  .decode.addr = A_SMMU_SMR19,
6842    },{ .name = "SMMU_SMR20",  .decode.addr = A_SMMU_SMR20,
6843    },{ .name = "SMMU_SMR21",  .decode.addr = A_SMMU_SMR21,
6844    },{ .name = "SMMU_SMR22",  .decode.addr = A_SMMU_SMR22,
6845    },{ .name = "SMMU_SMR23",  .decode.addr = A_SMMU_SMR23,
6846    },{ .name = "SMMU_SMR24",  .decode.addr = A_SMMU_SMR24,
6847    },{ .name = "SMMU_SMR25",  .decode.addr = A_SMMU_SMR25,
6848    },{ .name = "SMMU_SMR26",  .decode.addr = A_SMMU_SMR26,
6849    },{ .name = "SMMU_SMR27",  .decode.addr = A_SMMU_SMR27,
6850    },{ .name = "SMMU_SMR28",  .decode.addr = A_SMMU_SMR28,
6851    },{ .name = "SMMU_SMR29",  .decode.addr = A_SMMU_SMR29,
6852    },{ .name = "SMMU_SMR30",  .decode.addr = A_SMMU_SMR30,
6853    },{ .name = "SMMU_SMR31",  .decode.addr = A_SMMU_SMR31,
6854    },{ .name = "SMMU_SMR32",  .decode.addr = A_SMMU_SMR32,
6855    },{ .name = "SMMU_SMR33",  .decode.addr = A_SMMU_SMR33,
6856    },{ .name = "SMMU_SMR34",  .decode.addr = A_SMMU_SMR34,
6857    },{ .name = "SMMU_SMR35",  .decode.addr = A_SMMU_SMR35,
6858    },{ .name = "SMMU_SMR36",  .decode.addr = A_SMMU_SMR36,
6859    },{ .name = "SMMU_SMR37",  .decode.addr = A_SMMU_SMR37,
6860    },{ .name = "SMMU_SMR38",  .decode.addr = A_SMMU_SMR38,
6861    },{ .name = "SMMU_SMR39",  .decode.addr = A_SMMU_SMR39,
6862    },{ .name = "SMMU_SMR40",  .decode.addr = A_SMMU_SMR40,
6863    },{ .name = "SMMU_SMR41",  .decode.addr = A_SMMU_SMR41,
6864    },{ .name = "SMMU_SMR42",  .decode.addr = A_SMMU_SMR42,
6865    },{ .name = "SMMU_SMR43",  .decode.addr = A_SMMU_SMR43,
6866    },{ .name = "SMMU_SMR44",  .decode.addr = A_SMMU_SMR44,
6867    },{ .name = "SMMU_SMR45",  .decode.addr = A_SMMU_SMR45,
6868    },{ .name = "SMMU_SMR46",  .decode.addr = A_SMMU_SMR46,
6869    },{ .name = "SMMU_SMR47",  .decode.addr = A_SMMU_SMR47,
6870    },{ .name = "SMMU_S2CR0",  .decode.addr = A_SMMU_S2CR0,
6871        .reset = 0x20000,
6872    },{ .name = "SMMU_S2CR1",  .decode.addr = A_SMMU_S2CR1,
6873        .reset = 0x20000,
6874    },{ .name = "SMMU_S2CR2",  .decode.addr = A_SMMU_S2CR2,
6875        .reset = 0x20000,
6876    },{ .name = "SMMU_S2CR3",  .decode.addr = A_SMMU_S2CR3,
6877        .reset = 0x20000,
6878    },{ .name = "SMMU_S2CR4",  .decode.addr = A_SMMU_S2CR4,
6879        .reset = 0x20000,
6880    },{ .name = "SMMU_S2CR5",  .decode.addr = A_SMMU_S2CR5,
6881        .reset = 0x20000,
6882    },{ .name = "SMMU_S2CR6",  .decode.addr = A_SMMU_S2CR6,
6883        .reset = 0x20000,
6884    },{ .name = "SMMU_S2CR7",  .decode.addr = A_SMMU_S2CR7,
6885        .reset = 0x20000,
6886    },{ .name = "SMMU_S2CR8",  .decode.addr = A_SMMU_S2CR8,
6887        .reset = 0x20000,
6888    },{ .name = "SMMU_S2CR9",  .decode.addr = A_SMMU_S2CR9,
6889        .reset = 0x20000,
6890    },{ .name = "SMMU_S2CR10",  .decode.addr = A_SMMU_S2CR10,
6891        .reset = 0x20000,
6892    },{ .name = "SMMU_S2CR11",  .decode.addr = A_SMMU_S2CR11,
6893        .reset = 0x20000,
6894    },{ .name = "SMMU_S2CR12",  .decode.addr = A_SMMU_S2CR12,
6895        .reset = 0x20000,
6896    },{ .name = "SMMU_S2CR13",  .decode.addr = A_SMMU_S2CR13,
6897        .reset = 0x20000,
6898    },{ .name = "SMMU_S2CR14",  .decode.addr = A_SMMU_S2CR14,
6899        .reset = 0x20000,
6900    },{ .name = "SMMU_S2CR15",  .decode.addr = A_SMMU_S2CR15,
6901        .reset = 0x20000,
6902    },{ .name = "SMMU_S2CR16",  .decode.addr = A_SMMU_S2CR16,
6903        .reset = 0x20000,
6904    },{ .name = "SMMU_S2CR17",  .decode.addr = A_SMMU_S2CR17,
6905        .reset = 0x20000,
6906    },{ .name = "SMMU_S2CR18",  .decode.addr = A_SMMU_S2CR18,
6907        .reset = 0x20000,
6908    },{ .name = "SMMU_S2CR19",  .decode.addr = A_SMMU_S2CR19,
6909        .reset = 0x20000,
6910    },{ .name = "SMMU_S2CR20",  .decode.addr = A_SMMU_S2CR20,
6911        .reset = 0x20000,
6912    },{ .name = "SMMU_S2CR21",  .decode.addr = A_SMMU_S2CR21,
6913        .reset = 0x20000,
6914    },{ .name = "SMMU_S2CR22",  .decode.addr = A_SMMU_S2CR22,
6915        .reset = 0x20000,
6916    },{ .name = "SMMU_S2CR23",  .decode.addr = A_SMMU_S2CR23,
6917        .reset = 0x20000,
6918    },{ .name = "SMMU_S2CR24",  .decode.addr = A_SMMU_S2CR24,
6919        .reset = 0x20000,
6920    },{ .name = "SMMU_S2CR25",  .decode.addr = A_SMMU_S2CR25,
6921        .reset = 0x20000,
6922    },{ .name = "SMMU_S2CR26",  .decode.addr = A_SMMU_S2CR26,
6923        .reset = 0x20000,
6924    },{ .name = "SMMU_S2CR27",  .decode.addr = A_SMMU_S2CR27,
6925        .reset = 0x20000,
6926    },{ .name = "SMMU_S2CR28",  .decode.addr = A_SMMU_S2CR28,
6927        .reset = 0x20000,
6928    },{ .name = "SMMU_S2CR29",  .decode.addr = A_SMMU_S2CR29,
6929        .reset = 0x20000,
6930    },{ .name = "SMMU_S2CR30",  .decode.addr = A_SMMU_S2CR30,
6931        .reset = 0x20000,
6932    },{ .name = "SMMU_S2CR31",  .decode.addr = A_SMMU_S2CR31,
6933        .reset = 0x20000,
6934    },{ .name = "SMMU_S2CR32",  .decode.addr = A_SMMU_S2CR32,
6935        .reset = 0x20000,
6936    },{ .name = "SMMU_S2CR33",  .decode.addr = A_SMMU_S2CR33,
6937        .reset = 0x20000,
6938    },{ .name = "SMMU_S2CR34",  .decode.addr = A_SMMU_S2CR34,
6939        .reset = 0x20000,
6940    },{ .name = "SMMU_S2CR35",  .decode.addr = A_SMMU_S2CR35,
6941        .reset = 0x20000,
6942    },{ .name = "SMMU_S2CR36",  .decode.addr = A_SMMU_S2CR36,
6943        .reset = 0x20000,
6944    },{ .name = "SMMU_S2CR37",  .decode.addr = A_SMMU_S2CR37,
6945        .reset = 0x20000,
6946    },{ .name = "SMMU_S2CR38",  .decode.addr = A_SMMU_S2CR38,
6947        .reset = 0x20000,
6948    },{ .name = "SMMU_S2CR39",  .decode.addr = A_SMMU_S2CR39,
6949        .reset = 0x20000,
6950    },{ .name = "SMMU_S2CR40",  .decode.addr = A_SMMU_S2CR40,
6951        .reset = 0x20000,
6952    },{ .name = "SMMU_S2CR41",  .decode.addr = A_SMMU_S2CR41,
6953        .reset = 0x20000,
6954    },{ .name = "SMMU_S2CR42",  .decode.addr = A_SMMU_S2CR42,
6955        .reset = 0x20000,
6956    },{ .name = "SMMU_S2CR43",  .decode.addr = A_SMMU_S2CR43,
6957        .reset = 0x20000,
6958    },{ .name = "SMMU_S2CR44",  .decode.addr = A_SMMU_S2CR44,
6959        .reset = 0x20000,
6960    },{ .name = "SMMU_S2CR45",  .decode.addr = A_SMMU_S2CR45,
6961        .reset = 0x20000,
6962    },{ .name = "SMMU_S2CR46",  .decode.addr = A_SMMU_S2CR46,
6963        .reset = 0x20000,
6964    },{ .name = "SMMU_S2CR47",  .decode.addr = A_SMMU_S2CR47,
6965        .reset = 0x20000,
6966    },{ .name = "SMMU_PIDR4",  .decode.addr = A_SMMU_PIDR4,
6967        .reset = 0x4,
6968        .ro = 0xff,
6969    },{ .name = "SMMU_PIDR5",  .decode.addr = A_SMMU_PIDR5,
6970        .ro = 0xffffffff,
6971    },{ .name = "SMMU_PIDR6",  .decode.addr = A_SMMU_PIDR6,
6972        .ro = 0xffffffff,
6973    },{ .name = "SMMU_PIDR7",  .decode.addr = A_SMMU_PIDR7,
6974        .ro = 0xffffffff,
6975    },{ .name = "SMMU_PIDR0",  .decode.addr = A_SMMU_PIDR0,
6976        .reset = 0x81,
6977        .ro = 0xff,
6978    },{ .name = "SMMU_PIDR1",  .decode.addr = A_SMMU_PIDR1,
6979        .reset = 0xb4,
6980        .ro = 0xff,
6981    },{ .name = "SMMU_PIDR2",  .decode.addr = A_SMMU_PIDR2,
6982        .reset = 0x1b,
6983        .ro = 0xff,
6984    },{ .name = "SMMU_PIDR3",  .decode.addr = A_SMMU_PIDR3,
6985        .ro = 0xff,
6986    },{ .name = "SMMU_CIDR0",  .decode.addr = A_SMMU_CIDR0,
6987        .reset = 0xd,
6988        .ro = 0xff,
6989    },{ .name = "SMMU_CIDR1",  .decode.addr = A_SMMU_CIDR1,
6990        .reset = 0xf0,
6991        .ro = 0xff,
6992    },{ .name = "SMMU_CIDR2",  .decode.addr = A_SMMU_CIDR2,
6993        .reset = 0x5,
6994        .ro = 0xff,
6995    },{ .name = "SMMU_CIDR3",  .decode.addr = A_SMMU_CIDR3,
6996        .reset = 0xb1,
6997        .ro = 0xff,
6998    },{ .name = "SMMU_CBAR0",  .decode.addr = A_SMMU_CBAR0,
6999        .reset = 0x20000,
7000        .ro = 0xff000000,
7001    },{ .name = "SMMU_CBAR1",  .decode.addr = A_SMMU_CBAR1,
7002        .reset = 0x20000,
7003        .ro = 0xff000000,
7004    },{ .name = "SMMU_CBAR2",  .decode.addr = A_SMMU_CBAR2,
7005        .reset = 0x20000,
7006        .ro = 0xff000000,
7007    },{ .name = "SMMU_CBAR3",  .decode.addr = A_SMMU_CBAR3,
7008        .reset = 0x20000,
7009        .ro = 0xff000000,
7010    },{ .name = "SMMU_CBAR4",  .decode.addr = A_SMMU_CBAR4,
7011        .reset = 0x20000,
7012        .ro = 0xff000000,
7013    },{ .name = "SMMU_CBAR5",  .decode.addr = A_SMMU_CBAR5,
7014        .reset = 0x20000,
7015        .ro = 0xff000000,
7016    },{ .name = "SMMU_CBAR6",  .decode.addr = A_SMMU_CBAR6,
7017        .reset = 0x20000,
7018        .ro = 0xff000000,
7019    },{ .name = "SMMU_CBAR7",  .decode.addr = A_SMMU_CBAR7,
7020        .reset = 0x20000,
7021        .ro = 0xff000000,
7022    },{ .name = "SMMU_CBAR8",  .decode.addr = A_SMMU_CBAR8,
7023        .reset = 0x20000,
7024        .ro = 0xff000000,
7025    },{ .name = "SMMU_CBAR9",  .decode.addr = A_SMMU_CBAR9,
7026        .reset = 0x20000,
7027        .ro = 0xff000000,
7028    },{ .name = "SMMU_CBAR10",  .decode.addr = A_SMMU_CBAR10,
7029        .reset = 0x20000,
7030        .ro = 0xff000000,
7031    },{ .name = "SMMU_CBAR11",  .decode.addr = A_SMMU_CBAR11,
7032        .reset = 0x20000,
7033        .ro = 0xff000000,
7034    },{ .name = "SMMU_CBAR12",  .decode.addr = A_SMMU_CBAR12,
7035        .reset = 0x20000,
7036        .ro = 0xff000000,
7037    },{ .name = "SMMU_CBAR13",  .decode.addr = A_SMMU_CBAR13,
7038        .reset = 0x20000,
7039        .ro = 0xff000000,
7040    },{ .name = "SMMU_CBAR14",  .decode.addr = A_SMMU_CBAR14,
7041        .reset = 0x20000,
7042        .ro = 0xff000000,
7043    },{ .name = "SMMU_CBAR15",  .decode.addr = A_SMMU_CBAR15,
7044        .reset = 0x20000,
7045        .ro = 0xff000000,
7046    },{ .name = "SMMU_CBFRSYNRA0",  .decode.addr = A_SMMU_CBFRSYNRA0,
7047        .ro = 0x7fff0000,
7048    },{ .name = "SMMU_CBFRSYNRA1",  .decode.addr = A_SMMU_CBFRSYNRA1,
7049        .ro = 0x7fff0000,
7050    },{ .name = "SMMU_CBFRSYNRA2",  .decode.addr = A_SMMU_CBFRSYNRA2,
7051        .ro = 0x7fff0000,
7052    },{ .name = "SMMU_CBFRSYNRA3",  .decode.addr = A_SMMU_CBFRSYNRA3,
7053        .ro = 0x7fff0000,
7054    },{ .name = "SMMU_CBFRSYNRA4",  .decode.addr = A_SMMU_CBFRSYNRA4,
7055        .ro = 0x7fff0000,
7056    },{ .name = "SMMU_CBFRSYNRA5",  .decode.addr = A_SMMU_CBFRSYNRA5,
7057        .ro = 0x7fff0000,
7058    },{ .name = "SMMU_CBFRSYNRA6",  .decode.addr = A_SMMU_CBFRSYNRA6,
7059        .ro = 0x7fff0000,
7060    },{ .name = "SMMU_CBFRSYNRA7",  .decode.addr = A_SMMU_CBFRSYNRA7,
7061        .ro = 0x7fff0000,
7062    },{ .name = "SMMU_CBFRSYNRA8",  .decode.addr = A_SMMU_CBFRSYNRA8,
7063        .ro = 0x7fff0000,
7064    },{ .name = "SMMU_CBFRSYNRA9",  .decode.addr = A_SMMU_CBFRSYNRA9,
7065        .ro = 0x7fff0000,
7066    },{ .name = "SMMU_CBFRSYNRA10",  .decode.addr = A_SMMU_CBFRSYNRA10,
7067        .ro = 0x7fff0000,
7068    },{ .name = "SMMU_CBFRSYNRA11",  .decode.addr = A_SMMU_CBFRSYNRA11,
7069        .ro = 0x7fff0000,
7070    },{ .name = "SMMU_CBFRSYNRA12",  .decode.addr = A_SMMU_CBFRSYNRA12,
7071        .ro = 0x7fff0000,
7072    },{ .name = "SMMU_CBFRSYNRA13",  .decode.addr = A_SMMU_CBFRSYNRA13,
7073        .ro = 0x7fff0000,
7074    },{ .name = "SMMU_CBFRSYNRA14",  .decode.addr = A_SMMU_CBFRSYNRA14,
7075        .ro = 0x7fff0000,
7076    },{ .name = "SMMU_CBFRSYNRA15",  .decode.addr = A_SMMU_CBFRSYNRA15,
7077        .ro = 0x7fff0000,
7078    },{ .name = "SMMU_CBA2R0",  .decode.addr = A_SMMU_CBA2R0,
7079    },{ .name = "SMMU_CBA2R1",  .decode.addr = A_SMMU_CBA2R1,
7080    },{ .name = "SMMU_CBA2R2",  .decode.addr = A_SMMU_CBA2R2,
7081    },{ .name = "SMMU_CBA2R3",  .decode.addr = A_SMMU_CBA2R3,
7082    },{ .name = "SMMU_CBA2R4",  .decode.addr = A_SMMU_CBA2R4,
7083    },{ .name = "SMMU_CBA2R5",  .decode.addr = A_SMMU_CBA2R5,
7084    },{ .name = "SMMU_CBA2R6",  .decode.addr = A_SMMU_CBA2R6,
7085    },{ .name = "SMMU_CBA2R7",  .decode.addr = A_SMMU_CBA2R7,
7086    },{ .name = "SMMU_CBA2R8",  .decode.addr = A_SMMU_CBA2R8,
7087    },{ .name = "SMMU_CBA2R9",  .decode.addr = A_SMMU_CBA2R9,
7088    },{ .name = "SMMU_CBA2R10",  .decode.addr = A_SMMU_CBA2R10,
7089    },{ .name = "SMMU_CBA2R11",  .decode.addr = A_SMMU_CBA2R11,
7090    },{ .name = "SMMU_CBA2R12",  .decode.addr = A_SMMU_CBA2R12,
7091    },{ .name = "SMMU_CBA2R13",  .decode.addr = A_SMMU_CBA2R13,
7092    },{ .name = "SMMU_CBA2R14",  .decode.addr = A_SMMU_CBA2R14,
7093    },{ .name = "SMMU_CBA2R15",  .decode.addr = A_SMMU_CBA2R15,
7094    },{ .name = "SMMU_ITCTRL",  .decode.addr = A_SMMU_ITCTRL,
7095    },{ .name = "SMMU_ITIP",  .decode.addr = A_SMMU_ITIP,
7096        .ro = 0x1,
7097    },{ .name = "SMMU_ITOP_GLBL",  .decode.addr = A_SMMU_ITOP_GLBL,
7098        .ro = 0x202,
7099    },{ .name = "SMMU_ITOP_PERF_INDEX",  .decode.addr = A_SMMU_ITOP_PERF_INDEX,
7100    },{ .name = "SMMU_ITOP_CXT0TO31_RAM0",  .decode.addr = A_SMMU_ITOP_CXT0TO31_RAM0,
7101    },{ .name = "SMMU_TBUQOS0",  .decode.addr = A_SMMU_TBUQOS0,
7102    },{ .name = "SMMU_PER",  .decode.addr = A_SMMU_PER,
7103        .ro = 0xffff,
7104    },{ .name = "SMMU_TBU_PWR_STATUS",  .decode.addr = A_SMMU_TBU_PWR_STATUS,
7105        .ro = 0xffffffff,
7106    },{ .name = "PMEVCNTR0",  .decode.addr = A_PMEVCNTR0,
7107    },{ .name = "PMEVCNTR1",  .decode.addr = A_PMEVCNTR1,
7108    },{ .name = "PMEVCNTR2",  .decode.addr = A_PMEVCNTR2,
7109    },{ .name = "PMEVCNTR3",  .decode.addr = A_PMEVCNTR3,
7110    },{ .name = "PMEVCNTR4",  .decode.addr = A_PMEVCNTR4,
7111    },{ .name = "PMEVCNTR5",  .decode.addr = A_PMEVCNTR5,
7112    },{ .name = "PMEVCNTR6",  .decode.addr = A_PMEVCNTR6,
7113    },{ .name = "PMEVCNTR7",  .decode.addr = A_PMEVCNTR7,
7114    },{ .name = "PMEVCNTR8",  .decode.addr = A_PMEVCNTR8,
7115    },{ .name = "PMEVCNTR9",  .decode.addr = A_PMEVCNTR9,
7116    },{ .name = "PMEVCNTR10",  .decode.addr = A_PMEVCNTR10,
7117    },{ .name = "PMEVCNTR11",  .decode.addr = A_PMEVCNTR11,
7118    },{ .name = "PMEVCNTR12",  .decode.addr = A_PMEVCNTR12,
7119    },{ .name = "PMEVCNTR13",  .decode.addr = A_PMEVCNTR13,
7120    },{ .name = "PMEVCNTR14",  .decode.addr = A_PMEVCNTR14,
7121    },{ .name = "PMEVCNTR15",  .decode.addr = A_PMEVCNTR15,
7122    },{ .name = "PMEVCNTR16",  .decode.addr = A_PMEVCNTR16,
7123    },{ .name = "PMEVCNTR17",  .decode.addr = A_PMEVCNTR17,
7124    },{ .name = "PMEVCNTR18",  .decode.addr = A_PMEVCNTR18,
7125    },{ .name = "PMEVCNTR19",  .decode.addr = A_PMEVCNTR19,
7126    },{ .name = "PMEVCNTR20",  .decode.addr = A_PMEVCNTR20,
7127    },{ .name = "PMEVCNTR21",  .decode.addr = A_PMEVCNTR21,
7128    },{ .name = "PMEVCNTR22",  .decode.addr = A_PMEVCNTR22,
7129    },{ .name = "PMEVCNTR23",  .decode.addr = A_PMEVCNTR23,
7130    },{ .name = "PMEVTYPER0",  .decode.addr = A_PMEVTYPER0,
7131    },{ .name = "PMEVTYPER1",  .decode.addr = A_PMEVTYPER1,
7132    },{ .name = "PMEVTYPER2",  .decode.addr = A_PMEVTYPER2,
7133    },{ .name = "PMEVTYPER3",  .decode.addr = A_PMEVTYPER3,
7134    },{ .name = "PMEVTYPER4",  .decode.addr = A_PMEVTYPER4,
7135    },{ .name = "PMEVTYPER5",  .decode.addr = A_PMEVTYPER5,
7136    },{ .name = "PMEVTYPER6",  .decode.addr = A_PMEVTYPER6,
7137    },{ .name = "PMEVTYPER7",  .decode.addr = A_PMEVTYPER7,
7138    },{ .name = "PMEVTYPER8",  .decode.addr = A_PMEVTYPER8,
7139    },{ .name = "PMEVTYPER9",  .decode.addr = A_PMEVTYPER9,
7140    },{ .name = "PMEVTYPER10",  .decode.addr = A_PMEVTYPER10,
7141    },{ .name = "PMEVTYPER11",  .decode.addr = A_PMEVTYPER11,
7142    },{ .name = "PMEVTYPER12",  .decode.addr = A_PMEVTYPER12,
7143    },{ .name = "PMEVTYPER13",  .decode.addr = A_PMEVTYPER13,
7144    },{ .name = "PMEVTYPER14",  .decode.addr = A_PMEVTYPER14,
7145    },{ .name = "PMEVTYPER15",  .decode.addr = A_PMEVTYPER15,
7146    },{ .name = "PMEVTYPER16",  .decode.addr = A_PMEVTYPER16,
7147    },{ .name = "PMEVTYPER17",  .decode.addr = A_PMEVTYPER17,
7148    },{ .name = "PMEVTYPER18",  .decode.addr = A_PMEVTYPER18,
7149    },{ .name = "PMEVTYPER19",  .decode.addr = A_PMEVTYPER19,
7150    },{ .name = "PMEVTYPER20",  .decode.addr = A_PMEVTYPER20,
7151    },{ .name = "PMEVTYPER21",  .decode.addr = A_PMEVTYPER21,
7152    },{ .name = "PMEVTYPER22",  .decode.addr = A_PMEVTYPER22,
7153    },{ .name = "PMEVTYPER23",  .decode.addr = A_PMEVTYPER23,
7154    },{ .name = "PMCGCR0",  .decode.addr = A_PMCGCR0,
7155        .reset = 0x4000000,
7156        .ro = 0xf7f0000,
7157    },{ .name = "PMCGCR1",  .decode.addr = A_PMCGCR1,
7158        .reset = 0x4010000,
7159        .ro = 0xf7f0000,
7160    },{ .name = "PMCGCR2",  .decode.addr = A_PMCGCR2,
7161        .reset = 0x4020000,
7162        .ro = 0xf7f0000,
7163    },{ .name = "PMCGCR3",  .decode.addr = A_PMCGCR3,
7164        .reset = 0x4030000,
7165        .ro = 0xf7f0000,
7166    },{ .name = "PMCGCR4",  .decode.addr = A_PMCGCR4,
7167        .reset = 0x4040000,
7168        .ro = 0xf7f0000,
7169    },{ .name = "PMCGCR5",  .decode.addr = A_PMCGCR5,
7170        .reset = 0x4050000,
7171        .ro = 0xf7f0000,
7172    },{ .name = "PMCGSMR0",  .decode.addr = A_PMCGSMR0,
7173    },{ .name = "PMCGSMR1",  .decode.addr = A_PMCGSMR1,
7174    },{ .name = "PMCGSMR2",  .decode.addr = A_PMCGSMR2,
7175    },{ .name = "PMCGSMR3",  .decode.addr = A_PMCGSMR3,
7176    },{ .name = "PMCGSMR4",  .decode.addr = A_PMCGSMR4,
7177    },{ .name = "PMCGSMR5",  .decode.addr = A_PMCGSMR5,
7178    },{ .name = "PMCNTENSET",  .decode.addr = A_PMCNTENSET,
7179    },{ .name = "PMCNTENCLR",  .decode.addr = A_PMCNTENCLR,
7180    },{ .name = "PMINTENSET",  .decode.addr = A_PMINTENSET,
7181    },{ .name = "PMINTENCLR",  .decode.addr = A_PMINTENCLR,
7182    },{ .name = "PMOVSCLR",  .decode.addr = A_PMOVSCLR,
7183    },{ .name = "PMOVSSET",  .decode.addr = A_PMOVSSET,
7184    },{ .name = "PMCFGR",  .decode.addr = A_PMCFGR,
7185        .reset = 0x5011f17,
7186        .ro = 0xff09ffff,
7187    },{ .name = "PMCR",  .decode.addr = A_PMCR,
7188        .ro = 0xff000002,
7189    },{ .name = "PMCEID0",  .decode.addr = A_PMCEID0,
7190        .reset = 0x30303,
7191        .ro = 0x38383,
7192    },{ .name = "PMAUTHSTATUS",  .decode.addr = A_PMAUTHSTATUS,
7193        .reset = 0x80,
7194        .ro = 0xff,
7195    },{ .name = "PMDEVTYPE",  .decode.addr = A_PMDEVTYPE,
7196        .reset = 0x56,
7197        .ro = 0xff,
7198    },{ .name = "SMMU_CB0_SCTLR",  .decode.addr = A_SMMU_CB0_SCTLR,
7199        .reset = 0x100,
7200        .ro = 0x1000,
7201    },{ .name = "SMMU_CB0_ACTLR",  .decode.addr = A_SMMU_CB0_ACTLR,
7202        .reset = 0x3,
7203    },{ .name = "SMMU_CB0_RESUME",  .decode.addr = A_SMMU_CB0_RESUME,
7204    },{ .name = "SMMU_CB0_TCR2",  .decode.addr = A_SMMU_CB0_TCR2,
7205        .reset = 0x60,
7206        .ro = 0x60,
7207    },{ .name = "SMMU_CB0_TTBR0_LOW",  .decode.addr = A_SMMU_CB0_TTBR0_LOW,
7208        .ro = 0x4,
7209    },{ .name = "SMMU_CB0_TTBR0_HIGH",  .decode.addr = A_SMMU_CB0_TTBR0_HIGH,
7210    },{ .name = "SMMU_CB0_TTBR1_LOW",  .decode.addr = A_SMMU_CB0_TTBR1_LOW,
7211    },{ .name = "SMMU_CB0_TTBR1_HIGH",  .decode.addr = A_SMMU_CB0_TTBR1_HIGH,
7212    },{ .name = "SMMU_CB0_TCR_LPAE",  .decode.addr = A_SMMU_CB0_TCR_LPAE,
7213    },{ .name = "SMMU_CB0_CONTEXTIDR",  .decode.addr = A_SMMU_CB0_CONTEXTIDR,
7214    },{ .name = "SMMU_CB0_PRRR_MAIR0",  .decode.addr = A_SMMU_CB0_PRRR_MAIR0,
7215    },{ .name = "SMMU_CB0_NMRR_MAIR1",  .decode.addr = A_SMMU_CB0_NMRR_MAIR1,
7216    },{ .name = "SMMU_CB0_FSR",  .decode.addr = A_SMMU_CB0_FSR,
7217        .w1c = 0xffffffff,
7218        .post_write = smmu_fsr_pw,
7219    },{ .name = "SMMU_CB0_FSRRESTORE",  .decode.addr = A_SMMU_CB0_FSRRESTORE,
7220    },{ .name = "SMMU_CB0_FAR_LOW",  .decode.addr = A_SMMU_CB0_FAR_LOW,
7221    },{ .name = "SMMU_CB0_FAR_HIGH",  .decode.addr = A_SMMU_CB0_FAR_HIGH,
7222    },{ .name = "SMMU_CB0_FSYNR0",  .decode.addr = A_SMMU_CB0_FSYNR0,
7223        .ro = 0x200,
7224    },{ .name = "SMMU_CB0_IPAFAR_LOW",  .decode.addr = A_SMMU_CB0_IPAFAR_LOW,
7225        .ro = 0xfff,
7226    },{ .name = "SMMU_CB0_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB0_IPAFAR_HIGH,
7227    },{ .name = "SMMU_CB0_TLBIVA_LOW",  .decode.addr = A_SMMU_CB0_TLBIVA_LOW,
7228    },{ .name = "SMMU_CB0_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB0_TLBIVA_HIGH,
7229    },{ .name = "SMMU_CB0_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB0_TLBIVAA_LOW,
7230    },{ .name = "SMMU_CB0_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB0_TLBIVAA_HIGH,
7231    },{ .name = "SMMU_CB0_TLBIASID",  .decode.addr = A_SMMU_CB0_TLBIASID,
7232    },{ .name = "SMMU_CB0_TLBIALL",  .decode.addr = A_SMMU_CB0_TLBIALL,
7233    },{ .name = "SMMU_CB0_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB0_TLBIVAL_LOW,
7234    },{ .name = "SMMU_CB0_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB0_TLBIVAL_HIGH,
7235    },{ .name = "SMMU_CB0_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB0_TLBIVAAL_LOW,
7236    },{ .name = "SMMU_CB0_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB0_TLBIVAAL_HIGH,
7237    },{ .name = "SMMU_CB0_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB0_TLBIIPAS2_LOW,
7238    },{ .name = "SMMU_CB0_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB0_TLBIIPAS2_HIGH,
7239    },{ .name = "SMMU_CB0_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB0_TLBIIPAS2L_LOW,
7240    },{ .name = "SMMU_CB0_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB0_TLBIIPAS2L_HIGH,
7241    },{ .name = "SMMU_CB0_TLBSYNC",  .decode.addr = A_SMMU_CB0_TLBSYNC,
7242    },{ .name = "SMMU_CB0_TLBSTATUS",  .decode.addr = A_SMMU_CB0_TLBSTATUS,
7243        .ro = 0x1,
7244    },{ .name = "SMMU_CB0_PMEVCNTR0",  .decode.addr = A_SMMU_CB0_PMEVCNTR0,
7245    },{ .name = "SMMU_CB0_PMEVCNTR1",  .decode.addr = A_SMMU_CB0_PMEVCNTR1,
7246    },{ .name = "SMMU_CB0_PMEVCNTR2",  .decode.addr = A_SMMU_CB0_PMEVCNTR2,
7247    },{ .name = "SMMU_CB0_PMEVCNTR3",  .decode.addr = A_SMMU_CB0_PMEVCNTR3,
7248    },{ .name = "SMMU_CB0_PMEVTYPER0",  .decode.addr = A_SMMU_CB0_PMEVTYPER0,
7249    },{ .name = "SMMU_CB0_PMEVTYPER1",  .decode.addr = A_SMMU_CB0_PMEVTYPER1,
7250    },{ .name = "SMMU_CB0_PMEVTYPER2",  .decode.addr = A_SMMU_CB0_PMEVTYPER2,
7251    },{ .name = "SMMU_CB0_PMEVTYPER3",  .decode.addr = A_SMMU_CB0_PMEVTYPER3,
7252    },{ .name = "SMMU_CB0_PMCFGR",  .decode.addr = A_SMMU_CB0_PMCFGR,
7253        .reset = 0x11f03,
7254        .ro = 0xff09ffff,
7255    },{ .name = "SMMU_CB0_PMCR",  .decode.addr = A_SMMU_CB0_PMCR,
7256        .ro = 0xff000002,
7257    },{ .name = "SMMU_CB0_PMCEID",  .decode.addr = A_SMMU_CB0_PMCEID,
7258        .reset = 0x30303,
7259        .ro = 0x38383,
7260    },{ .name = "SMMU_CB0_PMCNTENSE",  .decode.addr = A_SMMU_CB0_PMCNTENSE,
7261    },{ .name = "SMMU_CB0_PMCNTENCLR",  .decode.addr = A_SMMU_CB0_PMCNTENCLR,
7262    },{ .name = "SMMU_CB0_PMCNTENSET",  .decode.addr = A_SMMU_CB0_PMCNTENSET,
7263    },{ .name = "SMMU_CB0_PMINTENCLR",  .decode.addr = A_SMMU_CB0_PMINTENCLR,
7264    },{ .name = "SMMU_CB0_PMOVSCLR",  .decode.addr = A_SMMU_CB0_PMOVSCLR,
7265    },{ .name = "SMMU_CB0_PMOVSSET",  .decode.addr = A_SMMU_CB0_PMOVSSET,
7266    },{ .name = "SMMU_CB0_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB0_PMAUTHSTATUS,
7267        .reset = 0x80,
7268        .ro = 0xff,
7269    },{ .name = "SMMU_CB1_SCTLR",  .decode.addr = A_SMMU_CB1_SCTLR,
7270        .reset = 0x100,
7271        .ro = 0x1000,
7272    },{ .name = "SMMU_CB1_ACTLR",  .decode.addr = A_SMMU_CB1_ACTLR,
7273        .reset = 0x3,
7274    },{ .name = "SMMU_CB1_RESUME",  .decode.addr = A_SMMU_CB1_RESUME,
7275    },{ .name = "SMMU_CB1_TCR2",  .decode.addr = A_SMMU_CB1_TCR2,
7276        .reset = 0x60,
7277        .ro = 0x60,
7278    },{ .name = "SMMU_CB1_TTBR0_LOW",  .decode.addr = A_SMMU_CB1_TTBR0_LOW,
7279        .ro = 0x4,
7280    },{ .name = "SMMU_CB1_TTBR0_HIGH",  .decode.addr = A_SMMU_CB1_TTBR0_HIGH,
7281    },{ .name = "SMMU_CB1_TTBR1_LOW",  .decode.addr = A_SMMU_CB1_TTBR1_LOW,
7282    },{ .name = "SMMU_CB1_TTBR1_HIGH",  .decode.addr = A_SMMU_CB1_TTBR1_HIGH,
7283    },{ .name = "SMMU_CB1_TCR_LPAE",  .decode.addr = A_SMMU_CB1_TCR_LPAE,
7284    },{ .name = "SMMU_CB1_CONTEXTIDR",  .decode.addr = A_SMMU_CB1_CONTEXTIDR,
7285    },{ .name = "SMMU_CB1_PRRR_MAIR0",  .decode.addr = A_SMMU_CB1_PRRR_MAIR0,
7286    },{ .name = "SMMU_CB1_NMRR_MAIR1",  .decode.addr = A_SMMU_CB1_NMRR_MAIR1,
7287    },{ .name = "SMMU_CB1_FSR",  .decode.addr = A_SMMU_CB1_FSR,
7288        .w1c = 0xffffffff,
7289        .post_write = smmu_fsr_pw,
7290    },{ .name = "SMMU_CB1_FSRRESTORE",  .decode.addr = A_SMMU_CB1_FSRRESTORE,
7291    },{ .name = "SMMU_CB1_FAR_LOW",  .decode.addr = A_SMMU_CB1_FAR_LOW,
7292    },{ .name = "SMMU_CB1_FAR_HIGH",  .decode.addr = A_SMMU_CB1_FAR_HIGH,
7293    },{ .name = "SMMU_CB1_FSYNR0",  .decode.addr = A_SMMU_CB1_FSYNR0,
7294        .ro = 0x200,
7295    },{ .name = "SMMU_CB1_IPAFAR_LOW",  .decode.addr = A_SMMU_CB1_IPAFAR_LOW,
7296        .ro = 0xfff,
7297    },{ .name = "SMMU_CB1_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB1_IPAFAR_HIGH,
7298    },{ .name = "SMMU_CB1_TLBIVA_LOW",  .decode.addr = A_SMMU_CB1_TLBIVA_LOW,
7299    },{ .name = "SMMU_CB1_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB1_TLBIVA_HIGH,
7300    },{ .name = "SMMU_CB1_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB1_TLBIVAA_LOW,
7301    },{ .name = "SMMU_CB1_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB1_TLBIVAA_HIGH,
7302    },{ .name = "SMMU_CB1_TLBIASID",  .decode.addr = A_SMMU_CB1_TLBIASID,
7303    },{ .name = "SMMU_CB1_TLBIALL",  .decode.addr = A_SMMU_CB1_TLBIALL,
7304    },{ .name = "SMMU_CB1_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB1_TLBIVAL_LOW,
7305    },{ .name = "SMMU_CB1_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB1_TLBIVAL_HIGH,
7306    },{ .name = "SMMU_CB1_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB1_TLBIVAAL_LOW,
7307    },{ .name = "SMMU_CB1_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB1_TLBIVAAL_HIGH,
7308    },{ .name = "SMMU_CB1_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB1_TLBIIPAS2_LOW,
7309    },{ .name = "SMMU_CB1_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB1_TLBIIPAS2_HIGH,
7310    },{ .name = "SMMU_CB1_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB1_TLBIIPAS2L_LOW,
7311    },{ .name = "SMMU_CB1_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB1_TLBIIPAS2L_HIGH,
7312    },{ .name = "SMMU_CB1_TLBSYNC",  .decode.addr = A_SMMU_CB1_TLBSYNC,
7313    },{ .name = "SMMU_CB1_TLBSTATUS",  .decode.addr = A_SMMU_CB1_TLBSTATUS,
7314        .ro = 0x1,
7315    },{ .name = "SMMU_CB1_PMEVCNTR0",  .decode.addr = A_SMMU_CB1_PMEVCNTR0,
7316    },{ .name = "SMMU_CB1_PMEVCNTR1",  .decode.addr = A_SMMU_CB1_PMEVCNTR1,
7317    },{ .name = "SMMU_CB1_PMEVCNTR2",  .decode.addr = A_SMMU_CB1_PMEVCNTR2,
7318    },{ .name = "SMMU_CB1_PMEVCNTR3",  .decode.addr = A_SMMU_CB1_PMEVCNTR3,
7319    },{ .name = "SMMU_CB1_PMEVTYPER0",  .decode.addr = A_SMMU_CB1_PMEVTYPER0,
7320    },{ .name = "SMMU_CB1_PMEVTYPER1",  .decode.addr = A_SMMU_CB1_PMEVTYPER1,
7321    },{ .name = "SMMU_CB1_PMEVTYPER2",  .decode.addr = A_SMMU_CB1_PMEVTYPER2,
7322    },{ .name = "SMMU_CB1_PMEVTYPER3",  .decode.addr = A_SMMU_CB1_PMEVTYPER3,
7323    },{ .name = "SMMU_CB1_PMCFGR",  .decode.addr = A_SMMU_CB1_PMCFGR,
7324        .reset = 0x11f03,
7325        .ro = 0xff09ffff,
7326    },{ .name = "SMMU_CB1_PMCR",  .decode.addr = A_SMMU_CB1_PMCR,
7327        .ro = 0xff000002,
7328    },{ .name = "SMMU_CB1_PMCEID",  .decode.addr = A_SMMU_CB1_PMCEID,
7329        .reset = 0x30303,
7330        .ro = 0x38383,
7331    },{ .name = "SMMU_CB1_PMCNTENSE",  .decode.addr = A_SMMU_CB1_PMCNTENSE,
7332    },{ .name = "SMMU_CB1_PMCNTENCLR",  .decode.addr = A_SMMU_CB1_PMCNTENCLR,
7333    },{ .name = "SMMU_CB1_PMCNTENSET",  .decode.addr = A_SMMU_CB1_PMCNTENSET,
7334    },{ .name = "SMMU_CB1_PMINTENCLR",  .decode.addr = A_SMMU_CB1_PMINTENCLR,
7335    },{ .name = "SMMU_CB1_PMOVSCLR",  .decode.addr = A_SMMU_CB1_PMOVSCLR,
7336    },{ .name = "SMMU_CB1_PMOVSSET",  .decode.addr = A_SMMU_CB1_PMOVSSET,
7337    },{ .name = "SMMU_CB1_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB1_PMAUTHSTATUS,
7338        .reset = 0x80,
7339        .ro = 0xff,
7340    },{ .name = "SMMU_CB2_SCTLR",  .decode.addr = A_SMMU_CB2_SCTLR,
7341        .reset = 0x100,
7342        .ro = 0x1000,
7343    },{ .name = "SMMU_CB2_ACTLR",  .decode.addr = A_SMMU_CB2_ACTLR,
7344        .reset = 0x3,
7345    },{ .name = "SMMU_CB2_RESUME",  .decode.addr = A_SMMU_CB2_RESUME,
7346    },{ .name = "SMMU_CB2_TCR2",  .decode.addr = A_SMMU_CB2_TCR2,
7347        .reset = 0x60,
7348        .ro = 0x60,
7349    },{ .name = "SMMU_CB2_TTBR0_LOW",  .decode.addr = A_SMMU_CB2_TTBR0_LOW,
7350        .ro = 0x4,
7351    },{ .name = "SMMU_CB2_TTBR0_HIGH",  .decode.addr = A_SMMU_CB2_TTBR0_HIGH,
7352    },{ .name = "SMMU_CB2_TTBR1_LOW",  .decode.addr = A_SMMU_CB2_TTBR1_LOW,
7353    },{ .name = "SMMU_CB2_TTBR1_HIGH",  .decode.addr = A_SMMU_CB2_TTBR1_HIGH,
7354    },{ .name = "SMMU_CB2_TCR_LPAE",  .decode.addr = A_SMMU_CB2_TCR_LPAE,
7355    },{ .name = "SMMU_CB2_CONTEXTIDR",  .decode.addr = A_SMMU_CB2_CONTEXTIDR,
7356    },{ .name = "SMMU_CB2_PRRR_MAIR0",  .decode.addr = A_SMMU_CB2_PRRR_MAIR0,
7357    },{ .name = "SMMU_CB2_NMRR_MAIR1",  .decode.addr = A_SMMU_CB2_NMRR_MAIR1,
7358    },{ .name = "SMMU_CB2_FSR",  .decode.addr = A_SMMU_CB2_FSR,
7359        .w1c = 0xffffffff,
7360        .post_write = smmu_fsr_pw,
7361    },{ .name = "SMMU_CB2_FSRRESTORE",  .decode.addr = A_SMMU_CB2_FSRRESTORE,
7362    },{ .name = "SMMU_CB2_FAR_LOW",  .decode.addr = A_SMMU_CB2_FAR_LOW,
7363    },{ .name = "SMMU_CB2_FAR_HIGH",  .decode.addr = A_SMMU_CB2_FAR_HIGH,
7364    },{ .name = "SMMU_CB2_FSYNR0",  .decode.addr = A_SMMU_CB2_FSYNR0,
7365        .ro = 0x200,
7366    },{ .name = "SMMU_CB2_IPAFAR_LOW",  .decode.addr = A_SMMU_CB2_IPAFAR_LOW,
7367        .ro = 0xfff,
7368    },{ .name = "SMMU_CB2_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB2_IPAFAR_HIGH,
7369    },{ .name = "SMMU_CB2_TLBIVA_LOW",  .decode.addr = A_SMMU_CB2_TLBIVA_LOW,
7370    },{ .name = "SMMU_CB2_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB2_TLBIVA_HIGH,
7371    },{ .name = "SMMU_CB2_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB2_TLBIVAA_LOW,
7372    },{ .name = "SMMU_CB2_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB2_TLBIVAA_HIGH,
7373    },{ .name = "SMMU_CB2_TLBIASID",  .decode.addr = A_SMMU_CB2_TLBIASID,
7374    },{ .name = "SMMU_CB2_TLBIALL",  .decode.addr = A_SMMU_CB2_TLBIALL,
7375    },{ .name = "SMMU_CB2_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB2_TLBIVAL_LOW,
7376    },{ .name = "SMMU_CB2_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB2_TLBIVAL_HIGH,
7377    },{ .name = "SMMU_CB2_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB2_TLBIVAAL_LOW,
7378    },{ .name = "SMMU_CB2_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB2_TLBIVAAL_HIGH,
7379    },{ .name = "SMMU_CB2_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB2_TLBIIPAS2_LOW,
7380    },{ .name = "SMMU_CB2_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB2_TLBIIPAS2_HIGH,
7381    },{ .name = "SMMU_CB2_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB2_TLBIIPAS2L_LOW,
7382    },{ .name = "SMMU_CB2_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB2_TLBIIPAS2L_HIGH,
7383    },{ .name = "SMMU_CB2_TLBSYNC",  .decode.addr = A_SMMU_CB2_TLBSYNC,
7384    },{ .name = "SMMU_CB2_TLBSTATUS",  .decode.addr = A_SMMU_CB2_TLBSTATUS,
7385        .ro = 0x1,
7386    },{ .name = "SMMU_CB2_PMEVCNTR0",  .decode.addr = A_SMMU_CB2_PMEVCNTR0,
7387    },{ .name = "SMMU_CB2_PMEVCNTR1",  .decode.addr = A_SMMU_CB2_PMEVCNTR1,
7388    },{ .name = "SMMU_CB2_PMEVCNTR2",  .decode.addr = A_SMMU_CB2_PMEVCNTR2,
7389    },{ .name = "SMMU_CB2_PMEVCNTR3",  .decode.addr = A_SMMU_CB2_PMEVCNTR3,
7390    },{ .name = "SMMU_CB2_PMEVTYPER0",  .decode.addr = A_SMMU_CB2_PMEVTYPER0,
7391    },{ .name = "SMMU_CB2_PMEVTYPER1",  .decode.addr = A_SMMU_CB2_PMEVTYPER1,
7392    },{ .name = "SMMU_CB2_PMEVTYPER2",  .decode.addr = A_SMMU_CB2_PMEVTYPER2,
7393    },{ .name = "SMMU_CB2_PMEVTYPER3",  .decode.addr = A_SMMU_CB2_PMEVTYPER3,
7394    },{ .name = "SMMU_CB2_PMCFGR",  .decode.addr = A_SMMU_CB2_PMCFGR,
7395        .reset = 0x11f03,
7396        .ro = 0xff09ffff,
7397    },{ .name = "SMMU_CB2_PMCR",  .decode.addr = A_SMMU_CB2_PMCR,
7398        .ro = 0xff000002,
7399    },{ .name = "SMMU_CB2_PMCEID",  .decode.addr = A_SMMU_CB2_PMCEID,
7400        .reset = 0x30303,
7401        .ro = 0x38383,
7402    },{ .name = "SMMU_CB2_PMCNTENSE",  .decode.addr = A_SMMU_CB2_PMCNTENSE,
7403    },{ .name = "SMMU_CB2_PMCNTENCLR",  .decode.addr = A_SMMU_CB2_PMCNTENCLR,
7404    },{ .name = "SMMU_CB2_PMCNTENSET",  .decode.addr = A_SMMU_CB2_PMCNTENSET,
7405    },{ .name = "SMMU_CB2_PMINTENCLR",  .decode.addr = A_SMMU_CB2_PMINTENCLR,
7406    },{ .name = "SMMU_CB2_PMOVSCLR",  .decode.addr = A_SMMU_CB2_PMOVSCLR,
7407    },{ .name = "SMMU_CB2_PMOVSSET",  .decode.addr = A_SMMU_CB2_PMOVSSET,
7408    },{ .name = "SMMU_CB2_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB2_PMAUTHSTATUS,
7409        .reset = 0x80,
7410        .ro = 0xff,
7411    },{ .name = "SMMU_CB3_SCTLR",  .decode.addr = A_SMMU_CB3_SCTLR,
7412        .reset = 0x100,
7413        .ro = 0x1000,
7414    },{ .name = "SMMU_CB3_ACTLR",  .decode.addr = A_SMMU_CB3_ACTLR,
7415        .reset = 0x3,
7416    },{ .name = "SMMU_CB3_RESUME",  .decode.addr = A_SMMU_CB3_RESUME,
7417    },{ .name = "SMMU_CB3_TCR2",  .decode.addr = A_SMMU_CB3_TCR2,
7418        .reset = 0x60,
7419        .ro = 0x60,
7420    },{ .name = "SMMU_CB3_TTBR0_LOW",  .decode.addr = A_SMMU_CB3_TTBR0_LOW,
7421        .ro = 0x4,
7422    },{ .name = "SMMU_CB3_TTBR0_HIGH",  .decode.addr = A_SMMU_CB3_TTBR0_HIGH,
7423    },{ .name = "SMMU_CB3_TTBR1_LOW",  .decode.addr = A_SMMU_CB3_TTBR1_LOW,
7424    },{ .name = "SMMU_CB3_TTBR1_HIGH",  .decode.addr = A_SMMU_CB3_TTBR1_HIGH,
7425    },{ .name = "SMMU_CB3_TCR_LPAE",  .decode.addr = A_SMMU_CB3_TCR_LPAE,
7426    },{ .name = "SMMU_CB3_CONTEXTIDR",  .decode.addr = A_SMMU_CB3_CONTEXTIDR,
7427    },{ .name = "SMMU_CB3_PRRR_MAIR0",  .decode.addr = A_SMMU_CB3_PRRR_MAIR0,
7428    },{ .name = "SMMU_CB3_NMRR_MAIR1",  .decode.addr = A_SMMU_CB3_NMRR_MAIR1,
7429    },{ .name = "SMMU_CB3_FSR",  .decode.addr = A_SMMU_CB3_FSR,
7430        .w1c = 0xffffffff,
7431        .post_write = smmu_fsr_pw,
7432    },{ .name = "SMMU_CB3_FSRRESTORE",  .decode.addr = A_SMMU_CB3_FSRRESTORE,
7433    },{ .name = "SMMU_CB3_FAR_LOW",  .decode.addr = A_SMMU_CB3_FAR_LOW,
7434    },{ .name = "SMMU_CB3_FAR_HIGH",  .decode.addr = A_SMMU_CB3_FAR_HIGH,
7435    },{ .name = "SMMU_CB3_FSYNR0",  .decode.addr = A_SMMU_CB3_FSYNR0,
7436        .ro = 0x200,
7437    },{ .name = "SMMU_CB3_IPAFAR_LOW",  .decode.addr = A_SMMU_CB3_IPAFAR_LOW,
7438        .ro = 0xfff,
7439    },{ .name = "SMMU_CB3_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB3_IPAFAR_HIGH,
7440    },{ .name = "SMMU_CB3_TLBIVA_LOW",  .decode.addr = A_SMMU_CB3_TLBIVA_LOW,
7441    },{ .name = "SMMU_CB3_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB3_TLBIVA_HIGH,
7442    },{ .name = "SMMU_CB3_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB3_TLBIVAA_LOW,
7443    },{ .name = "SMMU_CB3_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB3_TLBIVAA_HIGH,
7444    },{ .name = "SMMU_CB3_TLBIASID",  .decode.addr = A_SMMU_CB3_TLBIASID,
7445    },{ .name = "SMMU_CB3_TLBIALL",  .decode.addr = A_SMMU_CB3_TLBIALL,
7446    },{ .name = "SMMU_CB3_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB3_TLBIVAL_LOW,
7447    },{ .name = "SMMU_CB3_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB3_TLBIVAL_HIGH,
7448    },{ .name = "SMMU_CB3_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB3_TLBIVAAL_LOW,
7449    },{ .name = "SMMU_CB3_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB3_TLBIVAAL_HIGH,
7450    },{ .name = "SMMU_CB3_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB3_TLBIIPAS2_LOW,
7451    },{ .name = "SMMU_CB3_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB3_TLBIIPAS2_HIGH,
7452    },{ .name = "SMMU_CB3_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB3_TLBIIPAS2L_LOW,
7453    },{ .name = "SMMU_CB3_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB3_TLBIIPAS2L_HIGH,
7454    },{ .name = "SMMU_CB3_TLBSYNC",  .decode.addr = A_SMMU_CB3_TLBSYNC,
7455    },{ .name = "SMMU_CB3_TLBSTATUS",  .decode.addr = A_SMMU_CB3_TLBSTATUS,
7456        .ro = 0x1,
7457    },{ .name = "SMMU_CB3_PMEVCNTR0",  .decode.addr = A_SMMU_CB3_PMEVCNTR0,
7458    },{ .name = "SMMU_CB3_PMEVCNTR1",  .decode.addr = A_SMMU_CB3_PMEVCNTR1,
7459    },{ .name = "SMMU_CB3_PMEVCNTR2",  .decode.addr = A_SMMU_CB3_PMEVCNTR2,
7460    },{ .name = "SMMU_CB3_PMEVCNTR3",  .decode.addr = A_SMMU_CB3_PMEVCNTR3,
7461    },{ .name = "SMMU_CB3_PMEVTYPER0",  .decode.addr = A_SMMU_CB3_PMEVTYPER0,
7462    },{ .name = "SMMU_CB3_PMEVTYPER1",  .decode.addr = A_SMMU_CB3_PMEVTYPER1,
7463    },{ .name = "SMMU_CB3_PMEVTYPER2",  .decode.addr = A_SMMU_CB3_PMEVTYPER2,
7464    },{ .name = "SMMU_CB3_PMEVTYPER3",  .decode.addr = A_SMMU_CB3_PMEVTYPER3,
7465    },{ .name = "SMMU_CB3_PMCFGR",  .decode.addr = A_SMMU_CB3_PMCFGR,
7466        .reset = 0x11f03,
7467        .ro = 0xff09ffff,
7468    },{ .name = "SMMU_CB3_PMCR",  .decode.addr = A_SMMU_CB3_PMCR,
7469        .ro = 0xff000002,
7470    },{ .name = "SMMU_CB3_PMCEID",  .decode.addr = A_SMMU_CB3_PMCEID,
7471        .reset = 0x30303,
7472        .ro = 0x38383,
7473    },{ .name = "SMMU_CB3_PMCNTENSE",  .decode.addr = A_SMMU_CB3_PMCNTENSE,
7474    },{ .name = "SMMU_CB3_PMCNTENCLR",  .decode.addr = A_SMMU_CB3_PMCNTENCLR,
7475    },{ .name = "SMMU_CB3_PMCNTENSET",  .decode.addr = A_SMMU_CB3_PMCNTENSET,
7476    },{ .name = "SMMU_CB3_PMINTENCLR",  .decode.addr = A_SMMU_CB3_PMINTENCLR,
7477    },{ .name = "SMMU_CB3_PMOVSCLR",  .decode.addr = A_SMMU_CB3_PMOVSCLR,
7478    },{ .name = "SMMU_CB3_PMOVSSET",  .decode.addr = A_SMMU_CB3_PMOVSSET,
7479    },{ .name = "SMMU_CB3_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB3_PMAUTHSTATUS,
7480        .reset = 0x80,
7481        .ro = 0xff,
7482    },{ .name = "SMMU_CB4_SCTLR",  .decode.addr = A_SMMU_CB4_SCTLR,
7483        .reset = 0x100,
7484        .ro = 0x1000,
7485    },{ .name = "SMMU_CB4_ACTLR",  .decode.addr = A_SMMU_CB4_ACTLR,
7486        .reset = 0x3,
7487    },{ .name = "SMMU_CB4_RESUME",  .decode.addr = A_SMMU_CB4_RESUME,
7488    },{ .name = "SMMU_CB4_TCR2",  .decode.addr = A_SMMU_CB4_TCR2,
7489        .reset = 0x60,
7490        .ro = 0x60,
7491    },{ .name = "SMMU_CB4_TTBR0_LOW",  .decode.addr = A_SMMU_CB4_TTBR0_LOW,
7492        .ro = 0x4,
7493    },{ .name = "SMMU_CB4_TTBR0_HIGH",  .decode.addr = A_SMMU_CB4_TTBR0_HIGH,
7494    },{ .name = "SMMU_CB4_TTBR1_LOW",  .decode.addr = A_SMMU_CB4_TTBR1_LOW,
7495    },{ .name = "SMMU_CB4_TTBR1_HIGH",  .decode.addr = A_SMMU_CB4_TTBR1_HIGH,
7496    },{ .name = "SMMU_CB4_TCR_LPAE",  .decode.addr = A_SMMU_CB4_TCR_LPAE,
7497    },{ .name = "SMMU_CB4_CONTEXTIDR",  .decode.addr = A_SMMU_CB4_CONTEXTIDR,
7498    },{ .name = "SMMU_CB4_PRRR_MAIR0",  .decode.addr = A_SMMU_CB4_PRRR_MAIR0,
7499    },{ .name = "SMMU_CB4_NMRR_MAIR1",  .decode.addr = A_SMMU_CB4_NMRR_MAIR1,
7500    },{ .name = "SMMU_CB4_FSR",  .decode.addr = A_SMMU_CB4_FSR,
7501        .w1c = 0xffffffff,
7502        .post_write = smmu_fsr_pw,
7503    },{ .name = "SMMU_CB4_FSRRESTORE",  .decode.addr = A_SMMU_CB4_FSRRESTORE,
7504    },{ .name = "SMMU_CB4_FAR_LOW",  .decode.addr = A_SMMU_CB4_FAR_LOW,
7505    },{ .name = "SMMU_CB4_FAR_HIGH",  .decode.addr = A_SMMU_CB4_FAR_HIGH,
7506    },{ .name = "SMMU_CB4_FSYNR0",  .decode.addr = A_SMMU_CB4_FSYNR0,
7507        .ro = 0x200,
7508    },{ .name = "SMMU_CB4_IPAFAR_LOW",  .decode.addr = A_SMMU_CB4_IPAFAR_LOW,
7509        .ro = 0xfff,
7510    },{ .name = "SMMU_CB4_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB4_IPAFAR_HIGH,
7511    },{ .name = "SMMU_CB4_TLBIVA_LOW",  .decode.addr = A_SMMU_CB4_TLBIVA_LOW,
7512    },{ .name = "SMMU_CB4_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB4_TLBIVA_HIGH,
7513    },{ .name = "SMMU_CB4_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB4_TLBIVAA_LOW,
7514    },{ .name = "SMMU_CB4_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB4_TLBIVAA_HIGH,
7515    },{ .name = "SMMU_CB4_TLBIASID",  .decode.addr = A_SMMU_CB4_TLBIASID,
7516    },{ .name = "SMMU_CB4_TLBIALL",  .decode.addr = A_SMMU_CB4_TLBIALL,
7517    },{ .name = "SMMU_CB4_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB4_TLBIVAL_LOW,
7518    },{ .name = "SMMU_CB4_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB4_TLBIVAL_HIGH,
7519    },{ .name = "SMMU_CB4_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB4_TLBIVAAL_LOW,
7520    },{ .name = "SMMU_CB4_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB4_TLBIVAAL_HIGH,
7521    },{ .name = "SMMU_CB4_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB4_TLBIIPAS2_LOW,
7522    },{ .name = "SMMU_CB4_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB4_TLBIIPAS2_HIGH,
7523    },{ .name = "SMMU_CB4_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB4_TLBIIPAS2L_LOW,
7524    },{ .name = "SMMU_CB4_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB4_TLBIIPAS2L_HIGH,
7525    },{ .name = "SMMU_CB4_TLBSYNC",  .decode.addr = A_SMMU_CB4_TLBSYNC,
7526    },{ .name = "SMMU_CB4_TLBSTATUS",  .decode.addr = A_SMMU_CB4_TLBSTATUS,
7527        .ro = 0x1,
7528    },{ .name = "SMMU_CB4_PMEVCNTR0",  .decode.addr = A_SMMU_CB4_PMEVCNTR0,
7529    },{ .name = "SMMU_CB4_PMEVCNTR1",  .decode.addr = A_SMMU_CB4_PMEVCNTR1,
7530    },{ .name = "SMMU_CB4_PMEVCNTR2",  .decode.addr = A_SMMU_CB4_PMEVCNTR2,
7531    },{ .name = "SMMU_CB4_PMEVCNTR3",  .decode.addr = A_SMMU_CB4_PMEVCNTR3,
7532    },{ .name = "SMMU_CB4_PMEVTYPER0",  .decode.addr = A_SMMU_CB4_PMEVTYPER0,
7533    },{ .name = "SMMU_CB4_PMEVTYPER1",  .decode.addr = A_SMMU_CB4_PMEVTYPER1,
7534    },{ .name = "SMMU_CB4_PMEVTYPER2",  .decode.addr = A_SMMU_CB4_PMEVTYPER2,
7535    },{ .name = "SMMU_CB4_PMEVTYPER3",  .decode.addr = A_SMMU_CB4_PMEVTYPER3,
7536    },{ .name = "SMMU_CB4_PMCFGR",  .decode.addr = A_SMMU_CB4_PMCFGR,
7537        .reset = 0x11f03,
7538        .ro = 0xff09ffff,
7539    },{ .name = "SMMU_CB4_PMCR",  .decode.addr = A_SMMU_CB4_PMCR,
7540        .ro = 0xff000002,
7541    },{ .name = "SMMU_CB4_PMCEID",  .decode.addr = A_SMMU_CB4_PMCEID,
7542        .reset = 0x30303,
7543        .ro = 0x38383,
7544    },{ .name = "SMMU_CB4_PMCNTENSE",  .decode.addr = A_SMMU_CB4_PMCNTENSE,
7545    },{ .name = "SMMU_CB4_PMCNTENCLR",  .decode.addr = A_SMMU_CB4_PMCNTENCLR,
7546    },{ .name = "SMMU_CB4_PMCNTENSET",  .decode.addr = A_SMMU_CB4_PMCNTENSET,
7547    },{ .name = "SMMU_CB4_PMINTENCLR",  .decode.addr = A_SMMU_CB4_PMINTENCLR,
7548    },{ .name = "SMMU_CB4_PMOVSCLR",  .decode.addr = A_SMMU_CB4_PMOVSCLR,
7549    },{ .name = "SMMU_CB4_PMOVSSET",  .decode.addr = A_SMMU_CB4_PMOVSSET,
7550    },{ .name = "SMMU_CB4_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB4_PMAUTHSTATUS,
7551        .reset = 0x80,
7552        .ro = 0xff,
7553    },{ .name = "SMMU_CB5_SCTLR",  .decode.addr = A_SMMU_CB5_SCTLR,
7554        .reset = 0x100,
7555        .ro = 0x1000,
7556    },{ .name = "SMMU_CB5_ACTLR",  .decode.addr = A_SMMU_CB5_ACTLR,
7557        .reset = 0x3,
7558    },{ .name = "SMMU_CB5_RESUME",  .decode.addr = A_SMMU_CB5_RESUME,
7559    },{ .name = "SMMU_CB5_TCR2",  .decode.addr = A_SMMU_CB5_TCR2,
7560        .reset = 0x60,
7561        .ro = 0x60,
7562    },{ .name = "SMMU_CB5_TTBR0_LOW",  .decode.addr = A_SMMU_CB5_TTBR0_LOW,
7563        .ro = 0x4,
7564    },{ .name = "SMMU_CB5_TTBR0_HIGH",  .decode.addr = A_SMMU_CB5_TTBR0_HIGH,
7565    },{ .name = "SMMU_CB5_TTBR1_LOW",  .decode.addr = A_SMMU_CB5_TTBR1_LOW,
7566    },{ .name = "SMMU_CB5_TTBR1_HIGH",  .decode.addr = A_SMMU_CB5_TTBR1_HIGH,
7567    },{ .name = "SMMU_CB5_TCR_LPAE",  .decode.addr = A_SMMU_CB5_TCR_LPAE,
7568    },{ .name = "SMMU_CB5_CONTEXTIDR",  .decode.addr = A_SMMU_CB5_CONTEXTIDR,
7569    },{ .name = "SMMU_CB5_PRRR_MAIR0",  .decode.addr = A_SMMU_CB5_PRRR_MAIR0,
7570    },{ .name = "SMMU_CB5_NMRR_MAIR1",  .decode.addr = A_SMMU_CB5_NMRR_MAIR1,
7571    },{ .name = "SMMU_CB5_FSR",  .decode.addr = A_SMMU_CB5_FSR,
7572        .w1c = 0xffffffff,
7573        .post_write = smmu_fsr_pw,
7574    },{ .name = "SMMU_CB5_FSRRESTORE",  .decode.addr = A_SMMU_CB5_FSRRESTORE,
7575    },{ .name = "SMMU_CB5_FAR_LOW",  .decode.addr = A_SMMU_CB5_FAR_LOW,
7576    },{ .name = "SMMU_CB5_FAR_HIGH",  .decode.addr = A_SMMU_CB5_FAR_HIGH,
7577    },{ .name = "SMMU_CB5_FSYNR0",  .decode.addr = A_SMMU_CB5_FSYNR0,
7578        .ro = 0x200,
7579    },{ .name = "SMMU_CB5_IPAFAR_LOW",  .decode.addr = A_SMMU_CB5_IPAFAR_LOW,
7580        .ro = 0xfff,
7581    },{ .name = "SMMU_CB5_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB5_IPAFAR_HIGH,
7582    },{ .name = "SMMU_CB5_TLBIVA_LOW",  .decode.addr = A_SMMU_CB5_TLBIVA_LOW,
7583    },{ .name = "SMMU_CB5_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB5_TLBIVA_HIGH,
7584    },{ .name = "SMMU_CB5_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB5_TLBIVAA_LOW,
7585    },{ .name = "SMMU_CB5_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB5_TLBIVAA_HIGH,
7586    },{ .name = "SMMU_CB5_TLBIASID",  .decode.addr = A_SMMU_CB5_TLBIASID,
7587    },{ .name = "SMMU_CB5_TLBIALL",  .decode.addr = A_SMMU_CB5_TLBIALL,
7588    },{ .name = "SMMU_CB5_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB5_TLBIVAL_LOW,
7589    },{ .name = "SMMU_CB5_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB5_TLBIVAL_HIGH,
7590    },{ .name = "SMMU_CB5_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB5_TLBIVAAL_LOW,
7591    },{ .name = "SMMU_CB5_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB5_TLBIVAAL_HIGH,
7592    },{ .name = "SMMU_CB5_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB5_TLBIIPAS2_LOW,
7593    },{ .name = "SMMU_CB5_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB5_TLBIIPAS2_HIGH,
7594    },{ .name = "SMMU_CB5_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB5_TLBIIPAS2L_LOW,
7595    },{ .name = "SMMU_CB5_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB5_TLBIIPAS2L_HIGH,
7596    },{ .name = "SMMU_CB5_TLBSYNC",  .decode.addr = A_SMMU_CB5_TLBSYNC,
7597    },{ .name = "SMMU_CB5_TLBSTATUS",  .decode.addr = A_SMMU_CB5_TLBSTATUS,
7598        .ro = 0x1,
7599    },{ .name = "SMMU_CB5_PMEVCNTR0",  .decode.addr = A_SMMU_CB5_PMEVCNTR0,
7600    },{ .name = "SMMU_CB5_PMEVCNTR1",  .decode.addr = A_SMMU_CB5_PMEVCNTR1,
7601    },{ .name = "SMMU_CB5_PMEVCNTR2",  .decode.addr = A_SMMU_CB5_PMEVCNTR2,
7602    },{ .name = "SMMU_CB5_PMEVCNTR3",  .decode.addr = A_SMMU_CB5_PMEVCNTR3,
7603    },{ .name = "SMMU_CB5_PMEVTYPER0",  .decode.addr = A_SMMU_CB5_PMEVTYPER0,
7604    },{ .name = "SMMU_CB5_PMEVTYPER1",  .decode.addr = A_SMMU_CB5_PMEVTYPER1,
7605    },{ .name = "SMMU_CB5_PMEVTYPER2",  .decode.addr = A_SMMU_CB5_PMEVTYPER2,
7606    },{ .name = "SMMU_CB5_PMEVTYPER3",  .decode.addr = A_SMMU_CB5_PMEVTYPER3,
7607    },{ .name = "SMMU_CB5_PMCFGR",  .decode.addr = A_SMMU_CB5_PMCFGR,
7608        .reset = 0x11f03,
7609        .ro = 0xff09ffff,
7610    },{ .name = "SMMU_CB5_PMCR",  .decode.addr = A_SMMU_CB5_PMCR,
7611        .ro = 0xff000002,
7612    },{ .name = "SMMU_CB5_PMCEID",  .decode.addr = A_SMMU_CB5_PMCEID,
7613        .reset = 0x30303,
7614        .ro = 0x38383,
7615    },{ .name = "SMMU_CB5_PMCNTENSE",  .decode.addr = A_SMMU_CB5_PMCNTENSE,
7616    },{ .name = "SMMU_CB5_PMCNTENCLR",  .decode.addr = A_SMMU_CB5_PMCNTENCLR,
7617    },{ .name = "SMMU_CB5_PMCNTENSET",  .decode.addr = A_SMMU_CB5_PMCNTENSET,
7618    },{ .name = "SMMU_CB5_PMINTENCLR",  .decode.addr = A_SMMU_CB5_PMINTENCLR,
7619    },{ .name = "SMMU_CB5_PMOVSCLR",  .decode.addr = A_SMMU_CB5_PMOVSCLR,
7620    },{ .name = "SMMU_CB5_PMOVSSET",  .decode.addr = A_SMMU_CB5_PMOVSSET,
7621    },{ .name = "SMMU_CB5_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB5_PMAUTHSTATUS,
7622        .reset = 0x80,
7623        .ro = 0xff,
7624    },{ .name = "SMMU_CB6_SCTLR",  .decode.addr = A_SMMU_CB6_SCTLR,
7625        .reset = 0x100,
7626        .ro = 0x1000,
7627    },{ .name = "SMMU_CB6_ACTLR",  .decode.addr = A_SMMU_CB6_ACTLR,
7628        .reset = 0x3,
7629    },{ .name = "SMMU_CB6_RESUME",  .decode.addr = A_SMMU_CB6_RESUME,
7630    },{ .name = "SMMU_CB6_TCR2",  .decode.addr = A_SMMU_CB6_TCR2,
7631        .reset = 0x60,
7632        .ro = 0x60,
7633    },{ .name = "SMMU_CB6_TTBR0_LOW",  .decode.addr = A_SMMU_CB6_TTBR0_LOW,
7634        .ro = 0x4,
7635    },{ .name = "SMMU_CB6_TTBR0_HIGH",  .decode.addr = A_SMMU_CB6_TTBR0_HIGH,
7636    },{ .name = "SMMU_CB6_TTBR1_LOW",  .decode.addr = A_SMMU_CB6_TTBR1_LOW,
7637    },{ .name = "SMMU_CB6_TTBR1_HIGH",  .decode.addr = A_SMMU_CB6_TTBR1_HIGH,
7638    },{ .name = "SMMU_CB6_TCR_LPAE",  .decode.addr = A_SMMU_CB6_TCR_LPAE,
7639    },{ .name = "SMMU_CB6_CONTEXTIDR",  .decode.addr = A_SMMU_CB6_CONTEXTIDR,
7640    },{ .name = "SMMU_CB6_PRRR_MAIR0",  .decode.addr = A_SMMU_CB6_PRRR_MAIR0,
7641    },{ .name = "SMMU_CB6_NMRR_MAIR1",  .decode.addr = A_SMMU_CB6_NMRR_MAIR1,
7642    },{ .name = "SMMU_CB6_FSR",  .decode.addr = A_SMMU_CB6_FSR,
7643        .w1c = 0xffffffff,
7644        .post_write = smmu_fsr_pw,
7645    },{ .name = "SMMU_CB6_FSRRESTORE",  .decode.addr = A_SMMU_CB6_FSRRESTORE,
7646    },{ .name = "SMMU_CB6_FAR_LOW",  .decode.addr = A_SMMU_CB6_FAR_LOW,
7647    },{ .name = "SMMU_CB6_FAR_HIGH",  .decode.addr = A_SMMU_CB6_FAR_HIGH,
7648    },{ .name = "SMMU_CB6_FSYNR0",  .decode.addr = A_SMMU_CB6_FSYNR0,
7649        .ro = 0x200,
7650    },{ .name = "SMMU_CB6_IPAFAR_LOW",  .decode.addr = A_SMMU_CB6_IPAFAR_LOW,
7651        .ro = 0xfff,
7652    },{ .name = "SMMU_CB6_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB6_IPAFAR_HIGH,
7653    },{ .name = "SMMU_CB6_TLBIVA_LOW",  .decode.addr = A_SMMU_CB6_TLBIVA_LOW,
7654    },{ .name = "SMMU_CB6_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB6_TLBIVA_HIGH,
7655    },{ .name = "SMMU_CB6_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB6_TLBIVAA_LOW,
7656    },{ .name = "SMMU_CB6_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB6_TLBIVAA_HIGH,
7657    },{ .name = "SMMU_CB6_TLBIASID",  .decode.addr = A_SMMU_CB6_TLBIASID,
7658    },{ .name = "SMMU_CB6_TLBIALL",  .decode.addr = A_SMMU_CB6_TLBIALL,
7659    },{ .name = "SMMU_CB6_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB6_TLBIVAL_LOW,
7660    },{ .name = "SMMU_CB6_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB6_TLBIVAL_HIGH,
7661    },{ .name = "SMMU_CB6_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB6_TLBIVAAL_LOW,
7662    },{ .name = "SMMU_CB6_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB6_TLBIVAAL_HIGH,
7663    },{ .name = "SMMU_CB6_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB6_TLBIIPAS2_LOW,
7664    },{ .name = "SMMU_CB6_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB6_TLBIIPAS2_HIGH,
7665    },{ .name = "SMMU_CB6_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB6_TLBIIPAS2L_LOW,
7666    },{ .name = "SMMU_CB6_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB6_TLBIIPAS2L_HIGH,
7667    },{ .name = "SMMU_CB6_TLBSYNC",  .decode.addr = A_SMMU_CB6_TLBSYNC,
7668    },{ .name = "SMMU_CB6_TLBSTATUS",  .decode.addr = A_SMMU_CB6_TLBSTATUS,
7669        .ro = 0x1,
7670    },{ .name = "SMMU_CB6_PMEVCNTR0",  .decode.addr = A_SMMU_CB6_PMEVCNTR0,
7671    },{ .name = "SMMU_CB6_PMEVCNTR1",  .decode.addr = A_SMMU_CB6_PMEVCNTR1,
7672    },{ .name = "SMMU_CB6_PMEVCNTR2",  .decode.addr = A_SMMU_CB6_PMEVCNTR2,
7673    },{ .name = "SMMU_CB6_PMEVCNTR3",  .decode.addr = A_SMMU_CB6_PMEVCNTR3,
7674    },{ .name = "SMMU_CB6_PMEVTYPER0",  .decode.addr = A_SMMU_CB6_PMEVTYPER0,
7675    },{ .name = "SMMU_CB6_PMEVTYPER1",  .decode.addr = A_SMMU_CB6_PMEVTYPER1,
7676    },{ .name = "SMMU_CB6_PMEVTYPER2",  .decode.addr = A_SMMU_CB6_PMEVTYPER2,
7677    },{ .name = "SMMU_CB6_PMEVTYPER3",  .decode.addr = A_SMMU_CB6_PMEVTYPER3,
7678    },{ .name = "SMMU_CB6_PMCFGR",  .decode.addr = A_SMMU_CB6_PMCFGR,
7679        .reset = 0x11f03,
7680        .ro = 0xff09ffff,
7681    },{ .name = "SMMU_CB6_PMCR",  .decode.addr = A_SMMU_CB6_PMCR,
7682        .ro = 0xff000002,
7683    },{ .name = "SMMU_CB6_PMCEID",  .decode.addr = A_SMMU_CB6_PMCEID,
7684        .reset = 0x30303,
7685        .ro = 0x38383,
7686    },{ .name = "SMMU_CB6_PMCNTENSE",  .decode.addr = A_SMMU_CB6_PMCNTENSE,
7687    },{ .name = "SMMU_CB6_PMCNTENCLR",  .decode.addr = A_SMMU_CB6_PMCNTENCLR,
7688    },{ .name = "SMMU_CB6_PMCNTENSET",  .decode.addr = A_SMMU_CB6_PMCNTENSET,
7689    },{ .name = "SMMU_CB6_PMINTENCLR",  .decode.addr = A_SMMU_CB6_PMINTENCLR,
7690    },{ .name = "SMMU_CB6_PMOVSCLR",  .decode.addr = A_SMMU_CB6_PMOVSCLR,
7691    },{ .name = "SMMU_CB6_PMOVSSET",  .decode.addr = A_SMMU_CB6_PMOVSSET,
7692    },{ .name = "SMMU_CB6_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB6_PMAUTHSTATUS,
7693        .reset = 0x80,
7694        .ro = 0xff,
7695    },{ .name = "SMMU_CB7_SCTLR",  .decode.addr = A_SMMU_CB7_SCTLR,
7696        .reset = 0x100,
7697        .ro = 0x1000,
7698    },{ .name = "SMMU_CB7_ACTLR",  .decode.addr = A_SMMU_CB7_ACTLR,
7699        .reset = 0x3,
7700    },{ .name = "SMMU_CB7_RESUME",  .decode.addr = A_SMMU_CB7_RESUME,
7701    },{ .name = "SMMU_CB7_TCR2",  .decode.addr = A_SMMU_CB7_TCR2,
7702        .reset = 0x60,
7703        .ro = 0x60,
7704    },{ .name = "SMMU_CB7_TTBR0_LOW",  .decode.addr = A_SMMU_CB7_TTBR0_LOW,
7705        .ro = 0x4,
7706    },{ .name = "SMMU_CB7_TTBR0_HIGH",  .decode.addr = A_SMMU_CB7_TTBR0_HIGH,
7707    },{ .name = "SMMU_CB7_TTBR1_LOW",  .decode.addr = A_SMMU_CB7_TTBR1_LOW,
7708    },{ .name = "SMMU_CB7_TTBR1_HIGH",  .decode.addr = A_SMMU_CB7_TTBR1_HIGH,
7709    },{ .name = "SMMU_CB7_TCR_LPAE",  .decode.addr = A_SMMU_CB7_TCR_LPAE,
7710    },{ .name = "SMMU_CB7_CONTEXTIDR",  .decode.addr = A_SMMU_CB7_CONTEXTIDR,
7711    },{ .name = "SMMU_CB7_PRRR_MAIR0",  .decode.addr = A_SMMU_CB7_PRRR_MAIR0,
7712    },{ .name = "SMMU_CB7_NMRR_MAIR1",  .decode.addr = A_SMMU_CB7_NMRR_MAIR1,
7713    },{ .name = "SMMU_CB7_FSR",  .decode.addr = A_SMMU_CB7_FSR,
7714        .w1c = 0xffffffff,
7715        .post_write = smmu_fsr_pw,
7716    },{ .name = "SMMU_CB7_FSRRESTORE",  .decode.addr = A_SMMU_CB7_FSRRESTORE,
7717    },{ .name = "SMMU_CB7_FAR_LOW",  .decode.addr = A_SMMU_CB7_FAR_LOW,
7718    },{ .name = "SMMU_CB7_FAR_HIGH",  .decode.addr = A_SMMU_CB7_FAR_HIGH,
7719    },{ .name = "SMMU_CB7_FSYNR0",  .decode.addr = A_SMMU_CB7_FSYNR0,
7720        .ro = 0x200,
7721    },{ .name = "SMMU_CB7_IPAFAR_LOW",  .decode.addr = A_SMMU_CB7_IPAFAR_LOW,
7722        .ro = 0xfff,
7723    },{ .name = "SMMU_CB7_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB7_IPAFAR_HIGH,
7724    },{ .name = "SMMU_CB7_TLBIVA_LOW",  .decode.addr = A_SMMU_CB7_TLBIVA_LOW,
7725    },{ .name = "SMMU_CB7_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB7_TLBIVA_HIGH,
7726    },{ .name = "SMMU_CB7_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB7_TLBIVAA_LOW,
7727    },{ .name = "SMMU_CB7_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB7_TLBIVAA_HIGH,
7728    },{ .name = "SMMU_CB7_TLBIASID",  .decode.addr = A_SMMU_CB7_TLBIASID,
7729    },{ .name = "SMMU_CB7_TLBIALL",  .decode.addr = A_SMMU_CB7_TLBIALL,
7730    },{ .name = "SMMU_CB7_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB7_TLBIVAL_LOW,
7731    },{ .name = "SMMU_CB7_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB7_TLBIVAL_HIGH,
7732    },{ .name = "SMMU_CB7_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB7_TLBIVAAL_LOW,
7733    },{ .name = "SMMU_CB7_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB7_TLBIVAAL_HIGH,
7734    },{ .name = "SMMU_CB7_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB7_TLBIIPAS2_LOW,
7735    },{ .name = "SMMU_CB7_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB7_TLBIIPAS2_HIGH,
7736    },{ .name = "SMMU_CB7_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB7_TLBIIPAS2L_LOW,
7737    },{ .name = "SMMU_CB7_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB7_TLBIIPAS2L_HIGH,
7738    },{ .name = "SMMU_CB7_TLBSYNC",  .decode.addr = A_SMMU_CB7_TLBSYNC,
7739    },{ .name = "SMMU_CB7_TLBSTATUS",  .decode.addr = A_SMMU_CB7_TLBSTATUS,
7740        .ro = 0x1,
7741    },{ .name = "SMMU_CB7_PMEVCNTR0",  .decode.addr = A_SMMU_CB7_PMEVCNTR0,
7742    },{ .name = "SMMU_CB7_PMEVCNTR1",  .decode.addr = A_SMMU_CB7_PMEVCNTR1,
7743    },{ .name = "SMMU_CB7_PMEVCNTR2",  .decode.addr = A_SMMU_CB7_PMEVCNTR2,
7744    },{ .name = "SMMU_CB7_PMEVCNTR3",  .decode.addr = A_SMMU_CB7_PMEVCNTR3,
7745    },{ .name = "SMMU_CB7_PMEVTYPER0",  .decode.addr = A_SMMU_CB7_PMEVTYPER0,
7746    },{ .name = "SMMU_CB7_PMEVTYPER1",  .decode.addr = A_SMMU_CB7_PMEVTYPER1,
7747    },{ .name = "SMMU_CB7_PMEVTYPER2",  .decode.addr = A_SMMU_CB7_PMEVTYPER2,
7748    },{ .name = "SMMU_CB7_PMEVTYPER3",  .decode.addr = A_SMMU_CB7_PMEVTYPER3,
7749    },{ .name = "SMMU_CB7_PMCFGR",  .decode.addr = A_SMMU_CB7_PMCFGR,
7750        .reset = 0x11f03,
7751        .ro = 0xff09ffff,
7752    },{ .name = "SMMU_CB7_PMCR",  .decode.addr = A_SMMU_CB7_PMCR,
7753        .ro = 0xff000002,
7754    },{ .name = "SMMU_CB7_PMCEID",  .decode.addr = A_SMMU_CB7_PMCEID,
7755        .reset = 0x30303,
7756        .ro = 0x38383,
7757    },{ .name = "SMMU_CB7_PMCNTENSE",  .decode.addr = A_SMMU_CB7_PMCNTENSE,
7758    },{ .name = "SMMU_CB7_PMCNTENCLR",  .decode.addr = A_SMMU_CB7_PMCNTENCLR,
7759    },{ .name = "SMMU_CB7_PMCNTENSET",  .decode.addr = A_SMMU_CB7_PMCNTENSET,
7760    },{ .name = "SMMU_CB7_PMINTENCLR",  .decode.addr = A_SMMU_CB7_PMINTENCLR,
7761    },{ .name = "SMMU_CB7_PMOVSCLR",  .decode.addr = A_SMMU_CB7_PMOVSCLR,
7762    },{ .name = "SMMU_CB7_PMOVSSET",  .decode.addr = A_SMMU_CB7_PMOVSSET,
7763    },{ .name = "SMMU_CB7_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB7_PMAUTHSTATUS,
7764        .reset = 0x80,
7765        .ro = 0xff,
7766    },{ .name = "SMMU_CB8_SCTLR",  .decode.addr = A_SMMU_CB8_SCTLR,
7767        .reset = 0x100,
7768        .ro = 0x1000,
7769    },{ .name = "SMMU_CB8_ACTLR",  .decode.addr = A_SMMU_CB8_ACTLR,
7770        .reset = 0x3,
7771    },{ .name = "SMMU_CB8_RESUME",  .decode.addr = A_SMMU_CB8_RESUME,
7772    },{ .name = "SMMU_CB8_TCR2",  .decode.addr = A_SMMU_CB8_TCR2,
7773        .reset = 0x60,
7774        .ro = 0x60,
7775    },{ .name = "SMMU_CB8_TTBR0_LOW",  .decode.addr = A_SMMU_CB8_TTBR0_LOW,
7776        .ro = 0x4,
7777    },{ .name = "SMMU_CB8_TTBR0_HIGH",  .decode.addr = A_SMMU_CB8_TTBR0_HIGH,
7778    },{ .name = "SMMU_CB8_TTBR1_LOW",  .decode.addr = A_SMMU_CB8_TTBR1_LOW,
7779    },{ .name = "SMMU_CB8_TTBR1_HIGH",  .decode.addr = A_SMMU_CB8_TTBR1_HIGH,
7780    },{ .name = "SMMU_CB8_TCR_LPAE",  .decode.addr = A_SMMU_CB8_TCR_LPAE,
7781    },{ .name = "SMMU_CB8_CONTEXTIDR",  .decode.addr = A_SMMU_CB8_CONTEXTIDR,
7782    },{ .name = "SMMU_CB8_PRRR_MAIR0",  .decode.addr = A_SMMU_CB8_PRRR_MAIR0,
7783    },{ .name = "SMMU_CB8_NMRR_MAIR1",  .decode.addr = A_SMMU_CB8_NMRR_MAIR1,
7784    },{ .name = "SMMU_CB8_FSR",  .decode.addr = A_SMMU_CB8_FSR,
7785        .w1c = 0xffffffff,
7786        .post_write = smmu_fsr_pw,
7787    },{ .name = "SMMU_CB8_FSRRESTORE",  .decode.addr = A_SMMU_CB8_FSRRESTORE,
7788    },{ .name = "SMMU_CB8_FAR_LOW",  .decode.addr = A_SMMU_CB8_FAR_LOW,
7789    },{ .name = "SMMU_CB8_FAR_HIGH",  .decode.addr = A_SMMU_CB8_FAR_HIGH,
7790    },{ .name = "SMMU_CB8_FSYNR0",  .decode.addr = A_SMMU_CB8_FSYNR0,
7791        .ro = 0x200,
7792    },{ .name = "SMMU_CB8_IPAFAR_LOW",  .decode.addr = A_SMMU_CB8_IPAFAR_LOW,
7793        .ro = 0xfff,
7794    },{ .name = "SMMU_CB8_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB8_IPAFAR_HIGH,
7795    },{ .name = "SMMU_CB8_TLBIVA_LOW",  .decode.addr = A_SMMU_CB8_TLBIVA_LOW,
7796    },{ .name = "SMMU_CB8_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB8_TLBIVA_HIGH,
7797    },{ .name = "SMMU_CB8_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB8_TLBIVAA_LOW,
7798    },{ .name = "SMMU_CB8_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB8_TLBIVAA_HIGH,
7799    },{ .name = "SMMU_CB8_TLBIASID",  .decode.addr = A_SMMU_CB8_TLBIASID,
7800    },{ .name = "SMMU_CB8_TLBIALL",  .decode.addr = A_SMMU_CB8_TLBIALL,
7801    },{ .name = "SMMU_CB8_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB8_TLBIVAL_LOW,
7802    },{ .name = "SMMU_CB8_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB8_TLBIVAL_HIGH,
7803    },{ .name = "SMMU_CB8_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB8_TLBIVAAL_LOW,
7804    },{ .name = "SMMU_CB8_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB8_TLBIVAAL_HIGH,
7805    },{ .name = "SMMU_CB8_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB8_TLBIIPAS2_LOW,
7806    },{ .name = "SMMU_CB8_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB8_TLBIIPAS2_HIGH,
7807    },{ .name = "SMMU_CB8_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB8_TLBIIPAS2L_LOW,
7808    },{ .name = "SMMU_CB8_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB8_TLBIIPAS2L_HIGH,
7809    },{ .name = "SMMU_CB8_TLBSYNC",  .decode.addr = A_SMMU_CB8_TLBSYNC,
7810    },{ .name = "SMMU_CB8_TLBSTATUS",  .decode.addr = A_SMMU_CB8_TLBSTATUS,
7811        .ro = 0x1,
7812    },{ .name = "SMMU_CB8_PMEVCNTR0",  .decode.addr = A_SMMU_CB8_PMEVCNTR0,
7813    },{ .name = "SMMU_CB8_PMEVCNTR1",  .decode.addr = A_SMMU_CB8_PMEVCNTR1,
7814    },{ .name = "SMMU_CB8_PMEVCNTR2",  .decode.addr = A_SMMU_CB8_PMEVCNTR2,
7815    },{ .name = "SMMU_CB8_PMEVCNTR3",  .decode.addr = A_SMMU_CB8_PMEVCNTR3,
7816    },{ .name = "SMMU_CB8_PMEVTYPER0",  .decode.addr = A_SMMU_CB8_PMEVTYPER0,
7817    },{ .name = "SMMU_CB8_PMEVTYPER1",  .decode.addr = A_SMMU_CB8_PMEVTYPER1,
7818    },{ .name = "SMMU_CB8_PMEVTYPER2",  .decode.addr = A_SMMU_CB8_PMEVTYPER2,
7819    },{ .name = "SMMU_CB8_PMEVTYPER3",  .decode.addr = A_SMMU_CB8_PMEVTYPER3,
7820    },{ .name = "SMMU_CB8_PMCFGR",  .decode.addr = A_SMMU_CB8_PMCFGR,
7821        .reset = 0x11f03,
7822        .ro = 0xff09ffff,
7823    },{ .name = "SMMU_CB8_PMCR",  .decode.addr = A_SMMU_CB8_PMCR,
7824        .ro = 0xff000002,
7825    },{ .name = "SMMU_CB8_PMCEID",  .decode.addr = A_SMMU_CB8_PMCEID,
7826        .reset = 0x30303,
7827        .ro = 0x38383,
7828    },{ .name = "SMMU_CB8_PMCNTENSE",  .decode.addr = A_SMMU_CB8_PMCNTENSE,
7829    },{ .name = "SMMU_CB8_PMCNTENCLR",  .decode.addr = A_SMMU_CB8_PMCNTENCLR,
7830    },{ .name = "SMMU_CB8_PMCNTENSET",  .decode.addr = A_SMMU_CB8_PMCNTENSET,
7831    },{ .name = "SMMU_CB8_PMINTENCLR",  .decode.addr = A_SMMU_CB8_PMINTENCLR,
7832    },{ .name = "SMMU_CB8_PMOVSCLR",  .decode.addr = A_SMMU_CB8_PMOVSCLR,
7833    },{ .name = "SMMU_CB8_PMOVSSET",  .decode.addr = A_SMMU_CB8_PMOVSSET,
7834    },{ .name = "SMMU_CB8_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB8_PMAUTHSTATUS,
7835        .reset = 0x80,
7836        .ro = 0xff,
7837    },{ .name = "SMMU_CB9_SCTLR",  .decode.addr = A_SMMU_CB9_SCTLR,
7838        .reset = 0x100,
7839        .ro = 0x1000,
7840    },{ .name = "SMMU_CB9_ACTLR",  .decode.addr = A_SMMU_CB9_ACTLR,
7841        .reset = 0x3,
7842    },{ .name = "SMMU_CB9_RESUME",  .decode.addr = A_SMMU_CB9_RESUME,
7843    },{ .name = "SMMU_CB9_TCR2",  .decode.addr = A_SMMU_CB9_TCR2,
7844        .reset = 0x60,
7845        .ro = 0x60,
7846    },{ .name = "SMMU_CB9_TTBR0_LOW",  .decode.addr = A_SMMU_CB9_TTBR0_LOW,
7847        .ro = 0x4,
7848    },{ .name = "SMMU_CB9_TTBR0_HIGH",  .decode.addr = A_SMMU_CB9_TTBR0_HIGH,
7849    },{ .name = "SMMU_CB9_TTBR1_LOW",  .decode.addr = A_SMMU_CB9_TTBR1_LOW,
7850    },{ .name = "SMMU_CB9_TTBR1_HIGH",  .decode.addr = A_SMMU_CB9_TTBR1_HIGH,
7851    },{ .name = "SMMU_CB9_TCR_LPAE",  .decode.addr = A_SMMU_CB9_TCR_LPAE,
7852    },{ .name = "SMMU_CB9_CONTEXTIDR",  .decode.addr = A_SMMU_CB9_CONTEXTIDR,
7853    },{ .name = "SMMU_CB9_PRRR_MAIR0",  .decode.addr = A_SMMU_CB9_PRRR_MAIR0,
7854    },{ .name = "SMMU_CB9_NMRR_MAIR1",  .decode.addr = A_SMMU_CB9_NMRR_MAIR1,
7855    },{ .name = "SMMU_CB9_FSR",  .decode.addr = A_SMMU_CB9_FSR,
7856        .w1c = 0xffffffff,
7857        .post_write = smmu_fsr_pw,
7858    },{ .name = "SMMU_CB9_FSRRESTORE",  .decode.addr = A_SMMU_CB9_FSRRESTORE,
7859    },{ .name = "SMMU_CB9_FAR_LOW",  .decode.addr = A_SMMU_CB9_FAR_LOW,
7860    },{ .name = "SMMU_CB9_FAR_HIGH",  .decode.addr = A_SMMU_CB9_FAR_HIGH,
7861    },{ .name = "SMMU_CB9_FSYNR0",  .decode.addr = A_SMMU_CB9_FSYNR0,
7862        .ro = 0x200,
7863    },{ .name = "SMMU_CB9_IPAFAR_LOW",  .decode.addr = A_SMMU_CB9_IPAFAR_LOW,
7864        .ro = 0xfff,
7865    },{ .name = "SMMU_CB9_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB9_IPAFAR_HIGH,
7866    },{ .name = "SMMU_CB9_TLBIVA_LOW",  .decode.addr = A_SMMU_CB9_TLBIVA_LOW,
7867    },{ .name = "SMMU_CB9_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB9_TLBIVA_HIGH,
7868    },{ .name = "SMMU_CB9_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB9_TLBIVAA_LOW,
7869    },{ .name = "SMMU_CB9_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB9_TLBIVAA_HIGH,
7870    },{ .name = "SMMU_CB9_TLBIASID",  .decode.addr = A_SMMU_CB9_TLBIASID,
7871    },{ .name = "SMMU_CB9_TLBIALL",  .decode.addr = A_SMMU_CB9_TLBIALL,
7872    },{ .name = "SMMU_CB9_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB9_TLBIVAL_LOW,
7873    },{ .name = "SMMU_CB9_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB9_TLBIVAL_HIGH,
7874    },{ .name = "SMMU_CB9_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB9_TLBIVAAL_LOW,
7875    },{ .name = "SMMU_CB9_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB9_TLBIVAAL_HIGH,
7876    },{ .name = "SMMU_CB9_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB9_TLBIIPAS2_LOW,
7877    },{ .name = "SMMU_CB9_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB9_TLBIIPAS2_HIGH,
7878    },{ .name = "SMMU_CB9_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB9_TLBIIPAS2L_LOW,
7879    },{ .name = "SMMU_CB9_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB9_TLBIIPAS2L_HIGH,
7880    },{ .name = "SMMU_CB9_TLBSYNC",  .decode.addr = A_SMMU_CB9_TLBSYNC,
7881    },{ .name = "SMMU_CB9_TLBSTATUS",  .decode.addr = A_SMMU_CB9_TLBSTATUS,
7882        .ro = 0x1,
7883    },{ .name = "SMMU_CB9_PMEVCNTR0",  .decode.addr = A_SMMU_CB9_PMEVCNTR0,
7884    },{ .name = "SMMU_CB9_PMEVCNTR1",  .decode.addr = A_SMMU_CB9_PMEVCNTR1,
7885    },{ .name = "SMMU_CB9_PMEVCNTR2",  .decode.addr = A_SMMU_CB9_PMEVCNTR2,
7886    },{ .name = "SMMU_CB9_PMEVCNTR3",  .decode.addr = A_SMMU_CB9_PMEVCNTR3,
7887    },{ .name = "SMMU_CB9_PMEVTYPER0",  .decode.addr = A_SMMU_CB9_PMEVTYPER0,
7888    },{ .name = "SMMU_CB9_PMEVTYPER1",  .decode.addr = A_SMMU_CB9_PMEVTYPER1,
7889    },{ .name = "SMMU_CB9_PMEVTYPER2",  .decode.addr = A_SMMU_CB9_PMEVTYPER2,
7890    },{ .name = "SMMU_CB9_PMEVTYPER3",  .decode.addr = A_SMMU_CB9_PMEVTYPER3,
7891    },{ .name = "SMMU_CB9_PMCFGR",  .decode.addr = A_SMMU_CB9_PMCFGR,
7892        .reset = 0x11f03,
7893        .ro = 0xff09ffff,
7894    },{ .name = "SMMU_CB9_PMCR",  .decode.addr = A_SMMU_CB9_PMCR,
7895        .ro = 0xff000002,
7896    },{ .name = "SMMU_CB9_PMCEID",  .decode.addr = A_SMMU_CB9_PMCEID,
7897        .reset = 0x30303,
7898        .ro = 0x38383,
7899    },{ .name = "SMMU_CB9_PMCNTENSE",  .decode.addr = A_SMMU_CB9_PMCNTENSE,
7900    },{ .name = "SMMU_CB9_PMCNTENCLR",  .decode.addr = A_SMMU_CB9_PMCNTENCLR,
7901    },{ .name = "SMMU_CB9_PMCNTENSET",  .decode.addr = A_SMMU_CB9_PMCNTENSET,
7902    },{ .name = "SMMU_CB9_PMINTENCLR",  .decode.addr = A_SMMU_CB9_PMINTENCLR,
7903    },{ .name = "SMMU_CB9_PMOVSCLR",  .decode.addr = A_SMMU_CB9_PMOVSCLR,
7904    },{ .name = "SMMU_CB9_PMOVSSET",  .decode.addr = A_SMMU_CB9_PMOVSSET,
7905    },{ .name = "SMMU_CB9_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB9_PMAUTHSTATUS,
7906        .reset = 0x80,
7907        .ro = 0xff,
7908    },{ .name = "SMMU_CB10_SCTLR",  .decode.addr = A_SMMU_CB10_SCTLR,
7909        .reset = 0x100,
7910        .ro = 0x1000,
7911    },{ .name = "SMMU_CB10_ACTLR",  .decode.addr = A_SMMU_CB10_ACTLR,
7912        .reset = 0x3,
7913    },{ .name = "SMMU_CB10_RESUME",  .decode.addr = A_SMMU_CB10_RESUME,
7914    },{ .name = "SMMU_CB10_TCR2",  .decode.addr = A_SMMU_CB10_TCR2,
7915        .reset = 0x60,
7916        .ro = 0x60,
7917    },{ .name = "SMMU_CB10_TTBR0_LOW",  .decode.addr = A_SMMU_CB10_TTBR0_LOW,
7918        .ro = 0x4,
7919    },{ .name = "SMMU_CB10_TTBR0_HIGH",  .decode.addr = A_SMMU_CB10_TTBR0_HIGH,
7920    },{ .name = "SMMU_CB10_TTBR1_LOW",  .decode.addr = A_SMMU_CB10_TTBR1_LOW,
7921    },{ .name = "SMMU_CB10_TTBR1_HIGH",  .decode.addr = A_SMMU_CB10_TTBR1_HIGH,
7922    },{ .name = "SMMU_CB10_TCR_LPAE",  .decode.addr = A_SMMU_CB10_TCR_LPAE,
7923    },{ .name = "SMMU_CB10_CONTEXTIDR",  .decode.addr = A_SMMU_CB10_CONTEXTIDR,
7924    },{ .name = "SMMU_CB10_PRRR_MAIR0",  .decode.addr = A_SMMU_CB10_PRRR_MAIR0,
7925    },{ .name = "SMMU_CB10_NMRR_MAIR1",  .decode.addr = A_SMMU_CB10_NMRR_MAIR1,
7926    },{ .name = "SMMU_CB10_FSR",  .decode.addr = A_SMMU_CB10_FSR,
7927        .w1c = 0xffffffff,
7928        .post_write = smmu_fsr_pw,
7929    },{ .name = "SMMU_CB10_FSRRESTORE",  .decode.addr = A_SMMU_CB10_FSRRESTORE,
7930    },{ .name = "SMMU_CB10_FAR_LOW",  .decode.addr = A_SMMU_CB10_FAR_LOW,
7931    },{ .name = "SMMU_CB10_FAR_HIGH",  .decode.addr = A_SMMU_CB10_FAR_HIGH,
7932    },{ .name = "SMMU_CB10_FSYNR0",  .decode.addr = A_SMMU_CB10_FSYNR0,
7933        .ro = 0x200,
7934    },{ .name = "SMMU_CB10_IPAFAR_LOW",  .decode.addr = A_SMMU_CB10_IPAFAR_LOW,
7935        .ro = 0xfff,
7936    },{ .name = "SMMU_CB10_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB10_IPAFAR_HIGH,
7937    },{ .name = "SMMU_CB10_TLBIVA_LOW",  .decode.addr = A_SMMU_CB10_TLBIVA_LOW,
7938    },{ .name = "SMMU_CB10_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB10_TLBIVA_HIGH,
7939    },{ .name = "SMMU_CB10_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB10_TLBIVAA_LOW,
7940    },{ .name = "SMMU_CB10_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB10_TLBIVAA_HIGH,
7941    },{ .name = "SMMU_CB10_TLBIASID",  .decode.addr = A_SMMU_CB10_TLBIASID,
7942    },{ .name = "SMMU_CB10_TLBIALL",  .decode.addr = A_SMMU_CB10_TLBIALL,
7943    },{ .name = "SMMU_CB10_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB10_TLBIVAL_LOW,
7944    },{ .name = "SMMU_CB10_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB10_TLBIVAL_HIGH,
7945    },{ .name = "SMMU_CB10_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB10_TLBIVAAL_LOW,
7946    },{ .name = "SMMU_CB10_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB10_TLBIVAAL_HIGH,
7947    },{ .name = "SMMU_CB10_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB10_TLBIIPAS2_LOW,
7948    },{ .name = "SMMU_CB10_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB10_TLBIIPAS2_HIGH,
7949    },{ .name = "SMMU_CB10_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB10_TLBIIPAS2L_LOW,
7950    },{ .name = "SMMU_CB10_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB10_TLBIIPAS2L_HIGH,
7951    },{ .name = "SMMU_CB10_TLBSYNC",  .decode.addr = A_SMMU_CB10_TLBSYNC,
7952    },{ .name = "SMMU_CB10_TLBSTATUS",  .decode.addr = A_SMMU_CB10_TLBSTATUS,
7953        .ro = 0x1,
7954    },{ .name = "SMMU_CB10_PMEVCNTR0",  .decode.addr = A_SMMU_CB10_PMEVCNTR0,
7955    },{ .name = "SMMU_CB10_PMEVCNTR1",  .decode.addr = A_SMMU_CB10_PMEVCNTR1,
7956    },{ .name = "SMMU_CB10_PMEVCNTR2",  .decode.addr = A_SMMU_CB10_PMEVCNTR2,
7957    },{ .name = "SMMU_CB10_PMEVCNTR3",  .decode.addr = A_SMMU_CB10_PMEVCNTR3,
7958    },{ .name = "SMMU_CB10_PMEVTYPER0",  .decode.addr = A_SMMU_CB10_PMEVTYPER0,
7959    },{ .name = "SMMU_CB10_PMEVTYPER1",  .decode.addr = A_SMMU_CB10_PMEVTYPER1,
7960    },{ .name = "SMMU_CB10_PMEVTYPER2",  .decode.addr = A_SMMU_CB10_PMEVTYPER2,
7961    },{ .name = "SMMU_CB10_PMEVTYPER3",  .decode.addr = A_SMMU_CB10_PMEVTYPER3,
7962    },{ .name = "SMMU_CB10_PMCFGR",  .decode.addr = A_SMMU_CB10_PMCFGR,
7963        .reset = 0x11f03,
7964        .ro = 0xff09ffff,
7965    },{ .name = "SMMU_CB10_PMCR",  .decode.addr = A_SMMU_CB10_PMCR,
7966        .ro = 0xff000002,
7967    },{ .name = "SMMU_CB10_PMCEID",  .decode.addr = A_SMMU_CB10_PMCEID,
7968        .reset = 0x30303,
7969        .ro = 0x38383,
7970    },{ .name = "SMMU_CB10_PMCNTENSE",  .decode.addr = A_SMMU_CB10_PMCNTENSE,
7971    },{ .name = "SMMU_CB10_PMCNTENCLR",  .decode.addr = A_SMMU_CB10_PMCNTENCLR,
7972    },{ .name = "SMMU_CB10_PMCNTENSET",  .decode.addr = A_SMMU_CB10_PMCNTENSET,
7973    },{ .name = "SMMU_CB10_PMINTENCLR",  .decode.addr = A_SMMU_CB10_PMINTENCLR,
7974    },{ .name = "SMMU_CB10_PMOVSCLR",  .decode.addr = A_SMMU_CB10_PMOVSCLR,
7975    },{ .name = "SMMU_CB10_PMOVSSET",  .decode.addr = A_SMMU_CB10_PMOVSSET,
7976    },{ .name = "SMMU_CB10_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB10_PMAUTHSTATUS,
7977        .reset = 0x80,
7978        .ro = 0xff,
7979    },{ .name = "SMMU_CB11_SCTLR",  .decode.addr = A_SMMU_CB11_SCTLR,
7980        .reset = 0x100,
7981        .ro = 0x1000,
7982    },{ .name = "SMMU_CB11_ACTLR",  .decode.addr = A_SMMU_CB11_ACTLR,
7983        .reset = 0x3,
7984    },{ .name = "SMMU_CB11_RESUME",  .decode.addr = A_SMMU_CB11_RESUME,
7985    },{ .name = "SMMU_CB11_TCR2",  .decode.addr = A_SMMU_CB11_TCR2,
7986        .reset = 0x60,
7987        .ro = 0x60,
7988    },{ .name = "SMMU_CB11_TTBR0_LOW",  .decode.addr = A_SMMU_CB11_TTBR0_LOW,
7989        .ro = 0x4,
7990    },{ .name = "SMMU_CB11_TTBR0_HIGH",  .decode.addr = A_SMMU_CB11_TTBR0_HIGH,
7991    },{ .name = "SMMU_CB11_TTBR1_LOW",  .decode.addr = A_SMMU_CB11_TTBR1_LOW,
7992    },{ .name = "SMMU_CB11_TTBR1_HIGH",  .decode.addr = A_SMMU_CB11_TTBR1_HIGH,
7993    },{ .name = "SMMU_CB11_TCR_LPAE",  .decode.addr = A_SMMU_CB11_TCR_LPAE,
7994    },{ .name = "SMMU_CB11_CONTEXTIDR",  .decode.addr = A_SMMU_CB11_CONTEXTIDR,
7995    },{ .name = "SMMU_CB11_PRRR_MAIR0",  .decode.addr = A_SMMU_CB11_PRRR_MAIR0,
7996    },{ .name = "SMMU_CB11_NMRR_MAIR1",  .decode.addr = A_SMMU_CB11_NMRR_MAIR1,
7997    },{ .name = "SMMU_CB11_FSR",  .decode.addr = A_SMMU_CB11_FSR,
7998        .w1c = 0xffffffff,
7999        .post_write = smmu_fsr_pw,
8000    },{ .name = "SMMU_CB11_FSRRESTORE",  .decode.addr = A_SMMU_CB11_FSRRESTORE,
8001    },{ .name = "SMMU_CB11_FAR_LOW",  .decode.addr = A_SMMU_CB11_FAR_LOW,
8002    },{ .name = "SMMU_CB11_FAR_HIGH",  .decode.addr = A_SMMU_CB11_FAR_HIGH,
8003    },{ .name = "SMMU_CB11_FSYNR0",  .decode.addr = A_SMMU_CB11_FSYNR0,
8004        .ro = 0x200,
8005    },{ .name = "SMMU_CB11_IPAFAR_LOW",  .decode.addr = A_SMMU_CB11_IPAFAR_LOW,
8006        .ro = 0xfff,
8007    },{ .name = "SMMU_CB11_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB11_IPAFAR_HIGH,
8008    },{ .name = "SMMU_CB11_TLBIVA_LOW",  .decode.addr = A_SMMU_CB11_TLBIVA_LOW,
8009    },{ .name = "SMMU_CB11_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB11_TLBIVA_HIGH,
8010    },{ .name = "SMMU_CB11_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB11_TLBIVAA_LOW,
8011    },{ .name = "SMMU_CB11_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB11_TLBIVAA_HIGH,
8012    },{ .name = "SMMU_CB11_TLBIASID",  .decode.addr = A_SMMU_CB11_TLBIASID,
8013    },{ .name = "SMMU_CB11_TLBIALL",  .decode.addr = A_SMMU_CB11_TLBIALL,
8014    },{ .name = "SMMU_CB11_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB11_TLBIVAL_LOW,
8015    },{ .name = "SMMU_CB11_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB11_TLBIVAL_HIGH,
8016    },{ .name = "SMMU_CB11_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB11_TLBIVAAL_LOW,
8017    },{ .name = "SMMU_CB11_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB11_TLBIVAAL_HIGH,
8018    },{ .name = "SMMU_CB11_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB11_TLBIIPAS2_LOW,
8019    },{ .name = "SMMU_CB11_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB11_TLBIIPAS2_HIGH,
8020    },{ .name = "SMMU_CB11_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB11_TLBIIPAS2L_LOW,
8021    },{ .name = "SMMU_CB11_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB11_TLBIIPAS2L_HIGH,
8022    },{ .name = "SMMU_CB11_TLBSYNC",  .decode.addr = A_SMMU_CB11_TLBSYNC,
8023    },{ .name = "SMMU_CB11_TLBSTATUS",  .decode.addr = A_SMMU_CB11_TLBSTATUS,
8024        .ro = 0x1,
8025    },{ .name = "SMMU_CB11_PMEVCNTR0",  .decode.addr = A_SMMU_CB11_PMEVCNTR0,
8026    },{ .name = "SMMU_CB11_PMEVCNTR1",  .decode.addr = A_SMMU_CB11_PMEVCNTR1,
8027    },{ .name = "SMMU_CB11_PMEVCNTR2",  .decode.addr = A_SMMU_CB11_PMEVCNTR2,
8028    },{ .name = "SMMU_CB11_PMEVCNTR3",  .decode.addr = A_SMMU_CB11_PMEVCNTR3,
8029    },{ .name = "SMMU_CB11_PMEVTYPER0",  .decode.addr = A_SMMU_CB11_PMEVTYPER0,
8030    },{ .name = "SMMU_CB11_PMEVTYPER1",  .decode.addr = A_SMMU_CB11_PMEVTYPER1,
8031    },{ .name = "SMMU_CB11_PMEVTYPER2",  .decode.addr = A_SMMU_CB11_PMEVTYPER2,
8032    },{ .name = "SMMU_CB11_PMEVTYPER3",  .decode.addr = A_SMMU_CB11_PMEVTYPER3,
8033    },{ .name = "SMMU_CB11_PMCFGR",  .decode.addr = A_SMMU_CB11_PMCFGR,
8034        .reset = 0x11f03,
8035        .ro = 0xff09ffff,
8036    },{ .name = "SMMU_CB11_PMCR",  .decode.addr = A_SMMU_CB11_PMCR,
8037        .ro = 0xff000002,
8038    },{ .name = "SMMU_CB11_PMCEID",  .decode.addr = A_SMMU_CB11_PMCEID,
8039        .reset = 0x30303,
8040        .ro = 0x38383,
8041    },{ .name = "SMMU_CB11_PMCNTENSE",  .decode.addr = A_SMMU_CB11_PMCNTENSE,
8042    },{ .name = "SMMU_CB11_PMCNTENCLR",  .decode.addr = A_SMMU_CB11_PMCNTENCLR,
8043    },{ .name = "SMMU_CB11_PMCNTENSET",  .decode.addr = A_SMMU_CB11_PMCNTENSET,
8044    },{ .name = "SMMU_CB11_PMINTENCLR",  .decode.addr = A_SMMU_CB11_PMINTENCLR,
8045    },{ .name = "SMMU_CB11_PMOVSCLR",  .decode.addr = A_SMMU_CB11_PMOVSCLR,
8046    },{ .name = "SMMU_CB11_PMOVSSET",  .decode.addr = A_SMMU_CB11_PMOVSSET,
8047    },{ .name = "SMMU_CB11_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB11_PMAUTHSTATUS,
8048        .reset = 0x80,
8049        .ro = 0xff,
8050    },{ .name = "SMMU_CB12_SCTLR",  .decode.addr = A_SMMU_CB12_SCTLR,
8051        .reset = 0x100,
8052        .ro = 0x1000,
8053    },{ .name = "SMMU_CB12_ACTLR",  .decode.addr = A_SMMU_CB12_ACTLR,
8054        .reset = 0x3,
8055    },{ .name = "SMMU_CB12_RESUME",  .decode.addr = A_SMMU_CB12_RESUME,
8056    },{ .name = "SMMU_CB12_TCR2",  .decode.addr = A_SMMU_CB12_TCR2,
8057        .reset = 0x60,
8058        .ro = 0x60,
8059    },{ .name = "SMMU_CB12_TTBR0_LOW",  .decode.addr = A_SMMU_CB12_TTBR0_LOW,
8060        .ro = 0x4,
8061    },{ .name = "SMMU_CB12_TTBR0_HIGH",  .decode.addr = A_SMMU_CB12_TTBR0_HIGH,
8062    },{ .name = "SMMU_CB12_TTBR1_LOW",  .decode.addr = A_SMMU_CB12_TTBR1_LOW,
8063    },{ .name = "SMMU_CB12_TTBR1_HIGH",  .decode.addr = A_SMMU_CB12_TTBR1_HIGH,
8064    },{ .name = "SMMU_CB12_TCR_LPAE",  .decode.addr = A_SMMU_CB12_TCR_LPAE,
8065    },{ .name = "SMMU_CB12_CONTEXTIDR",  .decode.addr = A_SMMU_CB12_CONTEXTIDR,
8066    },{ .name = "SMMU_CB12_PRRR_MAIR0",  .decode.addr = A_SMMU_CB12_PRRR_MAIR0,
8067    },{ .name = "SMMU_CB12_NMRR_MAIR1",  .decode.addr = A_SMMU_CB12_NMRR_MAIR1,
8068    },{ .name = "SMMU_CB12_FSR",  .decode.addr = A_SMMU_CB12_FSR,
8069        .w1c = 0xffffffff,
8070        .post_write = smmu_fsr_pw,
8071    },{ .name = "SMMU_CB12_FSRRESTORE",  .decode.addr = A_SMMU_CB12_FSRRESTORE,
8072    },{ .name = "SMMU_CB12_FAR_LOW",  .decode.addr = A_SMMU_CB12_FAR_LOW,
8073    },{ .name = "SMMU_CB12_FAR_HIGH",  .decode.addr = A_SMMU_CB12_FAR_HIGH,
8074    },{ .name = "SMMU_CB12_FSYNR0",  .decode.addr = A_SMMU_CB12_FSYNR0,
8075        .ro = 0x200,
8076    },{ .name = "SMMU_CB12_IPAFAR_LOW",  .decode.addr = A_SMMU_CB12_IPAFAR_LOW,
8077        .ro = 0xfff,
8078    },{ .name = "SMMU_CB12_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB12_IPAFAR_HIGH,
8079    },{ .name = "SMMU_CB12_TLBIVA_LOW",  .decode.addr = A_SMMU_CB12_TLBIVA_LOW,
8080    },{ .name = "SMMU_CB12_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB12_TLBIVA_HIGH,
8081    },{ .name = "SMMU_CB12_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB12_TLBIVAA_LOW,
8082    },{ .name = "SMMU_CB12_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB12_TLBIVAA_HIGH,
8083    },{ .name = "SMMU_CB12_TLBIASID",  .decode.addr = A_SMMU_CB12_TLBIASID,
8084    },{ .name = "SMMU_CB12_TLBIALL",  .decode.addr = A_SMMU_CB12_TLBIALL,
8085    },{ .name = "SMMU_CB12_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB12_TLBIVAL_LOW,
8086    },{ .name = "SMMU_CB12_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB12_TLBIVAL_HIGH,
8087    },{ .name = "SMMU_CB12_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB12_TLBIVAAL_LOW,
8088    },{ .name = "SMMU_CB12_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB12_TLBIVAAL_HIGH,
8089    },{ .name = "SMMU_CB12_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB12_TLBIIPAS2_LOW,
8090    },{ .name = "SMMU_CB12_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB12_TLBIIPAS2_HIGH,
8091    },{ .name = "SMMU_CB12_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB12_TLBIIPAS2L_LOW,
8092    },{ .name = "SMMU_CB12_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB12_TLBIIPAS2L_HIGH,
8093    },{ .name = "SMMU_CB12_TLBSYNC",  .decode.addr = A_SMMU_CB12_TLBSYNC,
8094    },{ .name = "SMMU_CB12_TLBSTATUS",  .decode.addr = A_SMMU_CB12_TLBSTATUS,
8095        .ro = 0x1,
8096    },{ .name = "SMMU_CB12_PMEVCNTR0",  .decode.addr = A_SMMU_CB12_PMEVCNTR0,
8097    },{ .name = "SMMU_CB12_PMEVCNTR1",  .decode.addr = A_SMMU_CB12_PMEVCNTR1,
8098    },{ .name = "SMMU_CB12_PMEVCNTR2",  .decode.addr = A_SMMU_CB12_PMEVCNTR2,
8099    },{ .name = "SMMU_CB12_PMEVCNTR3",  .decode.addr = A_SMMU_CB12_PMEVCNTR3,
8100    },{ .name = "SMMU_CB12_PMEVTYPER0",  .decode.addr = A_SMMU_CB12_PMEVTYPER0,
8101    },{ .name = "SMMU_CB12_PMEVTYPER1",  .decode.addr = A_SMMU_CB12_PMEVTYPER1,
8102    },{ .name = "SMMU_CB12_PMEVTYPER2",  .decode.addr = A_SMMU_CB12_PMEVTYPER2,
8103    },{ .name = "SMMU_CB12_PMEVTYPER3",  .decode.addr = A_SMMU_CB12_PMEVTYPER3,
8104    },{ .name = "SMMU_CB12_PMCFGR",  .decode.addr = A_SMMU_CB12_PMCFGR,
8105        .reset = 0x11f03,
8106        .ro = 0xff09ffff,
8107    },{ .name = "SMMU_CB12_PMCR",  .decode.addr = A_SMMU_CB12_PMCR,
8108        .ro = 0xff000002,
8109    },{ .name = "SMMU_CB12_PMCEID",  .decode.addr = A_SMMU_CB12_PMCEID,
8110        .reset = 0x30303,
8111        .ro = 0x38383,
8112    },{ .name = "SMMU_CB12_PMCNTENSE",  .decode.addr = A_SMMU_CB12_PMCNTENSE,
8113    },{ .name = "SMMU_CB12_PMCNTENCLR",  .decode.addr = A_SMMU_CB12_PMCNTENCLR,
8114    },{ .name = "SMMU_CB12_PMCNTENSET",  .decode.addr = A_SMMU_CB12_PMCNTENSET,
8115    },{ .name = "SMMU_CB12_PMINTENCLR",  .decode.addr = A_SMMU_CB12_PMINTENCLR,
8116    },{ .name = "SMMU_CB12_PMOVSCLR",  .decode.addr = A_SMMU_CB12_PMOVSCLR,
8117    },{ .name = "SMMU_CB12_PMOVSSET",  .decode.addr = A_SMMU_CB12_PMOVSSET,
8118    },{ .name = "SMMU_CB12_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB12_PMAUTHSTATUS,
8119        .reset = 0x80,
8120        .ro = 0xff,
8121    },{ .name = "SMMU_CB13_SCTLR",  .decode.addr = A_SMMU_CB13_SCTLR,
8122        .reset = 0x100,
8123        .ro = 0x1000,
8124    },{ .name = "SMMU_CB13_ACTLR",  .decode.addr = A_SMMU_CB13_ACTLR,
8125        .reset = 0x3,
8126    },{ .name = "SMMU_CB13_RESUME",  .decode.addr = A_SMMU_CB13_RESUME,
8127    },{ .name = "SMMU_CB13_TCR2",  .decode.addr = A_SMMU_CB13_TCR2,
8128        .reset = 0x60,
8129        .ro = 0x60,
8130    },{ .name = "SMMU_CB13_TTBR0_LOW",  .decode.addr = A_SMMU_CB13_TTBR0_LOW,
8131        .ro = 0x4,
8132    },{ .name = "SMMU_CB13_TTBR0_HIGH",  .decode.addr = A_SMMU_CB13_TTBR0_HIGH,
8133    },{ .name = "SMMU_CB13_TTBR1_LOW",  .decode.addr = A_SMMU_CB13_TTBR1_LOW,
8134    },{ .name = "SMMU_CB13_TTBR1_HIGH",  .decode.addr = A_SMMU_CB13_TTBR1_HIGH,
8135    },{ .name = "SMMU_CB13_TCR_LPAE",  .decode.addr = A_SMMU_CB13_TCR_LPAE,
8136    },{ .name = "SMMU_CB13_CONTEXTIDR",  .decode.addr = A_SMMU_CB13_CONTEXTIDR,
8137    },{ .name = "SMMU_CB13_PRRR_MAIR0",  .decode.addr = A_SMMU_CB13_PRRR_MAIR0,
8138    },{ .name = "SMMU_CB13_NMRR_MAIR1",  .decode.addr = A_SMMU_CB13_NMRR_MAIR1,
8139    },{ .name = "SMMU_CB13_FSR",  .decode.addr = A_SMMU_CB13_FSR,
8140        .w1c = 0xffffffff,
8141        .post_write = smmu_fsr_pw,
8142    },{ .name = "SMMU_CB13_FSRRESTORE",  .decode.addr = A_SMMU_CB13_FSRRESTORE,
8143    },{ .name = "SMMU_CB13_FAR_LOW",  .decode.addr = A_SMMU_CB13_FAR_LOW,
8144    },{ .name = "SMMU_CB13_FAR_HIGH",  .decode.addr = A_SMMU_CB13_FAR_HIGH,
8145    },{ .name = "SMMU_CB13_FSYNR0",  .decode.addr = A_SMMU_CB13_FSYNR0,
8146        .ro = 0x200,
8147    },{ .name = "SMMU_CB13_IPAFAR_LOW",  .decode.addr = A_SMMU_CB13_IPAFAR_LOW,
8148        .ro = 0xfff,
8149    },{ .name = "SMMU_CB13_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB13_IPAFAR_HIGH,
8150    },{ .name = "SMMU_CB13_TLBIVA_LOW",  .decode.addr = A_SMMU_CB13_TLBIVA_LOW,
8151    },{ .name = "SMMU_CB13_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB13_TLBIVA_HIGH,
8152    },{ .name = "SMMU_CB13_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB13_TLBIVAA_LOW,
8153    },{ .name = "SMMU_CB13_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB13_TLBIVAA_HIGH,
8154    },{ .name = "SMMU_CB13_TLBIASID",  .decode.addr = A_SMMU_CB13_TLBIASID,
8155    },{ .name = "SMMU_CB13_TLBIALL",  .decode.addr = A_SMMU_CB13_TLBIALL,
8156    },{ .name = "SMMU_CB13_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB13_TLBIVAL_LOW,
8157    },{ .name = "SMMU_CB13_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB13_TLBIVAL_HIGH,
8158    },{ .name = "SMMU_CB13_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB13_TLBIVAAL_LOW,
8159    },{ .name = "SMMU_CB13_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB13_TLBIVAAL_HIGH,
8160    },{ .name = "SMMU_CB13_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB13_TLBIIPAS2_LOW,
8161    },{ .name = "SMMU_CB13_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB13_TLBIIPAS2_HIGH,
8162    },{ .name = "SMMU_CB13_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB13_TLBIIPAS2L_LOW,
8163    },{ .name = "SMMU_CB13_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB13_TLBIIPAS2L_HIGH,
8164    },{ .name = "SMMU_CB13_TLBSYNC",  .decode.addr = A_SMMU_CB13_TLBSYNC,
8165    },{ .name = "SMMU_CB13_TLBSTATUS",  .decode.addr = A_SMMU_CB13_TLBSTATUS,
8166        .ro = 0x1,
8167    },{ .name = "SMMU_CB13_PMEVCNTR0",  .decode.addr = A_SMMU_CB13_PMEVCNTR0,
8168    },{ .name = "SMMU_CB13_PMEVCNTR1",  .decode.addr = A_SMMU_CB13_PMEVCNTR1,
8169    },{ .name = "SMMU_CB13_PMEVCNTR2",  .decode.addr = A_SMMU_CB13_PMEVCNTR2,
8170    },{ .name = "SMMU_CB13_PMEVCNTR3",  .decode.addr = A_SMMU_CB13_PMEVCNTR3,
8171    },{ .name = "SMMU_CB13_PMEVTYPER0",  .decode.addr = A_SMMU_CB13_PMEVTYPER0,
8172    },{ .name = "SMMU_CB13_PMEVTYPER1",  .decode.addr = A_SMMU_CB13_PMEVTYPER1,
8173    },{ .name = "SMMU_CB13_PMEVTYPER2",  .decode.addr = A_SMMU_CB13_PMEVTYPER2,
8174    },{ .name = "SMMU_CB13_PMEVTYPER3",  .decode.addr = A_SMMU_CB13_PMEVTYPER3,
8175    },{ .name = "SMMU_CB13_PMCFGR",  .decode.addr = A_SMMU_CB13_PMCFGR,
8176        .reset = 0x11f03,
8177        .ro = 0xff09ffff,
8178    },{ .name = "SMMU_CB13_PMCR",  .decode.addr = A_SMMU_CB13_PMCR,
8179        .ro = 0xff000002,
8180    },{ .name = "SMMU_CB13_PMCEID",  .decode.addr = A_SMMU_CB13_PMCEID,
8181        .reset = 0x30303,
8182        .ro = 0x38383,
8183    },{ .name = "SMMU_CB13_PMCNTENSE",  .decode.addr = A_SMMU_CB13_PMCNTENSE,
8184    },{ .name = "SMMU_CB13_PMCNTENCLR",  .decode.addr = A_SMMU_CB13_PMCNTENCLR,
8185    },{ .name = "SMMU_CB13_PMCNTENSET",  .decode.addr = A_SMMU_CB13_PMCNTENSET,
8186    },{ .name = "SMMU_CB13_PMINTENCLR",  .decode.addr = A_SMMU_CB13_PMINTENCLR,
8187    },{ .name = "SMMU_CB13_PMOVSCLR",  .decode.addr = A_SMMU_CB13_PMOVSCLR,
8188    },{ .name = "SMMU_CB13_PMOVSSET",  .decode.addr = A_SMMU_CB13_PMOVSSET,
8189    },{ .name = "SMMU_CB13_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB13_PMAUTHSTATUS,
8190        .reset = 0x80,
8191        .ro = 0xff,
8192    },{ .name = "SMMU_CB14_SCTLR",  .decode.addr = A_SMMU_CB14_SCTLR,
8193        .reset = 0x100,
8194        .ro = 0x1000,
8195    },{ .name = "SMMU_CB14_ACTLR",  .decode.addr = A_SMMU_CB14_ACTLR,
8196        .reset = 0x3,
8197    },{ .name = "SMMU_CB14_RESUME",  .decode.addr = A_SMMU_CB14_RESUME,
8198    },{ .name = "SMMU_CB14_TCR2",  .decode.addr = A_SMMU_CB14_TCR2,
8199        .reset = 0x60,
8200        .ro = 0x60,
8201    },{ .name = "SMMU_CB14_TTBR0_LOW",  .decode.addr = A_SMMU_CB14_TTBR0_LOW,
8202        .ro = 0x4,
8203    },{ .name = "SMMU_CB14_TTBR0_HIGH",  .decode.addr = A_SMMU_CB14_TTBR0_HIGH,
8204    },{ .name = "SMMU_CB14_TTBR1_LOW",  .decode.addr = A_SMMU_CB14_TTBR1_LOW,
8205    },{ .name = "SMMU_CB14_TTBR1_HIGH",  .decode.addr = A_SMMU_CB14_TTBR1_HIGH,
8206    },{ .name = "SMMU_CB14_TCR_LPAE",  .decode.addr = A_SMMU_CB14_TCR_LPAE,
8207    },{ .name = "SMMU_CB14_CONTEXTIDR",  .decode.addr = A_SMMU_CB14_CONTEXTIDR,
8208    },{ .name = "SMMU_CB14_PRRR_MAIR0",  .decode.addr = A_SMMU_CB14_PRRR_MAIR0,
8209    },{ .name = "SMMU_CB14_NMRR_MAIR1",  .decode.addr = A_SMMU_CB14_NMRR_MAIR1,
8210    },{ .name = "SMMU_CB14_FSR",  .decode.addr = A_SMMU_CB14_FSR,
8211        .w1c = 0xffffffff,
8212        .post_write = smmu_fsr_pw,
8213    },{ .name = "SMMU_CB14_FSRRESTORE",  .decode.addr = A_SMMU_CB14_FSRRESTORE,
8214    },{ .name = "SMMU_CB14_FAR_LOW",  .decode.addr = A_SMMU_CB14_FAR_LOW,
8215    },{ .name = "SMMU_CB14_FAR_HIGH",  .decode.addr = A_SMMU_CB14_FAR_HIGH,
8216    },{ .name = "SMMU_CB14_FSYNR0",  .decode.addr = A_SMMU_CB14_FSYNR0,
8217        .ro = 0x200,
8218    },{ .name = "SMMU_CB14_IPAFAR_LOW",  .decode.addr = A_SMMU_CB14_IPAFAR_LOW,
8219        .ro = 0xfff,
8220    },{ .name = "SMMU_CB14_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB14_IPAFAR_HIGH,
8221    },{ .name = "SMMU_CB14_TLBIVA_LOW",  .decode.addr = A_SMMU_CB14_TLBIVA_LOW,
8222    },{ .name = "SMMU_CB14_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB14_TLBIVA_HIGH,
8223    },{ .name = "SMMU_CB14_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB14_TLBIVAA_LOW,
8224    },{ .name = "SMMU_CB14_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB14_TLBIVAA_HIGH,
8225    },{ .name = "SMMU_CB14_TLBIASID",  .decode.addr = A_SMMU_CB14_TLBIASID,
8226    },{ .name = "SMMU_CB14_TLBIALL",  .decode.addr = A_SMMU_CB14_TLBIALL,
8227    },{ .name = "SMMU_CB14_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB14_TLBIVAL_LOW,
8228    },{ .name = "SMMU_CB14_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB14_TLBIVAL_HIGH,
8229    },{ .name = "SMMU_CB14_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB14_TLBIVAAL_LOW,
8230    },{ .name = "SMMU_CB14_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB14_TLBIVAAL_HIGH,
8231    },{ .name = "SMMU_CB14_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB14_TLBIIPAS2_LOW,
8232    },{ .name = "SMMU_CB14_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB14_TLBIIPAS2_HIGH,
8233    },{ .name = "SMMU_CB14_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB14_TLBIIPAS2L_LOW,
8234    },{ .name = "SMMU_CB14_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB14_TLBIIPAS2L_HIGH,
8235    },{ .name = "SMMU_CB14_TLBSYNC",  .decode.addr = A_SMMU_CB14_TLBSYNC,
8236    },{ .name = "SMMU_CB14_TLBSTATUS",  .decode.addr = A_SMMU_CB14_TLBSTATUS,
8237        .ro = 0x1,
8238    },{ .name = "SMMU_CB14_PMEVCNTR0",  .decode.addr = A_SMMU_CB14_PMEVCNTR0,
8239    },{ .name = "SMMU_CB14_PMEVCNTR1",  .decode.addr = A_SMMU_CB14_PMEVCNTR1,
8240    },{ .name = "SMMU_CB14_PMEVCNTR2",  .decode.addr = A_SMMU_CB14_PMEVCNTR2,
8241    },{ .name = "SMMU_CB14_PMEVCNTR3",  .decode.addr = A_SMMU_CB14_PMEVCNTR3,
8242    },{ .name = "SMMU_CB14_PMEVTYPER0",  .decode.addr = A_SMMU_CB14_PMEVTYPER0,
8243    },{ .name = "SMMU_CB14_PMEVTYPER1",  .decode.addr = A_SMMU_CB14_PMEVTYPER1,
8244    },{ .name = "SMMU_CB14_PMEVTYPER2",  .decode.addr = A_SMMU_CB14_PMEVTYPER2,
8245    },{ .name = "SMMU_CB14_PMEVTYPER3",  .decode.addr = A_SMMU_CB14_PMEVTYPER3,
8246    },{ .name = "SMMU_CB14_PMCFGR",  .decode.addr = A_SMMU_CB14_PMCFGR,
8247        .reset = 0x11f03,
8248        .ro = 0xff09ffff,
8249    },{ .name = "SMMU_CB14_PMCR",  .decode.addr = A_SMMU_CB14_PMCR,
8250        .ro = 0xff000002,
8251    },{ .name = "SMMU_CB14_PMCEID",  .decode.addr = A_SMMU_CB14_PMCEID,
8252        .reset = 0x30303,
8253        .ro = 0x38383,
8254    },{ .name = "SMMU_CB14_PMCNTENSE",  .decode.addr = A_SMMU_CB14_PMCNTENSE,
8255    },{ .name = "SMMU_CB14_PMCNTENCLR",  .decode.addr = A_SMMU_CB14_PMCNTENCLR,
8256    },{ .name = "SMMU_CB14_PMCNTENSET",  .decode.addr = A_SMMU_CB14_PMCNTENSET,
8257    },{ .name = "SMMU_CB14_PMINTENCLR",  .decode.addr = A_SMMU_CB14_PMINTENCLR,
8258    },{ .name = "SMMU_CB14_PMOVSCLR",  .decode.addr = A_SMMU_CB14_PMOVSCLR,
8259    },{ .name = "SMMU_CB14_PMOVSSET",  .decode.addr = A_SMMU_CB14_PMOVSSET,
8260    },{ .name = "SMMU_CB14_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB14_PMAUTHSTATUS,
8261        .reset = 0x80,
8262        .ro = 0xff,
8263    },{ .name = "SMMU_CB15_SCTLR",  .decode.addr = A_SMMU_CB15_SCTLR,
8264        .reset = 0x100,
8265        .ro = 0x1000,
8266    },{ .name = "SMMU_CB15_ACTLR",  .decode.addr = A_SMMU_CB15_ACTLR,
8267        .reset = 0x3,
8268    },{ .name = "SMMU_CB15_RESUME",  .decode.addr = A_SMMU_CB15_RESUME,
8269    },{ .name = "SMMU_CB15_TCR2",  .decode.addr = A_SMMU_CB15_TCR2,
8270        .reset = 0x60,
8271        .ro = 0x60,
8272    },{ .name = "SMMU_CB15_TTBR0_LOW",  .decode.addr = A_SMMU_CB15_TTBR0_LOW,
8273        .ro = 0x4,
8274    },{ .name = "SMMU_CB15_TTBR0_HIGH",  .decode.addr = A_SMMU_CB15_TTBR0_HIGH,
8275    },{ .name = "SMMU_CB15_TTBR1_LOW",  .decode.addr = A_SMMU_CB15_TTBR1_LOW,
8276    },{ .name = "SMMU_CB15_TTBR1_HIGH",  .decode.addr = A_SMMU_CB15_TTBR1_HIGH,
8277    },{ .name = "SMMU_CB15_TCR_LPAE",  .decode.addr = A_SMMU_CB15_TCR_LPAE,
8278    },{ .name = "SMMU_CB15_CONTEXTIDR",  .decode.addr = A_SMMU_CB15_CONTEXTIDR,
8279    },{ .name = "SMMU_CB15_PRRR_MAIR0",  .decode.addr = A_SMMU_CB15_PRRR_MAIR0,
8280    },{ .name = "SMMU_CB15_NMRR_MAIR1",  .decode.addr = A_SMMU_CB15_NMRR_MAIR1,
8281    },{ .name = "SMMU_CB15_FSR",  .decode.addr = A_SMMU_CB15_FSR,
8282        .w1c = 0xffffffff,
8283        .post_write = smmu_fsr_pw,
8284    },{ .name = "SMMU_CB15_FSRRESTORE",  .decode.addr = A_SMMU_CB15_FSRRESTORE,
8285    },{ .name = "SMMU_CB15_FAR_LOW",  .decode.addr = A_SMMU_CB15_FAR_LOW,
8286    },{ .name = "SMMU_CB15_FAR_HIGH",  .decode.addr = A_SMMU_CB15_FAR_HIGH,
8287    },{ .name = "SMMU_CB15_FSYNR0",  .decode.addr = A_SMMU_CB15_FSYNR0,
8288        .ro = 0x200,
8289    },{ .name = "SMMU_CB15_IPAFAR_LOW",  .decode.addr = A_SMMU_CB15_IPAFAR_LOW,
8290        .ro = 0xfff,
8291    },{ .name = "SMMU_CB15_IPAFAR_HIGH",  .decode.addr = A_SMMU_CB15_IPAFAR_HIGH,
8292    },{ .name = "SMMU_CB15_TLBIVA_LOW",  .decode.addr = A_SMMU_CB15_TLBIVA_LOW,
8293    },{ .name = "SMMU_CB15_TLBIVA_HIGH",  .decode.addr = A_SMMU_CB15_TLBIVA_HIGH,
8294    },{ .name = "SMMU_CB15_TLBIVAA_LOW",  .decode.addr = A_SMMU_CB15_TLBIVAA_LOW,
8295    },{ .name = "SMMU_CB15_TLBIVAA_HIGH",  .decode.addr = A_SMMU_CB15_TLBIVAA_HIGH,
8296    },{ .name = "SMMU_CB15_TLBIASID",  .decode.addr = A_SMMU_CB15_TLBIASID,
8297    },{ .name = "SMMU_CB15_TLBIALL",  .decode.addr = A_SMMU_CB15_TLBIALL,
8298    },{ .name = "SMMU_CB15_TLBIVAL_LOW",  .decode.addr = A_SMMU_CB15_TLBIVAL_LOW,
8299    },{ .name = "SMMU_CB15_TLBIVAL_HIGH",  .decode.addr = A_SMMU_CB15_TLBIVAL_HIGH,
8300    },{ .name = "SMMU_CB15_TLBIVAAL_LOW",  .decode.addr = A_SMMU_CB15_TLBIVAAL_LOW,
8301    },{ .name = "SMMU_CB15_TLBIVAAL_HIGH",  .decode.addr = A_SMMU_CB15_TLBIVAAL_HIGH,
8302    },{ .name = "SMMU_CB15_TLBIIPAS2_LOW",  .decode.addr = A_SMMU_CB15_TLBIIPAS2_LOW,
8303    },{ .name = "SMMU_CB15_TLBIIPAS2_HIGH",  .decode.addr = A_SMMU_CB15_TLBIIPAS2_HIGH,
8304    },{ .name = "SMMU_CB15_TLBIIPAS2L_LOW",  .decode.addr = A_SMMU_CB15_TLBIIPAS2L_LOW,
8305    },{ .name = "SMMU_CB15_TLBIIPAS2L_HIGH",  .decode.addr = A_SMMU_CB15_TLBIIPAS2L_HIGH,
8306    },{ .name = "SMMU_CB15_TLBSYNC",  .decode.addr = A_SMMU_CB15_TLBSYNC,
8307    },{ .name = "SMMU_CB15_TLBSTATUS",  .decode.addr = A_SMMU_CB15_TLBSTATUS,
8308        .ro = 0x1,
8309    },{ .name = "SMMU_CB15_PMEVCNTR0",  .decode.addr = A_SMMU_CB15_PMEVCNTR0,
8310    },{ .name = "SMMU_CB15_PMEVCNTR1",  .decode.addr = A_SMMU_CB15_PMEVCNTR1,
8311    },{ .name = "SMMU_CB15_PMEVCNTR2",  .decode.addr = A_SMMU_CB15_PMEVCNTR2,
8312    },{ .name = "SMMU_CB15_PMEVCNTR3",  .decode.addr = A_SMMU_CB15_PMEVCNTR3,
8313    },{ .name = "SMMU_CB15_PMEVTYPER0",  .decode.addr = A_SMMU_CB15_PMEVTYPER0,
8314    },{ .name = "SMMU_CB15_PMEVTYPER1",  .decode.addr = A_SMMU_CB15_PMEVTYPER1,
8315    },{ .name = "SMMU_CB15_PMEVTYPER2",  .decode.addr = A_SMMU_CB15_PMEVTYPER2,
8316    },{ .name = "SMMU_CB15_PMEVTYPER3",  .decode.addr = A_SMMU_CB15_PMEVTYPER3,
8317    },{ .name = "SMMU_CB15_PMCFGR",  .decode.addr = A_SMMU_CB15_PMCFGR,
8318        .reset = 0x11f03,
8319        .ro = 0xff09ffff,
8320    },{ .name = "SMMU_CB15_PMCR",  .decode.addr = A_SMMU_CB15_PMCR,
8321        .ro = 0xff000002,
8322    },{ .name = "SMMU_CB15_PMCEID",  .decode.addr = A_SMMU_CB15_PMCEID,
8323        .reset = 0x30303,
8324        .ro = 0x38383,
8325    },{ .name = "SMMU_CB15_PMCNTENSE",  .decode.addr = A_SMMU_CB15_PMCNTENSE,
8326    },{ .name = "SMMU_CB15_PMCNTENCLR",  .decode.addr = A_SMMU_CB15_PMCNTENCLR,
8327    },{ .name = "SMMU_CB15_PMCNTENSET",  .decode.addr = A_SMMU_CB15_PMCNTENSET,
8328    },{ .name = "SMMU_CB15_PMINTENCLR",  .decode.addr = A_SMMU_CB15_PMINTENCLR,
8329    },{ .name = "SMMU_CB15_PMOVSCLR",  .decode.addr = A_SMMU_CB15_PMOVSCLR,
8330    },{ .name = "SMMU_CB15_PMOVSSET",  .decode.addr = A_SMMU_CB15_PMOVSSET,
8331    },{ .name = "SMMU_CB15_PMAUTHSTATUS",  .decode.addr = A_SMMU_CB15_PMAUTHSTATUS,
8332        .reset = 0x80,
8333        .ro = 0xff,
8334    }
8335};
8336
8337static void smmu500_reset(DeviceState *dev)
8338{
8339    SMMU *s = XILINX_SMMU500(dev);
8340    unsigned int i;
8341
8342    for (i = 0; i < ARRAY_SIZE(s->regs_info); ++i) {
8343        register_reset(&s->regs_info[i]);
8344    }
8345}
8346
8347static uint64_t smmu500_read(void *opaque, hwaddr addr, unsigned size)
8348{
8349    SMMU *s = XILINX_SMMU500(opaque);
8350    RegisterInfo *r = &s->regs_info[addr / 4];
8351
8352    if (!r->data) {
8353        qemu_log("%s: Decode error: read from %" HWADDR_PRIx "\n",
8354                 object_get_canonical_path(OBJECT(s)),
8355                 addr);
8356        return 0;
8357    }
8358    return register_read(r);
8359}
8360
8361static void smmu500_write(void *opaque, hwaddr addr, uint64_t value,
8362                      unsigned size)
8363{
8364    SMMU *s = XILINX_SMMU500(opaque);
8365    RegisterInfo *r = &s->regs_info[addr / 4];
8366
8367    if (!r->data) {
8368        qemu_log("%s: Decode error: write to %" HWADDR_PRIx "=%" PRIx64 "\n",
8369                 object_get_canonical_path(OBJECT(s)),
8370                 addr, value);
8371        return;
8372    }
8373    register_write(r, value, ~0);
8374}
8375
8376
8377static MemoryRegionIOMMUOps smmu_iommu_ops = {
8378    .translate_attr = smmu_translate,
8379};
8380
8381static const MemoryRegionOps smmu500_ops = {
8382    .read = smmu500_read,
8383    .write = smmu500_write,
8384    .endianness = DEVICE_LITTLE_ENDIAN,
8385    .valid = {
8386        .min_access_size = 4,
8387        .max_access_size = 8,
8388    },
8389};
8390
8391static void smmu500_realize(DeviceState *dev, Error **errp)
8392{
8393    SMMU *s = XILINX_SMMU500(dev);
8394    const char *prefix = object_get_canonical_path(OBJECT(dev));
8395    unsigned int i;
8396
8397    for (i = 0; i < ARRAY_SIZE(smmu500_regs_info); ++i) {
8398        RegisterInfo *r = &s->regs_info[smmu500_regs_info[i].decode.addr/4];
8399
8400        *r = (RegisterInfo) {
8401            .data = (uint8_t *)&s->regs[
8402                    smmu500_regs_info[i].decode.addr/4],
8403            .data_size = sizeof(uint32_t),
8404            .access = &smmu500_regs_info[i],
8405            .debug = XILINX_SMMU500_ERR_DEBUG,
8406            .prefix = prefix,
8407            .opaque = s,
8408        };
8409    }
8410
8411    s->dma_as = s->dma_mr ? address_space_init_shareable(s->dma_mr, NULL)
8412                          : &address_space_memory;
8413
8414    assert(s->dma_as);
8415
8416    sysbus_init_irq(SYS_BUS_DEVICE(dev), &s->irq.global);
8417    for (i = 0; i < 16; i++) {
8418        sysbus_init_irq(SYS_BUS_DEVICE(dev), &s->irq.context[i]);
8419    }
8420}
8421
8422static void smmu500_init(Object *obj)
8423{
8424    SMMU *s = XILINX_SMMU500(obj);
8425    int i;
8426
8427    object_property_add_link(obj, "dma", TYPE_MEMORY_REGION,
8428                             (Object **)&s->dma_mr,
8429                             qdev_prop_allow_set_link_before_realize,
8430                             OBJ_PROP_LINK_UNREF_ON_RELEASE,
8431                             &error_abort);
8432
8433    for (i = 0; i < MAX_TBU; i++) {
8434        char *name = g_strdup_printf("mr-%d", i);
8435        object_property_add_link(obj, name, TYPE_MEMORY_REGION,
8436                                 (Object **)&s->tbu[i].mr,
8437                                 qdev_prop_allow_set_link_before_realize,
8438                                 OBJ_PROP_LINK_UNREF_ON_RELEASE,
8439                                 &error_abort);
8440        g_free(name);
8441        s->tbu[i].smmu = s;
8442    }
8443}
8444
8445static bool smmu_parse_reg(FDTGenericMMap *obj, FDTGenericRegPropInfo reg,
8446                           Error **errp)
8447{
8448    SMMU *s = XILINX_SMMU500(obj);
8449    SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
8450    ObjectClass *klass = object_class_by_name(TYPE_XILINX_SMMU500);
8451    FDTGenericMMapClass *parent_fmc;
8452    unsigned int i;
8453
8454    parent_fmc = FDT_GENERIC_MMAP_CLASS(object_class_get_parent(klass));
8455    memory_region_init_io(&s->iomem, OBJECT(obj), &smmu500_ops, s,
8456                          TYPE_XILINX_SMMU500, R_MAX * 4);
8457    sysbus_init_mmio(sbd, &s->iomem);
8458
8459    for (i = 0; i < (reg.n - 1); i++) {
8460        char *name = g_strdup_printf("smmu-tbu%d", i);
8461
8462        assert(s->tbu[i].mr);
8463        s->tbu[i].as = address_space_init_shareable(s->tbu[i].mr, NULL);
8464        memory_region_init_iommu(&s->tbu[i].iommu, OBJECT(sbd), &smmu_iommu_ops,
8465                                 name, UINT64_MAX);
8466        sysbus_init_mmio(sbd, &s->tbu[i].iommu);
8467        g_free(name);
8468    }
8469
8470    return parent_fmc ? parent_fmc->parse_reg(obj, reg, errp) : false;
8471}
8472
8473static Property smmu_properties[] = {
8474    DEFINE_PROP_UINT32("pamax", SMMU, cfg.pamax, 48),
8475    DEFINE_PROP_END_OF_LIST(),
8476};
8477
8478static const VMStateDescription vmstate_smmu500 = {
8479    .name = TYPE_XILINX_SMMU500,
8480    .version_id = 1,
8481    .minimum_version_id = 1,
8482    .minimum_version_id_old = 1,
8483    .fields = (VMStateField[]) {
8484        VMSTATE_UINT32_ARRAY(regs, SMMU, R_MAX),
8485        VMSTATE_END_OF_LIST(),
8486    }
8487};
8488
8489static void smmu500_class_init(ObjectClass *klass, void *data)
8490{
8491    DeviceClass *dc = DEVICE_CLASS(klass);
8492    FDTGenericMMapClass *fmc = FDT_GENERIC_MMAP_CLASS(klass);
8493
8494    dc->reset = smmu500_reset;
8495    dc->realize = smmu500_realize;
8496    dc->vmsd = &vmstate_smmu500;
8497    dc->props = smmu_properties;
8498    fmc->parse_reg = smmu_parse_reg;
8499}
8500
8501static const TypeInfo smmu500_info = {
8502    .name          = TYPE_XILINX_SMMU500,
8503    .parent        = TYPE_SYS_BUS_DEVICE,
8504    .instance_size = sizeof(SMMU),
8505    .class_init    = smmu500_class_init,
8506    .instance_init = smmu500_init,
8507    .interfaces    = (InterfaceInfo[]) {
8508        { TYPE_FDT_GENERIC_MMAP },
8509        { },
8510    },
8511};
8512
8513static void smmu500_register_types(void)
8514{
8515    type_register_static(&smmu500_info);
8516}
8517
8518type_init(smmu500_register_types)
8519