qemu/hw/misc/xlnx-versal-ddrmc-noc.c
<<
>>
Prefs
   1/*
   2 * QEMU model of the DDRMC_NOC MC that supports DDR4 and LPDDR4
   3 *
   4 * Copyright (c) 2018 Xilinx Inc.
   5 *
   6 * Autogenerated by xregqemu.py 2018-09-03.
   7 *
   8 * Permission is hereby granted, free of charge, to any person obtaining a copy
   9 * of this software and associated documentation files (the "Software"), to deal
  10 * in the Software without restriction, including without limitation the rights
  11 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  12 * copies of the Software, and to permit persons to whom the Software is
  13 * furnished to do so, subject to the following conditions:
  14 *
  15 * The above copyright notice and this permission notice shall be included in
  16 * all copies or substantial portions of the Software.
  17 *
  18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  21 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  22 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  23 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  24 * THE SOFTWARE.
  25 */
  26
  27#include "qemu/osdep.h"
  28#include "hw/sysbus.h"
  29#include "hw/register.h"
  30#include "qemu/bitops.h"
  31#include "qemu/log.h"
  32#include "migration/vmstate.h"
  33#include "hw/qdev-properties.h"
  34
  35#ifndef XILINX_DDRMC_NOC_ERR_DEBUG
  36#define XILINX_DDRMC_NOC_ERR_DEBUG 0
  37#endif
  38
  39#define TYPE_XILINX_DDRMC_NOC "xlnx.versal-ddrmc-noc"
  40
  41#define XILINX_DDRMC_NOC(obj) \
  42     OBJECT_CHECK(DDRMC_NOC, (obj), TYPE_XILINX_DDRMC_NOC)
  43
  44REG32(PCSR_LOCK, 0xc)
  45    FIELD(PCSR_LOCK, STATE, 0, 1)
  46REG32(REG_NSU_0_ING, 0x10)
  47    FIELD(REG_NSU_0_ING, BER_VC_VLD, 26, 1)
  48    FIELD(REG_NSU_0_ING, ISOCR_VC_VLD, 25, 1)
  49    FIELD(REG_NSU_0_ING, LLR_VC_VLD, 24, 1)
  50    FIELD(REG_NSU_0_ING, BEW_VC_MAP, 20, 3)
  51    FIELD(REG_NSU_0_ING, ISOW_VC_MAP, 16, 3)
  52    FIELD(REG_NSU_0_ING, BER_VC_MAP, 12, 3)
  53    FIELD(REG_NSU_0_ING, ISOR_VC_MAP, 8, 3)
  54    FIELD(REG_NSU_0_ING, LLR_VC_MAP, 4, 3)
  55    FIELD(REG_NSU_0_ING, DBI_EN, 1, 1)
  56    FIELD(REG_NSU_0_ING, ECC_CHK_EN, 0, 1)
  57REG32(REG_NSU_0_EGR, 0x14)
  58    FIELD(REG_NSU_0_EGR, BER_VC_VLD, 22, 1)
  59    FIELD(REG_NSU_0_EGR, ISOCR_VC_VLD, 21, 1)
  60    FIELD(REG_NSU_0_EGR, LLR_VC_VLD, 20, 1)
  61    FIELD(REG_NSU_0_EGR, BEW_VC_MAP, 16, 3)
  62    FIELD(REG_NSU_0_EGR, ISOW_VC_MAP, 12, 3)
  63    FIELD(REG_NSU_0_EGR, BER_VC_MAP, 8, 3)
  64    FIELD(REG_NSU_0_EGR, ISOR_VC_MAP, 4, 3)
  65    FIELD(REG_NSU_0_EGR, LLR_VC_MAP, 0, 3)
  66REG32(REG_NSU_1_ING, 0x18)
  67    FIELD(REG_NSU_1_ING, BER_VC_VLD, 26, 1)
  68    FIELD(REG_NSU_1_ING, ISOCR_VC_VLD, 25, 1)
  69    FIELD(REG_NSU_1_ING, LLR_VC_VLD, 24, 1)
  70    FIELD(REG_NSU_1_ING, BEW_VC_MAP, 20, 3)
  71    FIELD(REG_NSU_1_ING, ISOW_VC_MAP, 16, 3)
  72    FIELD(REG_NSU_1_ING, BER_VC_MAP, 12, 3)
  73    FIELD(REG_NSU_1_ING, ISOR_VC_MAP, 8, 3)
  74    FIELD(REG_NSU_1_ING, LLR_VC_MAP, 4, 3)
  75    FIELD(REG_NSU_1_ING, DBI_EN, 1, 1)
  76    FIELD(REG_NSU_1_ING, ECC_CHK_EN, 0, 1)
  77REG32(REG_NSU_1_EGR, 0x1c)
  78    FIELD(REG_NSU_1_EGR, BER_VC_VLD, 22, 1)
  79    FIELD(REG_NSU_1_EGR, ISOCR_VC_VLD, 21, 1)
  80    FIELD(REG_NSU_1_EGR, LLR_VC_VLD, 20, 1)
  81    FIELD(REG_NSU_1_EGR, BEW_VC_MAP, 16, 3)
  82    FIELD(REG_NSU_1_EGR, ISOW_VC_MAP, 12, 3)
  83    FIELD(REG_NSU_1_EGR, BER_VC_MAP, 8, 3)
  84    FIELD(REG_NSU_1_EGR, ISOR_VC_MAP, 4, 3)
  85    FIELD(REG_NSU_1_EGR, LLR_VC_MAP, 0, 3)
  86REG32(REG_NSU_2_ING, 0x20)
  87    FIELD(REG_NSU_2_ING, BER_VC_VLD, 26, 1)
  88    FIELD(REG_NSU_2_ING, ISOCR_VC_VLD, 25, 1)
  89    FIELD(REG_NSU_2_ING, LLR_VC_VLD, 24, 1)
  90    FIELD(REG_NSU_2_ING, BEW_VC_MAP, 20, 3)
  91    FIELD(REG_NSU_2_ING, ISOW_VC_MAP, 16, 3)
  92    FIELD(REG_NSU_2_ING, BER_VC_MAP, 12, 3)
  93    FIELD(REG_NSU_2_ING, ISOR_VC_MAP, 8, 3)
  94    FIELD(REG_NSU_2_ING, LLR_VC_MAP, 4, 3)
  95    FIELD(REG_NSU_2_ING, DBI_EN, 1, 1)
  96    FIELD(REG_NSU_2_ING, ECC_CHK_EN, 0, 1)
  97REG32(REG_NSU_2_EGR, 0x24)
  98    FIELD(REG_NSU_2_EGR, BER_VC_VLD, 22, 1)
  99    FIELD(REG_NSU_2_EGR, ISOCR_VC_VLD, 21, 1)
 100    FIELD(REG_NSU_2_EGR, LLR_VC_VLD, 20, 1)
 101    FIELD(REG_NSU_2_EGR, BEW_VC_MAP, 16, 3)
 102    FIELD(REG_NSU_2_EGR, ISOW_VC_MAP, 12, 3)
 103    FIELD(REG_NSU_2_EGR, BER_VC_MAP, 8, 3)
 104    FIELD(REG_NSU_2_EGR, ISOR_VC_MAP, 4, 3)
 105    FIELD(REG_NSU_2_EGR, LLR_VC_MAP, 0, 3)
 106REG32(REG_NSU_3_ING, 0x28)
 107    FIELD(REG_NSU_3_ING, BER_VC_VLD, 26, 1)
 108    FIELD(REG_NSU_3_ING, ISOCR_VC_VLD, 25, 1)
 109    FIELD(REG_NSU_3_ING, LLR_VC_VLD, 24, 1)
 110    FIELD(REG_NSU_3_ING, BEW_VC_MAP, 20, 3)
 111    FIELD(REG_NSU_3_ING, ISOW_VC_MAP, 16, 3)
 112    FIELD(REG_NSU_3_ING, BER_VC_MAP, 12, 3)
 113    FIELD(REG_NSU_3_ING, ISOR_VC_MAP, 8, 3)
 114    FIELD(REG_NSU_3_ING, LLR_VC_MAP, 4, 3)
 115    FIELD(REG_NSU_3_ING, DBI_EN, 1, 1)
 116    FIELD(REG_NSU_3_ING, ECC_CHK_EN, 0, 1)
 117REG32(REG_NSU_3_EGR, 0x2c)
 118    FIELD(REG_NSU_3_EGR, BER_VC_VLD, 22, 1)
 119    FIELD(REG_NSU_3_EGR, ISOCR_VC_VLD, 21, 1)
 120    FIELD(REG_NSU_3_EGR, LLR_VC_VLD, 20, 1)
 121    FIELD(REG_NSU_3_EGR, BEW_VC_MAP, 16, 3)
 122    FIELD(REG_NSU_3_EGR, ISOW_VC_MAP, 12, 3)
 123    FIELD(REG_NSU_3_EGR, BER_VC_MAP, 8, 3)
 124    FIELD(REG_NSU_3_EGR, ISOR_VC_MAP, 4, 3)
 125    FIELD(REG_NSU_3_EGR, LLR_VC_MAP, 0, 3)
 126REG32(DC_CMD_CREDITS, 0x30)
 127    FIELD(DC_CMD_CREDITS, MIN_CREDITS, 6, 6)
 128    FIELD(DC_CMD_CREDITS, INIT_CREDITS, 0, 6)
 129REG32(REG_ADEC0, 0x34)
 130    FIELD(REG_ADEC0, LOW_MEM_BASE, 0, 20)
 131REG32(REG_ADEC1, 0x38)
 132    FIELD(REG_ADEC1, LOW_MEM_OFFSET, 0, 20)
 133REG32(REG_ADEC2, 0x3c)
 134    FIELD(REG_ADEC2, HIGH_MEM_EN, 20, 1)
 135    FIELD(REG_ADEC2, HIGH_MEM_BASE, 0, 20)
 136REG32(REG_ADEC3, 0x40)
 137    FIELD(REG_ADEC3, HIGH_MEM_OFFSET, 0, 20)
 138REG32(REG_ADEC4, 0x44)
 139    FIELD(REG_ADEC4, LRANK_2, 24, 6)
 140    FIELD(REG_ADEC4, LRANK_1, 18, 6)
 141    FIELD(REG_ADEC4, LRANK_0, 12, 6)
 142    FIELD(REG_ADEC4, RANK_1, 6, 6)
 143    FIELD(REG_ADEC4, RANK_0, 0, 6)
 144REG32(REG_ADEC5, 0x48)
 145    FIELD(REG_ADEC5, ROW_4, 24, 6)
 146    FIELD(REG_ADEC5, ROW_3, 18, 6)
 147    FIELD(REG_ADEC5, ROW_2, 12, 6)
 148    FIELD(REG_ADEC5, ROW_1, 6, 6)
 149    FIELD(REG_ADEC5, ROW_0, 0, 6)
 150REG32(REG_ADEC6, 0x4c)
 151    FIELD(REG_ADEC6, ROW_9, 24, 6)
 152    FIELD(REG_ADEC6, ROW_8, 18, 6)
 153    FIELD(REG_ADEC6, ROW_7, 12, 6)
 154    FIELD(REG_ADEC6, ROW_6, 6, 6)
 155    FIELD(REG_ADEC6, ROW_5, 0, 6)
 156REG32(REG_ADEC7, 0x50)
 157    FIELD(REG_ADEC7, ROW_14, 24, 6)
 158    FIELD(REG_ADEC7, ROW_13, 18, 6)
 159    FIELD(REG_ADEC7, ROW_12, 12, 6)
 160    FIELD(REG_ADEC7, ROW_11, 6, 6)
 161    FIELD(REG_ADEC7, ROW_10, 0, 6)
 162REG32(REG_ADEC8, 0x54)
 163    FIELD(REG_ADEC8, COL_0, 24, 6)
 164    FIELD(REG_ADEC8, ROW_18, 18, 6)
 165    FIELD(REG_ADEC8, ROW_17, 12, 6)
 166    FIELD(REG_ADEC8, ROW_16, 6, 6)
 167    FIELD(REG_ADEC8, ROW_15, 0, 6)
 168REG32(REG_ADEC9, 0x58)
 169    FIELD(REG_ADEC9, COL_5, 24, 6)
 170    FIELD(REG_ADEC9, COL_4, 18, 6)
 171    FIELD(REG_ADEC9, COL_3, 12, 6)
 172    FIELD(REG_ADEC9, COL_2, 6, 6)
 173    FIELD(REG_ADEC9, COL_1, 0, 6)
 174REG32(REG_ADEC10, 0x5c)
 175    FIELD(REG_ADEC10, BANK_0, 24, 6)
 176    FIELD(REG_ADEC10, COL_9, 18, 6)
 177    FIELD(REG_ADEC10, COL_8, 12, 6)
 178    FIELD(REG_ADEC10, COL_7, 6, 6)
 179    FIELD(REG_ADEC10, COL_6, 0, 6)
 180REG32(REG_ADEC11, 0x60)
 181    FIELD(REG_ADEC11, CH_SEL, 18, 6)
 182    FIELD(REG_ADEC11, GROUP_1, 12, 6)
 183    FIELD(REG_ADEC11, GROUP_0, 6, 6)
 184    FIELD(REG_ADEC11, BANK_1, 0, 6)
 185REG32(REG_NSU0_PORT, 0x64)
 186    FIELD(REG_NSU0_PORT, SRC_ID, 0, 12)
 187REG32(REG_NSU1_PORT, 0x68)
 188    FIELD(REG_NSU1_PORT, SRC_ID, 0, 12)
 189REG32(REG_NSU2_PORT, 0x6c)
 190    FIELD(REG_NSU2_PORT, SRC_ID, 0, 12)
 191REG32(REG_NSU3_PORT, 0x70)
 192    FIELD(REG_NSU3_PORT, SRC_ID, 0, 12)
 193REG32(REG_NSU_0_R_EGR, 0x400)
 194    FIELD(REG_NSU_0_R_EGR, BER_VC_TOKEN, 20, 8)
 195    FIELD(REG_NSU_0_R_EGR, ISOCR_VC_TOKEN, 12, 8)
 196    FIELD(REG_NSU_0_R_EGR, LLR_VC_TOKEN, 4, 8)
 197REG32(REG_NSU_0_W_EGR, 0x404)
 198    FIELD(REG_NSU_0_W_EGR, BEW_VC_TOKEN, 12, 8)
 199    FIELD(REG_NSU_0_W_EGR, ISOCW_VC_TOKEN, 4, 8)
 200REG32(REG_NSU_1_R_EGR, 0x408)
 201    FIELD(REG_NSU_1_R_EGR, BER_VC_TOKEN, 20, 8)
 202    FIELD(REG_NSU_1_R_EGR, ISOCR_VC_TOKEN, 12, 8)
 203    FIELD(REG_NSU_1_R_EGR, LLR_VC_TOKEN, 4, 8)
 204REG32(REG_NSU_1_W_EGR, 0x40c)
 205    FIELD(REG_NSU_1_W_EGR, BEW_VC_TOKEN, 12, 8)
 206    FIELD(REG_NSU_1_W_EGR, ISOCW_VC_TOKEN, 4, 8)
 207REG32(REG_NSU_2_R_EGR, 0x410)
 208    FIELD(REG_NSU_2_R_EGR, BER_VC_TOKEN, 20, 8)
 209    FIELD(REG_NSU_2_R_EGR, ISOCR_VC_TOKEN, 12, 8)
 210    FIELD(REG_NSU_2_R_EGR, LLR_VC_TOKEN, 4, 8)
 211REG32(REG_NSU_2_W_EGR, 0x414)
 212    FIELD(REG_NSU_2_W_EGR, BEW_VC_TOKEN, 12, 8)
 213    FIELD(REG_NSU_2_W_EGR, ISOCW_VC_TOKEN, 4, 8)
 214REG32(REG_NSU_3_R_EGR, 0x418)
 215    FIELD(REG_NSU_3_R_EGR, BER_VC_TOKEN, 20, 8)
 216    FIELD(REG_NSU_3_R_EGR, ISOCR_VC_TOKEN, 12, 8)
 217    FIELD(REG_NSU_3_R_EGR, LLR_VC_TOKEN, 4, 8)
 218REG32(REG_NSU_3_W_EGR, 0x41c)
 219    FIELD(REG_NSU_3_W_EGR, BEW_VC_TOKEN, 12, 8)
 220    FIELD(REG_NSU_3_W_EGR, ISOCW_VC_TOKEN, 4, 8)
 221REG32(REG_RD_DRR_TKN_P0, 0x420)
 222    FIELD(REG_RD_DRR_TKN_P0, BER, 16, 8)
 223    FIELD(REG_RD_DRR_TKN_P0, ISOCR, 8, 8)
 224    FIELD(REG_RD_DRR_TKN_P0, LLR, 0, 8)
 225REG32(REG_WR_DRR_TKN_P0, 0x424)
 226    FIELD(REG_WR_DRR_TKN_P0, BEW, 8, 8)
 227    FIELD(REG_WR_DRR_TKN_P0, ISOCW, 0, 8)
 228REG32(REG_RD_DRR_TKN_P1, 0x428)
 229    FIELD(REG_RD_DRR_TKN_P1, BER, 16, 8)
 230    FIELD(REG_RD_DRR_TKN_P1, ISOCR, 8, 8)
 231    FIELD(REG_RD_DRR_TKN_P1, LLR, 0, 8)
 232REG32(REG_WR_DRR_TKN_P1, 0x42c)
 233    FIELD(REG_WR_DRR_TKN_P1, BEW, 8, 8)
 234    FIELD(REG_WR_DRR_TKN_P1, ISOCW, 0, 8)
 235REG32(REG_RD_DRR_TKN_P2, 0x430)
 236    FIELD(REG_RD_DRR_TKN_P2, BER, 16, 8)
 237    FIELD(REG_RD_DRR_TKN_P2, ISOCR, 8, 8)
 238    FIELD(REG_RD_DRR_TKN_P2, LLR, 0, 8)
 239REG32(REG_WR_DRR_TKN_P2, 0x434)
 240    FIELD(REG_WR_DRR_TKN_P2, BEW, 8, 8)
 241    FIELD(REG_WR_DRR_TKN_P2, ISOCW, 0, 8)
 242REG32(REG_RD_DRR_TKN_P3, 0x438)
 243    FIELD(REG_RD_DRR_TKN_P3, BER, 16, 8)
 244    FIELD(REG_RD_DRR_TKN_P3, ISOCR, 8, 8)
 245    FIELD(REG_RD_DRR_TKN_P3, LLR, 0, 8)
 246REG32(REG_WR_DRR_TKN_P3, 0x43c)
 247    FIELD(REG_WR_DRR_TKN_P3, BEW, 8, 8)
 248    FIELD(REG_WR_DRR_TKN_P3, ISOCW, 0, 8)
 249REG32(REG_QOS0, 0x440)
 250    FIELD(REG_QOS0, WR_THRSHOLD, 16, 12)
 251    FIELD(REG_QOS0, RD_THRSHOLD, 4, 12)
 252    FIELD(REG_QOS0, ARB_MODE, 0, 1)
 253REG32(REG_QOS1, 0x444)
 254    FIELD(REG_QOS1, BER_TOKEN, 20, 10)
 255    FIELD(REG_QOS1, ISOR_TOKEN, 10, 10)
 256    FIELD(REG_QOS1, LLR_TOKEN, 0, 10)
 257REG32(REG_QOS2, 0x448)
 258    FIELD(REG_QOS2, BEW_TOKEN, 10, 10)
 259    FIELD(REG_QOS2, ISOW_TOKEN, 0, 10)
 260REG32(REG_QOS_TIMEOUT0, 0x44c)
 261    FIELD(REG_QOS_TIMEOUT0, BEW_SCALE, 20, 5)
 262    FIELD(REG_QOS_TIMEOUT0, ISW_SCALE, 15, 5)
 263    FIELD(REG_QOS_TIMEOUT0, BER_SCALE, 10, 5)
 264    FIELD(REG_QOS_TIMEOUT0, ISR_SCALE, 5, 5)
 265    FIELD(REG_QOS_TIMEOUT0, LLR_SCALE, 0, 5)
 266REG32(REG_QOS_TIMEOUT1, 0x450)
 267    FIELD(REG_QOS_TIMEOUT1, ISOW_TIMEOUT, 24, 8)
 268    FIELD(REG_QOS_TIMEOUT1, BER_TIMEOUT, 16, 8)
 269    FIELD(REG_QOS_TIMEOUT1, ISOR_TIMEOUT, 8, 8)
 270    FIELD(REG_QOS_TIMEOUT1, LLR_TIMEOUT, 0, 8)
 271REG32(REG_QOS_TIMEOUT2, 0x454)
 272    FIELD(REG_QOS_TIMEOUT2, BEW_TIMEOUT, 0, 8)
 273REG32(REG_RATE_CTRL_SCALE, 0x458)
 274    FIELD(REG_RATE_CTRL_SCALE, BEW_UPDATE_PERIOD, 20, 5)
 275    FIELD(REG_RATE_CTRL_SCALE, ISW_UPDATE_PERIOD, 15, 5)
 276    FIELD(REG_RATE_CTRL_SCALE, BER_UPDATE_PERIOD, 10, 5)
 277    FIELD(REG_RATE_CTRL_SCALE, ISR_UPDATE_PERIOD, 5, 5)
 278    FIELD(REG_RATE_CTRL_SCALE, LLR_UPDATE_PERIOD, 0, 5)
 279REG32(REG_P0_LLR_RATE_CTRL, 0x45c)
 280    FIELD(REG_P0_LLR_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 281    FIELD(REG_P0_LLR_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 282REG32(REG_P0_ISR_RATE_CTRL, 0x460)
 283    FIELD(REG_P0_ISR_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 284    FIELD(REG_P0_ISR_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 285REG32(REG_P0_BER_RATE_CTRL, 0x464)
 286    FIELD(REG_P0_BER_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 287    FIELD(REG_P0_BER_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 288REG32(REG_P0_ISW_RATE_CTRL, 0x468)
 289    FIELD(REG_P0_ISW_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 290    FIELD(REG_P0_ISW_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 291REG32(REG_P0_BEW_RATE_CTRL, 0x46c)
 292    FIELD(REG_P0_BEW_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 293    FIELD(REG_P0_BEW_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 294REG32(REG_P1_LLR_RATE_CTRL, 0x470)
 295    FIELD(REG_P1_LLR_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 296    FIELD(REG_P1_LLR_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 297REG32(REG_P1_ISR_RATE_CTRL, 0x474)
 298    FIELD(REG_P1_ISR_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 299    FIELD(REG_P1_ISR_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 300REG32(REG_P1_BER_RATE_CTRL, 0x478)
 301    FIELD(REG_P1_BER_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 302    FIELD(REG_P1_BER_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 303REG32(REG_P1_ISW_RATE_CTRL, 0x47c)
 304    FIELD(REG_P1_ISW_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 305    FIELD(REG_P1_ISW_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 306REG32(REG_P1_BEW_RATE_CTRL, 0x480)
 307    FIELD(REG_P1_BEW_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 308    FIELD(REG_P1_BEW_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 309REG32(REG_P2_LLR_RATE_CTRL, 0x484)
 310    FIELD(REG_P2_LLR_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 311    FIELD(REG_P2_LLR_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 312REG32(REG_P2_ISR_RATE_CTRL, 0x488)
 313    FIELD(REG_P2_ISR_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 314    FIELD(REG_P2_ISR_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 315REG32(REG_P2_BER_RATE_CTRL, 0x48c)
 316    FIELD(REG_P2_BER_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 317    FIELD(REG_P2_BER_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 318REG32(REG_P2_ISW_RATE_CTRL, 0x490)
 319    FIELD(REG_P2_ISW_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 320    FIELD(REG_P2_ISW_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 321REG32(REG_P2_BEW_RATE_CTRL, 0x494)
 322    FIELD(REG_P2_BEW_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 323    FIELD(REG_P2_BEW_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 324REG32(REG_P3_LLR_RATE_CTRL, 0x498)
 325    FIELD(REG_P3_LLR_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 326    FIELD(REG_P3_LLR_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 327REG32(REG_P3_ISR_RATE_CTRL, 0x49c)
 328    FIELD(REG_P3_ISR_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 329    FIELD(REG_P3_ISR_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 330REG32(REG_P3_BER_RATE_CTRL, 0x4a0)
 331    FIELD(REG_P3_BER_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 332    FIELD(REG_P3_BER_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 333REG32(REG_P3_ISW_RATE_CTRL, 0x4a4)
 334    FIELD(REG_P3_ISW_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 335    FIELD(REG_P3_ISW_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 336REG32(REG_P3_BEW_RATE_CTRL, 0x4a8)
 337    FIELD(REG_P3_BEW_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 338    FIELD(REG_P3_BEW_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 339REG32(REG_CMDQ_CTRL0, 0x4ac)
 340    FIELD(REG_CMDQ_CTRL0, BEW_THRESHOLD_CH0, 20, 5)
 341    FIELD(REG_CMDQ_CTRL0, ISW_THRESHOLD_CH0, 15, 5)
 342    FIELD(REG_CMDQ_CTRL0, BER_THRESHOLD_CH0, 10, 5)
 343    FIELD(REG_CMDQ_CTRL0, ISR_THRESHOLD_CH0, 5, 5)
 344    FIELD(REG_CMDQ_CTRL0, LLR_THRESHOLD_CH0, 0, 5)
 345REG32(REG_CMDQ_CTRL1, 0x4b0)
 346    FIELD(REG_CMDQ_CTRL1, BEW_THRESHOLD_CH1, 20, 5)
 347    FIELD(REG_CMDQ_CTRL1, ISW_THRESHOLD_CH1, 15, 5)
 348    FIELD(REG_CMDQ_CTRL1, BER_THRESHOLD_CH1, 10, 5)
 349    FIELD(REG_CMDQ_CTRL1, ISR_THRESHOLD_CH1, 5, 5)
 350    FIELD(REG_CMDQ_CTRL1, LLR_THRESHOLD_CH1, 0, 5)
 351REG32(REG_CMDQ_LLR_RATE_CTRL, 0x4b4)
 352    FIELD(REG_CMDQ_LLR_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 353    FIELD(REG_CMDQ_LLR_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 354REG32(REG_CMDQ_ISR_RATE_CTRL, 0x4b8)
 355    FIELD(REG_CMDQ_ISR_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 356    FIELD(REG_CMDQ_ISR_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 357REG32(REG_CMDQ_BER_RATE_CTRL, 0x4bc)
 358    FIELD(REG_CMDQ_BER_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 359    FIELD(REG_CMDQ_BER_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 360REG32(REG_CMDQ_ISW_RATE_CTRL, 0x4c0)
 361    FIELD(REG_CMDQ_ISW_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 362    FIELD(REG_CMDQ_ISW_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 363REG32(REG_CMDQ_BEW_RATE_CTRL, 0x4c4)
 364    FIELD(REG_CMDQ_BEW_RATE_CTRL, CREDIT_LIMIT, 10, 12)
 365    FIELD(REG_CMDQ_BEW_RATE_CTRL, CREDIT_UPDATE, 0, 10)
 366REG32(REG_QOS_RATE_CTRL_SCALE, 0x4c8)
 367    FIELD(REG_QOS_RATE_CTRL_SCALE, BEW_UPDATE_PERIOD, 20, 5)
 368    FIELD(REG_QOS_RATE_CTRL_SCALE, ISW_UPDATE_PERIOD, 15, 5)
 369    FIELD(REG_QOS_RATE_CTRL_SCALE, BER_UPDATE_PERIOD, 10, 5)
 370    FIELD(REG_QOS_RATE_CTRL_SCALE, ISR_UPDATE_PERIOD, 5, 5)
 371    FIELD(REG_QOS_RATE_CTRL_SCALE, LLR_UPDATE_PERIOD, 0, 5)
 372REG32(EXMON_CLR_EXE, 0x4cc)
 373    FIELD(EXMON_CLR_EXE, AXSIZE_BASED_CHECK, 8, 1)
 374    FIELD(EXMON_CLR_EXE, MON_7, 7, 1)
 375    FIELD(EXMON_CLR_EXE, MON_6, 6, 1)
 376    FIELD(EXMON_CLR_EXE, MON_5, 5, 1)
 377    FIELD(EXMON_CLR_EXE, MON_4, 4, 1)
 378    FIELD(EXMON_CLR_EXE, MON_3, 3, 1)
 379    FIELD(EXMON_CLR_EXE, MON_2, 2, 1)
 380    FIELD(EXMON_CLR_EXE, MON_1, 1, 1)
 381    FIELD(EXMON_CLR_EXE, MON_0, 0, 1)
 382REG32(UB_CLK_MUX, 0x4d0)
 383    FIELD(UB_CLK_MUX, SEL, 0, 2)
 384REG32(PERF_MON_TIMEBASE_SCALE, 0x4d4)
 385    FIELD(PERF_MON_TIMEBASE_SCALE, TB3_SCALE, 15, 5)
 386    FIELD(PERF_MON_TIMEBASE_SCALE, TB2_SCALE, 10, 5)
 387    FIELD(PERF_MON_TIMEBASE_SCALE, TB1_SCALE, 5, 5)
 388    FIELD(PERF_MON_TIMEBASE_SCALE, TB0_SCALE, 0, 5)
 389REG32(NSU0_PERF_MON_CTL_0_0, 0x4d8)
 390    FIELD(NSU0_PERF_MON_CTL_0_0, SNGL, 1, 1)
 391    FIELD(NSU0_PERF_MON_CTL_0_0, MON_EN, 0, 1)
 392REG32(NSU0_PERF_MON_CTL_0_1, 0x4dc)
 393    FIELD(NSU0_PERF_MON_CTL_0_1, BEW, 7, 1)
 394    FIELD(NSU0_PERF_MON_CTL_0_1, ISOW, 6, 1)
 395    FIELD(NSU0_PERF_MON_CTL_0_1, BER, 5, 1)
 396    FIELD(NSU0_PERF_MON_CTL_0_1, ISOR, 4, 1)
 397    FIELD(NSU0_PERF_MON_CTL_0_1, LLR, 3, 1)
 398    FIELD(NSU0_PERF_MON_CTL_0_1, LAT_SEL, 2, 1)
 399    FIELD(NSU0_PERF_MON_CTL_0_1, TB_SEL, 0, 2)
 400REG32(NSU0_PERF_FILTER_0_0, 0x4e0)
 401    FIELD(NSU0_PERF_FILTER_0_0, AXLOCK, 29, 1)
 402    FIELD(NSU0_PERF_FILTER_0_0, AXPROT, 26, 3)
 403    FIELD(NSU0_PERF_FILTER_0_0, AXBURST, 24, 2)
 404    FIELD(NSU0_PERF_FILTER_0_0, AXLEN_MAX, 20, 4)
 405    FIELD(NSU0_PERF_FILTER_0_0, AXLEN_MIN, 16, 4)
 406    FIELD(NSU0_PERF_FILTER_0_0, AXID, 0, 16)
 407REG32(NSU0_PERF_FILTER_0_1, 0x4e4)
 408    FIELD(NSU0_PERF_FILTER_0_1, SRC_ID, 0, 12)
 409REG32(NSU0_PERF_FILTER_EN_0, 0x4e8)
 410    FIELD(NSU0_PERF_FILTER_EN_0, SRC_ID, 5, 1)
 411    FIELD(NSU0_PERF_FILTER_EN_0, AXLOCK, 4, 1)
 412    FIELD(NSU0_PERF_FILTER_EN_0, AXPROT, 3, 1)
 413    FIELD(NSU0_PERF_FILTER_EN_0, AXBURST, 2, 1)
 414    FIELD(NSU0_PERF_FILTER_EN_0, AXLEN, 1, 1)
 415    FIELD(NSU0_PERF_FILTER_EN_0, AXID, 0, 1)
 416REG32(NSU0_PERF_MON_0_0, 0x4ec)
 417    FIELD(NSU0_PERF_MON_0_0, LAT_OVF, 31, 1)
 418    FIELD(NSU0_PERF_MON_0_0, LAT, 0, 31)
 419REG32(NSU0_PERF_MON_0_1, 0x4f0)
 420    FIELD(NSU0_PERF_MON_0_1, BURST_OVF, 31, 1)
 421    FIELD(NSU0_PERF_MON_0_1, BURST, 0, 31)
 422REG32(NSU0_PERF_MON_0_2, 0x4f4)
 423    FIELD(NSU0_PERF_MON_0_2, HEADER_OVF, 31, 1)
 424    FIELD(NSU0_PERF_MON_0_2, HEADER, 0, 31)
 425REG32(NSU0_PERF_MON_CTL_1_0, 0x4f8)
 426    FIELD(NSU0_PERF_MON_CTL_1_0, SNGL, 1, 1)
 427    FIELD(NSU0_PERF_MON_CTL_1_0, MON_EN, 0, 1)
 428REG32(NSU0_PERF_MON_CTL_1_1, 0x4fc)
 429    FIELD(NSU0_PERF_MON_CTL_1_1, BEW, 7, 1)
 430    FIELD(NSU0_PERF_MON_CTL_1_1, ISOW, 6, 1)
 431    FIELD(NSU0_PERF_MON_CTL_1_1, BER, 5, 1)
 432    FIELD(NSU0_PERF_MON_CTL_1_1, ISOR, 4, 1)
 433    FIELD(NSU0_PERF_MON_CTL_1_1, LLR, 3, 1)
 434    FIELD(NSU0_PERF_MON_CTL_1_1, LAT_SEL, 2, 1)
 435    FIELD(NSU0_PERF_MON_CTL_1_1, TB_SEL, 0, 2)
 436REG32(NSU0_PERF_FILTER_1_0, 0x500)
 437    FIELD(NSU0_PERF_FILTER_1_0, AXLOCK, 29, 1)
 438    FIELD(NSU0_PERF_FILTER_1_0, AXPROT, 26, 3)
 439    FIELD(NSU0_PERF_FILTER_1_0, AXBURST, 24, 2)
 440    FIELD(NSU0_PERF_FILTER_1_0, AXLEN_MAX, 20, 4)
 441    FIELD(NSU0_PERF_FILTER_1_0, AXLEN_MIN, 16, 4)
 442    FIELD(NSU0_PERF_FILTER_1_0, AXID, 0, 16)
 443REG32(NSU0_PERF_FILTER_1_1, 0x504)
 444    FIELD(NSU0_PERF_FILTER_1_1, SRC_ID, 0, 12)
 445REG32(NSU0_PERF_FILTER_EN_1, 0x508)
 446    FIELD(NSU0_PERF_FILTER_EN_1, SRC_ID, 5, 1)
 447    FIELD(NSU0_PERF_FILTER_EN_1, AXLOCK, 4, 1)
 448    FIELD(NSU0_PERF_FILTER_EN_1, AXPROT, 3, 1)
 449    FIELD(NSU0_PERF_FILTER_EN_1, AXBURST, 2, 1)
 450    FIELD(NSU0_PERF_FILTER_EN_1, AXLEN, 1, 1)
 451    FIELD(NSU0_PERF_FILTER_EN_1, AXID, 0, 1)
 452REG32(NSU0_PERF_MON_1_0, 0x50c)
 453    FIELD(NSU0_PERF_MON_1_0, LAT_OVF, 31, 1)
 454    FIELD(NSU0_PERF_MON_1_0, LAT, 0, 31)
 455REG32(NSU0_PERF_MON_1_1, 0x510)
 456    FIELD(NSU0_PERF_MON_1_1, BURST_OVF, 31, 1)
 457    FIELD(NSU0_PERF_MON_1_1, BURST, 0, 31)
 458REG32(NSU0_PERF_MON_1_2, 0x514)
 459    FIELD(NSU0_PERF_MON_1_2, HEADER_OVF, 31, 1)
 460    FIELD(NSU0_PERF_MON_1_2, HEADER, 0, 31)
 461REG32(NSU1_PERF_MON_CTL_0_0, 0x518)
 462    FIELD(NSU1_PERF_MON_CTL_0_0, SNGL, 1, 1)
 463    FIELD(NSU1_PERF_MON_CTL_0_0, MON_EN, 0, 1)
 464REG32(NSU1_PERF_MON_CTL_0_1, 0x51c)
 465    FIELD(NSU1_PERF_MON_CTL_0_1, BEW, 7, 1)
 466    FIELD(NSU1_PERF_MON_CTL_0_1, ISOW, 6, 1)
 467    FIELD(NSU1_PERF_MON_CTL_0_1, BER, 5, 1)
 468    FIELD(NSU1_PERF_MON_CTL_0_1, ISOR, 4, 1)
 469    FIELD(NSU1_PERF_MON_CTL_0_1, LLR, 3, 1)
 470    FIELD(NSU1_PERF_MON_CTL_0_1, LAT_SEL, 2, 1)
 471    FIELD(NSU1_PERF_MON_CTL_0_1, TB_SEL, 0, 2)
 472REG32(NSU1_PERF_FILTER_0_0, 0x520)
 473    FIELD(NSU1_PERF_FILTER_0_0, AXLOCK, 29, 1)
 474    FIELD(NSU1_PERF_FILTER_0_0, AXPROT, 26, 3)
 475    FIELD(NSU1_PERF_FILTER_0_0, AXBURST, 24, 2)
 476    FIELD(NSU1_PERF_FILTER_0_0, AXLEN_MAX, 20, 4)
 477    FIELD(NSU1_PERF_FILTER_0_0, AXLEN_MIN, 16, 4)
 478    FIELD(NSU1_PERF_FILTER_0_0, AXID, 0, 16)
 479REG32(NSU1_PERF_FILTER_0_1, 0x524)
 480    FIELD(NSU1_PERF_FILTER_0_1, SRC_ID, 0, 12)
 481REG32(NSU1_PERF_FILTER_EN_0, 0x528)
 482    FIELD(NSU1_PERF_FILTER_EN_0, SRC_ID, 5, 1)
 483    FIELD(NSU1_PERF_FILTER_EN_0, AXLOCK, 4, 1)
 484    FIELD(NSU1_PERF_FILTER_EN_0, AXPROT, 3, 1)
 485    FIELD(NSU1_PERF_FILTER_EN_0, AXBURST, 2, 1)
 486    FIELD(NSU1_PERF_FILTER_EN_0, AXLEN, 1, 1)
 487    FIELD(NSU1_PERF_FILTER_EN_0, AXID, 0, 1)
 488REG32(NSU1_PERF_MON_0_0, 0x52c)
 489    FIELD(NSU1_PERF_MON_0_0, LAT_OVF, 31, 1)
 490    FIELD(NSU1_PERF_MON_0_0, LAT, 0, 31)
 491REG32(NSU1_PERF_MON_0_1, 0x530)
 492    FIELD(NSU1_PERF_MON_0_1, BURST_OVF, 31, 1)
 493    FIELD(NSU1_PERF_MON_0_1, BURST, 0, 31)
 494REG32(NSU1_PERF_MON_0_2, 0x534)
 495    FIELD(NSU1_PERF_MON_0_2, HEADER_OVF, 31, 1)
 496    FIELD(NSU1_PERF_MON_0_2, HEADER, 0, 31)
 497REG32(NSU1_PERF_MON_CTL_1_0, 0x538)
 498    FIELD(NSU1_PERF_MON_CTL_1_0, SNGL, 1, 1)
 499    FIELD(NSU1_PERF_MON_CTL_1_0, MON_EN, 0, 1)
 500REG32(NSU1_PERF_MON_CTL_1_1, 0x53c)
 501    FIELD(NSU1_PERF_MON_CTL_1_1, BEW, 7, 1)
 502    FIELD(NSU1_PERF_MON_CTL_1_1, ISOW, 6, 1)
 503    FIELD(NSU1_PERF_MON_CTL_1_1, BER, 5, 1)
 504    FIELD(NSU1_PERF_MON_CTL_1_1, ISOR, 4, 1)
 505    FIELD(NSU1_PERF_MON_CTL_1_1, LLR, 3, 1)
 506    FIELD(NSU1_PERF_MON_CTL_1_1, LAT_SEL, 2, 1)
 507    FIELD(NSU1_PERF_MON_CTL_1_1, TB_SEL, 0, 2)
 508REG32(NSU1_PERF_FILTER_1_0, 0x540)
 509    FIELD(NSU1_PERF_FILTER_1_0, AXLOCK, 29, 1)
 510    FIELD(NSU1_PERF_FILTER_1_0, AXPROT, 26, 3)
 511    FIELD(NSU1_PERF_FILTER_1_0, AXBURST, 24, 2)
 512    FIELD(NSU1_PERF_FILTER_1_0, AXLEN_MAX, 20, 4)
 513    FIELD(NSU1_PERF_FILTER_1_0, AXLEN_MIN, 16, 4)
 514    FIELD(NSU1_PERF_FILTER_1_0, AXID, 0, 16)
 515REG32(NSU1_PERF_FILTER_1_1, 0x544)
 516    FIELD(NSU1_PERF_FILTER_1_1, SRC_ID, 0, 12)
 517REG32(NSU1_PERF_FILTER_EN_1, 0x548)
 518    FIELD(NSU1_PERF_FILTER_EN_1, SRC_ID, 5, 1)
 519    FIELD(NSU1_PERF_FILTER_EN_1, AXLOCK, 4, 1)
 520    FIELD(NSU1_PERF_FILTER_EN_1, AXPROT, 3, 1)
 521    FIELD(NSU1_PERF_FILTER_EN_1, AXBURST, 2, 1)
 522    FIELD(NSU1_PERF_FILTER_EN_1, AXLEN, 1, 1)
 523    FIELD(NSU1_PERF_FILTER_EN_1, AXID, 0, 1)
 524REG32(NSU1_PERF_MON_1_0, 0x54c)
 525    FIELD(NSU1_PERF_MON_1_0, LAT_OVF, 31, 1)
 526    FIELD(NSU1_PERF_MON_1_0, LAT, 0, 31)
 527REG32(NSU1_PERF_MON_1_1, 0x550)
 528    FIELD(NSU1_PERF_MON_1_1, BURST_OVF, 31, 1)
 529    FIELD(NSU1_PERF_MON_1_1, BURST, 0, 31)
 530REG32(NSU1_PERF_MON_1_2, 0x554)
 531    FIELD(NSU1_PERF_MON_1_2, HEADER_OVF, 31, 1)
 532    FIELD(NSU1_PERF_MON_1_2, HEADER, 0, 31)
 533REG32(NSU2_PERF_MON_CTL_0_0, 0x558)
 534    FIELD(NSU2_PERF_MON_CTL_0_0, SNGL, 1, 1)
 535    FIELD(NSU2_PERF_MON_CTL_0_0, MON_EN, 0, 1)
 536REG32(NSU2_PERF_MON_CTL_0_1, 0x55c)
 537    FIELD(NSU2_PERF_MON_CTL_0_1, BEW, 7, 1)
 538    FIELD(NSU2_PERF_MON_CTL_0_1, ISOW, 6, 1)
 539    FIELD(NSU2_PERF_MON_CTL_0_1, BER, 5, 1)
 540    FIELD(NSU2_PERF_MON_CTL_0_1, ISOR, 4, 1)
 541    FIELD(NSU2_PERF_MON_CTL_0_1, LLR, 3, 1)
 542    FIELD(NSU2_PERF_MON_CTL_0_1, LAT_SEL, 2, 1)
 543    FIELD(NSU2_PERF_MON_CTL_0_1, TB_SEL, 0, 2)
 544REG32(NSU2_PERF_FILTER_0_0, 0x560)
 545    FIELD(NSU2_PERF_FILTER_0_0, AXLOCK, 29, 1)
 546    FIELD(NSU2_PERF_FILTER_0_0, AXPROT, 26, 3)
 547    FIELD(NSU2_PERF_FILTER_0_0, AXBURST, 24, 2)
 548    FIELD(NSU2_PERF_FILTER_0_0, AXLEN_MAX, 20, 4)
 549    FIELD(NSU2_PERF_FILTER_0_0, AXLEN_MIN, 16, 4)
 550    FIELD(NSU2_PERF_FILTER_0_0, AXID, 0, 16)
 551REG32(NSU2_PERF_FILTER_0_1, 0x564)
 552    FIELD(NSU2_PERF_FILTER_0_1, SRC_ID, 0, 12)
 553REG32(NSU2_PERF_FILTER_EN_0, 0x568)
 554    FIELD(NSU2_PERF_FILTER_EN_0, SRC_ID, 5, 1)
 555    FIELD(NSU2_PERF_FILTER_EN_0, AXLOCK, 4, 1)
 556    FIELD(NSU2_PERF_FILTER_EN_0, AXPROT, 3, 1)
 557    FIELD(NSU2_PERF_FILTER_EN_0, AXBURST, 2, 1)
 558    FIELD(NSU2_PERF_FILTER_EN_0, AXLEN, 1, 1)
 559    FIELD(NSU2_PERF_FILTER_EN_0, AXID, 0, 1)
 560REG32(NSU2_PERF_MON_0_0, 0x56c)
 561    FIELD(NSU2_PERF_MON_0_0, LAT_OVF, 31, 1)
 562    FIELD(NSU2_PERF_MON_0_0, LAT, 0, 31)
 563REG32(NSU2_PERF_MON_0_1, 0x570)
 564    FIELD(NSU2_PERF_MON_0_1, BURST_OVF, 31, 1)
 565    FIELD(NSU2_PERF_MON_0_1, BURST, 0, 31)
 566REG32(NSU2_PERF_MON_0_2, 0x574)
 567    FIELD(NSU2_PERF_MON_0_2, HEADER_OVF, 31, 1)
 568    FIELD(NSU2_PERF_MON_0_2, HEADER, 0, 31)
 569REG32(NSU2_PERF_MON_CTL_1_0, 0x578)
 570    FIELD(NSU2_PERF_MON_CTL_1_0, SNGL, 1, 1)
 571    FIELD(NSU2_PERF_MON_CTL_1_0, MON_EN, 0, 1)
 572REG32(NSU2_PERF_MON_CTL_1_1, 0x57c)
 573    FIELD(NSU2_PERF_MON_CTL_1_1, BEW, 7, 1)
 574    FIELD(NSU2_PERF_MON_CTL_1_1, ISOW, 6, 1)
 575    FIELD(NSU2_PERF_MON_CTL_1_1, BER, 5, 1)
 576    FIELD(NSU2_PERF_MON_CTL_1_1, ISOR, 4, 1)
 577    FIELD(NSU2_PERF_MON_CTL_1_1, LLR, 3, 1)
 578    FIELD(NSU2_PERF_MON_CTL_1_1, LAT_SEL, 2, 1)
 579    FIELD(NSU2_PERF_MON_CTL_1_1, TB_SEL, 0, 2)
 580REG32(NSU2_PERF_FILTER_1_0, 0x580)
 581    FIELD(NSU2_PERF_FILTER_1_0, AXLOCK, 29, 1)
 582    FIELD(NSU2_PERF_FILTER_1_0, AXPROT, 26, 3)
 583    FIELD(NSU2_PERF_FILTER_1_0, AXBURST, 24, 2)
 584    FIELD(NSU2_PERF_FILTER_1_0, AXLEN_MAX, 20, 4)
 585    FIELD(NSU2_PERF_FILTER_1_0, AXLEN_MIN, 16, 4)
 586    FIELD(NSU2_PERF_FILTER_1_0, AXID, 0, 16)
 587REG32(NSU2_PERF_FILTER_1_1, 0x584)
 588    FIELD(NSU2_PERF_FILTER_1_1, SRC_ID, 0, 12)
 589REG32(NSU2_PERF_FILTER_EN_1, 0x588)
 590    FIELD(NSU2_PERF_FILTER_EN_1, SRC_ID, 5, 1)
 591    FIELD(NSU2_PERF_FILTER_EN_1, AXLOCK, 4, 1)
 592    FIELD(NSU2_PERF_FILTER_EN_1, AXPROT, 3, 1)
 593    FIELD(NSU2_PERF_FILTER_EN_1, AXBURST, 2, 1)
 594    FIELD(NSU2_PERF_FILTER_EN_1, AXLEN, 1, 1)
 595    FIELD(NSU2_PERF_FILTER_EN_1, AXID, 0, 1)
 596REG32(NSU2_PERF_MON_1_0, 0x58c)
 597    FIELD(NSU2_PERF_MON_1_0, LAT_OVF, 31, 1)
 598    FIELD(NSU2_PERF_MON_1_0, LAT, 0, 31)
 599REG32(NSU2_PERF_MON_1_1, 0x590)
 600    FIELD(NSU2_PERF_MON_1_1, BURST_OVF, 31, 1)
 601    FIELD(NSU2_PERF_MON_1_1, BURST, 0, 31)
 602REG32(NSU2_PERF_MON_1_2, 0x594)
 603    FIELD(NSU2_PERF_MON_1_2, HEADER_OVF, 31, 1)
 604    FIELD(NSU2_PERF_MON_1_2, HEADER, 0, 31)
 605REG32(NSU3_PERF_MON_CTL_0_0, 0x598)
 606    FIELD(NSU3_PERF_MON_CTL_0_0, SNGL, 1, 1)
 607    FIELD(NSU3_PERF_MON_CTL_0_0, MON_EN, 0, 1)
 608REG32(NSU3_PERF_MON_CTL_0_1, 0x59c)
 609    FIELD(NSU3_PERF_MON_CTL_0_1, BEW, 7, 1)
 610    FIELD(NSU3_PERF_MON_CTL_0_1, ISOW, 6, 1)
 611    FIELD(NSU3_PERF_MON_CTL_0_1, BER, 5, 1)
 612    FIELD(NSU3_PERF_MON_CTL_0_1, ISOR, 4, 1)
 613    FIELD(NSU3_PERF_MON_CTL_0_1, LLR, 3, 1)
 614    FIELD(NSU3_PERF_MON_CTL_0_1, LAT_SEL, 2, 1)
 615    FIELD(NSU3_PERF_MON_CTL_0_1, TB_SEL, 0, 2)
 616REG32(NSU3_PERF_FILTER_0_0, 0x5a0)
 617    FIELD(NSU3_PERF_FILTER_0_0, AXLOCK, 29, 1)
 618    FIELD(NSU3_PERF_FILTER_0_0, AXPROT, 26, 3)
 619    FIELD(NSU3_PERF_FILTER_0_0, AXBURST, 24, 2)
 620    FIELD(NSU3_PERF_FILTER_0_0, AXLEN_MAX, 20, 4)
 621    FIELD(NSU3_PERF_FILTER_0_0, AXLEN_MIN, 16, 4)
 622    FIELD(NSU3_PERF_FILTER_0_0, AXID, 0, 16)
 623REG32(NSU3_PERF_FILTER_0_1, 0x5a4)
 624    FIELD(NSU3_PERF_FILTER_0_1, SRC_ID, 0, 12)
 625REG32(NSU3_PERF_FILTER_EN_0, 0x5a8)
 626    FIELD(NSU3_PERF_FILTER_EN_0, SRC_ID, 5, 1)
 627    FIELD(NSU3_PERF_FILTER_EN_0, AXLOCK, 4, 1)
 628    FIELD(NSU3_PERF_FILTER_EN_0, AXPROT, 3, 1)
 629    FIELD(NSU3_PERF_FILTER_EN_0, AXBURST, 2, 1)
 630    FIELD(NSU3_PERF_FILTER_EN_0, AXLEN, 1, 1)
 631    FIELD(NSU3_PERF_FILTER_EN_0, AXID, 0, 1)
 632REG32(NSU3_PERF_MON_0_0, 0x5ac)
 633    FIELD(NSU3_PERF_MON_0_0, LAT_OVF, 31, 1)
 634    FIELD(NSU3_PERF_MON_0_0, LAT, 0, 31)
 635REG32(NSU3_PERF_MON_0_1, 0x5b0)
 636    FIELD(NSU3_PERF_MON_0_1, BURST_OVF, 31, 1)
 637    FIELD(NSU3_PERF_MON_0_1, BURST, 0, 31)
 638REG32(NSU3_PERF_MON_0_2, 0x5b4)
 639    FIELD(NSU3_PERF_MON_0_2, HEADER_OVF, 31, 1)
 640    FIELD(NSU3_PERF_MON_0_2, HEADER, 0, 31)
 641REG32(NSU3_PERF_MON_CTL_1_0, 0x5b8)
 642    FIELD(NSU3_PERF_MON_CTL_1_0, SNGL, 1, 1)
 643    FIELD(NSU3_PERF_MON_CTL_1_0, MON_EN, 0, 1)
 644REG32(NSU3_PERF_MON_CTL_1_1, 0x5bc)
 645    FIELD(NSU3_PERF_MON_CTL_1_1, BEW, 7, 1)
 646    FIELD(NSU3_PERF_MON_CTL_1_1, ISOW, 6, 1)
 647    FIELD(NSU3_PERF_MON_CTL_1_1, BER, 5, 1)
 648    FIELD(NSU3_PERF_MON_CTL_1_1, ISOR, 4, 1)
 649    FIELD(NSU3_PERF_MON_CTL_1_1, LLR, 3, 1)
 650    FIELD(NSU3_PERF_MON_CTL_1_1, LAT_SEL, 2, 1)
 651    FIELD(NSU3_PERF_MON_CTL_1_1, TB_SEL, 0, 2)
 652REG32(NSU3_PERF_FILTER_1_0, 0x5c0)
 653    FIELD(NSU3_PERF_FILTER_1_0, AXLOCK, 29, 1)
 654    FIELD(NSU3_PERF_FILTER_1_0, AXPROT, 26, 3)
 655    FIELD(NSU3_PERF_FILTER_1_0, AXBURST, 24, 2)
 656    FIELD(NSU3_PERF_FILTER_1_0, AXLEN_MAX, 20, 4)
 657    FIELD(NSU3_PERF_FILTER_1_0, AXLEN_MIN, 16, 4)
 658    FIELD(NSU3_PERF_FILTER_1_0, AXID, 0, 16)
 659REG32(NSU3_PERF_FILTER_1_1, 0x5c4)
 660    FIELD(NSU3_PERF_FILTER_1_1, SRC_ID, 0, 12)
 661REG32(NSU3_PERF_FILTER_EN_1, 0x5c8)
 662    FIELD(NSU3_PERF_FILTER_EN_1, SRC_ID, 5, 1)
 663    FIELD(NSU3_PERF_FILTER_EN_1, AXLOCK, 4, 1)
 664    FIELD(NSU3_PERF_FILTER_EN_1, AXPROT, 3, 1)
 665    FIELD(NSU3_PERF_FILTER_EN_1, AXBURST, 2, 1)
 666    FIELD(NSU3_PERF_FILTER_EN_1, AXLEN, 1, 1)
 667    FIELD(NSU3_PERF_FILTER_EN_1, AXID, 0, 1)
 668REG32(NSU3_PERF_MON_1_0, 0x5cc)
 669    FIELD(NSU3_PERF_MON_1_0, LAT_OVF, 31, 1)
 670    FIELD(NSU3_PERF_MON_1_0, LAT, 0, 31)
 671REG32(NSU3_PERF_MON_1_1, 0x5d0)
 672    FIELD(NSU3_PERF_MON_1_1, BURST_OVF, 31, 1)
 673    FIELD(NSU3_PERF_MON_1_1, BURST, 0, 31)
 674REG32(NSU3_PERF_MON_1_2, 0x5d4)
 675    FIELD(NSU3_PERF_MON_1_2, HEADER_OVF, 31, 1)
 676    FIELD(NSU3_PERF_MON_1_2, HEADER, 0, 31)
 677REG32(NSU0_ERR_LOG0_EN, 0x5d8)
 678    FIELD(NSU0_ERR_LOG0_EN, NOT_READY, 24, 1)
 679    FIELD(NSU0_ERR_LOG0_EN, VC_TYP_MISSMATCH, 23, 1)
 680    FIELD(NSU0_ERR_LOG0_EN, WR_DATA_POISON, 22, 1)
 681    FIELD(NSU0_ERR_LOG0_EN, RD_HEADER_2ND_CE, 21, 1)
 682    FIELD(NSU0_ERR_LOG0_EN, WR_DATA_2ND_CE, 20, 1)
 683    FIELD(NSU0_ERR_LOG0_EN, WR_HEADER_2ND_CE, 19, 1)
 684    FIELD(NSU0_ERR_LOG0_EN, RD_HEADER_CE, 18, 1)
 685    FIELD(NSU0_ERR_LOG0_EN, WR_DATA_CE, 17, 1)
 686    FIELD(NSU0_ERR_LOG0_EN, WR_HEADER_CE, 16, 1)
 687    FIELD(NSU0_ERR_LOG0_EN, WR_DATA_UC, 15, 1)
 688    FIELD(NSU0_ERR_LOG0_EN, RD_RESP_PAR, 14, 1)
 689    FIELD(NSU0_ERR_LOG0_EN, EX_LEN, 13, 1)
 690    FIELD(NSU0_ERR_LOG0_EN, ING_OF, 12, 1)
 691    FIELD(NSU0_ERR_LOG0_EN, EGR_OF, 11, 1)
 692    FIELD(NSU0_ERR_LOG0_EN, NUM_LEN, 10, 1)
 693    FIELD(NSU0_ERR_LOG0_EN, DST_ID_MATCH, 9, 1)
 694    FIELD(NSU0_ERR_LOG0_EN, UNMAP_VC, 8, 1)
 695    FIELD(NSU0_ERR_LOG0_EN, RD_HEADER_UC, 7, 1)
 696    FIELD(NSU0_ERR_LOG0_EN, WR_HEADER_UC, 6, 1)
 697    FIELD(NSU0_ERR_LOG0_EN, DBI_ID_PAR, 5, 1)
 698    FIELD(NSU0_ERR_LOG0_EN, WR_WRAP_LEN, 4, 1)
 699    FIELD(NSU0_ERR_LOG0_EN, RD_WRAP_LEN, 3, 1)
 700    FIELD(NSU0_ERR_LOG0_EN, EX_SIZE_INVALID, 2, 1)
 701    FIELD(NSU0_ERR_LOG0_EN, SIZE_INVALID, 1, 1)
 702    FIELD(NSU0_ERR_LOG0_EN, UNALIGN_WRAP, 0, 1)
 703REG32(NSU0_ERR_LOG1_EN, 0x5dc)
 704    FIELD(NSU0_ERR_LOG1_EN, NOT_READY, 24, 1)
 705    FIELD(NSU0_ERR_LOG1_EN, VC_TYP_MISSMATCH, 23, 1)
 706    FIELD(NSU0_ERR_LOG1_EN, WR_DATA_POISON, 22, 1)
 707    FIELD(NSU0_ERR_LOG1_EN, RD_HEADER_2ND_CE, 21, 1)
 708    FIELD(NSU0_ERR_LOG1_EN, WR_DATA_2ND_CE, 20, 1)
 709    FIELD(NSU0_ERR_LOG1_EN, WR_HEADER_2ND_CE, 19, 1)
 710    FIELD(NSU0_ERR_LOG1_EN, RD_HEADER_CE, 18, 1)
 711    FIELD(NSU0_ERR_LOG1_EN, WR_DATA_CE, 17, 1)
 712    FIELD(NSU0_ERR_LOG1_EN, WR_HEADER_CE, 16, 1)
 713    FIELD(NSU0_ERR_LOG1_EN, WR_DATA_UC, 15, 1)
 714    FIELD(NSU0_ERR_LOG1_EN, RD_RESP_PAR, 14, 1)
 715    FIELD(NSU0_ERR_LOG1_EN, EX_LEN, 13, 1)
 716    FIELD(NSU0_ERR_LOG1_EN, ING_OF, 12, 1)
 717    FIELD(NSU0_ERR_LOG1_EN, EGR_OF, 11, 1)
 718    FIELD(NSU0_ERR_LOG1_EN, NUM_LEN, 10, 1)
 719    FIELD(NSU0_ERR_LOG1_EN, DST_ID_MATCH, 9, 1)
 720    FIELD(NSU0_ERR_LOG1_EN, UNMAP_VC, 8, 1)
 721    FIELD(NSU0_ERR_LOG1_EN, RD_HEADER_UC, 7, 1)
 722    FIELD(NSU0_ERR_LOG1_EN, WR_HEADER_UC, 6, 1)
 723    FIELD(NSU0_ERR_LOG1_EN, DBI_ID_PAR, 5, 1)
 724    FIELD(NSU0_ERR_LOG1_EN, WR_WRAP_LEN, 4, 1)
 725    FIELD(NSU0_ERR_LOG1_EN, RD_WRAP_LEN, 3, 1)
 726    FIELD(NSU0_ERR_LOG1_EN, EX_SIZE_INVALID, 2, 1)
 727    FIELD(NSU0_ERR_LOG1_EN, SIZE_INVALID, 1, 1)
 728    FIELD(NSU0_ERR_LOG1_EN, UNALIGN_WRAP, 0, 1)
 729REG32(NSU0_ERR_STATUS, 0x5e0)
 730    FIELD(NSU0_ERR_STATUS, NOT_READY, 24, 1)
 731    FIELD(NSU0_ERR_STATUS, VC_TYP_MISSMATCH, 23, 1)
 732    FIELD(NSU0_ERR_STATUS, WR_DATA_POISON, 22, 1)
 733    FIELD(NSU0_ERR_STATUS, RD_HEADER_2ND_CE, 21, 1)
 734    FIELD(NSU0_ERR_STATUS, WR_DATA_2ND_CE, 20, 1)
 735    FIELD(NSU0_ERR_STATUS, WR_HEADER_2ND_CE, 19, 1)
 736    FIELD(NSU0_ERR_STATUS, RD_HEADER_CE, 18, 1)
 737    FIELD(NSU0_ERR_STATUS, WR_DATA_CE, 17, 1)
 738    FIELD(NSU0_ERR_STATUS, WR_HEADER_CE, 16, 1)
 739    FIELD(NSU0_ERR_STATUS, WR_DATA_UC, 15, 1)
 740    FIELD(NSU0_ERR_STATUS, RD_RESP_PAR, 14, 1)
 741    FIELD(NSU0_ERR_STATUS, EX_LEN, 13, 1)
 742    FIELD(NSU0_ERR_STATUS, ING_OF, 12, 1)
 743    FIELD(NSU0_ERR_STATUS, EGR_OF, 11, 1)
 744    FIELD(NSU0_ERR_STATUS, NUM_LEN, 10, 1)
 745    FIELD(NSU0_ERR_STATUS, DST_ID_MATCH, 9, 1)
 746    FIELD(NSU0_ERR_STATUS, UNMAP_VC, 8, 1)
 747    FIELD(NSU0_ERR_STATUS, RD_HEADER_UC, 7, 1)
 748    FIELD(NSU0_ERR_STATUS, WR_HEADER_UC, 6, 1)
 749    FIELD(NSU0_ERR_STATUS, DBI_ID_PAR, 5, 1)
 750    FIELD(NSU0_ERR_STATUS, WR_WRAP_LEN, 4, 1)
 751    FIELD(NSU0_ERR_STATUS, RD_WRAP_LEN, 3, 1)
 752    FIELD(NSU0_ERR_STATUS, EX_SIZE_INVALID, 2, 1)
 753    FIELD(NSU0_ERR_STATUS, SIZE_INVALID, 1, 1)
 754    FIELD(NSU0_ERR_STATUS, UNALIGN_WRAP, 0, 1)
 755REG32(NSU0_ERR_LOG0_0, 0x5e4)
 756    FIELD(NSU0_ERR_LOG0_0, DST, 20, 12)
 757    FIELD(NSU0_ERR_LOG0_0, SRC, 8, 12)
 758    FIELD(NSU0_ERR_LOG0_0, TAG, 0, 8)
 759REG32(NSU0_ERR_LOG0_1, 0x5e8)
 760    FIELD(NSU0_ERR_LOG0_1, POISON, 31, 1)
 761    FIELD(NSU0_ERR_LOG0_1, VC, 22, 8)
 762    FIELD(NSU0_ERR_LOG0_1, LAST, 21, 1)
 763    FIELD(NSU0_ERR_LOG0_1, WSTRB, 5, 16)
 764    FIELD(NSU0_ERR_LOG0_1, DST_PAR, 4, 1)
 765    FIELD(NSU0_ERR_LOG0_1, PKT_TYPE, 0, 4)
 766REG32(NSU0_ERR_LOG0_2, 0x5ec)
 767    FIELD(NSU0_ERR_LOG0_2, AXBURST, 30, 2)
 768    FIELD(NSU0_ERR_LOG0_2, SMID, 20, 10)
 769    FIELD(NSU0_ERR_LOG0_2, AXLOCK, 19, 1)
 770    FIELD(NSU0_ERR_LOG0_2, AXSIZE, 16, 3)
 771    FIELD(NSU0_ERR_LOG0_2, AXLEN, 8, 8)
 772    FIELD(NSU0_ERR_LOG0_2, NPP_EBIT, 0, 8)
 773REG32(NSU0_ERR_LOG0_3, 0x5f0)
 774REG32(NSU0_ERR_LOG0_4, 0x5f4)
 775    FIELD(NSU0_ERR_LOG0_4, ERR_REF_NUM, 16, 16)
 776    FIELD(NSU0_ERR_LOG0_4, ADDR_U, 0, 16)
 777REG32(NSU0_ERR_LOG1_0, 0x5f8)
 778    FIELD(NSU0_ERR_LOG1_0, DST, 20, 12)
 779    FIELD(NSU0_ERR_LOG1_0, SRC, 8, 12)
 780    FIELD(NSU0_ERR_LOG1_0, TAG, 0, 8)
 781REG32(NSU0_ERR_LOG1_1, 0x5fc)
 782    FIELD(NSU0_ERR_LOG1_1, POISON, 31, 1)
 783    FIELD(NSU0_ERR_LOG1_1, VC, 22, 8)
 784    FIELD(NSU0_ERR_LOG1_1, LAST, 21, 1)
 785    FIELD(NSU0_ERR_LOG1_1, WSTRB, 5, 16)
 786    FIELD(NSU0_ERR_LOG1_1, DST_PAR, 4, 1)
 787    FIELD(NSU0_ERR_LOG1_1, PKT_TYPE, 0, 4)
 788REG32(NSU0_ERR_LOG1_2, 0x600)
 789    FIELD(NSU0_ERR_LOG1_2, AXBURST, 30, 2)
 790    FIELD(NSU0_ERR_LOG1_2, SMID, 20, 10)
 791    FIELD(NSU0_ERR_LOG1_2, AXLOCK, 19, 1)
 792    FIELD(NSU0_ERR_LOG1_2, AXSIZE, 16, 3)
 793    FIELD(NSU0_ERR_LOG1_2, AXLEN, 8, 8)
 794    FIELD(NSU0_ERR_LOG1_2, NPP_EBIT, 0, 8)
 795REG32(NSU0_ERR_LOG1_3, 0x604)
 796REG32(NSU0_ERR_LOG1_4, 0x608)
 797    FIELD(NSU0_ERR_LOG1_4, ERR_REF_NUM, 16, 16)
 798    FIELD(NSU0_ERR_LOG1_4, ADDR_U, 0, 16)
 799REG32(NSU1_ERR_LOG0_EN, 0x60c)
 800    FIELD(NSU1_ERR_LOG0_EN, NOT_READY, 24, 1)
 801    FIELD(NSU1_ERR_LOG0_EN, VC_TYP_MISSMATCH, 23, 1)
 802    FIELD(NSU1_ERR_LOG0_EN, WR_DATA_POISON, 22, 1)
 803    FIELD(NSU1_ERR_LOG0_EN, RD_HEADER_2ND_CE, 21, 1)
 804    FIELD(NSU1_ERR_LOG0_EN, WR_DATA_2ND_CE, 20, 1)
 805    FIELD(NSU1_ERR_LOG0_EN, WR_HEADER_2ND_CE, 19, 1)
 806    FIELD(NSU1_ERR_LOG0_EN, RD_HEADER_CE, 18, 1)
 807    FIELD(NSU1_ERR_LOG0_EN, WR_DATA_CE, 17, 1)
 808    FIELD(NSU1_ERR_LOG0_EN, WR_HEADER_CE, 16, 1)
 809    FIELD(NSU1_ERR_LOG0_EN, WR_DATA_UC, 15, 1)
 810    FIELD(NSU1_ERR_LOG0_EN, RD_RESP_PAR, 14, 1)
 811    FIELD(NSU1_ERR_LOG0_EN, EX_LEN, 13, 1)
 812    FIELD(NSU1_ERR_LOG0_EN, ING_OF, 12, 1)
 813    FIELD(NSU1_ERR_LOG0_EN, EGR_OF, 11, 1)
 814    FIELD(NSU1_ERR_LOG0_EN, NUM_LEN, 10, 1)
 815    FIELD(NSU1_ERR_LOG0_EN, DST_ID_MATCH, 9, 1)
 816    FIELD(NSU1_ERR_LOG0_EN, UNMAP_VC, 8, 1)
 817    FIELD(NSU1_ERR_LOG0_EN, RD_HEADER_UC, 7, 1)
 818    FIELD(NSU1_ERR_LOG0_EN, WR_HEADER_UC, 6, 1)
 819    FIELD(NSU1_ERR_LOG0_EN, DBI_ID_PAR, 5, 1)
 820    FIELD(NSU1_ERR_LOG0_EN, WR_WRAP_LEN, 4, 1)
 821    FIELD(NSU1_ERR_LOG0_EN, RD_WRAP_LEN, 3, 1)
 822    FIELD(NSU1_ERR_LOG0_EN, EX_SIZE_INVALID, 2, 1)
 823    FIELD(NSU1_ERR_LOG0_EN, SIZE_INVALID, 1, 1)
 824    FIELD(NSU1_ERR_LOG0_EN, UNALIGN_WRAP, 0, 1)
 825REG32(NSU1_ERR_LOG1_EN, 0x610)
 826    FIELD(NSU1_ERR_LOG1_EN, NOT_READY, 24, 1)
 827    FIELD(NSU1_ERR_LOG1_EN, VC_TYP_MISSMATCH, 23, 1)
 828    FIELD(NSU1_ERR_LOG1_EN, WR_DATA_POISON, 22, 1)
 829    FIELD(NSU1_ERR_LOG1_EN, RD_HEADER_2ND_CE, 21, 1)
 830    FIELD(NSU1_ERR_LOG1_EN, WR_DATA_2ND_CE, 20, 1)
 831    FIELD(NSU1_ERR_LOG1_EN, WR_HEADER_2ND_CE, 19, 1)
 832    FIELD(NSU1_ERR_LOG1_EN, RD_HEADER_CE, 18, 1)
 833    FIELD(NSU1_ERR_LOG1_EN, WR_DATA_CE, 17, 1)
 834    FIELD(NSU1_ERR_LOG1_EN, WR_HEADER_CE, 16, 1)
 835    FIELD(NSU1_ERR_LOG1_EN, WR_DATA_UC, 15, 1)
 836    FIELD(NSU1_ERR_LOG1_EN, RD_RESP_PAR, 14, 1)
 837    FIELD(NSU1_ERR_LOG1_EN, EX_LEN, 13, 1)
 838    FIELD(NSU1_ERR_LOG1_EN, ING_OF, 12, 1)
 839    FIELD(NSU1_ERR_LOG1_EN, EGR_OF, 11, 1)
 840    FIELD(NSU1_ERR_LOG1_EN, NUM_LEN, 10, 1)
 841    FIELD(NSU1_ERR_LOG1_EN, DST_ID_MATCH, 9, 1)
 842    FIELD(NSU1_ERR_LOG1_EN, UNMAP_VC, 8, 1)
 843    FIELD(NSU1_ERR_LOG1_EN, RD_HEADER_UC, 7, 1)
 844    FIELD(NSU1_ERR_LOG1_EN, WR_HEADER_UC, 6, 1)
 845    FIELD(NSU1_ERR_LOG1_EN, DBI_ID_PAR, 5, 1)
 846    FIELD(NSU1_ERR_LOG1_EN, WR_WRAP_LEN, 4, 1)
 847    FIELD(NSU1_ERR_LOG1_EN, RD_WRAP_LEN, 3, 1)
 848    FIELD(NSU1_ERR_LOG1_EN, EX_SIZE_INVALID, 2, 1)
 849    FIELD(NSU1_ERR_LOG1_EN, SIZE_INVALID, 1, 1)
 850    FIELD(NSU1_ERR_LOG1_EN, UNALIGN_WRAP, 0, 1)
 851REG32(NSU1_ERR_STATUS, 0x614)
 852    FIELD(NSU1_ERR_STATUS, NOT_READY, 24, 1)
 853    FIELD(NSU1_ERR_STATUS, VC_TYP_MISSMATCH, 23, 1)
 854    FIELD(NSU1_ERR_STATUS, WR_DATA_POISON, 22, 1)
 855    FIELD(NSU1_ERR_STATUS, RD_HEADER_2ND_CE, 21, 1)
 856    FIELD(NSU1_ERR_STATUS, WR_DATA_2ND_CE, 20, 1)
 857    FIELD(NSU1_ERR_STATUS, WR_HEADER_2ND_CE, 19, 1)
 858    FIELD(NSU1_ERR_STATUS, RD_HEADER_CE, 18, 1)
 859    FIELD(NSU1_ERR_STATUS, WR_DATA_CE, 17, 1)
 860    FIELD(NSU1_ERR_STATUS, WR_HEADER_CE, 16, 1)
 861    FIELD(NSU1_ERR_STATUS, WR_DATA_UC, 15, 1)
 862    FIELD(NSU1_ERR_STATUS, RD_RESP_PAR, 14, 1)
 863    FIELD(NSU1_ERR_STATUS, EX_LEN, 13, 1)
 864    FIELD(NSU1_ERR_STATUS, ING_OF, 12, 1)
 865    FIELD(NSU1_ERR_STATUS, EGR_OF, 11, 1)
 866    FIELD(NSU1_ERR_STATUS, NUM_LEN, 10, 1)
 867    FIELD(NSU1_ERR_STATUS, DST_ID_MATCH, 9, 1)
 868    FIELD(NSU1_ERR_STATUS, UNMAP_VC, 8, 1)
 869    FIELD(NSU1_ERR_STATUS, RD_HEADER_UC, 7, 1)
 870    FIELD(NSU1_ERR_STATUS, WR_HEADER_UC, 6, 1)
 871    FIELD(NSU1_ERR_STATUS, DBI_ID_PAR, 5, 1)
 872    FIELD(NSU1_ERR_STATUS, WR_WRAP_LEN, 4, 1)
 873    FIELD(NSU1_ERR_STATUS, RD_WRAP_LEN, 3, 1)
 874    FIELD(NSU1_ERR_STATUS, EX_SIZE_INVALID, 2, 1)
 875    FIELD(NSU1_ERR_STATUS, SIZE_INVALID, 1, 1)
 876    FIELD(NSU1_ERR_STATUS, UNALIGN_WRAP, 0, 1)
 877REG32(NSU1_ERR_LOG0_0, 0x618)
 878    FIELD(NSU1_ERR_LOG0_0, DST, 20, 12)
 879    FIELD(NSU1_ERR_LOG0_0, SRC, 8, 12)
 880    FIELD(NSU1_ERR_LOG0_0, TAG, 0, 8)
 881REG32(NSU1_ERR_LOG0_1, 0x61c)
 882    FIELD(NSU1_ERR_LOG0_1, POISON, 31, 1)
 883    FIELD(NSU1_ERR_LOG0_1, VC, 22, 8)
 884    FIELD(NSU1_ERR_LOG0_1, LAST, 21, 1)
 885    FIELD(NSU1_ERR_LOG0_1, WSTRB, 5, 16)
 886    FIELD(NSU1_ERR_LOG0_1, DST_PAR, 4, 1)
 887    FIELD(NSU1_ERR_LOG0_1, PKT_TYPE, 0, 4)
 888REG32(NSU1_ERR_LOG0_2, 0x620)
 889    FIELD(NSU1_ERR_LOG0_2, AXBURST, 30, 2)
 890    FIELD(NSU1_ERR_LOG0_2, SMID, 20, 10)
 891    FIELD(NSU1_ERR_LOG0_2, AXLOCK, 19, 1)
 892    FIELD(NSU1_ERR_LOG0_2, AXSIZE, 16, 3)
 893    FIELD(NSU1_ERR_LOG0_2, AXLEN, 8, 8)
 894    FIELD(NSU1_ERR_LOG0_2, NPP_EBIT, 0, 8)
 895REG32(NSU1_ERR_LOG0_3, 0x624)
 896REG32(NSU1_ERR_LOG0_4, 0x628)
 897    FIELD(NSU1_ERR_LOG0_4, ERR_REF_NUM, 16, 16)
 898    FIELD(NSU1_ERR_LOG0_4, ADDR_U, 0, 16)
 899REG32(NSU1_ERR_LOG1_0, 0x62c)
 900    FIELD(NSU1_ERR_LOG1_0, DST, 20, 12)
 901    FIELD(NSU1_ERR_LOG1_0, SRC, 8, 12)
 902    FIELD(NSU1_ERR_LOG1_0, TAG, 0, 8)
 903REG32(NSU1_ERR_LOG1_1, 0x630)
 904    FIELD(NSU1_ERR_LOG1_1, POISON, 31, 1)
 905    FIELD(NSU1_ERR_LOG1_1, VC, 22, 8)
 906    FIELD(NSU1_ERR_LOG1_1, LAST, 21, 1)
 907    FIELD(NSU1_ERR_LOG1_1, WSTRB, 5, 16)
 908    FIELD(NSU1_ERR_LOG1_1, DST_PAR, 4, 1)
 909    FIELD(NSU1_ERR_LOG1_1, PKT_TYPE, 0, 4)
 910REG32(NSU1_ERR_LOG1_2, 0x634)
 911    FIELD(NSU1_ERR_LOG1_2, AXBURST, 30, 2)
 912    FIELD(NSU1_ERR_LOG1_2, SMID, 20, 10)
 913    FIELD(NSU1_ERR_LOG1_2, AXLOCK, 19, 1)
 914    FIELD(NSU1_ERR_LOG1_2, AXSIZE, 16, 3)
 915    FIELD(NSU1_ERR_LOG1_2, AXLEN, 8, 8)
 916    FIELD(NSU1_ERR_LOG1_2, NPP_EBIT, 0, 8)
 917REG32(NSU1_ERR_LOG1_3, 0x638)
 918REG32(NSU1_ERR_LOG1_4, 0x63c)
 919    FIELD(NSU1_ERR_LOG1_4, ERR_REF_NUM, 16, 16)
 920    FIELD(NSU1_ERR_LOG1_4, ADDR_U, 0, 16)
 921REG32(NSU2_ERR_LOG0_EN, 0x640)
 922    FIELD(NSU2_ERR_LOG0_EN, NOT_READY, 24, 1)
 923    FIELD(NSU2_ERR_LOG0_EN, VC_TYP_MISSMATCH, 23, 1)
 924    FIELD(NSU2_ERR_LOG0_EN, WR_DATA_POISON, 22, 1)
 925    FIELD(NSU2_ERR_LOG0_EN, RD_HEADER_2ND_CE, 21, 1)
 926    FIELD(NSU2_ERR_LOG0_EN, WR_DATA_2ND_CE, 20, 1)
 927    FIELD(NSU2_ERR_LOG0_EN, WR_HEADER_2ND_CE, 19, 1)
 928    FIELD(NSU2_ERR_LOG0_EN, RD_HEADER_CE, 18, 1)
 929    FIELD(NSU2_ERR_LOG0_EN, WR_DATA_CE, 17, 1)
 930    FIELD(NSU2_ERR_LOG0_EN, WR_HEADER_CE, 16, 1)
 931    FIELD(NSU2_ERR_LOG0_EN, WR_DATA_UC, 15, 1)
 932    FIELD(NSU2_ERR_LOG0_EN, RD_RESP_PAR, 14, 1)
 933    FIELD(NSU2_ERR_LOG0_EN, EX_LEN, 13, 1)
 934    FIELD(NSU2_ERR_LOG0_EN, ING_OF, 12, 1)
 935    FIELD(NSU2_ERR_LOG0_EN, EGR_OF, 11, 1)
 936    FIELD(NSU2_ERR_LOG0_EN, NUM_LEN, 10, 1)
 937    FIELD(NSU2_ERR_LOG0_EN, DST_ID_MATCH, 9, 1)
 938    FIELD(NSU2_ERR_LOG0_EN, UNMAP_VC, 8, 1)
 939    FIELD(NSU2_ERR_LOG0_EN, RD_HEADER_UC, 7, 1)
 940    FIELD(NSU2_ERR_LOG0_EN, WR_HEADER_UC, 6, 1)
 941    FIELD(NSU2_ERR_LOG0_EN, DBI_ID_PAR, 5, 1)
 942    FIELD(NSU2_ERR_LOG0_EN, WR_WRAP_LEN, 4, 1)
 943    FIELD(NSU2_ERR_LOG0_EN, RD_WRAP_LEN, 3, 1)
 944    FIELD(NSU2_ERR_LOG0_EN, EX_SIZE_INVALID, 2, 1)
 945    FIELD(NSU2_ERR_LOG0_EN, SIZE_INVALID, 1, 1)
 946    FIELD(NSU2_ERR_LOG0_EN, UNALIGN_WRAP, 0, 1)
 947REG32(NSU2_ERR_LOG1_EN, 0x644)
 948    FIELD(NSU2_ERR_LOG1_EN, NOT_READY, 24, 1)
 949    FIELD(NSU2_ERR_LOG1_EN, VC_TYP_MISSMATCH, 23, 1)
 950    FIELD(NSU2_ERR_LOG1_EN, WR_DATA_POISON, 22, 1)
 951    FIELD(NSU2_ERR_LOG1_EN, RD_HEADER_2ND_CE, 21, 1)
 952    FIELD(NSU2_ERR_LOG1_EN, WR_DATA_2ND_CE, 20, 1)
 953    FIELD(NSU2_ERR_LOG1_EN, WR_HEADER_2ND_CE, 19, 1)
 954    FIELD(NSU2_ERR_LOG1_EN, RD_HEADER_CE, 18, 1)
 955    FIELD(NSU2_ERR_LOG1_EN, WR_DATA_CE, 17, 1)
 956    FIELD(NSU2_ERR_LOG1_EN, WR_HEADER_CE, 16, 1)
 957    FIELD(NSU2_ERR_LOG1_EN, WR_DATA_UC, 15, 1)
 958    FIELD(NSU2_ERR_LOG1_EN, RD_RESP_PAR, 14, 1)
 959    FIELD(NSU2_ERR_LOG1_EN, EX_LEN, 13, 1)
 960    FIELD(NSU2_ERR_LOG1_EN, ING_OF, 12, 1)
 961    FIELD(NSU2_ERR_LOG1_EN, EGR_OF, 11, 1)
 962    FIELD(NSU2_ERR_LOG1_EN, NUM_LEN, 10, 1)
 963    FIELD(NSU2_ERR_LOG1_EN, DST_ID_MATCH, 9, 1)
 964    FIELD(NSU2_ERR_LOG1_EN, UNMAP_VC, 8, 1)
 965    FIELD(NSU2_ERR_LOG1_EN, RD_HEADER_UC, 7, 1)
 966    FIELD(NSU2_ERR_LOG1_EN, WR_HEADER_UC, 6, 1)
 967    FIELD(NSU2_ERR_LOG1_EN, DBI_ID_PAR, 5, 1)
 968    FIELD(NSU2_ERR_LOG1_EN, WR_WRAP_LEN, 4, 1)
 969    FIELD(NSU2_ERR_LOG1_EN, RD_WRAP_LEN, 3, 1)
 970    FIELD(NSU2_ERR_LOG1_EN, EX_SIZE_INVALID, 2, 1)
 971    FIELD(NSU2_ERR_LOG1_EN, SIZE_INVALID, 1, 1)
 972    FIELD(NSU2_ERR_LOG1_EN, UNALIGN_WRAP, 0, 1)
 973REG32(NSU2_ERR_STATUS, 0x648)
 974    FIELD(NSU2_ERR_STATUS, NOT_READY, 24, 1)
 975    FIELD(NSU2_ERR_STATUS, VC_TYP_MISSMATCH, 23, 1)
 976    FIELD(NSU2_ERR_STATUS, WR_DATA_POISON, 22, 1)
 977    FIELD(NSU2_ERR_STATUS, RD_HEADER_2ND_CE, 21, 1)
 978    FIELD(NSU2_ERR_STATUS, WR_DATA_2ND_CE, 20, 1)
 979    FIELD(NSU2_ERR_STATUS, WR_HEADER_2ND_CE, 19, 1)
 980    FIELD(NSU2_ERR_STATUS, RD_HEADER_CE, 18, 1)
 981    FIELD(NSU2_ERR_STATUS, WR_DATA_CE, 17, 1)
 982    FIELD(NSU2_ERR_STATUS, WR_HEADER_CE, 16, 1)
 983    FIELD(NSU2_ERR_STATUS, WR_DATA_UC, 15, 1)
 984    FIELD(NSU2_ERR_STATUS, RD_RESP_PAR, 14, 1)
 985    FIELD(NSU2_ERR_STATUS, EX_LEN, 13, 1)
 986    FIELD(NSU2_ERR_STATUS, ING_OF, 12, 1)
 987    FIELD(NSU2_ERR_STATUS, EGR_OF, 11, 1)
 988    FIELD(NSU2_ERR_STATUS, NUM_LEN, 10, 1)
 989    FIELD(NSU2_ERR_STATUS, DST_ID_MATCH, 9, 1)
 990    FIELD(NSU2_ERR_STATUS, UNMAP_VC, 8, 1)
 991    FIELD(NSU2_ERR_STATUS, RD_HEADER_UC, 7, 1)
 992    FIELD(NSU2_ERR_STATUS, WR_HEADER_UC, 6, 1)
 993    FIELD(NSU2_ERR_STATUS, DBI_ID_PAR, 5, 1)
 994    FIELD(NSU2_ERR_STATUS, WR_WRAP_LEN, 4, 1)
 995    FIELD(NSU2_ERR_STATUS, RD_WRAP_LEN, 3, 1)
 996    FIELD(NSU2_ERR_STATUS, EX_SIZE_INVALID, 2, 1)
 997    FIELD(NSU2_ERR_STATUS, SIZE_INVALID, 1, 1)
 998    FIELD(NSU2_ERR_STATUS, UNALIGN_WRAP, 0, 1)
 999REG32(NSU2_ERR_LOG0_0, 0x64c)
1000    FIELD(NSU2_ERR_LOG0_0, DST, 20, 12)
1001    FIELD(NSU2_ERR_LOG0_0, SRC, 8, 12)
1002    FIELD(NSU2_ERR_LOG0_0, TAG, 0, 8)
1003REG32(NSU2_ERR_LOG0_1, 0x650)
1004    FIELD(NSU2_ERR_LOG0_1, POISON, 31, 1)
1005    FIELD(NSU2_ERR_LOG0_1, VC, 22, 8)
1006    FIELD(NSU2_ERR_LOG0_1, LAST, 21, 1)
1007    FIELD(NSU2_ERR_LOG0_1, WSTRB, 5, 16)
1008    FIELD(NSU2_ERR_LOG0_1, DST_PAR, 4, 1)
1009    FIELD(NSU2_ERR_LOG0_1, PKT_TYPE, 0, 4)
1010REG32(NSU2_ERR_LOG0_2, 0x654)
1011    FIELD(NSU2_ERR_LOG0_2, AXBURST, 30, 2)
1012    FIELD(NSU2_ERR_LOG0_2, SMID, 20, 10)
1013    FIELD(NSU2_ERR_LOG0_2, AXLOCK, 19, 1)
1014    FIELD(NSU2_ERR_LOG0_2, AXSIZE, 16, 3)
1015    FIELD(NSU2_ERR_LOG0_2, AXLEN, 8, 8)
1016    FIELD(NSU2_ERR_LOG0_2, NPP_EBIT, 0, 8)
1017REG32(NSU2_ERR_LOG0_3, 0x658)
1018REG32(NSU2_ERR_LOG0_4, 0x65c)
1019    FIELD(NSU2_ERR_LOG0_4, ERR_REF_NUM, 16, 16)
1020    FIELD(NSU2_ERR_LOG0_4, ADDR_U, 0, 16)
1021REG32(NSU2_ERR_LOG1_0, 0x660)
1022    FIELD(NSU2_ERR_LOG1_0, DST, 20, 12)
1023    FIELD(NSU2_ERR_LOG1_0, SRC, 8, 12)
1024    FIELD(NSU2_ERR_LOG1_0, TAG, 0, 8)
1025REG32(NSU2_ERR_LOG1_1, 0x664)
1026    FIELD(NSU2_ERR_LOG1_1, POISON, 31, 1)
1027    FIELD(NSU2_ERR_LOG1_1, VC, 22, 8)
1028    FIELD(NSU2_ERR_LOG1_1, LAST, 21, 1)
1029    FIELD(NSU2_ERR_LOG1_1, WSTRB, 5, 16)
1030    FIELD(NSU2_ERR_LOG1_1, DST_PAR, 4, 1)
1031    FIELD(NSU2_ERR_LOG1_1, PKT_TYPE, 0, 4)
1032REG32(NSU2_ERR_LOG1_2, 0x668)
1033    FIELD(NSU2_ERR_LOG1_2, AXBURST, 30, 2)
1034    FIELD(NSU2_ERR_LOG1_2, SMID, 20, 10)
1035    FIELD(NSU2_ERR_LOG1_2, AXLOCK, 19, 1)
1036    FIELD(NSU2_ERR_LOG1_2, AXSIZE, 16, 3)
1037    FIELD(NSU2_ERR_LOG1_2, AXLEN, 8, 8)
1038    FIELD(NSU2_ERR_LOG1_2, NPP_EBIT, 0, 8)
1039REG32(NSU2_ERR_LOG1_3, 0x66c)
1040REG32(NSU2_ERR_LOG1_4, 0x670)
1041    FIELD(NSU2_ERR_LOG1_4, ERR_REF_NUM, 16, 16)
1042    FIELD(NSU2_ERR_LOG1_4, ADDR_U, 0, 16)
1043REG32(NSU3_ERR_LOG0_EN, 0x674)
1044    FIELD(NSU3_ERR_LOG0_EN, NOT_READY, 24, 1)
1045    FIELD(NSU3_ERR_LOG0_EN, VC_TYP_MISSMATCH, 23, 1)
1046    FIELD(NSU3_ERR_LOG0_EN, WR_DATA_POISON, 22, 1)
1047    FIELD(NSU3_ERR_LOG0_EN, RD_HEADER_2ND_CE, 21, 1)
1048    FIELD(NSU3_ERR_LOG0_EN, WR_DATA_2ND_CE, 20, 1)
1049    FIELD(NSU3_ERR_LOG0_EN, WR_HEADER_2ND_CE, 19, 1)
1050    FIELD(NSU3_ERR_LOG0_EN, RD_HEADER_CE, 18, 1)
1051    FIELD(NSU3_ERR_LOG0_EN, WR_DATA_CE, 17, 1)
1052    FIELD(NSU3_ERR_LOG0_EN, WR_HEADER_CE, 16, 1)
1053    FIELD(NSU3_ERR_LOG0_EN, WR_DATA_UC, 15, 1)
1054    FIELD(NSU3_ERR_LOG0_EN, RD_RESP_PAR, 14, 1)
1055    FIELD(NSU3_ERR_LOG0_EN, EX_LEN, 13, 1)
1056    FIELD(NSU3_ERR_LOG0_EN, ING_OF, 12, 1)
1057    FIELD(NSU3_ERR_LOG0_EN, EGR_OF, 11, 1)
1058    FIELD(NSU3_ERR_LOG0_EN, NUM_LEN, 10, 1)
1059    FIELD(NSU3_ERR_LOG0_EN, DST_ID_MATCH, 9, 1)
1060    FIELD(NSU3_ERR_LOG0_EN, UNMAP_VC, 8, 1)
1061    FIELD(NSU3_ERR_LOG0_EN, RD_HEADER_UC, 7, 1)
1062    FIELD(NSU3_ERR_LOG0_EN, WR_HEADER_UC, 6, 1)
1063    FIELD(NSU3_ERR_LOG0_EN, DBI_ID_PAR, 5, 1)
1064    FIELD(NSU3_ERR_LOG0_EN, WR_WRAP_LEN, 4, 1)
1065    FIELD(NSU3_ERR_LOG0_EN, RD_WRAP_LEN, 3, 1)
1066    FIELD(NSU3_ERR_LOG0_EN, EX_SIZE_INVALID, 2, 1)
1067    FIELD(NSU3_ERR_LOG0_EN, SIZE_INVALID, 1, 1)
1068    FIELD(NSU3_ERR_LOG0_EN, UNALIGN_WRAP, 0, 1)
1069REG32(NSU3_ERR_LOG1_EN, 0x678)
1070    FIELD(NSU3_ERR_LOG1_EN, NOT_READY, 24, 1)
1071    FIELD(NSU3_ERR_LOG1_EN, VC_TYP_MISSMATCH, 23, 1)
1072    FIELD(NSU3_ERR_LOG1_EN, WR_DATA_POISON, 22, 1)
1073    FIELD(NSU3_ERR_LOG1_EN, RD_HEADER_2ND_CE, 21, 1)
1074    FIELD(NSU3_ERR_LOG1_EN, WR_DATA_2ND_CE, 20, 1)
1075    FIELD(NSU3_ERR_LOG1_EN, WR_HEADER_2ND_CE, 19, 1)
1076    FIELD(NSU3_ERR_LOG1_EN, RD_HEADER_CE, 18, 1)
1077    FIELD(NSU3_ERR_LOG1_EN, WR_DATA_CE, 17, 1)
1078    FIELD(NSU3_ERR_LOG1_EN, WR_HEADER_CE, 16, 1)
1079    FIELD(NSU3_ERR_LOG1_EN, WR_DATA_UC, 15, 1)
1080    FIELD(NSU3_ERR_LOG1_EN, RD_RESP_PAR, 14, 1)
1081    FIELD(NSU3_ERR_LOG1_EN, EX_LEN, 13, 1)
1082    FIELD(NSU3_ERR_LOG1_EN, ING_OF, 12, 1)
1083    FIELD(NSU3_ERR_LOG1_EN, EGR_OF, 11, 1)
1084    FIELD(NSU3_ERR_LOG1_EN, NUM_LEN, 10, 1)
1085    FIELD(NSU3_ERR_LOG1_EN, DST_ID_MATCH, 9, 1)
1086    FIELD(NSU3_ERR_LOG1_EN, UNMAP_VC, 8, 1)
1087    FIELD(NSU3_ERR_LOG1_EN, RD_HEADER_UC, 7, 1)
1088    FIELD(NSU3_ERR_LOG1_EN, WR_HEADER_UC, 6, 1)
1089    FIELD(NSU3_ERR_LOG1_EN, DBI_ID_PAR, 5, 1)
1090    FIELD(NSU3_ERR_LOG1_EN, WR_WRAP_LEN, 4, 1)
1091    FIELD(NSU3_ERR_LOG1_EN, RD_WRAP_LEN, 3, 1)
1092    FIELD(NSU3_ERR_LOG1_EN, EX_SIZE_INVALID, 2, 1)
1093    FIELD(NSU3_ERR_LOG1_EN, SIZE_INVALID, 1, 1)
1094    FIELD(NSU3_ERR_LOG1_EN, UNALIGN_WRAP, 0, 1)
1095REG32(NSU3_ERR_STATUS, 0x67c)
1096    FIELD(NSU3_ERR_STATUS, NOT_READY, 24, 1)
1097    FIELD(NSU3_ERR_STATUS, VC_TYP_MISSMATCH, 23, 1)
1098    FIELD(NSU3_ERR_STATUS, WR_DATA_POISON, 22, 1)
1099    FIELD(NSU3_ERR_STATUS, RD_HEADER_2ND_CE, 21, 1)
1100    FIELD(NSU3_ERR_STATUS, WR_DATA_2ND_CE, 20, 1)
1101    FIELD(NSU3_ERR_STATUS, WR_HEADER_2ND_CE, 19, 1)
1102    FIELD(NSU3_ERR_STATUS, RD_HEADER_CE, 18, 1)
1103    FIELD(NSU3_ERR_STATUS, WR_DATA_CE, 17, 1)
1104    FIELD(NSU3_ERR_STATUS, WR_HEADER_CE, 16, 1)
1105    FIELD(NSU3_ERR_STATUS, WR_DATA_UC, 15, 1)
1106    FIELD(NSU3_ERR_STATUS, RD_RESP_PAR, 14, 1)
1107    FIELD(NSU3_ERR_STATUS, EX_LEN, 13, 1)
1108    FIELD(NSU3_ERR_STATUS, ING_OF, 12, 1)
1109    FIELD(NSU3_ERR_STATUS, EGR_OF, 11, 1)
1110    FIELD(NSU3_ERR_STATUS, NUM_LEN, 10, 1)
1111    FIELD(NSU3_ERR_STATUS, DST_ID_MATCH, 9, 1)
1112    FIELD(NSU3_ERR_STATUS, UNMAP_VC, 8, 1)
1113    FIELD(NSU3_ERR_STATUS, RD_HEADER_UC, 7, 1)
1114    FIELD(NSU3_ERR_STATUS, WR_HEADER_UC, 6, 1)
1115    FIELD(NSU3_ERR_STATUS, DBI_ID_PAR, 5, 1)
1116    FIELD(NSU3_ERR_STATUS, WR_WRAP_LEN, 4, 1)
1117    FIELD(NSU3_ERR_STATUS, RD_WRAP_LEN, 3, 1)
1118    FIELD(NSU3_ERR_STATUS, EX_SIZE_INVALID, 2, 1)
1119    FIELD(NSU3_ERR_STATUS, SIZE_INVALID, 1, 1)
1120    FIELD(NSU3_ERR_STATUS, UNALIGN_WRAP, 0, 1)
1121REG32(NSU3_ERR_LOG0_0, 0x680)
1122    FIELD(NSU3_ERR_LOG0_0, DST, 20, 12)
1123    FIELD(NSU3_ERR_LOG0_0, SRC, 8, 12)
1124    FIELD(NSU3_ERR_LOG0_0, TAG, 0, 8)
1125REG32(NSU3_ERR_LOG0_1, 0x684)
1126    FIELD(NSU3_ERR_LOG0_1, POISON, 31, 1)
1127    FIELD(NSU3_ERR_LOG0_1, VC, 22, 8)
1128    FIELD(NSU3_ERR_LOG0_1, LAST, 21, 1)
1129    FIELD(NSU3_ERR_LOG0_1, WSTRB, 5, 16)
1130    FIELD(NSU3_ERR_LOG0_1, DST_PAR, 4, 1)
1131    FIELD(NSU3_ERR_LOG0_1, PKT_TYPE, 0, 4)
1132REG32(NSU3_ERR_LOG0_2, 0x688)
1133    FIELD(NSU3_ERR_LOG0_2, AXBURST, 30, 2)
1134    FIELD(NSU3_ERR_LOG0_2, SMID, 20, 10)
1135    FIELD(NSU3_ERR_LOG0_2, AXLOCK, 19, 1)
1136    FIELD(NSU3_ERR_LOG0_2, AXSIZE, 16, 3)
1137    FIELD(NSU3_ERR_LOG0_2, AXLEN, 8, 8)
1138    FIELD(NSU3_ERR_LOG0_2, NPP_EBIT, 0, 8)
1139REG32(NSU3_ERR_LOG0_3, 0x68c)
1140REG32(NSU3_ERR_LOG0_4, 0x690)
1141    FIELD(NSU3_ERR_LOG0_4, ERR_REF_NUM, 16, 16)
1142    FIELD(NSU3_ERR_LOG0_4, ADDR_U, 0, 16)
1143REG32(NSU3_ERR_LOG1_0, 0x694)
1144    FIELD(NSU3_ERR_LOG1_0, DST, 20, 12)
1145    FIELD(NSU3_ERR_LOG1_0, SRC, 8, 12)
1146    FIELD(NSU3_ERR_LOG1_0, TAG, 0, 8)
1147REG32(NSU3_ERR_LOG1_1, 0x698)
1148    FIELD(NSU3_ERR_LOG1_1, POISON, 31, 1)
1149    FIELD(NSU3_ERR_LOG1_1, VC, 22, 8)
1150    FIELD(NSU3_ERR_LOG1_1, LAST, 21, 1)
1151    FIELD(NSU3_ERR_LOG1_1, WSTRB, 5, 16)
1152    FIELD(NSU3_ERR_LOG1_1, DST_PAR, 4, 1)
1153    FIELD(NSU3_ERR_LOG1_1, PKT_TYPE, 0, 4)
1154REG32(NSU3_ERR_LOG1_2, 0x69c)
1155    FIELD(NSU3_ERR_LOG1_2, AXBURST, 30, 2)
1156    FIELD(NSU3_ERR_LOG1_2, SMID, 20, 10)
1157    FIELD(NSU3_ERR_LOG1_2, AXLOCK, 19, 1)
1158    FIELD(NSU3_ERR_LOG1_2, AXSIZE, 16, 3)
1159    FIELD(NSU3_ERR_LOG1_2, AXLEN, 8, 8)
1160    FIELD(NSU3_ERR_LOG1_2, NPP_EBIT, 0, 8)
1161REG32(NSU3_ERR_LOG1_3, 0x6a0)
1162REG32(NSU3_ERR_LOG1_4, 0x6a4)
1163    FIELD(NSU3_ERR_LOG1_4, ERR_REF_NUM, 16, 16)
1164    FIELD(NSU3_ERR_LOG1_4, ADDR_U, 0, 16)
1165REG32(NSU0_ERR_CTRL, 0x6a8)
1166    FIELD(NSU0_ERR_CTRL, PERSISTENT, 22, 1)
1167    FIELD(NSU0_ERR_CTRL, R_DONE, 21, 1)
1168    FIELD(NSU0_ERR_CTRL, CW_DONE, 20, 1)
1169    FIELD(NSU0_ERR_CTRL, DW_DONE, 19, 1)
1170    FIELD(NSU0_ERR_CTRL, R_EN, 18, 1)
1171    FIELD(NSU0_ERR_CTRL, CW_EN, 17, 1)
1172    FIELD(NSU0_ERR_CTRL, DW_EN, 16, 1)
1173    FIELD(NSU0_ERR_CTRL, SEL, 14, 2)
1174    FIELD(NSU0_ERR_CTRL, FATAL_DROP_EN, 13, 1)
1175    FIELD(NSU0_ERR_CTRL, PAR_RESP_ERR_EN, 12, 1)
1176REG32(NSU1_ERR_CTRL, 0x6ac)
1177    FIELD(NSU1_ERR_CTRL, PERSISTENT, 22, 1)
1178    FIELD(NSU1_ERR_CTRL, R_DONE, 21, 1)
1179    FIELD(NSU1_ERR_CTRL, CW_DONE, 20, 1)
1180    FIELD(NSU1_ERR_CTRL, DW_DONE, 19, 1)
1181    FIELD(NSU1_ERR_CTRL, R_EN, 18, 1)
1182    FIELD(NSU1_ERR_CTRL, CW_EN, 17, 1)
1183    FIELD(NSU1_ERR_CTRL, DW_EN, 16, 1)
1184    FIELD(NSU1_ERR_CTRL, SEL, 14, 2)
1185    FIELD(NSU1_ERR_CTRL, FATAL_DROP_EN, 13, 1)
1186    FIELD(NSU1_ERR_CTRL, PAR_RESP_ERR_EN, 12, 1)
1187REG32(NSU2_ERR_CTRL, 0x6b0)
1188    FIELD(NSU2_ERR_CTRL, PERSISTENT, 22, 1)
1189    FIELD(NSU2_ERR_CTRL, R_DONE, 21, 1)
1190    FIELD(NSU2_ERR_CTRL, CW_DONE, 20, 1)
1191    FIELD(NSU2_ERR_CTRL, DW_DONE, 19, 1)
1192    FIELD(NSU2_ERR_CTRL, R_EN, 18, 1)
1193    FIELD(NSU2_ERR_CTRL, CW_EN, 17, 1)
1194    FIELD(NSU2_ERR_CTRL, DW_EN, 16, 1)
1195    FIELD(NSU2_ERR_CTRL, SEL, 14, 2)
1196    FIELD(NSU2_ERR_CTRL, FATAL_DROP_EN, 13, 1)
1197    FIELD(NSU2_ERR_CTRL, PAR_RESP_ERR_EN, 12, 1)
1198REG32(NSU3_ERR_CTRL, 0x6b4)
1199    FIELD(NSU3_ERR_CTRL, PERSISTENT, 22, 1)
1200    FIELD(NSU3_ERR_CTRL, R_DONE, 21, 1)
1201    FIELD(NSU3_ERR_CTRL, CW_DONE, 20, 1)
1202    FIELD(NSU3_ERR_CTRL, DW_DONE, 19, 1)
1203    FIELD(NSU3_ERR_CTRL, R_EN, 18, 1)
1204    FIELD(NSU3_ERR_CTRL, CW_EN, 17, 1)
1205    FIELD(NSU3_ERR_CTRL, DW_EN, 16, 1)
1206    FIELD(NSU3_ERR_CTRL, SEL, 14, 2)
1207    FIELD(NSU3_ERR_CTRL, FATAL_DROP_EN, 13, 1)
1208    FIELD(NSU3_ERR_CTRL, PAR_RESP_ERR_EN, 12, 1)
1209REG32(ECC_ERR_INJ_NSU0, 0x6b8)
1210    FIELD(ECC_ERR_INJ_NSU0, PERSISTENT, 24, 1)
1211    FIELD(ECC_ERR_INJ_NSU0, DST_PAR_DONE_WR, 23, 1)
1212    FIELD(ECC_ERR_INJ_NSU0, DST_PAR_EN_WR, 22, 1)
1213    FIELD(ECC_ERR_INJ_NSU0, DST_PAR_DONE_RD, 21, 1)
1214    FIELD(ECC_ERR_INJ_NSU0, DST_PAR_EN_RD, 20, 1)
1215    FIELD(ECC_ERR_INJ_NSU0, ECC_DONE_WR, 19, 1)
1216    FIELD(ECC_ERR_INJ_NSU0, ECC_EN_WR, 18, 1)
1217    FIELD(ECC_ERR_INJ_NSU0, ECC_DONE_RD, 17, 1)
1218    FIELD(ECC_ERR_INJ_NSU0, ECC_EN_RD, 16, 1)
1219    FIELD(ECC_ERR_INJ_NSU0, ECC_BIT_1, 8, 8)
1220    FIELD(ECC_ERR_INJ_NSU0, ECC_BIT_0, 0, 8)
1221REG32(ECC_ERR_INJ_NSU1, 0x6bc)
1222    FIELD(ECC_ERR_INJ_NSU1, PERSISTENT, 24, 1)
1223    FIELD(ECC_ERR_INJ_NSU1, DST_PAR_DONE_WR, 23, 1)
1224    FIELD(ECC_ERR_INJ_NSU1, DST_PAR_EN_WR, 22, 1)
1225    FIELD(ECC_ERR_INJ_NSU1, DST_PAR_DONE_RD, 21, 1)
1226    FIELD(ECC_ERR_INJ_NSU1, DST_PAR_EN_RD, 20, 1)
1227    FIELD(ECC_ERR_INJ_NSU1, ECC_DONE_WR, 19, 1)
1228    FIELD(ECC_ERR_INJ_NSU1, ECC_EN_WR, 18, 1)
1229    FIELD(ECC_ERR_INJ_NSU1, ECC_DONE_RD, 17, 1)
1230    FIELD(ECC_ERR_INJ_NSU1, ECC_EN_RD, 16, 1)
1231    FIELD(ECC_ERR_INJ_NSU1, ECC_BIT_1, 8, 8)
1232    FIELD(ECC_ERR_INJ_NSU1, ECC_BIT_0, 0, 8)
1233REG32(ECC_ERR_INJ_NSU2, 0x6c0)
1234    FIELD(ECC_ERR_INJ_NSU2, PERSISTENT, 24, 1)
1235    FIELD(ECC_ERR_INJ_NSU2, DST_PAR_DONE_WR, 23, 1)
1236    FIELD(ECC_ERR_INJ_NSU2, DST_PAR_EN_WR, 22, 1)
1237    FIELD(ECC_ERR_INJ_NSU2, DST_PAR_DONE_RD, 21, 1)
1238    FIELD(ECC_ERR_INJ_NSU2, DST_PAR_EN_RD, 20, 1)
1239    FIELD(ECC_ERR_INJ_NSU2, ECC_DONE_WR, 19, 1)
1240    FIELD(ECC_ERR_INJ_NSU2, ECC_EN_WR, 18, 1)
1241    FIELD(ECC_ERR_INJ_NSU2, ECC_DONE_RD, 17, 1)
1242    FIELD(ECC_ERR_INJ_NSU2, ECC_EN_RD, 16, 1)
1243    FIELD(ECC_ERR_INJ_NSU2, ECC_BIT_1, 8, 8)
1244    FIELD(ECC_ERR_INJ_NSU2, ECC_BIT_0, 0, 8)
1245REG32(ECC_ERR_INJ_NSU3, 0x6c4)
1246    FIELD(ECC_ERR_INJ_NSU3, PERSISTENT, 24, 1)
1247    FIELD(ECC_ERR_INJ_NSU3, DST_PAR_DONE_WR, 23, 1)
1248    FIELD(ECC_ERR_INJ_NSU3, DST_PAR_EN_WR, 22, 1)
1249    FIELD(ECC_ERR_INJ_NSU3, DST_PAR_DONE_RD, 21, 1)
1250    FIELD(ECC_ERR_INJ_NSU3, DST_PAR_EN_RD, 20, 1)
1251    FIELD(ECC_ERR_INJ_NSU3, ECC_DONE_WR, 19, 1)
1252    FIELD(ECC_ERR_INJ_NSU3, ECC_EN_WR, 18, 1)
1253    FIELD(ECC_ERR_INJ_NSU3, ECC_DONE_RD, 17, 1)
1254    FIELD(ECC_ERR_INJ_NSU3, ECC_EN_RD, 16, 1)
1255    FIELD(ECC_ERR_INJ_NSU3, ECC_BIT_1, 8, 8)
1256    FIELD(ECC_ERR_INJ_NSU3, ECC_BIT_0, 0, 8)
1257REG32(ILA_MUX_N0, 0x6c8)
1258REG32(ILA_MUX_N1, 0x6cc)
1259REG32(ILA_MUX_N2, 0x6d0)
1260REG32(ILA_MUX_N3, 0x6d4)
1261REG32(ILA_MUX_N4, 0x6d8)
1262REG32(ILA_MUX_N5, 0x6dc)
1263REG32(ILA_MUX_N6, 0x6e0)
1264REG32(ILA_MUX_N7, 0x6e4)
1265REG32(ILA_MUX_N8, 0x6e8)
1266REG32(ILA_MUX_N9, 0x6ec)
1267REG32(ILA_MUX_N10, 0x6f0)
1268REG32(ILA_MUX_N11, 0x6f4)
1269REG32(ILA_MUX_N12, 0x6f8)
1270REG32(ILA_MUX_N13, 0x6fc)
1271REG32(ILA_MUX_N14, 0x700)
1272REG32(ILA_MUX_N15, 0x704)
1273REG32(ILA_MUX_N16, 0x708)
1274REG32(ILA_MUX_N17, 0x70c)
1275REG32(NA_ERR_CTRL_0, 0x710)
1276    FIELD(NA_ERR_CTRL_0, DROP_PAR_ERR_EN, 28, 1)
1277    FIELD(NA_ERR_CTRL_0, PERSISTENT, 27, 1)
1278    FIELD(NA_ERR_CTRL_0, SEL, 24, 3)
1279    FIELD(NA_ERR_CTRL_0, P3_BER_PAR_DONE, 23, 1)
1280    FIELD(NA_ERR_CTRL_0, P2_BER_PAR_DONE, 22, 1)
1281    FIELD(NA_ERR_CTRL_0, P1_BER_PAR_DONE, 21, 1)
1282    FIELD(NA_ERR_CTRL_0, P0_BER_PAR_DONE, 20, 1)
1283    FIELD(NA_ERR_CTRL_0, P3_ISR_PAR_DONE, 19, 1)
1284    FIELD(NA_ERR_CTRL_0, P2_ISR_PAR_DONE, 18, 1)
1285    FIELD(NA_ERR_CTRL_0, P1_ISR_PAR_DONE, 17, 1)
1286    FIELD(NA_ERR_CTRL_0, P0_ISR_PAR_DONE, 16, 1)
1287    FIELD(NA_ERR_CTRL_0, P3_LLR_PAR_DONE, 15, 1)
1288    FIELD(NA_ERR_CTRL_0, P2_LLR_PAR_DONE, 14, 1)
1289    FIELD(NA_ERR_CTRL_0, P1_LLR_PAR_DONE, 13, 1)
1290    FIELD(NA_ERR_CTRL_0, P0_LLR_PAR_DONE, 12, 1)
1291    FIELD(NA_ERR_CTRL_0, INJECT_BER_PAR, 8, 4)
1292    FIELD(NA_ERR_CTRL_0, INJECT_ISR_PAR, 4, 4)
1293    FIELD(NA_ERR_CTRL_0, INJECT_LLR_PAR, 0, 4)
1294REG32(NA_ERR_CTRL_1, 0x714)
1295    FIELD(NA_ERR_CTRL_1, P3_BEW_D_PAR_DONE, 31, 1)
1296    FIELD(NA_ERR_CTRL_1, P2_BEW_D_PAR_DONE, 30, 1)
1297    FIELD(NA_ERR_CTRL_1, P1_BEW_D_PAR_DONE, 29, 1)
1298    FIELD(NA_ERR_CTRL_1, P0_BEW_D_PAR_DONE, 28, 1)
1299    FIELD(NA_ERR_CTRL_1, P3_BEW_H_PAR_DONE, 27, 1)
1300    FIELD(NA_ERR_CTRL_1, P2_BEW_H_PAR_DONE, 26, 1)
1301    FIELD(NA_ERR_CTRL_1, P1_BEW_H_PAR_DONE, 25, 1)
1302    FIELD(NA_ERR_CTRL_1, P0_BEW_H_PAR_DONE, 24, 1)
1303    FIELD(NA_ERR_CTRL_1, P3_ISW_D_PAR_DONE, 23, 1)
1304    FIELD(NA_ERR_CTRL_1, P2_ISW_D_PAR_DONE, 22, 1)
1305    FIELD(NA_ERR_CTRL_1, P1_ISW_D_PAR_DONE, 21, 1)
1306    FIELD(NA_ERR_CTRL_1, P0_ISW_D_PAR_DONE, 20, 1)
1307    FIELD(NA_ERR_CTRL_1, P3_ISW_H_PAR_DONE, 19, 1)
1308    FIELD(NA_ERR_CTRL_1, P2_ISW_H_PAR_DONE, 18, 1)
1309    FIELD(NA_ERR_CTRL_1, P1_ISW_H_PAR_DONE, 17, 1)
1310    FIELD(NA_ERR_CTRL_1, P0_ISW_H_PAR_DONE, 16, 1)
1311    FIELD(NA_ERR_CTRL_1, INJECT_BEW_D_PAR, 12, 4)
1312    FIELD(NA_ERR_CTRL_1, INJECT_BEW_H_PAR, 8, 4)
1313    FIELD(NA_ERR_CTRL_1, INJECT_ISW_D_PAR, 4, 4)
1314    FIELD(NA_ERR_CTRL_1, INJECT_ISW_H_PAR, 0, 4)
1315REG32(NA_ERR_CTRL_3, 0x718)
1316    FIELD(NA_ERR_CTRL_3, DC_W_PAR_DONE, 3, 1)
1317    FIELD(NA_ERR_CTRL_3, DC_R_PAR_DONE, 2, 1)
1318    FIELD(NA_ERR_CTRL_3, INJECT_DC_W_PAR, 1, 1)
1319    FIELD(NA_ERR_CTRL_3, INJECT_DC_R_PAR, 0, 1)
1320REG32(REG_ADEC12, 0x71c)
1321    FIELD(REG_ADEC12, GROUP_MASK, 30, 2)
1322    FIELD(REG_ADEC12, BANK_MASK, 28, 2)
1323    FIELD(REG_ADEC12, COL_MASK, 18, 10)
1324    FIELD(REG_ADEC12, ROW_MASK, 0, 18)
1325REG32(REG_ADEC13, 0x720)
1326    FIELD(REG_ADEC13, CH_MASK, 5, 1)
1327    FIELD(REG_ADEC13, LRANK_MASK, 2, 3)
1328    FIELD(REG_ADEC13, RANK_MASK, 0, 2)
1329REG32(REG_ADEC14, 0x724)
1330    FIELD(REG_ADEC14, GROUP_MATCH, 30, 2)
1331    FIELD(REG_ADEC14, BANK_MATCH, 28, 2)
1332    FIELD(REG_ADEC14, COL_MATCH, 18, 10)
1333    FIELD(REG_ADEC14, ROW_MATCH, 0, 18)
1334REG32(REG_ADEC15, 0x728)
1335    FIELD(REG_ADEC15, MATCH_EN, 8, 1)
1336    FIELD(REG_ADEC15, DONE, 7, 1)
1337    FIELD(REG_ADEC15, PERSISTENT, 6, 1)
1338    FIELD(REG_ADEC15, CH_MATCH, 5, 1)
1339    FIELD(REG_ADEC15, LRANK_MATCH, 2, 3)
1340    FIELD(REG_ADEC15, RANK_MATCH, 0, 2)
1341REG32(ADD_PAR_ERR_INJ_ADEC, 0x72c)
1342    FIELD(ADD_PAR_ERR_INJ_ADEC, ADEC_ADDR_PAR_LOG_EN1, 17, 1)
1343    FIELD(ADD_PAR_ERR_INJ_ADEC, ADEC_ADDR_PAR_CHK_EN1, 16, 1)
1344    FIELD(ADD_PAR_ERR_INJ_ADEC, ADEC_ADDR_PAR_LOG_EN0, 15, 1)
1345    FIELD(ADD_PAR_ERR_INJ_ADEC, ADEC_ADDR_PAR_CHK_EN0, 14, 1)
1346    FIELD(ADD_PAR_ERR_INJ_ADEC, DRAM_RANK1, 12, 2)
1347    FIELD(ADD_PAR_ERR_INJ_ADEC, ERR_INJ_DONE1, 11, 1)
1348    FIELD(ADD_PAR_ERR_INJ_ADEC, ADDRESS_TYPE1, 9, 2)
1349    FIELD(ADD_PAR_ERR_INJ_ADEC, ERR_INJ_PERSISTENT1, 8, 1)
1350    FIELD(ADD_PAR_ERR_INJ_ADEC, ERR_INJ_EN1, 7, 1)
1351    FIELD(ADD_PAR_ERR_INJ_ADEC, DRAM_RANK0, 5, 2)
1352    FIELD(ADD_PAR_ERR_INJ_ADEC, ERR_INJ_DONE0, 4, 1)
1353    FIELD(ADD_PAR_ERR_INJ_ADEC, ADDRESS_TYPE0, 2, 2)
1354    FIELD(ADD_PAR_ERR_INJ_ADEC, ERR_INJ_PERSISTENT0, 1, 1)
1355    FIELD(ADD_PAR_ERR_INJ_ADEC, ERR_INJ_EN0, 0, 1)
1356REG32(ADEC_ADD_PAR_ERR_LOG0_0, 0x730)
1357REG32(ADEC_ADD_PAR_ERR_LOG1_0, 0x734)
1358REG32(ADEC_ADD_PAR_ERR_LOG0_1, 0x738)
1359REG32(ADEC_ADD_PAR_ERR_LOG1_1, 0x73c)
1360REG32(REG_DBG_MUX_SEL, 0x740)
1361    FIELD(REG_DBG_MUX_SEL, TRIG_DONE, 9, 1)
1362    FIELD(REG_DBG_MUX_SEL, DAT_DISC, 8, 1)
1363    FIELD(REG_DBG_MUX_SEL, POST_TRIG_CNT, 5, 3)
1364    FIELD(REG_DBG_MUX_SEL, CLK_DIV, 4, 1)
1365    FIELD(REG_DBG_MUX_SEL, TRIG_EN, 3, 1)
1366    FIELD(REG_DBG_MUX_SEL, DBG_EN, 2, 1)
1367    FIELD(REG_DBG_MUX_SEL, IN_SEL, 1, 1)
1368    FIELD(REG_DBG_MUX_SEL, OUT_SEL, 0, 1)
1369REG32(REG_DBG_DATA_SEL, 0x744)
1370    FIELD(REG_DBG_DATA_SEL, DDRMC, 0, 8)
1371REG32(REG_DBG_TRIG_MVAL_L, 0x748)
1372REG32(REG_DBG_TRIG_MVAL_U, 0x74c)
1373REG32(REG_DBG_TRIG_MASK_L, 0x750)
1374REG32(REG_DBG_TRIG_MASK_U, 0x754)
1375REG32(DDRMC_CLK_MUX, 0x758)
1376    FIELD(DDRMC_CLK_MUX, SEL, 0, 1)
1377REG32(XMPU_CTRL, 0x10000)
1378    FIELD(XMPU_CTRL, ALIGNCFG, 3, 1)
1379    FIELD(XMPU_CTRL, HIDEALLOWED, 2, 1)
1380    FIELD(XMPU_CTRL, DEFWRALLOWED, 1, 1)
1381    FIELD(XMPU_CTRL, DEFRDALLOWED, 0, 1)
1382REG32(XMPU_ERR_STATUS, 0x10004)
1383    FIELD(XMPU_ERR_STATUS, REGIONVIO, 4, 5)
1384    FIELD(XMPU_ERR_STATUS, SECURITYVIO, 3, 1)
1385    FIELD(XMPU_ERR_STATUS, WRPERMVIO, 2, 1)
1386    FIELD(XMPU_ERR_STATUS, RDPERMVIO, 1, 1)
1387REG32(XMPU_ERR_ADD_LO0, 0x10008)
1388REG32(XMPU_ERR_ADD_HI0, 0x1000c)
1389    FIELD(XMPU_ERR_ADD_HI0, XMPU_ERR_ADD_HI, 0, 16)
1390REG32(XMPU_ERR_AXI_ID, 0x10010)
1391    FIELD(XMPU_ERR_AXI_ID, XMPU_ERR_SMID, 0, 10)
1392REG32(XMPU_LOCK, 0x10020)
1393    FIELD(XMPU_LOCK, PROT, 0, 1)
1394REG32(XMPU_START_LO0, 0x10100)
1395    FIELD(XMPU_START_LO0, ADDR_LO, 12, 20)
1396REG32(XMPU_START_HI0, 0x10104)
1397    FIELD(XMPU_START_HI0, ADDR_HI, 0, 16)
1398REG32(XMPU_END_LO0, 0x10108)
1399    FIELD(XMPU_END_LO0, ADDR_LO, 12, 20)
1400REG32(XMPU_END_HI0, 0x1010c)
1401    FIELD(XMPU_END_HI0, ADDR_HI, 0, 16)
1402REG32(XMPU_MASTER0, 0x10110)
1403    FIELD(XMPU_MASTER0, MASK, 16, 10)
1404    FIELD(XMPU_MASTER0, ID, 0, 10)
1405REG32(XMPU_CONFIG0, 0x10114)
1406    FIELD(XMPU_CONFIG0, NSCHECKTYPE, 4, 1)
1407    FIELD(XMPU_CONFIG0, REGIONNS, 3, 1)
1408    FIELD(XMPU_CONFIG0, WRALLOWED, 2, 1)
1409    FIELD(XMPU_CONFIG0, RDALLOWED, 1, 1)
1410    FIELD(XMPU_CONFIG0, ENABLE, 0, 1)
1411REG32(XMPU_START_LO1, 0x10118)
1412    FIELD(XMPU_START_LO1, ADDR_LO, 12, 20)
1413REG32(XMPU_START_HI1, 0x1011c)
1414    FIELD(XMPU_START_HI1, ADDR_HI, 0, 16)
1415REG32(XMPU_END_LO1, 0x10120)
1416    FIELD(XMPU_END_LO1, ADDR_LO, 12, 20)
1417REG32(XMPU_END_HI1, 0x10124)
1418    FIELD(XMPU_END_HI1, ADDR_HI, 0, 16)
1419REG32(XMPU_MASTER1, 0x10128)
1420    FIELD(XMPU_MASTER1, MASK, 16, 10)
1421    FIELD(XMPU_MASTER1, ID, 0, 10)
1422REG32(XMPU_CONFIG1, 0x1012c)
1423    FIELD(XMPU_CONFIG1, NSCHECKTYPE, 4, 1)
1424    FIELD(XMPU_CONFIG1, REGIONNS, 3, 1)
1425    FIELD(XMPU_CONFIG1, WRALLOWED, 2, 1)
1426    FIELD(XMPU_CONFIG1, RDALLOWED, 1, 1)
1427    FIELD(XMPU_CONFIG1, ENABLE, 0, 1)
1428REG32(XMPU_START_LO2, 0x10130)
1429    FIELD(XMPU_START_LO2, ADDR_LO, 12, 20)
1430REG32(XMPU_START_HI2, 0x10134)
1431    FIELD(XMPU_START_HI2, ADDR_HI, 0, 16)
1432REG32(XMPU_END_LO2, 0x10138)
1433    FIELD(XMPU_END_LO2, ADDR_LO, 12, 20)
1434REG32(XMPU_END_HI2, 0x1013c)
1435    FIELD(XMPU_END_HI2, ADDR_HI, 0, 16)
1436REG32(XMPU_MASTER2, 0x10140)
1437    FIELD(XMPU_MASTER2, MASK, 16, 10)
1438    FIELD(XMPU_MASTER2, ID, 0, 10)
1439REG32(XMPU_CONFIG2, 0x10144)
1440    FIELD(XMPU_CONFIG2, NSCHECKTYPE, 4, 1)
1441    FIELD(XMPU_CONFIG2, REGIONNS, 3, 1)
1442    FIELD(XMPU_CONFIG2, WRALLOWED, 2, 1)
1443    FIELD(XMPU_CONFIG2, RDALLOWED, 1, 1)
1444    FIELD(XMPU_CONFIG2, ENABLE, 0, 1)
1445REG32(XMPU_START_LO3, 0x10148)
1446    FIELD(XMPU_START_LO3, ADDR_LO, 12, 20)
1447REG32(XMPU_START_HI3, 0x1014c)
1448    FIELD(XMPU_START_HI3, ADDR_HI, 0, 16)
1449REG32(XMPU_END_LO3, 0x10150)
1450    FIELD(XMPU_END_LO3, ADDR_LO, 12, 20)
1451REG32(XMPU_END_HI3, 0x10154)
1452    FIELD(XMPU_END_HI3, ADDR_HI, 0, 16)
1453REG32(XMPU_MASTER3, 0x10158)
1454    FIELD(XMPU_MASTER3, MASK, 16, 10)
1455    FIELD(XMPU_MASTER3, ID, 0, 10)
1456REG32(XMPU_CONFIG3, 0x1015c)
1457    FIELD(XMPU_CONFIG3, NSCHECKTYPE, 4, 1)
1458    FIELD(XMPU_CONFIG3, REGIONNS, 3, 1)
1459    FIELD(XMPU_CONFIG3, WRALLOWED, 2, 1)
1460    FIELD(XMPU_CONFIG3, RDALLOWED, 1, 1)
1461    FIELD(XMPU_CONFIG3, ENABLE, 0, 1)
1462REG32(XMPU_START_LO4, 0x10160)
1463    FIELD(XMPU_START_LO4, ADDR_LO, 12, 20)
1464REG32(XMPU_START_HI4, 0x10164)
1465    FIELD(XMPU_START_HI4, ADDR_HI, 0, 16)
1466REG32(XMPU_END_LO4, 0x10168)
1467    FIELD(XMPU_END_LO4, ADDR_LO, 12, 20)
1468REG32(XMPU_END_HI4, 0x1016c)
1469    FIELD(XMPU_END_HI4, ADDR_HI, 0, 16)
1470REG32(XMPU_MASTER4, 0x10170)
1471    FIELD(XMPU_MASTER4, MASK, 16, 10)
1472    FIELD(XMPU_MASTER4, ID, 0, 10)
1473REG32(XMPU_CONFIG4, 0x10174)
1474    FIELD(XMPU_CONFIG4, NSCHECKTYPE, 4, 1)
1475    FIELD(XMPU_CONFIG4, REGIONNS, 3, 1)
1476    FIELD(XMPU_CONFIG4, WRALLOWED, 2, 1)
1477    FIELD(XMPU_CONFIG4, RDALLOWED, 1, 1)
1478    FIELD(XMPU_CONFIG4, ENABLE, 0, 1)
1479REG32(XMPU_START_LO5, 0x10178)
1480    FIELD(XMPU_START_LO5, ADDR_LO, 12, 20)
1481REG32(XMPU_START_HI5, 0x1017c)
1482    FIELD(XMPU_START_HI5, ADDR_HI, 0, 16)
1483REG32(XMPU_END_LO5, 0x10180)
1484    FIELD(XMPU_END_LO5, ADDR_LO, 12, 20)
1485REG32(XMPU_END_HI5, 0x10184)
1486    FIELD(XMPU_END_HI5, ADDR_HI, 0, 16)
1487REG32(XMPU_MASTER5, 0x10188)
1488    FIELD(XMPU_MASTER5, MASK, 16, 10)
1489    FIELD(XMPU_MASTER5, ID, 0, 10)
1490REG32(XMPU_CONFIG5, 0x1018c)
1491    FIELD(XMPU_CONFIG5, NSCHECKTYPE, 4, 1)
1492    FIELD(XMPU_CONFIG5, REGIONNS, 3, 1)
1493    FIELD(XMPU_CONFIG5, WRALLOWED, 2, 1)
1494    FIELD(XMPU_CONFIG5, RDALLOWED, 1, 1)
1495    FIELD(XMPU_CONFIG5, ENABLE, 0, 1)
1496REG32(XMPU_START_LO6, 0x10190)
1497    FIELD(XMPU_START_LO6, ADDR_LO, 12, 20)
1498REG32(XMPU_START_HI6, 0x10194)
1499    FIELD(XMPU_START_HI6, ADDR_HI, 0, 16)
1500REG32(XMPU_END_LO6, 0x10198)
1501    FIELD(XMPU_END_LO6, ADDR_LO, 12, 20)
1502REG32(XMPU_END_HI6, 0x1019c)
1503    FIELD(XMPU_END_HI6, ADDR_HI, 0, 16)
1504REG32(XMPU_MASTER6, 0x101a0)
1505    FIELD(XMPU_MASTER6, MASK, 16, 10)
1506    FIELD(XMPU_MASTER6, ID, 0, 10)
1507REG32(XMPU_CONFIG6, 0x101a4)
1508    FIELD(XMPU_CONFIG6, NSCHECKTYPE, 4, 1)
1509    FIELD(XMPU_CONFIG6, REGIONNS, 3, 1)
1510    FIELD(XMPU_CONFIG6, WRALLOWED, 2, 1)
1511    FIELD(XMPU_CONFIG6, RDALLOWED, 1, 1)
1512    FIELD(XMPU_CONFIG6, ENABLE, 0, 1)
1513REG32(XMPU_START_LO7, 0x101a8)
1514    FIELD(XMPU_START_LO7, ADDR_LO, 12, 20)
1515REG32(XMPU_START_HI7, 0x101ac)
1516    FIELD(XMPU_START_HI7, ADDR_HI, 0, 16)
1517REG32(XMPU_END_LO7, 0x101b0)
1518    FIELD(XMPU_END_LO7, ADDR_LO, 12, 20)
1519REG32(XMPU_END_HI7, 0x101b4)
1520    FIELD(XMPU_END_HI7, ADDR_HI, 0, 16)
1521REG32(XMPU_MASTER7, 0x101b8)
1522    FIELD(XMPU_MASTER7, MASK, 16, 10)
1523    FIELD(XMPU_MASTER7, ID, 0, 10)
1524REG32(XMPU_CONFIG7, 0x101bc)
1525    FIELD(XMPU_CONFIG7, NSCHECKTYPE, 4, 1)
1526    FIELD(XMPU_CONFIG7, REGIONNS, 3, 1)
1527    FIELD(XMPU_CONFIG7, WRALLOWED, 2, 1)
1528    FIELD(XMPU_CONFIG7, RDALLOWED, 1, 1)
1529    FIELD(XMPU_CONFIG7, ENABLE, 0, 1)
1530REG32(XMPU_START_LO8, 0x101c0)
1531    FIELD(XMPU_START_LO8, ADDR_LO, 12, 20)
1532REG32(XMPU_START_HI8, 0x101c4)
1533    FIELD(XMPU_START_HI8, ADDR_HI, 0, 16)
1534REG32(XMPU_END_LO8, 0x101c8)
1535    FIELD(XMPU_END_LO8, ADDR_LO, 12, 20)
1536REG32(XMPU_END_HI8, 0x101cc)
1537    FIELD(XMPU_END_HI8, ADDR_HI, 0, 16)
1538REG32(XMPU_MASTER8, 0x101d0)
1539    FIELD(XMPU_MASTER8, MASK, 16, 10)
1540    FIELD(XMPU_MASTER8, ID, 0, 10)
1541REG32(XMPU_CONFIG8, 0x101d4)
1542    FIELD(XMPU_CONFIG8, NSCHECKTYPE, 4, 1)
1543    FIELD(XMPU_CONFIG8, REGIONNS, 3, 1)
1544    FIELD(XMPU_CONFIG8, WRALLOWED, 2, 1)
1545    FIELD(XMPU_CONFIG8, RDALLOWED, 1, 1)
1546    FIELD(XMPU_CONFIG8, ENABLE, 0, 1)
1547REG32(XMPU_START_LO9, 0x101d8)
1548    FIELD(XMPU_START_LO9, ADDR_LO, 12, 20)
1549REG32(XMPU_START_HI9, 0x101dc)
1550    FIELD(XMPU_START_HI9, ADDR_HI, 0, 16)
1551REG32(XMPU_END_LO9, 0x101e0)
1552    FIELD(XMPU_END_LO9, ADDR_LO, 12, 20)
1553REG32(XMPU_END_HI9, 0x101e4)
1554    FIELD(XMPU_END_HI9, ADDR_HI, 0, 16)
1555REG32(XMPU_MASTER9, 0x101e8)
1556    FIELD(XMPU_MASTER9, MASK, 16, 10)
1557    FIELD(XMPU_MASTER9, ID, 0, 10)
1558REG32(XMPU_CONFIG9, 0x101ec)
1559    FIELD(XMPU_CONFIG9, NSCHECKTYPE, 4, 1)
1560    FIELD(XMPU_CONFIG9, REGIONNS, 3, 1)
1561    FIELD(XMPU_CONFIG9, WRALLOWED, 2, 1)
1562    FIELD(XMPU_CONFIG9, RDALLOWED, 1, 1)
1563    FIELD(XMPU_CONFIG9, ENABLE, 0, 1)
1564REG32(XMPU_START_LO10, 0x101f0)
1565    FIELD(XMPU_START_LO10, ADDR_LO, 12, 20)
1566REG32(XMPU_START_HI10, 0x101f4)
1567    FIELD(XMPU_START_HI10, ADDR_HI, 0, 16)
1568REG32(XMPU_END_LO10, 0x101f8)
1569    FIELD(XMPU_END_LO10, ADDR_LO, 12, 20)
1570REG32(XMPU_END_HI10, 0x101fc)
1571    FIELD(XMPU_END_HI10, ADDR_HI, 0, 16)
1572REG32(XMPU_MASTER10, 0x10200)
1573    FIELD(XMPU_MASTER10, MASK, 16, 10)
1574    FIELD(XMPU_MASTER10, ID, 0, 10)
1575REG32(XMPU_CONFIG10, 0x10204)
1576    FIELD(XMPU_CONFIG10, NSCHECKTYPE, 4, 1)
1577    FIELD(XMPU_CONFIG10, REGIONNS, 3, 1)
1578    FIELD(XMPU_CONFIG10, WRALLOWED, 2, 1)
1579    FIELD(XMPU_CONFIG10, RDALLOWED, 1, 1)
1580    FIELD(XMPU_CONFIG10, ENABLE, 0, 1)
1581REG32(XMPU_START_LO11, 0x10208)
1582    FIELD(XMPU_START_LO11, ADDR_LO, 12, 20)
1583REG32(XMPU_START_HI11, 0x1020c)
1584    FIELD(XMPU_START_HI11, ADDR_HI, 0, 16)
1585REG32(XMPU_END_LO11, 0x10210)
1586    FIELD(XMPU_END_LO11, ADDR_LO, 12, 20)
1587REG32(XMPU_END_HI11, 0x10214)
1588    FIELD(XMPU_END_HI11, ADDR_HI, 0, 16)
1589REG32(XMPU_MASTER11, 0x10218)
1590    FIELD(XMPU_MASTER11, MASK, 16, 10)
1591    FIELD(XMPU_MASTER11, ID, 0, 10)
1592REG32(XMPU_CONFIG11, 0x1021c)
1593    FIELD(XMPU_CONFIG11, NSCHECKTYPE, 4, 1)
1594    FIELD(XMPU_CONFIG11, REGIONNS, 3, 1)
1595    FIELD(XMPU_CONFIG11, WRALLOWED, 2, 1)
1596    FIELD(XMPU_CONFIG11, RDALLOWED, 1, 1)
1597    FIELD(XMPU_CONFIG11, ENABLE, 0, 1)
1598REG32(XMPU_START_LO12, 0x10220)
1599    FIELD(XMPU_START_LO12, ADDR_LO, 12, 20)
1600REG32(XMPU_START_HI12, 0x10224)
1601    FIELD(XMPU_START_HI12, ADDR_HI, 0, 16)
1602REG32(XMPU_END_LO12, 0x10228)
1603    FIELD(XMPU_END_LO12, ADDR_LO, 12, 20)
1604REG32(XMPU_END_HI12, 0x1022c)
1605    FIELD(XMPU_END_HI12, ADDR_HI, 0, 16)
1606REG32(XMPU_MASTER12, 0x10230)
1607    FIELD(XMPU_MASTER12, MASK, 16, 10)
1608    FIELD(XMPU_MASTER12, ID, 0, 10)
1609REG32(XMPU_CONFIG12, 0x10234)
1610    FIELD(XMPU_CONFIG12, NSCHECKTYPE, 4, 1)
1611    FIELD(XMPU_CONFIG12, REGIONNS, 3, 1)
1612    FIELD(XMPU_CONFIG12, WRALLOWED, 2, 1)
1613    FIELD(XMPU_CONFIG12, RDALLOWED, 1, 1)
1614    FIELD(XMPU_CONFIG12, ENABLE, 0, 1)
1615REG32(XMPU_START_LO13, 0x10238)
1616    FIELD(XMPU_START_LO13, ADDR_LO, 12, 20)
1617REG32(XMPU_START_HI13, 0x1023c)
1618    FIELD(XMPU_START_HI13, ADDR_HI, 0, 16)
1619REG32(XMPU_END_LO13, 0x10240)
1620    FIELD(XMPU_END_LO13, ADDR_LO, 12, 20)
1621REG32(XMPU_END_HI13, 0x10244)
1622    FIELD(XMPU_END_HI13, ADDR_HI, 0, 16)
1623REG32(XMPU_MASTER13, 0x10248)
1624    FIELD(XMPU_MASTER13, MASK, 16, 10)
1625    FIELD(XMPU_MASTER13, ID, 0, 10)
1626REG32(XMPU_CONFIG13, 0x1024c)
1627    FIELD(XMPU_CONFIG13, NSCHECKTYPE, 4, 1)
1628    FIELD(XMPU_CONFIG13, REGIONNS, 3, 1)
1629    FIELD(XMPU_CONFIG13, WRALLOWED, 2, 1)
1630    FIELD(XMPU_CONFIG13, RDALLOWED, 1, 1)
1631    FIELD(XMPU_CONFIG13, ENABLE, 0, 1)
1632REG32(XMPU_START_LO14, 0x10250)
1633    FIELD(XMPU_START_LO14, ADDR_LO, 12, 20)
1634REG32(XMPU_START_HI14, 0x10254)
1635    FIELD(XMPU_START_HI14, ADDR_HI, 0, 16)
1636REG32(XMPU_END_LO14, 0x10258)
1637    FIELD(XMPU_END_LO14, ADDR_LO, 12, 20)
1638REG32(XMPU_END_HI14, 0x1025c)
1639    FIELD(XMPU_END_HI14, ADDR_HI, 0, 16)
1640REG32(XMPU_MASTER14, 0x10260)
1641    FIELD(XMPU_MASTER14, MASK, 16, 10)
1642    FIELD(XMPU_MASTER14, ID, 0, 10)
1643REG32(XMPU_CONFIG14, 0x10264)
1644    FIELD(XMPU_CONFIG14, NSCHECKTYPE, 4, 1)
1645    FIELD(XMPU_CONFIG14, REGIONNS, 3, 1)
1646    FIELD(XMPU_CONFIG14, WRALLOWED, 2, 1)
1647    FIELD(XMPU_CONFIG14, RDALLOWED, 1, 1)
1648    FIELD(XMPU_CONFIG14, ENABLE, 0, 1)
1649REG32(XMPU_START_LO15, 0x10268)
1650    FIELD(XMPU_START_LO15, ADDR_LO, 12, 20)
1651REG32(XMPU_START_HI15, 0x1026c)
1652    FIELD(XMPU_START_HI15, ADDR_HI, 0, 16)
1653REG32(XMPU_END_LO15, 0x10270)
1654    FIELD(XMPU_END_LO15, ADDR_LO, 12, 20)
1655REG32(XMPU_END_HI15, 0x10274)
1656    FIELD(XMPU_END_HI15, ADDR_HI, 0, 16)
1657REG32(XMPU_MASTER15, 0x10278)
1658    FIELD(XMPU_MASTER15, MASK, 16, 10)
1659    FIELD(XMPU_MASTER15, ID, 0, 10)
1660REG32(XMPU_CONFIG15, 0x1027c)
1661    FIELD(XMPU_CONFIG15, NSCHECKTYPE, 4, 1)
1662    FIELD(XMPU_CONFIG15, REGIONNS, 3, 1)
1663    FIELD(XMPU_CONFIG15, WRALLOWED, 2, 1)
1664    FIELD(XMPU_CONFIG15, RDALLOWED, 1, 1)
1665    FIELD(XMPU_CONFIG15, ENABLE, 0, 1)
1666
1667#define DDRMC_NOC_R_MAX (R_XMPU_CONFIG15 + 1)
1668#define LOCK_VAL 0xF9E8D7C6
1669
1670typedef struct DDRMC_NOC {
1671    SysBusDevice parent_obj;
1672    MemoryRegion iomem;
1673
1674    uint32_t regs[DDRMC_NOC_R_MAX];
1675    RegisterInfo regs_info[DDRMC_NOC_R_MAX];
1676} DDRMC_NOC;
1677
1678static void ddrmc_noc_lock_postw(RegisterInfo *reg, uint64_t val64)
1679{
1680    DDRMC_NOC *s = XILINX_DDRMC_NOC(reg->opaque);
1681    uint32_t val = val64;
1682    bool locked;
1683
1684    locked = ARRAY_FIELD_EX32(s->regs, PCSR_LOCK, STATE);
1685    if (locked && val == LOCK_VAL) {
1686        locked = false;
1687    } else {
1688        locked |= FIELD_EX32(val, PCSR_LOCK, STATE);
1689    }
1690    ARRAY_FIELD_DP32(s->regs, PCSR_LOCK, STATE, locked);
1691}
1692
1693static const RegisterAccessInfo ddrmc_noc_regs_info[] = {
1694    {   .name = "PCSR_LOCK",  .addr = A_PCSR_LOCK,
1695        .reset = 0x1,
1696        .rsvd = 0xfffffffe,
1697        .post_write = ddrmc_noc_lock_postw,
1698    },{ .name = "REG_NSU_0_ING",  .addr = A_REG_NSU_0_ING,
1699        .reset = 0x6432101,
1700        .rsvd = 0xf888888c,
1701        .ro = 0x88888c,
1702    },{ .name = "REG_NSU_0_EGR",  .addr = A_REG_NSU_0_EGR,
1703        .reset = 0x643210,
1704        .rsvd = 0xff888888,
1705        .ro = 0x88888,
1706    },{ .name = "REG_NSU_1_ING",  .addr = A_REG_NSU_1_ING,
1707        .reset = 0x6432101,
1708        .rsvd = 0xf888888c,
1709        .ro = 0x88888c,
1710    },{ .name = "REG_NSU_1_EGR",  .addr = A_REG_NSU_1_EGR,
1711        .reset = 0x643210,
1712        .rsvd = 0xff888888,
1713        .ro = 0x88888,
1714    },{ .name = "REG_NSU_2_ING",  .addr = A_REG_NSU_2_ING,
1715        .reset = 0x6432101,
1716        .rsvd = 0xf888888c,
1717        .ro = 0x88888c,
1718    },{ .name = "REG_NSU_2_EGR",  .addr = A_REG_NSU_2_EGR,
1719        .reset = 0x643210,
1720        .rsvd = 0xff888888,
1721        .ro = 0x88888,
1722    },{ .name = "REG_NSU_3_ING",  .addr = A_REG_NSU_3_ING,
1723        .reset = 0x6432101,
1724        .rsvd = 0xf888888c,
1725        .ro = 0x88888c,
1726    },{ .name = "REG_NSU_3_EGR",  .addr = A_REG_NSU_3_EGR,
1727        .reset = 0x643210,
1728        .rsvd = 0xff888888,
1729        .ro = 0x88888,
1730    },{ .name = "DC_CMD_CREDITS",  .addr = A_DC_CMD_CREDITS,
1731        .reset = 0x2a8,
1732        .rsvd = 0xfffff000,
1733    },{ .name = "REG_ADEC0",  .addr = A_REG_ADEC0,
1734        .rsvd = 0xfff00000,
1735    },{ .name = "REG_ADEC1",  .addr = A_REG_ADEC1,
1736        .rsvd = 0xfff00000,
1737    },{ .name = "REG_ADEC2",  .addr = A_REG_ADEC2,
1738        .reset = 0x100000,
1739        .rsvd = 0xffe00000,
1740    },{ .name = "REG_ADEC3",  .addr = A_REG_ADEC3,
1741        .rsvd = 0xfff00000,
1742    },{ .name = "REG_ADEC4",  .addr = A_REG_ADEC4,
1743        .rsvd = 0xc0000000,
1744    },{ .name = "REG_ADEC5",  .addr = A_REG_ADEC5,
1745        .rsvd = 0xc0000000,
1746    },{ .name = "REG_ADEC6",  .addr = A_REG_ADEC6,
1747        .rsvd = 0xc0000000,
1748    },{ .name = "REG_ADEC7",  .addr = A_REG_ADEC7,
1749        .rsvd = 0xc0000000,
1750    },{ .name = "REG_ADEC8",  .addr = A_REG_ADEC8,
1751        .rsvd = 0xc0000000,
1752    },{ .name = "REG_ADEC9",  .addr = A_REG_ADEC9,
1753        .rsvd = 0xc0000000,
1754    },{ .name = "REG_ADEC10",  .addr = A_REG_ADEC10,
1755        .rsvd = 0xc0000000,
1756    },{ .name = "REG_ADEC11",  .addr = A_REG_ADEC11,
1757        .rsvd = 0xff000000,
1758    },{ .name = "REG_NSU0_PORT",  .addr = A_REG_NSU0_PORT,
1759        .rsvd = 0xfffff000,
1760    },{ .name = "REG_NSU1_PORT",  .addr = A_REG_NSU1_PORT,
1761        .rsvd = 0xfffff000,
1762    },{ .name = "REG_NSU2_PORT",  .addr = A_REG_NSU2_PORT,
1763        .rsvd = 0xfffff000,
1764    },{ .name = "REG_NSU3_PORT",  .addr = A_REG_NSU3_PORT,
1765        .rsvd = 0xfffff000,
1766    },{ .name = "REG_NSU_0_R_EGR",  .addr = A_REG_NSU_0_R_EGR,
1767        .reset = 0x1010100,
1768        .rsvd = 0xf000000f,
1769        .ro = 0xf,
1770    },{ .name = "REG_NSU_0_W_EGR",  .addr = A_REG_NSU_0_W_EGR,
1771        .reset = 0x10100,
1772        .rsvd = 0xfff0000f,
1773        .ro = 0xf,
1774    },{ .name = "REG_NSU_1_R_EGR",  .addr = A_REG_NSU_1_R_EGR,
1775        .reset = 0x1010100,
1776        .rsvd = 0xf000000f,
1777        .ro = 0xf,
1778    },{ .name = "REG_NSU_1_W_EGR",  .addr = A_REG_NSU_1_W_EGR,
1779        .reset = 0x10100,
1780        .rsvd = 0xfff0000f,
1781        .ro = 0xf,
1782    },{ .name = "REG_NSU_2_R_EGR",  .addr = A_REG_NSU_2_R_EGR,
1783        .reset = 0x1010100,
1784        .rsvd = 0xf000000f,
1785        .ro = 0xf,
1786    },{ .name = "REG_NSU_2_W_EGR",  .addr = A_REG_NSU_2_W_EGR,
1787        .reset = 0x10100,
1788        .rsvd = 0xfff0000f,
1789        .ro = 0xf,
1790    },{ .name = "REG_NSU_3_R_EGR",  .addr = A_REG_NSU_3_R_EGR,
1791        .reset = 0x1010100,
1792        .rsvd = 0xf000000f,
1793        .ro = 0xf,
1794    },{ .name = "REG_NSU_3_W_EGR",  .addr = A_REG_NSU_3_W_EGR,
1795        .reset = 0x10100,
1796        .rsvd = 0xfff0000f,
1797        .ro = 0xf,
1798    },{ .name = "REG_RD_DRR_TKN_P0",  .addr = A_REG_RD_DRR_TKN_P0,
1799        .reset = 0x40404,
1800        .rsvd = 0xff000000,
1801    },{ .name = "REG_WR_DRR_TKN_P0",  .addr = A_REG_WR_DRR_TKN_P0,
1802        .reset = 0x404,
1803        .rsvd = 0xffff0000,
1804    },{ .name = "REG_RD_DRR_TKN_P1",  .addr = A_REG_RD_DRR_TKN_P1,
1805        .reset = 0x40404,
1806        .rsvd = 0xff000000,
1807    },{ .name = "REG_WR_DRR_TKN_P1",  .addr = A_REG_WR_DRR_TKN_P1,
1808        .reset = 0x404,
1809        .rsvd = 0xffff0000,
1810    },{ .name = "REG_RD_DRR_TKN_P2",  .addr = A_REG_RD_DRR_TKN_P2,
1811        .reset = 0x40404,
1812        .rsvd = 0xff000000,
1813    },{ .name = "REG_WR_DRR_TKN_P2",  .addr = A_REG_WR_DRR_TKN_P2,
1814        .reset = 0x404,
1815        .rsvd = 0xffff0000,
1816    },{ .name = "REG_RD_DRR_TKN_P3",  .addr = A_REG_RD_DRR_TKN_P3,
1817        .reset = 0x40404,
1818        .rsvd = 0xff000000,
1819    },{ .name = "REG_WR_DRR_TKN_P3",  .addr = A_REG_WR_DRR_TKN_P3,
1820        .reset = 0x404,
1821        .rsvd = 0xffff0000,
1822    },{ .name = "REG_QOS0",  .addr = A_REG_QOS0,
1823        .reset = 0xf00f0,
1824        .rsvd = 0xf000000e,
1825        .ro = 0xe,
1826    },{ .name = "REG_QOS1",  .addr = A_REG_QOS1,
1827        .reset = 0x200804,
1828        .rsvd = 0xc0000000,
1829    },{ .name = "REG_QOS2",  .addr = A_REG_QOS2,
1830        .reset = 0x802,
1831        .rsvd = 0xfff00000,
1832    },{ .name = "REG_QOS_TIMEOUT0",  .addr = A_REG_QOS_TIMEOUT0,
1833        .reset = 0x1084210,
1834        .rsvd = 0xfe000000,
1835    },{ .name = "REG_QOS_TIMEOUT1",  .addr = A_REG_QOS_TIMEOUT1,
1836        .reset = 0xffffffff,
1837    },{ .name = "REG_QOS_TIMEOUT2",  .addr = A_REG_QOS_TIMEOUT2,
1838        .reset = 0xff,
1839        .rsvd = 0xffffff00,
1840    },{ .name = "REG_RATE_CTRL_SCALE",  .addr = A_REG_RATE_CTRL_SCALE,
1841        .rsvd = 0xfe000000,
1842    },{ .name = "REG_P0_LLR_RATE_CTRL",  .addr = A_REG_P0_LLR_RATE_CTRL,
1843        .reset = 0x3ffc0f,
1844        .rsvd = 0xffc00000,
1845    },{ .name = "REG_P0_ISR_RATE_CTRL",  .addr = A_REG_P0_ISR_RATE_CTRL,
1846        .reset = 0x3ffc0f,
1847        .rsvd = 0xffc00000,
1848    },{ .name = "REG_P0_BER_RATE_CTRL",  .addr = A_REG_P0_BER_RATE_CTRL,
1849        .reset = 0x3ffc0f,
1850        .rsvd = 0xffc00000,
1851    },{ .name = "REG_P0_ISW_RATE_CTRL",  .addr = A_REG_P0_ISW_RATE_CTRL,
1852        .reset = 0x3ffc0f,
1853        .rsvd = 0xffc00000,
1854    },{ .name = "REG_P0_BEW_RATE_CTRL",  .addr = A_REG_P0_BEW_RATE_CTRL,
1855        .reset = 0x3ffc0f,
1856        .rsvd = 0xffc00000,
1857    },{ .name = "REG_P1_LLR_RATE_CTRL",  .addr = A_REG_P1_LLR_RATE_CTRL,
1858        .reset = 0x3ffc0f,
1859        .rsvd = 0xffc00000,
1860    },{ .name = "REG_P1_ISR_RATE_CTRL",  .addr = A_REG_P1_ISR_RATE_CTRL,
1861        .reset = 0x3ffc0f,
1862        .rsvd = 0xffc00000,
1863    },{ .name = "REG_P1_BER_RATE_CTRL",  .addr = A_REG_P1_BER_RATE_CTRL,
1864        .reset = 0x3ffc0f,
1865        .rsvd = 0xffc00000,
1866    },{ .name = "REG_P1_ISW_RATE_CTRL",  .addr = A_REG_P1_ISW_RATE_CTRL,
1867        .reset = 0x3ffc0f,
1868        .rsvd = 0xffc00000,
1869    },{ .name = "REG_P1_BEW_RATE_CTRL",  .addr = A_REG_P1_BEW_RATE_CTRL,
1870        .reset = 0x3ffc0f,
1871        .rsvd = 0xffc00000,
1872    },{ .name = "REG_P2_LLR_RATE_CTRL",  .addr = A_REG_P2_LLR_RATE_CTRL,
1873        .reset = 0x3ffc0f,
1874        .rsvd = 0xffc00000,
1875    },{ .name = "REG_P2_ISR_RATE_CTRL",  .addr = A_REG_P2_ISR_RATE_CTRL,
1876        .reset = 0x3ffc0f,
1877        .rsvd = 0xffc00000,
1878    },{ .name = "REG_P2_BER_RATE_CTRL",  .addr = A_REG_P2_BER_RATE_CTRL,
1879        .reset = 0x3ffc0f,
1880        .rsvd = 0xffc00000,
1881    },{ .name = "REG_P2_ISW_RATE_CTRL",  .addr = A_REG_P2_ISW_RATE_CTRL,
1882        .reset = 0x3ffc0f,
1883        .rsvd = 0xffc00000,
1884    },{ .name = "REG_P2_BEW_RATE_CTRL",  .addr = A_REG_P2_BEW_RATE_CTRL,
1885        .reset = 0x3ffc0f,
1886        .rsvd = 0xffc00000,
1887    },{ .name = "REG_P3_LLR_RATE_CTRL",  .addr = A_REG_P3_LLR_RATE_CTRL,
1888        .reset = 0x3ffc0f,
1889        .rsvd = 0xffc00000,
1890    },{ .name = "REG_P3_ISR_RATE_CTRL",  .addr = A_REG_P3_ISR_RATE_CTRL,
1891        .reset = 0x3ffc0f,
1892        .rsvd = 0xffc00000,
1893    },{ .name = "REG_P3_BER_RATE_CTRL",  .addr = A_REG_P3_BER_RATE_CTRL,
1894        .reset = 0x3ffc0f,
1895        .rsvd = 0xffc00000,
1896    },{ .name = "REG_P3_ISW_RATE_CTRL",  .addr = A_REG_P3_ISW_RATE_CTRL,
1897        .reset = 0x3ffc0f,
1898        .rsvd = 0xffc00000,
1899    },{ .name = "REG_P3_BEW_RATE_CTRL",  .addr = A_REG_P3_BEW_RATE_CTRL,
1900        .reset = 0x3ffc0f,
1901        .rsvd = 0xffc00000,
1902    },{ .name = "REG_CMDQ_CTRL0",  .addr = A_REG_CMDQ_CTRL0,
1903        .reset = 0x1084210,
1904        .rsvd = 0xfe000000,
1905    },{ .name = "REG_CMDQ_CTRL1",  .addr = A_REG_CMDQ_CTRL1,
1906        .reset = 0x1084210,
1907        .rsvd = 0xfe000000,
1908    },{ .name = "REG_CMDQ_LLR_RATE_CTRL",  .addr = A_REG_CMDQ_LLR_RATE_CTRL,
1909        .reset = 0x3ffc0f,
1910        .rsvd = 0xffc00000,
1911    },{ .name = "REG_CMDQ_ISR_RATE_CTRL",  .addr = A_REG_CMDQ_ISR_RATE_CTRL,
1912        .reset = 0x3ffc0f,
1913        .rsvd = 0xffc00000,
1914    },{ .name = "REG_CMDQ_BER_RATE_CTRL",  .addr = A_REG_CMDQ_BER_RATE_CTRL,
1915        .reset = 0x3ffc0f,
1916        .rsvd = 0xffc00000,
1917    },{ .name = "REG_CMDQ_ISW_RATE_CTRL",  .addr = A_REG_CMDQ_ISW_RATE_CTRL,
1918        .reset = 0x3ffc0f,
1919        .rsvd = 0xffc00000,
1920    },{ .name = "REG_CMDQ_BEW_RATE_CTRL",  .addr = A_REG_CMDQ_BEW_RATE_CTRL,
1921        .reset = 0x3ffc0f,
1922        .rsvd = 0xffc00000,
1923    },{ .name = "REG_QOS_RATE_CTRL_SCALE",  .addr = A_REG_QOS_RATE_CTRL_SCALE,
1924        .rsvd = 0xfe000000,
1925    },{ .name = "EXMON_CLR_EXE",  .addr = A_EXMON_CLR_EXE,
1926        .reset = 0x100,
1927        .rsvd = 0xfffffe00,
1928    },{ .name = "UB_CLK_MUX",  .addr = A_UB_CLK_MUX,
1929        .rsvd = 0xfffffffc,
1930    },{ .name = "PERF_MON_TIMEBASE_SCALE",  .addr = A_PERF_MON_TIMEBASE_SCALE,
1931        .reset = 0xbdef7,
1932        .rsvd = 0xfff00000,
1933    },{ .name = "NSU0_PERF_MON_CTL_0_0",  .addr = A_NSU0_PERF_MON_CTL_0_0,
1934        .rsvd = 0xfffffffc,
1935    },{ .name = "NSU0_PERF_MON_CTL_0_1",  .addr = A_NSU0_PERF_MON_CTL_0_1,
1936        .rsvd = 0xffffff00,
1937    },{ .name = "NSU0_PERF_FILTER_0_0",  .addr = A_NSU0_PERF_FILTER_0_0,
1938        .rsvd = 0xc0000000,
1939    },{ .name = "NSU0_PERF_FILTER_0_1",  .addr = A_NSU0_PERF_FILTER_0_1,
1940        .rsvd = 0xfffff000,
1941    },{ .name = "NSU0_PERF_FILTER_EN_0",  .addr = A_NSU0_PERF_FILTER_EN_0,
1942        .rsvd = 0xffffffc0,
1943    },{ .name = "NSU0_PERF_MON_0_0",  .addr = A_NSU0_PERF_MON_0_0,
1944        .ro = 0xffffffff,
1945    },{ .name = "NSU0_PERF_MON_0_1",  .addr = A_NSU0_PERF_MON_0_1,
1946        .ro = 0xffffffff,
1947    },{ .name = "NSU0_PERF_MON_0_2",  .addr = A_NSU0_PERF_MON_0_2,
1948        .ro = 0xffffffff,
1949    },{ .name = "NSU0_PERF_MON_CTL_1_0",  .addr = A_NSU0_PERF_MON_CTL_1_0,
1950        .rsvd = 0xfffffffc,
1951    },{ .name = "NSU0_PERF_MON_CTL_1_1",  .addr = A_NSU0_PERF_MON_CTL_1_1,
1952        .rsvd = 0xffffff00,
1953    },{ .name = "NSU0_PERF_FILTER_1_0",  .addr = A_NSU0_PERF_FILTER_1_0,
1954        .rsvd = 0xc0000000,
1955    },{ .name = "NSU0_PERF_FILTER_1_1",  .addr = A_NSU0_PERF_FILTER_1_1,
1956        .rsvd = 0xfffff000,
1957    },{ .name = "NSU0_PERF_FILTER_EN_1",  .addr = A_NSU0_PERF_FILTER_EN_1,
1958        .rsvd = 0xffffffc0,
1959    },{ .name = "NSU0_PERF_MON_1_0",  .addr = A_NSU0_PERF_MON_1_0,
1960        .ro = 0xffffffff,
1961    },{ .name = "NSU0_PERF_MON_1_1",  .addr = A_NSU0_PERF_MON_1_1,
1962        .ro = 0xffffffff,
1963    },{ .name = "NSU0_PERF_MON_1_2",  .addr = A_NSU0_PERF_MON_1_2,
1964        .ro = 0xffffffff,
1965    },{ .name = "NSU1_PERF_MON_CTL_0_0",  .addr = A_NSU1_PERF_MON_CTL_0_0,
1966        .rsvd = 0xfffffffc,
1967    },{ .name = "NSU1_PERF_MON_CTL_0_1",  .addr = A_NSU1_PERF_MON_CTL_0_1,
1968        .rsvd = 0xffffff00,
1969    },{ .name = "NSU1_PERF_FILTER_0_0",  .addr = A_NSU1_PERF_FILTER_0_0,
1970        .rsvd = 0xc0000000,
1971    },{ .name = "NSU1_PERF_FILTER_0_1",  .addr = A_NSU1_PERF_FILTER_0_1,
1972        .rsvd = 0xfffff000,
1973    },{ .name = "NSU1_PERF_FILTER_EN_0",  .addr = A_NSU1_PERF_FILTER_EN_0,
1974        .rsvd = 0xffffffc0,
1975    },{ .name = "NSU1_PERF_MON_0_0",  .addr = A_NSU1_PERF_MON_0_0,
1976        .ro = 0xffffffff,
1977    },{ .name = "NSU1_PERF_MON_0_1",  .addr = A_NSU1_PERF_MON_0_1,
1978        .ro = 0xffffffff,
1979    },{ .name = "NSU1_PERF_MON_0_2",  .addr = A_NSU1_PERF_MON_0_2,
1980        .ro = 0xffffffff,
1981    },{ .name = "NSU1_PERF_MON_CTL_1_0",  .addr = A_NSU1_PERF_MON_CTL_1_0,
1982        .rsvd = 0xfffffffc,
1983    },{ .name = "NSU1_PERF_MON_CTL_1_1",  .addr = A_NSU1_PERF_MON_CTL_1_1,
1984        .rsvd = 0xffffff00,
1985    },{ .name = "NSU1_PERF_FILTER_1_0",  .addr = A_NSU1_PERF_FILTER_1_0,
1986        .rsvd = 0xc0000000,
1987    },{ .name = "NSU1_PERF_FILTER_1_1",  .addr = A_NSU1_PERF_FILTER_1_1,
1988        .rsvd = 0xfffff000,
1989    },{ .name = "NSU1_PERF_FILTER_EN_1",  .addr = A_NSU1_PERF_FILTER_EN_1,
1990        .rsvd = 0xffffffc0,
1991    },{ .name = "NSU1_PERF_MON_1_0",  .addr = A_NSU1_PERF_MON_1_0,
1992        .ro = 0xffffffff,
1993    },{ .name = "NSU1_PERF_MON_1_1",  .addr = A_NSU1_PERF_MON_1_1,
1994        .ro = 0xffffffff,
1995    },{ .name = "NSU1_PERF_MON_1_2",  .addr = A_NSU1_PERF_MON_1_2,
1996        .ro = 0xffffffff,
1997    },{ .name = "NSU2_PERF_MON_CTL_0_0",  .addr = A_NSU2_PERF_MON_CTL_0_0,
1998        .rsvd = 0xfffffffc,
1999    },{ .name = "NSU2_PERF_MON_CTL_0_1",  .addr = A_NSU2_PERF_MON_CTL_0_1,
2000        .rsvd = 0xffffff00,
2001    },{ .name = "NSU2_PERF_FILTER_0_0",  .addr = A_NSU2_PERF_FILTER_0_0,
2002        .rsvd = 0xc0000000,
2003    },{ .name = "NSU2_PERF_FILTER_0_1",  .addr = A_NSU2_PERF_FILTER_0_1,
2004        .rsvd = 0xfffff000,
2005    },{ .name = "NSU2_PERF_FILTER_EN_0",  .addr = A_NSU2_PERF_FILTER_EN_0,
2006        .rsvd = 0xffffffc0,
2007    },{ .name = "NSU2_PERF_MON_0_0",  .addr = A_NSU2_PERF_MON_0_0,
2008        .ro = 0xffffffff,
2009    },{ .name = "NSU2_PERF_MON_0_1",  .addr = A_NSU2_PERF_MON_0_1,
2010        .ro = 0xffffffff,
2011    },{ .name = "NSU2_PERF_MON_0_2",  .addr = A_NSU2_PERF_MON_0_2,
2012        .ro = 0xffffffff,
2013    },{ .name = "NSU2_PERF_MON_CTL_1_0",  .addr = A_NSU2_PERF_MON_CTL_1_0,
2014        .rsvd = 0xfffffffc,
2015    },{ .name = "NSU2_PERF_MON_CTL_1_1",  .addr = A_NSU2_PERF_MON_CTL_1_1,
2016        .rsvd = 0xffffff00,
2017    },{ .name = "NSU2_PERF_FILTER_1_0",  .addr = A_NSU2_PERF_FILTER_1_0,
2018        .rsvd = 0xc0000000,
2019    },{ .name = "NSU2_PERF_FILTER_1_1",  .addr = A_NSU2_PERF_FILTER_1_1,
2020        .rsvd = 0xfffff000,
2021    },{ .name = "NSU2_PERF_FILTER_EN_1",  .addr = A_NSU2_PERF_FILTER_EN_1,
2022        .rsvd = 0xffffffc0,
2023    },{ .name = "NSU2_PERF_MON_1_0",  .addr = A_NSU2_PERF_MON_1_0,
2024        .ro = 0xffffffff,
2025    },{ .name = "NSU2_PERF_MON_1_1",  .addr = A_NSU2_PERF_MON_1_1,
2026        .ro = 0xffffffff,
2027    },{ .name = "NSU2_PERF_MON_1_2",  .addr = A_NSU2_PERF_MON_1_2,
2028        .ro = 0xffffffff,
2029    },{ .name = "NSU3_PERF_MON_CTL_0_0",  .addr = A_NSU3_PERF_MON_CTL_0_0,
2030        .rsvd = 0xfffffffc,
2031    },{ .name = "NSU3_PERF_MON_CTL_0_1",  .addr = A_NSU3_PERF_MON_CTL_0_1,
2032        .rsvd = 0xffffff00,
2033    },{ .name = "NSU3_PERF_FILTER_0_0",  .addr = A_NSU3_PERF_FILTER_0_0,
2034        .rsvd = 0xc0000000,
2035    },{ .name = "NSU3_PERF_FILTER_0_1",  .addr = A_NSU3_PERF_FILTER_0_1,
2036        .rsvd = 0xfffff000,
2037    },{ .name = "NSU3_PERF_FILTER_EN_0",  .addr = A_NSU3_PERF_FILTER_EN_0,
2038        .rsvd = 0xffffffc0,
2039    },{ .name = "NSU3_PERF_MON_0_0",  .addr = A_NSU3_PERF_MON_0_0,
2040        .ro = 0xffffffff,
2041    },{ .name = "NSU3_PERF_MON_0_1",  .addr = A_NSU3_PERF_MON_0_1,
2042        .ro = 0xffffffff,
2043    },{ .name = "NSU3_PERF_MON_0_2",  .addr = A_NSU3_PERF_MON_0_2,
2044        .ro = 0xffffffff,
2045    },{ .name = "NSU3_PERF_MON_CTL_1_0",  .addr = A_NSU3_PERF_MON_CTL_1_0,
2046        .rsvd = 0xfffffffc,
2047    },{ .name = "NSU3_PERF_MON_CTL_1_1",  .addr = A_NSU3_PERF_MON_CTL_1_1,
2048        .rsvd = 0xffffff00,
2049    },{ .name = "NSU3_PERF_FILTER_1_0",  .addr = A_NSU3_PERF_FILTER_1_0,
2050        .rsvd = 0xc0000000,
2051    },{ .name = "NSU3_PERF_FILTER_1_1",  .addr = A_NSU3_PERF_FILTER_1_1,
2052        .rsvd = 0xfffff000,
2053    },{ .name = "NSU3_PERF_FILTER_EN_1",  .addr = A_NSU3_PERF_FILTER_EN_1,
2054        .rsvd = 0xffffffc0,
2055    },{ .name = "NSU3_PERF_MON_1_0",  .addr = A_NSU3_PERF_MON_1_0,
2056        .ro = 0xffffffff,
2057    },{ .name = "NSU3_PERF_MON_1_1",  .addr = A_NSU3_PERF_MON_1_1,
2058        .ro = 0xffffffff,
2059    },{ .name = "NSU3_PERF_MON_1_2",  .addr = A_NSU3_PERF_MON_1_2,
2060        .ro = 0xffffffff,
2061    },{ .name = "NSU0_ERR_LOG0_EN",  .addr = A_NSU0_ERR_LOG0_EN,
2062        .reset = 0x1fff,
2063        .rsvd = 0xfe000000,
2064    },{ .name = "NSU0_ERR_LOG1_EN",  .addr = A_NSU0_ERR_LOG1_EN,
2065        .reset = 0x107e000,
2066        .rsvd = 0xfe000000,
2067    },{ .name = "NSU0_ERR_STATUS",  .addr = A_NSU0_ERR_STATUS,
2068        .rsvd = 0xfe000000,
2069        .w1c = 0x1ffffff,
2070    },{ .name = "NSU0_ERR_LOG0_0",  .addr = A_NSU0_ERR_LOG0_0,
2071        .ro = 0xffffffff,
2072    },{ .name = "NSU0_ERR_LOG0_1",  .addr = A_NSU0_ERR_LOG0_1,
2073        .rsvd = 0x40000000,
2074        .ro = 0xffffffff,
2075    },{ .name = "NSU0_ERR_LOG0_2",  .addr = A_NSU0_ERR_LOG0_2,
2076        .ro = 0xffffffff,
2077    },{ .name = "NSU0_ERR_LOG0_3",  .addr = A_NSU0_ERR_LOG0_3,
2078        .ro = 0xffffffff,
2079    },{ .name = "NSU0_ERR_LOG0_4",  .addr = A_NSU0_ERR_LOG0_4,
2080        .ro = 0xffffffff,
2081    },{ .name = "NSU0_ERR_LOG1_0",  .addr = A_NSU0_ERR_LOG1_0,
2082        .ro = 0xffffffff,
2083    },{ .name = "NSU0_ERR_LOG1_1",  .addr = A_NSU0_ERR_LOG1_1,
2084        .rsvd = 0x40000000,
2085        .ro = 0xffffffff,
2086    },{ .name = "NSU0_ERR_LOG1_2",  .addr = A_NSU0_ERR_LOG1_2,
2087        .ro = 0xffffffff,
2088    },{ .name = "NSU0_ERR_LOG1_3",  .addr = A_NSU0_ERR_LOG1_3,
2089        .ro = 0xffffffff,
2090    },{ .name = "NSU0_ERR_LOG1_4",  .addr = A_NSU0_ERR_LOG1_4,
2091        .ro = 0xffffffff,
2092    },{ .name = "NSU1_ERR_LOG0_EN",  .addr = A_NSU1_ERR_LOG0_EN,
2093        .reset = 0x1fff,
2094        .rsvd = 0xfe000000,
2095    },{ .name = "NSU1_ERR_LOG1_EN",  .addr = A_NSU1_ERR_LOG1_EN,
2096        .reset = 0x107e000,
2097        .rsvd = 0xfe000000,
2098    },{ .name = "NSU1_ERR_STATUS",  .addr = A_NSU1_ERR_STATUS,
2099        .rsvd = 0xfe000000,
2100        .w1c = 0x1ffffff,
2101    },{ .name = "NSU1_ERR_LOG0_0",  .addr = A_NSU1_ERR_LOG0_0,
2102        .ro = 0xffffffff,
2103    },{ .name = "NSU1_ERR_LOG0_1",  .addr = A_NSU1_ERR_LOG0_1,
2104        .rsvd = 0x40000000,
2105        .ro = 0xffffffff,
2106    },{ .name = "NSU1_ERR_LOG0_2",  .addr = A_NSU1_ERR_LOG0_2,
2107        .ro = 0xffffffff,
2108    },{ .name = "NSU1_ERR_LOG0_3",  .addr = A_NSU1_ERR_LOG0_3,
2109        .ro = 0xffffffff,
2110    },{ .name = "NSU1_ERR_LOG0_4",  .addr = A_NSU1_ERR_LOG0_4,
2111        .ro = 0xffffffff,
2112    },{ .name = "NSU1_ERR_LOG1_0",  .addr = A_NSU1_ERR_LOG1_0,
2113        .ro = 0xffffffff,
2114    },{ .name = "NSU1_ERR_LOG1_1",  .addr = A_NSU1_ERR_LOG1_1,
2115        .rsvd = 0x40000000,
2116        .ro = 0xffffffff,
2117    },{ .name = "NSU1_ERR_LOG1_2",  .addr = A_NSU1_ERR_LOG1_2,
2118        .ro = 0xffffffff,
2119    },{ .name = "NSU1_ERR_LOG1_3",  .addr = A_NSU1_ERR_LOG1_3,
2120        .ro = 0xffffffff,
2121    },{ .name = "NSU1_ERR_LOG1_4",  .addr = A_NSU1_ERR_LOG1_4,
2122        .ro = 0xffffffff,
2123    },{ .name = "NSU2_ERR_LOG0_EN",  .addr = A_NSU2_ERR_LOG0_EN,
2124        .reset = 0x1fff,
2125        .rsvd = 0xfe000000,
2126    },{ .name = "NSU2_ERR_LOG1_EN",  .addr = A_NSU2_ERR_LOG1_EN,
2127        .reset = 0x107e000,
2128        .rsvd = 0xfe000000,
2129    },{ .name = "NSU2_ERR_STATUS",  .addr = A_NSU2_ERR_STATUS,
2130        .rsvd = 0xfe000000,
2131        .w1c = 0x1ffffff,
2132    },{ .name = "NSU2_ERR_LOG0_0",  .addr = A_NSU2_ERR_LOG0_0,
2133        .ro = 0xffffffff,
2134    },{ .name = "NSU2_ERR_LOG0_1",  .addr = A_NSU2_ERR_LOG0_1,
2135        .rsvd = 0x40000000,
2136        .ro = 0xffffffff,
2137    },{ .name = "NSU2_ERR_LOG0_2",  .addr = A_NSU2_ERR_LOG0_2,
2138        .ro = 0xffffffff,
2139    },{ .name = "NSU2_ERR_LOG0_3",  .addr = A_NSU2_ERR_LOG0_3,
2140        .ro = 0xffffffff,
2141    },{ .name = "NSU2_ERR_LOG0_4",  .addr = A_NSU2_ERR_LOG0_4,
2142        .ro = 0xffffffff,
2143    },{ .name = "NSU2_ERR_LOG1_0",  .addr = A_NSU2_ERR_LOG1_0,
2144        .ro = 0xffffffff,
2145    },{ .name = "NSU2_ERR_LOG1_1",  .addr = A_NSU2_ERR_LOG1_1,
2146        .rsvd = 0x40000000,
2147        .ro = 0xffffffff,
2148    },{ .name = "NSU2_ERR_LOG1_2",  .addr = A_NSU2_ERR_LOG1_2,
2149        .ro = 0xffffffff,
2150    },{ .name = "NSU2_ERR_LOG1_3",  .addr = A_NSU2_ERR_LOG1_3,
2151        .ro = 0xffffffff,
2152    },{ .name = "NSU2_ERR_LOG1_4",  .addr = A_NSU2_ERR_LOG1_4,
2153        .ro = 0xffffffff,
2154    },{ .name = "NSU3_ERR_LOG0_EN",  .addr = A_NSU3_ERR_LOG0_EN,
2155        .reset = 0x1fff,
2156        .rsvd = 0xfe000000,
2157    },{ .name = "NSU3_ERR_LOG1_EN",  .addr = A_NSU3_ERR_LOG1_EN,
2158        .reset = 0x107e000,
2159        .rsvd = 0xfe000000,
2160    },{ .name = "NSU3_ERR_STATUS",  .addr = A_NSU3_ERR_STATUS,
2161        .rsvd = 0xfe000000,
2162        .w1c = 0x1ffffff,
2163    },{ .name = "NSU3_ERR_LOG0_0",  .addr = A_NSU3_ERR_LOG0_0,
2164        .ro = 0xffffffff,
2165    },{ .name = "NSU3_ERR_LOG0_1",  .addr = A_NSU3_ERR_LOG0_1,
2166        .rsvd = 0x40000000,
2167        .ro = 0xffffffff,
2168    },{ .name = "NSU3_ERR_LOG0_2",  .addr = A_NSU3_ERR_LOG0_2,
2169        .ro = 0xffffffff,
2170    },{ .name = "NSU3_ERR_LOG0_3",  .addr = A_NSU3_ERR_LOG0_3,
2171        .ro = 0xffffffff,
2172    },{ .name = "NSU3_ERR_LOG0_4",  .addr = A_NSU3_ERR_LOG0_4,
2173        .ro = 0xffffffff,
2174    },{ .name = "NSU3_ERR_LOG1_0",  .addr = A_NSU3_ERR_LOG1_0,
2175        .ro = 0xffffffff,
2176    },{ .name = "NSU3_ERR_LOG1_1",  .addr = A_NSU3_ERR_LOG1_1,
2177        .rsvd = 0x40000000,
2178        .ro = 0xffffffff,
2179    },{ .name = "NSU3_ERR_LOG1_2",  .addr = A_NSU3_ERR_LOG1_2,
2180        .ro = 0xffffffff,
2181    },{ .name = "NSU3_ERR_LOG1_3",  .addr = A_NSU3_ERR_LOG1_3,
2182        .ro = 0xffffffff,
2183    },{ .name = "NSU3_ERR_LOG1_4",  .addr = A_NSU3_ERR_LOG1_4,
2184        .ro = 0xffffffff,
2185    },{ .name = "NSU0_ERR_CTRL",  .addr = A_NSU0_ERR_CTRL,
2186        .reset = 0x3000,
2187        .rsvd = 0xff800fff,
2188        .ro = 0xfff,
2189    },{ .name = "NSU1_ERR_CTRL",  .addr = A_NSU1_ERR_CTRL,
2190        .reset = 0x3000,
2191        .rsvd = 0xff800fff,
2192        .ro = 0xfff,
2193    },{ .name = "NSU2_ERR_CTRL",  .addr = A_NSU2_ERR_CTRL,
2194        .reset = 0x3000,
2195        .rsvd = 0xff800fff,
2196        .ro = 0xfff,
2197    },{ .name = "NSU3_ERR_CTRL",  .addr = A_NSU3_ERR_CTRL,
2198        .reset = 0x3000,
2199        .rsvd = 0xff800fff,
2200        .ro = 0xfff,
2201    },{ .name = "ECC_ERR_INJ_NSU0",  .addr = A_ECC_ERR_INJ_NSU0,
2202        .rsvd = 0xfe000000,
2203    },{ .name = "ECC_ERR_INJ_NSU1",  .addr = A_ECC_ERR_INJ_NSU1,
2204        .rsvd = 0xfe000000,
2205    },{ .name = "ECC_ERR_INJ_NSU2",  .addr = A_ECC_ERR_INJ_NSU2,
2206        .rsvd = 0xfe000000,
2207    },{ .name = "ECC_ERR_INJ_NSU3",  .addr = A_ECC_ERR_INJ_NSU3,
2208        .rsvd = 0xfe000000,
2209    },{ .name = "ILA_MUX_N0",  .addr = A_ILA_MUX_N0,
2210    },{ .name = "ILA_MUX_N1",  .addr = A_ILA_MUX_N1,
2211    },{ .name = "ILA_MUX_N2",  .addr = A_ILA_MUX_N2,
2212    },{ .name = "ILA_MUX_N3",  .addr = A_ILA_MUX_N3,
2213    },{ .name = "ILA_MUX_N4",  .addr = A_ILA_MUX_N4,
2214    },{ .name = "ILA_MUX_N5",  .addr = A_ILA_MUX_N5,
2215    },{ .name = "ILA_MUX_N6",  .addr = A_ILA_MUX_N6,
2216    },{ .name = "ILA_MUX_N7",  .addr = A_ILA_MUX_N7,
2217    },{ .name = "ILA_MUX_N8",  .addr = A_ILA_MUX_N8,
2218    },{ .name = "ILA_MUX_N9",  .addr = A_ILA_MUX_N9,
2219    },{ .name = "ILA_MUX_N10",  .addr = A_ILA_MUX_N10,
2220    },{ .name = "ILA_MUX_N11",  .addr = A_ILA_MUX_N11,
2221    },{ .name = "ILA_MUX_N12",  .addr = A_ILA_MUX_N12,
2222    },{ .name = "ILA_MUX_N13",  .addr = A_ILA_MUX_N13,
2223    },{ .name = "ILA_MUX_N14",  .addr = A_ILA_MUX_N14,
2224    },{ .name = "ILA_MUX_N15",  .addr = A_ILA_MUX_N15,
2225    },{ .name = "ILA_MUX_N16",  .addr = A_ILA_MUX_N16,
2226    },{ .name = "ILA_MUX_N17",  .addr = A_ILA_MUX_N17,
2227    },{ .name = "NA_ERR_CTRL_0",  .addr = A_NA_ERR_CTRL_0,
2228        .reset = 0x10000000,
2229        .rsvd = 0xe0000000,
2230    },{ .name = "NA_ERR_CTRL_1",  .addr = A_NA_ERR_CTRL_1,
2231    },{ .name = "NA_ERR_CTRL_3",  .addr = A_NA_ERR_CTRL_3,
2232        .rsvd = 0xfffffff0,
2233    },{ .name = "REG_ADEC12",  .addr = A_REG_ADEC12,
2234    },{ .name = "REG_ADEC13",  .addr = A_REG_ADEC13,
2235        .rsvd = 0xffffffc0,
2236    },{ .name = "REG_ADEC14",  .addr = A_REG_ADEC14,
2237    },{ .name = "REG_ADEC15",  .addr = A_REG_ADEC15,
2238        .rsvd = 0xfffffe00,
2239    },{ .name = "ADD_PAR_ERR_INJ_ADEC",  .addr = A_ADD_PAR_ERR_INJ_ADEC,
2240        .reset = 0x3c000,
2241        .rsvd = 0xfffc0000,
2242    },{ .name = "ADEC_ADD_PAR_ERR_LOG0_0",  .addr = A_ADEC_ADD_PAR_ERR_LOG0_0,
2243    },{ .name = "ADEC_ADD_PAR_ERR_LOG1_0",  .addr = A_ADEC_ADD_PAR_ERR_LOG1_0,
2244    },{ .name = "ADEC_ADD_PAR_ERR_LOG0_1",  .addr = A_ADEC_ADD_PAR_ERR_LOG0_1,
2245    },{ .name = "ADEC_ADD_PAR_ERR_LOG1_1",  .addr = A_ADEC_ADD_PAR_ERR_LOG1_1,
2246    },{ .name = "REG_DBG_MUX_SEL",  .addr = A_REG_DBG_MUX_SEL,
2247        .rsvd = 0xfffffc00,
2248        .ro = 0x200,
2249    },{ .name = "REG_DBG_DATA_SEL",  .addr = A_REG_DBG_DATA_SEL,
2250        .rsvd = 0xffffff00,
2251    },{ .name = "REG_DBG_TRIG_MVAL_L",  .addr = A_REG_DBG_TRIG_MVAL_L,
2252    },{ .name = "REG_DBG_TRIG_MVAL_U",  .addr = A_REG_DBG_TRIG_MVAL_U,
2253    },{ .name = "REG_DBG_TRIG_MASK_L",  .addr = A_REG_DBG_TRIG_MASK_L,
2254    },{ .name = "REG_DBG_TRIG_MASK_U",  .addr = A_REG_DBG_TRIG_MASK_U,
2255    },{ .name = "DDRMC_CLK_MUX",  .addr = A_DDRMC_CLK_MUX,
2256        .rsvd = 0xfffffffe,
2257    },{ .name = "XMPU_CTRL",  .addr = A_XMPU_CTRL,
2258        .reset = 0xb,
2259        .rsvd = 0xfffffff0,
2260    },{ .name = "XMPU_ERR_STATUS",  .addr = A_XMPU_ERR_STATUS,
2261        .rsvd = 0xfffffe01,
2262        .ro = 0x1,
2263    },{ .name = "XMPU_ERR_ADD_LO0",  .addr = A_XMPU_ERR_ADD_LO0,
2264    },{ .name = "XMPU_ERR_ADD_HI0",  .addr = A_XMPU_ERR_ADD_HI0,
2265        .rsvd = 0xffff0000,
2266    },{ .name = "XMPU_ERR_AXI_ID",  .addr = A_XMPU_ERR_AXI_ID,
2267        .rsvd = 0xfffffc00,
2268    },{ .name = "XMPU_LOCK",  .addr = A_XMPU_LOCK,
2269    },{ .name = "XMPU_START_LO0",  .addr = A_XMPU_START_LO0,
2270        .rsvd = 0xfff,
2271        .ro = 0xfff,
2272    },{ .name = "XMPU_START_HI0",  .addr = A_XMPU_START_HI0,
2273        .rsvd = 0xffff0000,
2274    },{ .name = "XMPU_END_LO0",  .addr = A_XMPU_END_LO0,
2275        .rsvd = 0xfff,
2276        .ro = 0xfff,
2277    },{ .name = "XMPU_END_HI0",  .addr = A_XMPU_END_HI0,
2278        .rsvd = 0xffff0000,
2279    },{ .name = "XMPU_MASTER0",  .addr = A_XMPU_MASTER0,
2280        .rsvd = 0xfc00fc00,
2281        .ro = 0xfc00,
2282    },{ .name = "XMPU_CONFIG0",  .addr = A_XMPU_CONFIG0,
2283        .reset = 0x8,
2284        .rsvd = 0xffffffe0,
2285    },{ .name = "XMPU_START_LO1",  .addr = A_XMPU_START_LO1,
2286        .rsvd = 0xfff,
2287        .ro = 0xfff,
2288    },{ .name = "XMPU_START_HI1",  .addr = A_XMPU_START_HI1,
2289        .rsvd = 0xffff0000,
2290    },{ .name = "XMPU_END_LO1",  .addr = A_XMPU_END_LO1,
2291        .rsvd = 0xfff,
2292        .ro = 0xfff,
2293    },{ .name = "XMPU_END_HI1",  .addr = A_XMPU_END_HI1,
2294        .rsvd = 0xffff0000,
2295    },{ .name = "XMPU_MASTER1",  .addr = A_XMPU_MASTER1,
2296        .rsvd = 0xfc00fc00,
2297        .ro = 0xfc00,
2298    },{ .name = "XMPU_CONFIG1",  .addr = A_XMPU_CONFIG1,
2299        .reset = 0x8,
2300        .rsvd = 0xffffffe0,
2301    },{ .name = "XMPU_START_LO2",  .addr = A_XMPU_START_LO2,
2302        .rsvd = 0xfff,
2303        .ro = 0xfff,
2304    },{ .name = "XMPU_START_HI2",  .addr = A_XMPU_START_HI2,
2305        .rsvd = 0xffff0000,
2306    },{ .name = "XMPU_END_LO2",  .addr = A_XMPU_END_LO2,
2307        .rsvd = 0xfff,
2308        .ro = 0xfff,
2309    },{ .name = "XMPU_END_HI2",  .addr = A_XMPU_END_HI2,
2310        .rsvd = 0xffff0000,
2311    },{ .name = "XMPU_MASTER2",  .addr = A_XMPU_MASTER2,
2312        .rsvd = 0xfc00fc00,
2313        .ro = 0xfc00,
2314    },{ .name = "XMPU_CONFIG2",  .addr = A_XMPU_CONFIG2,
2315        .reset = 0x8,
2316        .rsvd = 0xffffffe0,
2317    },{ .name = "XMPU_START_LO3",  .addr = A_XMPU_START_LO3,
2318        .rsvd = 0xfff,
2319        .ro = 0xfff,
2320    },{ .name = "XMPU_START_HI3",  .addr = A_XMPU_START_HI3,
2321        .rsvd = 0xffff0000,
2322    },{ .name = "XMPU_END_LO3",  .addr = A_XMPU_END_LO3,
2323        .rsvd = 0xfff,
2324        .ro = 0xfff,
2325    },{ .name = "XMPU_END_HI3",  .addr = A_XMPU_END_HI3,
2326        .rsvd = 0xffff0000,
2327    },{ .name = "XMPU_MASTER3",  .addr = A_XMPU_MASTER3,
2328        .rsvd = 0xfc00fc00,
2329        .ro = 0xfc00,
2330    },{ .name = "XMPU_CONFIG3",  .addr = A_XMPU_CONFIG3,
2331        .reset = 0x8,
2332        .rsvd = 0xffffffe0,
2333    },{ .name = "XMPU_START_LO4",  .addr = A_XMPU_START_LO4,
2334        .rsvd = 0xfff,
2335        .ro = 0xfff,
2336    },{ .name = "XMPU_START_HI4",  .addr = A_XMPU_START_HI4,
2337        .rsvd = 0xffff0000,
2338    },{ .name = "XMPU_END_LO4",  .addr = A_XMPU_END_LO4,
2339        .rsvd = 0xfff,
2340        .ro = 0xfff,
2341    },{ .name = "XMPU_END_HI4",  .addr = A_XMPU_END_HI4,
2342        .rsvd = 0xffff0000,
2343    },{ .name = "XMPU_MASTER4",  .addr = A_XMPU_MASTER4,
2344        .rsvd = 0xfc00fc00,
2345        .ro = 0xfc00,
2346    },{ .name = "XMPU_CONFIG4",  .addr = A_XMPU_CONFIG4,
2347        .reset = 0x8,
2348        .rsvd = 0xffffffe0,
2349    },{ .name = "XMPU_START_LO5",  .addr = A_XMPU_START_LO5,
2350        .rsvd = 0xfff,
2351        .ro = 0xfff,
2352    },{ .name = "XMPU_START_HI5",  .addr = A_XMPU_START_HI5,
2353        .rsvd = 0xffff0000,
2354    },{ .name = "XMPU_END_LO5",  .addr = A_XMPU_END_LO5,
2355        .rsvd = 0xfff,
2356        .ro = 0xfff,
2357    },{ .name = "XMPU_END_HI5",  .addr = A_XMPU_END_HI5,
2358        .rsvd = 0xffff0000,
2359    },{ .name = "XMPU_MASTER5",  .addr = A_XMPU_MASTER5,
2360        .rsvd = 0xfc00fc00,
2361        .ro = 0xfc00,
2362    },{ .name = "XMPU_CONFIG5",  .addr = A_XMPU_CONFIG5,
2363        .reset = 0x8,
2364        .rsvd = 0xffffffe0,
2365    },{ .name = "XMPU_START_LO6",  .addr = A_XMPU_START_LO6,
2366        .rsvd = 0xfff,
2367        .ro = 0xfff,
2368    },{ .name = "XMPU_START_HI6",  .addr = A_XMPU_START_HI6,
2369        .rsvd = 0xffff0000,
2370    },{ .name = "XMPU_END_LO6",  .addr = A_XMPU_END_LO6,
2371        .rsvd = 0xfff,
2372        .ro = 0xfff,
2373    },{ .name = "XMPU_END_HI6",  .addr = A_XMPU_END_HI6,
2374        .rsvd = 0xffff0000,
2375    },{ .name = "XMPU_MASTER6",  .addr = A_XMPU_MASTER6,
2376        .rsvd = 0xfc00fc00,
2377        .ro = 0xfc00,
2378    },{ .name = "XMPU_CONFIG6",  .addr = A_XMPU_CONFIG6,
2379        .reset = 0x8,
2380        .rsvd = 0xffffffe0,
2381    },{ .name = "XMPU_START_LO7",  .addr = A_XMPU_START_LO7,
2382        .rsvd = 0xfff,
2383        .ro = 0xfff,
2384    },{ .name = "XMPU_START_HI7",  .addr = A_XMPU_START_HI7,
2385        .rsvd = 0xffff0000,
2386    },{ .name = "XMPU_END_LO7",  .addr = A_XMPU_END_LO7,
2387        .rsvd = 0xfff,
2388        .ro = 0xfff,
2389    },{ .name = "XMPU_END_HI7",  .addr = A_XMPU_END_HI7,
2390        .rsvd = 0xffff0000,
2391    },{ .name = "XMPU_MASTER7",  .addr = A_XMPU_MASTER7,
2392        .rsvd = 0xfc00fc00,
2393        .ro = 0xfc00,
2394    },{ .name = "XMPU_CONFIG7",  .addr = A_XMPU_CONFIG7,
2395        .reset = 0x8,
2396        .rsvd = 0xffffffe0,
2397    },{ .name = "XMPU_START_LO8",  .addr = A_XMPU_START_LO8,
2398        .rsvd = 0xfff,
2399        .ro = 0xfff,
2400    },{ .name = "XMPU_START_HI8",  .addr = A_XMPU_START_HI8,
2401        .rsvd = 0xffff0000,
2402    },{ .name = "XMPU_END_LO8",  .addr = A_XMPU_END_LO8,
2403        .rsvd = 0xfff,
2404        .ro = 0xfff,
2405    },{ .name = "XMPU_END_HI8",  .addr = A_XMPU_END_HI8,
2406        .rsvd = 0xffff0000,
2407    },{ .name = "XMPU_MASTER8",  .addr = A_XMPU_MASTER8,
2408        .rsvd = 0xfc00fc00,
2409        .ro = 0xfc00,
2410    },{ .name = "XMPU_CONFIG8",  .addr = A_XMPU_CONFIG8,
2411        .reset = 0x8,
2412        .rsvd = 0xffffffe0,
2413    },{ .name = "XMPU_START_LO9",  .addr = A_XMPU_START_LO9,
2414        .rsvd = 0xfff,
2415        .ro = 0xfff,
2416    },{ .name = "XMPU_START_HI9",  .addr = A_XMPU_START_HI9,
2417        .rsvd = 0xffff0000,
2418    },{ .name = "XMPU_END_LO9",  .addr = A_XMPU_END_LO9,
2419        .rsvd = 0xfff,
2420        .ro = 0xfff,
2421    },{ .name = "XMPU_END_HI9",  .addr = A_XMPU_END_HI9,
2422        .rsvd = 0xffff0000,
2423    },{ .name = "XMPU_MASTER9",  .addr = A_XMPU_MASTER9,
2424        .rsvd = 0xfc00fc00,
2425        .ro = 0xfc00,
2426    },{ .name = "XMPU_CONFIG9",  .addr = A_XMPU_CONFIG9,
2427        .reset = 0x8,
2428        .rsvd = 0xffffffe0,
2429    },{ .name = "XMPU_START_LO10",  .addr = A_XMPU_START_LO10,
2430        .rsvd = 0xfff,
2431        .ro = 0xfff,
2432    },{ .name = "XMPU_START_HI10",  .addr = A_XMPU_START_HI10,
2433        .rsvd = 0xffff0000,
2434    },{ .name = "XMPU_END_LO10",  .addr = A_XMPU_END_LO10,
2435        .rsvd = 0xfff,
2436        .ro = 0xfff,
2437    },{ .name = "XMPU_END_HI10",  .addr = A_XMPU_END_HI10,
2438        .rsvd = 0xffff0000,
2439    },{ .name = "XMPU_MASTER10",  .addr = A_XMPU_MASTER10,
2440        .rsvd = 0xfc00fc00,
2441        .ro = 0xfc00,
2442    },{ .name = "XMPU_CONFIG10",  .addr = A_XMPU_CONFIG10,
2443        .reset = 0x8,
2444        .rsvd = 0xffffffe0,
2445    },{ .name = "XMPU_START_LO11",  .addr = A_XMPU_START_LO11,
2446        .rsvd = 0xfff,
2447        .ro = 0xfff,
2448    },{ .name = "XMPU_START_HI11",  .addr = A_XMPU_START_HI11,
2449        .rsvd = 0xffff0000,
2450    },{ .name = "XMPU_END_LO11",  .addr = A_XMPU_END_LO11,
2451        .rsvd = 0xfff,
2452        .ro = 0xfff,
2453    },{ .name = "XMPU_END_HI11",  .addr = A_XMPU_END_HI11,
2454        .rsvd = 0xffff0000,
2455    },{ .name = "XMPU_MASTER11",  .addr = A_XMPU_MASTER11,
2456        .rsvd = 0xfc00fc00,
2457        .ro = 0xfc00,
2458    },{ .name = "XMPU_CONFIG11",  .addr = A_XMPU_CONFIG11,
2459        .reset = 0x8,
2460        .rsvd = 0xffffffe0,
2461    },{ .name = "XMPU_START_LO12",  .addr = A_XMPU_START_LO12,
2462        .rsvd = 0xfff,
2463        .ro = 0xfff,
2464    },{ .name = "XMPU_START_HI12",  .addr = A_XMPU_START_HI12,
2465        .rsvd = 0xffff0000,
2466    },{ .name = "XMPU_END_LO12",  .addr = A_XMPU_END_LO12,
2467        .rsvd = 0xfff,
2468        .ro = 0xfff,
2469    },{ .name = "XMPU_END_HI12",  .addr = A_XMPU_END_HI12,
2470        .rsvd = 0xffff0000,
2471    },{ .name = "XMPU_MASTER12",  .addr = A_XMPU_MASTER12,
2472        .rsvd = 0xfc00fc00,
2473        .ro = 0xfc00,
2474    },{ .name = "XMPU_CONFIG12",  .addr = A_XMPU_CONFIG12,
2475        .reset = 0x8,
2476        .rsvd = 0xffffffe0,
2477    },{ .name = "XMPU_START_LO13",  .addr = A_XMPU_START_LO13,
2478        .rsvd = 0xfff,
2479        .ro = 0xfff,
2480    },{ .name = "XMPU_START_HI13",  .addr = A_XMPU_START_HI13,
2481        .rsvd = 0xffff0000,
2482    },{ .name = "XMPU_END_LO13",  .addr = A_XMPU_END_LO13,
2483        .rsvd = 0xfff,
2484        .ro = 0xfff,
2485    },{ .name = "XMPU_END_HI13",  .addr = A_XMPU_END_HI13,
2486        .rsvd = 0xffff0000,
2487    },{ .name = "XMPU_MASTER13",  .addr = A_XMPU_MASTER13,
2488        .rsvd = 0xfc00fc00,
2489        .ro = 0xfc00,
2490    },{ .name = "XMPU_CONFIG13",  .addr = A_XMPU_CONFIG13,
2491        .reset = 0x8,
2492        .rsvd = 0xffffffe0,
2493    },{ .name = "XMPU_START_LO14",  .addr = A_XMPU_START_LO14,
2494        .rsvd = 0xfff,
2495        .ro = 0xfff,
2496    },{ .name = "XMPU_START_HI14",  .addr = A_XMPU_START_HI14,
2497        .rsvd = 0xffff0000,
2498    },{ .name = "XMPU_END_LO14",  .addr = A_XMPU_END_LO14,
2499        .rsvd = 0xfff,
2500        .ro = 0xfff,
2501    },{ .name = "XMPU_END_HI14",  .addr = A_XMPU_END_HI14,
2502        .rsvd = 0xffff0000,
2503    },{ .name = "XMPU_MASTER14",  .addr = A_XMPU_MASTER14,
2504        .rsvd = 0xfc00fc00,
2505        .ro = 0xfc00,
2506    },{ .name = "XMPU_CONFIG14",  .addr = A_XMPU_CONFIG14,
2507        .reset = 0x8,
2508        .rsvd = 0xffffffe0,
2509    },{ .name = "XMPU_START_LO15",  .addr = A_XMPU_START_LO15,
2510        .rsvd = 0xfff,
2511        .ro = 0xfff,
2512    },{ .name = "XMPU_START_HI15",  .addr = A_XMPU_START_HI15,
2513        .rsvd = 0xffff0000,
2514    },{ .name = "XMPU_END_LO15",  .addr = A_XMPU_END_LO15,
2515        .rsvd = 0xfff,
2516        .ro = 0xfff,
2517    },{ .name = "XMPU_END_HI15",  .addr = A_XMPU_END_HI15,
2518        .rsvd = 0xffff0000,
2519    },{ .name = "XMPU_MASTER15",  .addr = A_XMPU_MASTER15,
2520        .rsvd = 0xfc00fc00,
2521        .ro = 0xfc00,
2522    },{ .name = "XMPU_CONFIG15",  .addr = A_XMPU_CONFIG15,
2523        .reset = 0x8,
2524        .rsvd = 0xffffffe0,
2525    }
2526};
2527
2528static void ddrmc_noc_reset(DeviceState *dev)
2529{
2530    DDRMC_NOC *s = XILINX_DDRMC_NOC(dev);
2531    unsigned int i;
2532
2533    for (i = 0; i < ARRAY_SIZE(s->regs_info); ++i) {
2534        register_reset(&s->regs_info[i]);
2535    }
2536
2537}
2538
2539static MemTxResult reg_write(void *opaque, hwaddr addr,
2540                             uint64_t data, unsigned size, MemTxAttrs attrs)
2541{
2542    RegisterInfoArray *reg_array = opaque;
2543    DDRMC_NOC *s = XILINX_DDRMC_NOC(reg_array->r[0]->opaque);
2544
2545    /* Is the register set Locked?  */
2546    if (ARRAY_FIELD_EX32(s->regs, PCSR_LOCK, STATE) && addr != A_PCSR_LOCK) {
2547        return MEMTX_ERROR;
2548    }
2549
2550    register_write_memory(opaque, addr, data, size);
2551    return MEMTX_OK;
2552}
2553
2554static const MemoryRegionOps ddrmc_noc_ops = {
2555    .read = register_read_memory,
2556    .write_with_attrs = reg_write,
2557    .endianness = DEVICE_LITTLE_ENDIAN,
2558    .valid = {
2559        .min_access_size = 4,
2560        .max_access_size = 4,
2561    },
2562};
2563
2564static void ddrmc_noc_init(Object *obj)
2565{
2566    DDRMC_NOC *s = XILINX_DDRMC_NOC(obj);
2567    SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
2568    RegisterInfoArray *reg_array;
2569
2570    memory_region_init(&s->iomem, obj, TYPE_XILINX_DDRMC_NOC,
2571                       DDRMC_NOC_R_MAX * 4);
2572    reg_array =
2573        register_init_block32(DEVICE(obj), ddrmc_noc_regs_info,
2574                              ARRAY_SIZE(ddrmc_noc_regs_info),
2575                              s->regs_info, s->regs,
2576                              &ddrmc_noc_ops,
2577                              XILINX_DDRMC_NOC_ERR_DEBUG,
2578                              DDRMC_NOC_R_MAX * 4);
2579    memory_region_add_subregion(&s->iomem,
2580                                0x0,
2581                                &reg_array->mem);
2582    sysbus_init_mmio(sbd, &s->iomem);
2583}
2584
2585static const VMStateDescription vmstate_ddrmc_noc = {
2586    .name = TYPE_XILINX_DDRMC_NOC,
2587    .version_id = 1,
2588    .minimum_version_id = 1,
2589    .fields = (VMStateField[]) {
2590        VMSTATE_UINT32_ARRAY(regs, DDRMC_NOC, DDRMC_NOC_R_MAX),
2591        VMSTATE_END_OF_LIST(),
2592    }
2593};
2594
2595static void ddrmc_noc_class_init(ObjectClass *klass, void *data)
2596{
2597    DeviceClass *dc = DEVICE_CLASS(klass);
2598
2599    dc->reset = ddrmc_noc_reset;
2600    dc->vmsd = &vmstate_ddrmc_noc;
2601}
2602
2603static const TypeInfo ddrmc_noc_info = {
2604    .name          = TYPE_XILINX_DDRMC_NOC,
2605    .parent        = TYPE_SYS_BUS_DEVICE,
2606    .instance_size = sizeof(DDRMC_NOC),
2607    .class_init    = ddrmc_noc_class_init,
2608    .instance_init = ddrmc_noc_init,
2609};
2610
2611static void ddrmc_noc_register_types(void)
2612{
2613    type_register_static(&ddrmc_noc_info);
2614}
2615
2616type_init(ddrmc_noc_register_types)
2617