uboot/arch/mips/mach-octeon/include/mach/cvmx-ciu-defs.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/*
   3 * Copyright (C) 2020 Marvell International Ltd.
   4 *
   5 * Configuration and status register (CSR) type definitions for
   6 * Octeon ciu.
   7 */
   8
   9#ifndef __CVMX_CIU_DEFS_H__
  10#define __CVMX_CIU_DEFS_H__
  11
  12#define CVMX_CIU_BIST                             (0x0001070000000730ull)
  13#define CVMX_CIU_BLOCK_INT                        (0x00010700000007C0ull)
  14#define CVMX_CIU_CIB_L2C_ENX(offset)              (0x000107000000E100ull)
  15#define CVMX_CIU_CIB_L2C_RAWX(offset)             (0x000107000000E000ull)
  16#define CVMX_CIU_CIB_LMCX_ENX(offset, block_id)   (0x000107000000E300ull)
  17#define CVMX_CIU_CIB_LMCX_RAWX(offset, block_id)  (0x000107000000E200ull)
  18#define CVMX_CIU_CIB_OCLAX_ENX(offset, block_id)  (0x000107000000EE00ull)
  19#define CVMX_CIU_CIB_OCLAX_RAWX(offset, block_id) (0x000107000000EC00ull)
  20#define CVMX_CIU_CIB_RST_ENX(offset)              (0x000107000000E500ull)
  21#define CVMX_CIU_CIB_RST_RAWX(offset)             (0x000107000000E400ull)
  22#define CVMX_CIU_CIB_SATA_ENX(offset)             (0x000107000000E700ull)
  23#define CVMX_CIU_CIB_SATA_RAWX(offset)            (0x000107000000E600ull)
  24#define CVMX_CIU_CIB_USBDRDX_ENX(offset, block_id)                                                 \
  25        (0x000107000000EA00ull + ((block_id) & 1) * 0x100ull)
  26#define CVMX_CIU_CIB_USBDRDX_RAWX(offset, block_id)                                                \
  27        (0x000107000000E800ull + ((block_id) & 1) * 0x100ull)
  28#define CVMX_CIU_DINT CVMX_CIU_DINT_FUNC()
  29static inline u64 CVMX_CIU_DINT_FUNC(void)
  30{
  31        switch (cvmx_get_octeon_family()) {
  32        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
  33        case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
  34        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
  35        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
  36        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
  37        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  38                return 0x0001070000000720ull;
  39        case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
  40                if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
  41                        return 0x0001010000000180ull;
  42                if (OCTEON_IS_MODEL(OCTEON_CN78XX))
  43                        return 0x0001010000000180ull;
  44        case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
  45        case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
  46                return 0x0001010000000180ull;
  47        }
  48        return 0x0001010000000180ull;
  49}
  50
  51#define CVMX_CIU_EN2_IOX_INT(offset)     (0x000107000000A600ull + ((offset) & 1) * 8)
  52#define CVMX_CIU_EN2_IOX_INT_W1C(offset) (0x000107000000CE00ull + ((offset) & 1) * 8)
  53#define CVMX_CIU_EN2_IOX_INT_W1S(offset) (0x000107000000AE00ull + ((offset) & 1) * 8)
  54#define CVMX_CIU_EN2_PPX_IP2(offset)     (0x000107000000A000ull + ((offset) & 15) * 8)
  55#define CVMX_CIU_EN2_PPX_IP2_W1C(offset) (0x000107000000C800ull + ((offset) & 15) * 8)
  56#define CVMX_CIU_EN2_PPX_IP2_W1S(offset) (0x000107000000A800ull + ((offset) & 15) * 8)
  57#define CVMX_CIU_EN2_PPX_IP3(offset)     (0x000107000000A200ull + ((offset) & 15) * 8)
  58#define CVMX_CIU_EN2_PPX_IP3_W1C(offset) (0x000107000000CA00ull + ((offset) & 15) * 8)
  59#define CVMX_CIU_EN2_PPX_IP3_W1S(offset) (0x000107000000AA00ull + ((offset) & 15) * 8)
  60#define CVMX_CIU_EN2_PPX_IP4(offset)     (0x000107000000A400ull + ((offset) & 15) * 8)
  61#define CVMX_CIU_EN2_PPX_IP4_W1C(offset) (0x000107000000CC00ull + ((offset) & 15) * 8)
  62#define CVMX_CIU_EN2_PPX_IP4_W1S(offset) (0x000107000000AC00ull + ((offset) & 15) * 8)
  63#define CVMX_CIU_FUSE                    CVMX_CIU_FUSE_FUNC()
  64static inline u64 CVMX_CIU_FUSE_FUNC(void)
  65{
  66        switch (cvmx_get_octeon_family()) {
  67        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
  68        case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
  69        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
  70        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
  71        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
  72        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  73                return 0x0001070000000728ull;
  74        case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
  75                if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
  76                        return 0x00010100000001A0ull;
  77                if (OCTEON_IS_MODEL(OCTEON_CN78XX))
  78                        return 0x00010100000001A0ull;
  79        case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
  80        case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
  81                return 0x00010100000001A0ull;
  82        }
  83        return 0x00010100000001A0ull;
  84}
  85
  86#define CVMX_CIU_GSTOP                  (0x0001070000000710ull)
  87#define CVMX_CIU_INT33_SUM0             (0x0001070000000110ull)
  88#define CVMX_CIU_INTR_SLOWDOWN          (0x00010700000007D0ull)
  89#define CVMX_CIU_INTX_EN0(offset)       (0x0001070000000200ull + ((offset) & 63) * 16)
  90#define CVMX_CIU_INTX_EN0_W1C(offset)   (0x0001070000002200ull + ((offset) & 63) * 16)
  91#define CVMX_CIU_INTX_EN0_W1S(offset)   (0x0001070000006200ull + ((offset) & 63) * 16)
  92#define CVMX_CIU_INTX_EN1(offset)       (0x0001070000000208ull + ((offset) & 63) * 16)
  93#define CVMX_CIU_INTX_EN1_W1C(offset)   (0x0001070000002208ull + ((offset) & 63) * 16)
  94#define CVMX_CIU_INTX_EN1_W1S(offset)   (0x0001070000006208ull + ((offset) & 63) * 16)
  95#define CVMX_CIU_INTX_EN4_0(offset)     (0x0001070000000C80ull + ((offset) & 15) * 16)
  96#define CVMX_CIU_INTX_EN4_0_W1C(offset) (0x0001070000002C80ull + ((offset) & 15) * 16)
  97#define CVMX_CIU_INTX_EN4_0_W1S(offset) (0x0001070000006C80ull + ((offset) & 15) * 16)
  98#define CVMX_CIU_INTX_EN4_1(offset)     (0x0001070000000C88ull + ((offset) & 15) * 16)
  99#define CVMX_CIU_INTX_EN4_1_W1C(offset) (0x0001070000002C88ull + ((offset) & 15) * 16)
 100#define CVMX_CIU_INTX_EN4_1_W1S(offset) (0x0001070000006C88ull + ((offset) & 15) * 16)
 101#define CVMX_CIU_INTX_SUM0(offset)      (0x0001070000000000ull + ((offset) & 63) * 8)
 102#define CVMX_CIU_INTX_SUM4(offset)      (0x0001070000000C00ull + ((offset) & 15) * 8)
 103#define CVMX_CIU_INT_DBG_SEL            (0x00010700000007D0ull)
 104#define CVMX_CIU_INT_SUM1               (0x0001070000000108ull)
 105static inline u64 CVMX_CIU_MBOX_CLRX(unsigned long offset)
 106{
 107        switch (cvmx_get_octeon_family()) {
 108        case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
 109        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 110        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 111                return 0x0001070000000680ull + (offset) * 8;
 112        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 113                return 0x0001070000000680ull + (offset) * 8;
 114        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 115                return 0x0001070000000680ull + (offset) * 8;
 116        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 117                return 0x0001070100100600ull + (offset) * 8;
 118        }
 119        return 0x0001070000000680ull + (offset) * 8;
 120}
 121
 122static inline u64 CVMX_CIU_MBOX_SETX(unsigned long offset)
 123{
 124        switch (cvmx_get_octeon_family()) {
 125        case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
 126        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 127        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 128                return 0x0001070000000600ull + (offset) * 8;
 129        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 130                return 0x0001070000000600ull + (offset) * 8;
 131        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 132                return 0x0001070000000600ull + (offset) * 8;
 133        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 134                return 0x0001070100100400ull + (offset) * 8;
 135        }
 136        return 0x0001070000000600ull + (offset) * 8;
 137}
 138
 139#define CVMX_CIU_NMI          (0x0001070000000718ull)
 140#define CVMX_CIU_PCI_INTA     (0x0001070000000750ull)
 141#define CVMX_CIU_PP_BIST_STAT (0x00010700000007E0ull)
 142#define CVMX_CIU_PP_DBG       CVMX_CIU_PP_DBG_FUNC()
 143static inline u64 CVMX_CIU_PP_DBG_FUNC(void)
 144{
 145        switch (cvmx_get_octeon_family()) {
 146        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 147        case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
 148        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 149        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 150        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 151        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 152                return 0x0001070000000708ull;
 153        case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
 154                if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
 155                        return 0x0001010000000120ull;
 156                if (OCTEON_IS_MODEL(OCTEON_CN78XX))
 157                        return 0x0001010000000120ull;
 158        case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
 159        case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
 160                return 0x0001010000000120ull;
 161        }
 162        return 0x0001010000000120ull;
 163}
 164
 165static inline u64 CVMX_CIU_PP_POKEX(unsigned long offset)
 166{
 167        switch (cvmx_get_octeon_family()) {
 168        case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
 169        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 170        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 171                return 0x0001070000000580ull + (offset) * 8;
 172        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 173                return 0x0001070000000580ull + (offset) * 8;
 174        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 175                return 0x0001070000000580ull + (offset) * 8;
 176        case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
 177                if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
 178                        return 0x0001010000030000ull + (offset) * 8;
 179                if (OCTEON_IS_MODEL(OCTEON_CN78XX))
 180                        return 0x0001010000030000ull + (offset) * 8;
 181
 182        case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
 183        case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
 184                return 0x0001010000030000ull + (offset) * 8;
 185        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 186                return 0x0001070100100200ull + (offset) * 8;
 187        }
 188        return 0x0001010000030000ull + (offset) * 8;
 189}
 190
 191#define CVMX_CIU_PP_RST CVMX_CIU_PP_RST_FUNC()
 192static inline u64 CVMX_CIU_PP_RST_FUNC(void)
 193{
 194        switch (cvmx_get_octeon_family()) {
 195        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 196        case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
 197        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 198        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 199        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 200        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 201                return 0x0001070000000700ull;
 202        case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
 203                if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
 204                        return 0x0001010000000100ull;
 205                if (OCTEON_IS_MODEL(OCTEON_CN78XX))
 206                        return 0x0001010000000100ull;
 207        case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
 208        case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
 209                return 0x0001010000000100ull;
 210        }
 211        return 0x0001010000000100ull;
 212}
 213
 214#define CVMX_CIU_PP_RST_PENDING CVMX_CIU_PP_RST_PENDING_FUNC()
 215static inline u64 CVMX_CIU_PP_RST_PENDING_FUNC(void)
 216{
 217        switch (cvmx_get_octeon_family()) {
 218        case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
 219        case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
 220                if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
 221                        return 0x0001010000000110ull;
 222                if (OCTEON_IS_MODEL(OCTEON_CN78XX))
 223                        return 0x0001010000000110ull;
 224        case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
 225                return 0x0001010000000110ull;
 226        case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
 227                return 0x0001070000000740ull;
 228        }
 229        return 0x0001010000000110ull;
 230}
 231
 232#define CVMX_CIU_QLM0                 (0x0001070000000780ull)
 233#define CVMX_CIU_QLM1                 (0x0001070000000788ull)
 234#define CVMX_CIU_QLM2                 (0x0001070000000790ull)
 235#define CVMX_CIU_QLM3                 (0x0001070000000798ull)
 236#define CVMX_CIU_QLM4                 (0x00010700000007A0ull)
 237#define CVMX_CIU_QLM_DCOK             (0x0001070000000760ull)
 238#define CVMX_CIU_QLM_JTGC             (0x0001070000000768ull)
 239#define CVMX_CIU_QLM_JTGD             (0x0001070000000770ull)
 240#define CVMX_CIU_SOFT_BIST            (0x0001070000000738ull)
 241#define CVMX_CIU_SOFT_PRST            (0x0001070000000748ull)
 242#define CVMX_CIU_SOFT_PRST1           (0x0001070000000758ull)
 243#define CVMX_CIU_SOFT_PRST2           (0x00010700000007D8ull)
 244#define CVMX_CIU_SOFT_PRST3           (0x00010700000007E0ull)
 245#define CVMX_CIU_SOFT_RST             (0x0001070000000740ull)
 246#define CVMX_CIU_SUM1_IOX_INT(offset) (0x0001070000008600ull + ((offset) & 1) * 8)
 247#define CVMX_CIU_SUM1_PPX_IP2(offset) (0x0001070000008000ull + ((offset) & 15) * 8)
 248#define CVMX_CIU_SUM1_PPX_IP3(offset) (0x0001070000008200ull + ((offset) & 15) * 8)
 249#define CVMX_CIU_SUM1_PPX_IP4(offset) (0x0001070000008400ull + ((offset) & 15) * 8)
 250#define CVMX_CIU_SUM2_IOX_INT(offset) (0x0001070000008E00ull + ((offset) & 1) * 8)
 251#define CVMX_CIU_SUM2_PPX_IP2(offset) (0x0001070000008800ull + ((offset) & 15) * 8)
 252#define CVMX_CIU_SUM2_PPX_IP3(offset) (0x0001070000008A00ull + ((offset) & 15) * 8)
 253#define CVMX_CIU_SUM2_PPX_IP4(offset) (0x0001070000008C00ull + ((offset) & 15) * 8)
 254#define CVMX_CIU_TIMX(offset)         (0x0001070000000480ull + ((offset) & 15) * 8)
 255#define CVMX_CIU_TIM_MULTI_CAST       CVMX_CIU_TIM_MULTI_CAST_FUNC()
 256static inline u64 CVMX_CIU_TIM_MULTI_CAST_FUNC(void)
 257{
 258        switch (cvmx_get_octeon_family()) {
 259        case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
 260                return 0x00010700000004F0ull;
 261        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 262        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 263        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 264                return 0x000107000000C200ull;
 265        }
 266        return 0x000107000000C200ull;
 267}
 268
 269static inline u64 CVMX_CIU_WDOGX(unsigned long offset)
 270{
 271        switch (cvmx_get_octeon_family()) {
 272        case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
 273        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 274        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 275                return 0x0001070000000500ull + (offset) * 8;
 276        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 277                return 0x0001070000000500ull + (offset) * 8;
 278        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 279                return 0x0001070000000500ull + (offset) * 8;
 280        case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
 281                if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
 282                        return 0x0001010000020000ull + (offset) * 8;
 283                if (OCTEON_IS_MODEL(OCTEON_CN78XX))
 284                        return 0x0001010000020000ull + (offset) * 8;
 285
 286        case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
 287        case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
 288                return 0x0001010000020000ull + (offset) * 8;
 289        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 290                return 0x0001070100100000ull + (offset) * 8;
 291        }
 292        return 0x0001010000020000ull + (offset) * 8;
 293}
 294
 295/**
 296 * cvmx_ciu_bist
 297 */
 298union cvmx_ciu_bist {
 299        u64 u64;
 300        struct cvmx_ciu_bist_s {
 301                u64 reserved_7_63 : 57;
 302                u64 bist : 7;
 303        } s;
 304        struct cvmx_ciu_bist_cn30xx {
 305                u64 reserved_4_63 : 60;
 306                u64 bist : 4;
 307        } cn30xx;
 308        struct cvmx_ciu_bist_cn30xx cn31xx;
 309        struct cvmx_ciu_bist_cn30xx cn38xx;
 310        struct cvmx_ciu_bist_cn30xx cn38xxp2;
 311        struct cvmx_ciu_bist_cn50xx {
 312                u64 reserved_2_63 : 62;
 313                u64 bist : 2;
 314        } cn50xx;
 315        struct cvmx_ciu_bist_cn52xx {
 316                u64 reserved_3_63 : 61;
 317                u64 bist : 3;
 318        } cn52xx;
 319        struct cvmx_ciu_bist_cn52xx cn52xxp1;
 320        struct cvmx_ciu_bist_cn30xx cn56xx;
 321        struct cvmx_ciu_bist_cn30xx cn56xxp1;
 322        struct cvmx_ciu_bist_cn30xx cn58xx;
 323        struct cvmx_ciu_bist_cn30xx cn58xxp1;
 324        struct cvmx_ciu_bist_cn61xx {
 325                u64 reserved_6_63 : 58;
 326                u64 bist : 6;
 327        } cn61xx;
 328        struct cvmx_ciu_bist_cn63xx {
 329                u64 reserved_5_63 : 59;
 330                u64 bist : 5;
 331        } cn63xx;
 332        struct cvmx_ciu_bist_cn63xx cn63xxp1;
 333        struct cvmx_ciu_bist_cn61xx cn66xx;
 334        struct cvmx_ciu_bist_s cn68xx;
 335        struct cvmx_ciu_bist_s cn68xxp1;
 336        struct cvmx_ciu_bist_cn52xx cn70xx;
 337        struct cvmx_ciu_bist_cn52xx cn70xxp1;
 338        struct cvmx_ciu_bist_cn61xx cnf71xx;
 339};
 340
 341typedef union cvmx_ciu_bist cvmx_ciu_bist_t;
 342
 343/**
 344 * cvmx_ciu_block_int
 345 *
 346 * CIU_BLOCK_INT = CIU Blocks Interrupt
 347 *
 348 * The interrupt lines from the various chip blocks.
 349 */
 350union cvmx_ciu_block_int {
 351        u64 u64;
 352        struct cvmx_ciu_block_int_s {
 353                u64 reserved_62_63 : 2;
 354                u64 srio3 : 1;
 355                u64 srio2 : 1;
 356                u64 reserved_43_59 : 17;
 357                u64 ptp : 1;
 358                u64 dpi : 1;
 359                u64 dfm : 1;
 360                u64 reserved_34_39 : 6;
 361                u64 srio1 : 1;
 362                u64 srio0 : 1;
 363                u64 reserved_31_31 : 1;
 364                u64 iob : 1;
 365                u64 reserved_29_29 : 1;
 366                u64 agl : 1;
 367                u64 reserved_27_27 : 1;
 368                u64 pem1 : 1;
 369                u64 pem0 : 1;
 370                u64 reserved_24_24 : 1;
 371                u64 asxpcs1 : 1;
 372                u64 asxpcs0 : 1;
 373                u64 reserved_21_21 : 1;
 374                u64 pip : 1;
 375                u64 reserved_18_19 : 2;
 376                u64 lmc0 : 1;
 377                u64 l2c : 1;
 378                u64 reserved_15_15 : 1;
 379                u64 rad : 1;
 380                u64 usb : 1;
 381                u64 pow : 1;
 382                u64 tim : 1;
 383                u64 pko : 1;
 384                u64 ipd : 1;
 385                u64 reserved_8_8 : 1;
 386                u64 zip : 1;
 387                u64 dfa : 1;
 388                u64 fpa : 1;
 389                u64 key : 1;
 390                u64 sli : 1;
 391                u64 gmx1 : 1;
 392                u64 gmx0 : 1;
 393                u64 mio : 1;
 394        } s;
 395        struct cvmx_ciu_block_int_cn61xx {
 396                u64 reserved_43_63 : 21;
 397                u64 ptp : 1;
 398                u64 dpi : 1;
 399                u64 reserved_31_40 : 10;
 400                u64 iob : 1;
 401                u64 reserved_29_29 : 1;
 402                u64 agl : 1;
 403                u64 reserved_27_27 : 1;
 404                u64 pem1 : 1;
 405                u64 pem0 : 1;
 406                u64 reserved_24_24 : 1;
 407                u64 asxpcs1 : 1;
 408                u64 asxpcs0 : 1;
 409                u64 reserved_21_21 : 1;
 410                u64 pip : 1;
 411                u64 reserved_18_19 : 2;
 412                u64 lmc0 : 1;
 413                u64 l2c : 1;
 414                u64 reserved_15_15 : 1;
 415                u64 rad : 1;
 416                u64 usb : 1;
 417                u64 pow : 1;
 418                u64 tim : 1;
 419                u64 pko : 1;
 420                u64 ipd : 1;
 421                u64 reserved_8_8 : 1;
 422                u64 zip : 1;
 423                u64 dfa : 1;
 424                u64 fpa : 1;
 425                u64 key : 1;
 426                u64 sli : 1;
 427                u64 gmx1 : 1;
 428                u64 gmx0 : 1;
 429                u64 mio : 1;
 430        } cn61xx;
 431        struct cvmx_ciu_block_int_cn63xx {
 432                u64 reserved_43_63 : 21;
 433                u64 ptp : 1;
 434                u64 dpi : 1;
 435                u64 dfm : 1;
 436                u64 reserved_34_39 : 6;
 437                u64 srio1 : 1;
 438                u64 srio0 : 1;
 439                u64 reserved_31_31 : 1;
 440                u64 iob : 1;
 441                u64 reserved_29_29 : 1;
 442                u64 agl : 1;
 443                u64 reserved_27_27 : 1;
 444                u64 pem1 : 1;
 445                u64 pem0 : 1;
 446                u64 reserved_23_24 : 2;
 447                u64 asxpcs0 : 1;
 448                u64 reserved_21_21 : 1;
 449                u64 pip : 1;
 450                u64 reserved_18_19 : 2;
 451                u64 lmc0 : 1;
 452                u64 l2c : 1;
 453                u64 reserved_15_15 : 1;
 454                u64 rad : 1;
 455                u64 usb : 1;
 456                u64 pow : 1;
 457                u64 tim : 1;
 458                u64 pko : 1;
 459                u64 ipd : 1;
 460                u64 reserved_8_8 : 1;
 461                u64 zip : 1;
 462                u64 dfa : 1;
 463                u64 fpa : 1;
 464                u64 key : 1;
 465                u64 sli : 1;
 466                u64 reserved_2_2 : 1;
 467                u64 gmx0 : 1;
 468                u64 mio : 1;
 469        } cn63xx;
 470        struct cvmx_ciu_block_int_cn63xx cn63xxp1;
 471        struct cvmx_ciu_block_int_cn66xx {
 472                u64 reserved_62_63 : 2;
 473                u64 srio3 : 1;
 474                u64 srio2 : 1;
 475                u64 reserved_43_59 : 17;
 476                u64 ptp : 1;
 477                u64 dpi : 1;
 478                u64 dfm : 1;
 479                u64 reserved_33_39 : 7;
 480                u64 srio0 : 1;
 481                u64 reserved_31_31 : 1;
 482                u64 iob : 1;
 483                u64 reserved_29_29 : 1;
 484                u64 agl : 1;
 485                u64 reserved_27_27 : 1;
 486                u64 pem1 : 1;
 487                u64 pem0 : 1;
 488                u64 reserved_24_24 : 1;
 489                u64 asxpcs1 : 1;
 490                u64 asxpcs0 : 1;
 491                u64 reserved_21_21 : 1;
 492                u64 pip : 1;
 493                u64 reserved_18_19 : 2;
 494                u64 lmc0 : 1;
 495                u64 l2c : 1;
 496                u64 reserved_15_15 : 1;
 497                u64 rad : 1;
 498                u64 usb : 1;
 499                u64 pow : 1;
 500                u64 tim : 1;
 501                u64 pko : 1;
 502                u64 ipd : 1;
 503                u64 reserved_8_8 : 1;
 504                u64 zip : 1;
 505                u64 dfa : 1;
 506                u64 fpa : 1;
 507                u64 key : 1;
 508                u64 sli : 1;
 509                u64 gmx1 : 1;
 510                u64 gmx0 : 1;
 511                u64 mio : 1;
 512        } cn66xx;
 513        struct cvmx_ciu_block_int_cnf71xx {
 514                u64 reserved_43_63 : 21;
 515                u64 ptp : 1;
 516                u64 dpi : 1;
 517                u64 reserved_31_40 : 10;
 518                u64 iob : 1;
 519                u64 reserved_27_29 : 3;
 520                u64 pem1 : 1;
 521                u64 pem0 : 1;
 522                u64 reserved_23_24 : 2;
 523                u64 asxpcs0 : 1;
 524                u64 reserved_21_21 : 1;
 525                u64 pip : 1;
 526                u64 reserved_18_19 : 2;
 527                u64 lmc0 : 1;
 528                u64 l2c : 1;
 529                u64 reserved_15_15 : 1;
 530                u64 rad : 1;
 531                u64 usb : 1;
 532                u64 pow : 1;
 533                u64 tim : 1;
 534                u64 pko : 1;
 535                u64 ipd : 1;
 536                u64 reserved_6_8 : 3;
 537                u64 fpa : 1;
 538                u64 key : 1;
 539                u64 sli : 1;
 540                u64 reserved_2_2 : 1;
 541                u64 gmx0 : 1;
 542                u64 mio : 1;
 543        } cnf71xx;
 544};
 545
 546typedef union cvmx_ciu_block_int cvmx_ciu_block_int_t;
 547
 548/**
 549 * cvmx_ciu_cib_l2c_en#
 550 */
 551union cvmx_ciu_cib_l2c_enx {
 552        u64 u64;
 553        struct cvmx_ciu_cib_l2c_enx_s {
 554                u64 reserved_23_63 : 41;
 555                u64 cbcx_int_ioccmddbe : 1;
 556                u64 cbcx_int_ioccmdsbe : 1;
 557                u64 cbcx_int_rsddbe : 1;
 558                u64 cbcx_int_rsdsbe : 1;
 559                u64 mcix_int_vbfdbe : 1;
 560                u64 mcix_int_vbfsbe : 1;
 561                u64 tadx_int_rtgdbe : 1;
 562                u64 tadx_int_rtgsbe : 1;
 563                u64 tadx_int_rddislmc : 1;
 564                u64 tadx_int_wrdislmc : 1;
 565                u64 tadx_int_bigrd : 1;
 566                u64 tadx_int_bigwr : 1;
 567                u64 tadx_int_holerd : 1;
 568                u64 tadx_int_holewr : 1;
 569                u64 tadx_int_noway : 1;
 570                u64 tadx_int_tagdbe : 1;
 571                u64 tadx_int_tagsbe : 1;
 572                u64 tadx_int_fbfdbe : 1;
 573                u64 tadx_int_fbfsbe : 1;
 574                u64 tadx_int_sbfdbe : 1;
 575                u64 tadx_int_sbfsbe : 1;
 576                u64 tadx_int_l2ddbe : 1;
 577                u64 tadx_int_l2dsbe : 1;
 578        } s;
 579        struct cvmx_ciu_cib_l2c_enx_s cn70xx;
 580        struct cvmx_ciu_cib_l2c_enx_s cn70xxp1;
 581};
 582
 583typedef union cvmx_ciu_cib_l2c_enx cvmx_ciu_cib_l2c_enx_t;
 584
 585/**
 586 * cvmx_ciu_cib_l2c_raw#
 587 */
 588union cvmx_ciu_cib_l2c_rawx {
 589        u64 u64;
 590        struct cvmx_ciu_cib_l2c_rawx_s {
 591                u64 reserved_23_63 : 41;
 592                u64 cbcx_int_ioccmddbe : 1;
 593                u64 cbcx_int_ioccmdsbe : 1;
 594                u64 cbcx_int_rsddbe : 1;
 595                u64 cbcx_int_rsdsbe : 1;
 596                u64 mcix_int_vbfdbe : 1;
 597                u64 mcix_int_vbfsbe : 1;
 598                u64 tadx_int_rtgdbe : 1;
 599                u64 tadx_int_rtgsbe : 1;
 600                u64 tadx_int_rddislmc : 1;
 601                u64 tadx_int_wrdislmc : 1;
 602                u64 tadx_int_bigrd : 1;
 603                u64 tadx_int_bigwr : 1;
 604                u64 tadx_int_holerd : 1;
 605                u64 tadx_int_holewr : 1;
 606                u64 tadx_int_noway : 1;
 607                u64 tadx_int_tagdbe : 1;
 608                u64 tadx_int_tagsbe : 1;
 609                u64 tadx_int_fbfdbe : 1;
 610                u64 tadx_int_fbfsbe : 1;
 611                u64 tadx_int_sbfdbe : 1;
 612                u64 tadx_int_sbfsbe : 1;
 613                u64 tadx_int_l2ddbe : 1;
 614                u64 tadx_int_l2dsbe : 1;
 615        } s;
 616        struct cvmx_ciu_cib_l2c_rawx_s cn70xx;
 617        struct cvmx_ciu_cib_l2c_rawx_s cn70xxp1;
 618};
 619
 620typedef union cvmx_ciu_cib_l2c_rawx cvmx_ciu_cib_l2c_rawx_t;
 621
 622/**
 623 * cvmx_ciu_cib_lmc#_en#
 624 */
 625union cvmx_ciu_cib_lmcx_enx {
 626        u64 u64;
 627        struct cvmx_ciu_cib_lmcx_enx_s {
 628                u64 reserved_12_63 : 52;
 629                u64 int_ddr_err : 1;
 630                u64 int_dlc_ded : 1;
 631                u64 int_dlc_sec : 1;
 632                u64 int_ded_errx : 4;
 633                u64 int_sec_errx : 4;
 634                u64 int_nxm_wr_err : 1;
 635        } s;
 636        struct cvmx_ciu_cib_lmcx_enx_s cn70xx;
 637        struct cvmx_ciu_cib_lmcx_enx_s cn70xxp1;
 638};
 639
 640typedef union cvmx_ciu_cib_lmcx_enx cvmx_ciu_cib_lmcx_enx_t;
 641
 642/**
 643 * cvmx_ciu_cib_lmc#_raw#
 644 */
 645union cvmx_ciu_cib_lmcx_rawx {
 646        u64 u64;
 647        struct cvmx_ciu_cib_lmcx_rawx_s {
 648                u64 reserved_12_63 : 52;
 649                u64 int_ddr_err : 1;
 650                u64 int_dlc_ded : 1;
 651                u64 int_dlc_sec : 1;
 652                u64 int_ded_errx : 4;
 653                u64 int_sec_errx : 4;
 654                u64 int_nxm_wr_err : 1;
 655        } s;
 656        struct cvmx_ciu_cib_lmcx_rawx_s cn70xx;
 657        struct cvmx_ciu_cib_lmcx_rawx_s cn70xxp1;
 658};
 659
 660typedef union cvmx_ciu_cib_lmcx_rawx cvmx_ciu_cib_lmcx_rawx_t;
 661
 662/**
 663 * cvmx_ciu_cib_ocla#_en#
 664 */
 665union cvmx_ciu_cib_oclax_enx {
 666        u64 u64;
 667        struct cvmx_ciu_cib_oclax_enx_s {
 668                u64 reserved_15_63 : 49;
 669                u64 state_ddrfull : 1;
 670                u64 state_wmark : 1;
 671                u64 state_overfull : 1;
 672                u64 state_trigfull : 1;
 673                u64 state_captured : 1;
 674                u64 state_fsm1_int : 1;
 675                u64 state_fsm0_int : 1;
 676                u64 state_mcdx : 3;
 677                u64 state_trig : 1;
 678                u64 state_ovflx : 4;
 679        } s;
 680        struct cvmx_ciu_cib_oclax_enx_s cn70xx;
 681        struct cvmx_ciu_cib_oclax_enx_s cn70xxp1;
 682};
 683
 684typedef union cvmx_ciu_cib_oclax_enx cvmx_ciu_cib_oclax_enx_t;
 685
 686/**
 687 * cvmx_ciu_cib_ocla#_raw#
 688 */
 689union cvmx_ciu_cib_oclax_rawx {
 690        u64 u64;
 691        struct cvmx_ciu_cib_oclax_rawx_s {
 692                u64 reserved_15_63 : 49;
 693                u64 state_ddrfull : 1;
 694                u64 state_wmark : 1;
 695                u64 state_overfull : 1;
 696                u64 state_trigfull : 1;
 697                u64 state_captured : 1;
 698                u64 state_fsm1_int : 1;
 699                u64 state_fsm0_int : 1;
 700                u64 state_mcdx : 3;
 701                u64 state_trig : 1;
 702                u64 state_ovflx : 4;
 703        } s;
 704        struct cvmx_ciu_cib_oclax_rawx_s cn70xx;
 705        struct cvmx_ciu_cib_oclax_rawx_s cn70xxp1;
 706};
 707
 708typedef union cvmx_ciu_cib_oclax_rawx cvmx_ciu_cib_oclax_rawx_t;
 709
 710/**
 711 * cvmx_ciu_cib_rst_en#
 712 */
 713union cvmx_ciu_cib_rst_enx {
 714        u64 u64;
 715        struct cvmx_ciu_cib_rst_enx_s {
 716                u64 reserved_6_63 : 58;
 717                u64 int_perstx : 3;
 718                u64 int_linkx : 3;
 719        } s;
 720        struct cvmx_ciu_cib_rst_enx_s cn70xx;
 721        struct cvmx_ciu_cib_rst_enx_s cn70xxp1;
 722};
 723
 724typedef union cvmx_ciu_cib_rst_enx cvmx_ciu_cib_rst_enx_t;
 725
 726/**
 727 * cvmx_ciu_cib_rst_raw#
 728 */
 729union cvmx_ciu_cib_rst_rawx {
 730        u64 u64;
 731        struct cvmx_ciu_cib_rst_rawx_s {
 732                u64 reserved_6_63 : 58;
 733                u64 int_perstx : 3;
 734                u64 int_linkx : 3;
 735        } s;
 736        struct cvmx_ciu_cib_rst_rawx_s cn70xx;
 737        struct cvmx_ciu_cib_rst_rawx_s cn70xxp1;
 738};
 739
 740typedef union cvmx_ciu_cib_rst_rawx cvmx_ciu_cib_rst_rawx_t;
 741
 742/**
 743 * cvmx_ciu_cib_sata_en#
 744 */
 745union cvmx_ciu_cib_sata_enx {
 746        u64 u64;
 747        struct cvmx_ciu_cib_sata_enx_s {
 748                u64 reserved_4_63 : 60;
 749                u64 uahc_pme_req_ip : 1;
 750                u64 uahc_intrq_ip : 1;
 751                u64 intstat_xm_bad_dma : 1;
 752                u64 intstat_xs_ncb_oob : 1;
 753        } s;
 754        struct cvmx_ciu_cib_sata_enx_s cn70xx;
 755        struct cvmx_ciu_cib_sata_enx_s cn70xxp1;
 756};
 757
 758typedef union cvmx_ciu_cib_sata_enx cvmx_ciu_cib_sata_enx_t;
 759
 760/**
 761 * cvmx_ciu_cib_sata_raw#
 762 */
 763union cvmx_ciu_cib_sata_rawx {
 764        u64 u64;
 765        struct cvmx_ciu_cib_sata_rawx_s {
 766                u64 reserved_4_63 : 60;
 767                u64 uahc_pme_req_ip : 1;
 768                u64 uahc_intrq_ip : 1;
 769                u64 intstat_xm_bad_dma : 1;
 770                u64 intstat_xs_ncb_oob : 1;
 771        } s;
 772        struct cvmx_ciu_cib_sata_rawx_s cn70xx;
 773        struct cvmx_ciu_cib_sata_rawx_s cn70xxp1;
 774};
 775
 776typedef union cvmx_ciu_cib_sata_rawx cvmx_ciu_cib_sata_rawx_t;
 777
 778/**
 779 * cvmx_ciu_cib_usbdrd#_en#
 780 */
 781union cvmx_ciu_cib_usbdrdx_enx {
 782        u64 u64;
 783        struct cvmx_ciu_cib_usbdrdx_enx_s {
 784                u64 reserved_11_63 : 53;
 785                u64 uahc_dev_int : 1;
 786                u64 uahc_imanx_ip : 1;
 787                u64 uahc_usbsts_hse : 1;
 788                u64 intstat_ram2_dbe : 1;
 789                u64 intstat_ram2_sbe : 1;
 790                u64 intstat_ram1_dbe : 1;
 791                u64 intstat_ram1_sbe : 1;
 792                u64 intstat_ram0_dbe : 1;
 793                u64 intstat_ram0_sbe : 1;
 794                u64 intstat_xm_bad_dma : 1;
 795                u64 intstat_xs_ncb_oob : 1;
 796        } s;
 797        struct cvmx_ciu_cib_usbdrdx_enx_s cn70xx;
 798        struct cvmx_ciu_cib_usbdrdx_enx_s cn70xxp1;
 799};
 800
 801typedef union cvmx_ciu_cib_usbdrdx_enx cvmx_ciu_cib_usbdrdx_enx_t;
 802
 803/**
 804 * cvmx_ciu_cib_usbdrd#_raw#
 805 */
 806union cvmx_ciu_cib_usbdrdx_rawx {
 807        u64 u64;
 808        struct cvmx_ciu_cib_usbdrdx_rawx_s {
 809                u64 reserved_11_63 : 53;
 810                u64 uahc_dev_int : 1;
 811                u64 uahc_imanx_ip : 1;
 812                u64 uahc_usbsts_hse : 1;
 813                u64 intstat_ram2_dbe : 1;
 814                u64 intstat_ram2_sbe : 1;
 815                u64 intstat_ram1_dbe : 1;
 816                u64 intstat_ram1_sbe : 1;
 817                u64 intstat_ram0_dbe : 1;
 818                u64 intstat_ram0_sbe : 1;
 819                u64 intstat_xm_bad_dma : 1;
 820                u64 intstat_xs_ncb_oob : 1;
 821        } s;
 822        struct cvmx_ciu_cib_usbdrdx_rawx_s cn70xx;
 823        struct cvmx_ciu_cib_usbdrdx_rawx_s cn70xxp1;
 824};
 825
 826typedef union cvmx_ciu_cib_usbdrdx_rawx cvmx_ciu_cib_usbdrdx_rawx_t;
 827
 828/**
 829 * cvmx_ciu_dint
 830 */
 831union cvmx_ciu_dint {
 832        u64 u64;
 833        struct cvmx_ciu_dint_s {
 834                u64 reserved_48_63 : 16;
 835                u64 dint : 48;
 836        } s;
 837        struct cvmx_ciu_dint_cn30xx {
 838                u64 reserved_1_63 : 63;
 839                u64 dint : 1;
 840        } cn30xx;
 841        struct cvmx_ciu_dint_cn31xx {
 842                u64 reserved_2_63 : 62;
 843                u64 dint : 2;
 844        } cn31xx;
 845        struct cvmx_ciu_dint_cn38xx {
 846                u64 reserved_16_63 : 48;
 847                u64 dint : 16;
 848        } cn38xx;
 849        struct cvmx_ciu_dint_cn38xx cn38xxp2;
 850        struct cvmx_ciu_dint_cn31xx cn50xx;
 851        struct cvmx_ciu_dint_cn52xx {
 852                u64 reserved_4_63 : 60;
 853                u64 dint : 4;
 854        } cn52xx;
 855        struct cvmx_ciu_dint_cn52xx cn52xxp1;
 856        struct cvmx_ciu_dint_cn56xx {
 857                u64 reserved_12_63 : 52;
 858                u64 dint : 12;
 859        } cn56xx;
 860        struct cvmx_ciu_dint_cn56xx cn56xxp1;
 861        struct cvmx_ciu_dint_cn38xx cn58xx;
 862        struct cvmx_ciu_dint_cn38xx cn58xxp1;
 863        struct cvmx_ciu_dint_cn52xx cn61xx;
 864        struct cvmx_ciu_dint_cn63xx {
 865                u64 reserved_6_63 : 58;
 866                u64 dint : 6;
 867        } cn63xx;
 868        struct cvmx_ciu_dint_cn63xx cn63xxp1;
 869        struct cvmx_ciu_dint_cn66xx {
 870                u64 reserved_10_63 : 54;
 871                u64 dint : 10;
 872        } cn66xx;
 873        struct cvmx_ciu_dint_cn68xx {
 874                u64 reserved_32_63 : 32;
 875                u64 dint : 32;
 876        } cn68xx;
 877        struct cvmx_ciu_dint_cn68xx cn68xxp1;
 878        struct cvmx_ciu_dint_cn52xx cn70xx;
 879        struct cvmx_ciu_dint_cn52xx cn70xxp1;
 880        struct cvmx_ciu_dint_cn38xx cn73xx;
 881        struct cvmx_ciu_dint_s cn78xx;
 882        struct cvmx_ciu_dint_s cn78xxp1;
 883        struct cvmx_ciu_dint_cn52xx cnf71xx;
 884        struct cvmx_ciu_dint_cn38xx cnf75xx;
 885};
 886
 887typedef union cvmx_ciu_dint cvmx_ciu_dint_t;
 888
 889/**
 890 * cvmx_ciu_en2_io#_int
 891 *
 892 * CIU_EN2_IO0_INT is for PEM0, CIU_EN2_IO1_INT is reserved.
 893 *
 894 */
 895union cvmx_ciu_en2_iox_int {
 896        u64 u64;
 897        struct cvmx_ciu_en2_iox_int_s {
 898                u64 reserved_20_63 : 44;
 899                u64 bch : 1;
 900                u64 agl_drp : 1;
 901                u64 ocla : 1;
 902                u64 sata : 1;
 903                u64 reserved_15_15 : 1;
 904                u64 endor : 2;
 905                u64 eoi : 1;
 906                u64 reserved_10_11 : 2;
 907                u64 timer : 6;
 908                u64 reserved_0_3 : 4;
 909        } s;
 910        struct cvmx_ciu_en2_iox_int_cn61xx {
 911                u64 reserved_10_63 : 54;
 912                u64 timer : 6;
 913                u64 reserved_0_3 : 4;
 914        } cn61xx;
 915        struct cvmx_ciu_en2_iox_int_cn61xx cn66xx;
 916        struct cvmx_ciu_en2_iox_int_cn70xx {
 917                u64 reserved_20_63 : 44;
 918                u64 bch : 1;
 919                u64 agl_drp : 1;
 920                u64 ocla : 1;
 921                u64 sata : 1;
 922                u64 reserved_10_15 : 6;
 923                u64 timer : 6;
 924                u64 reserved_0_3 : 4;
 925        } cn70xx;
 926        struct cvmx_ciu_en2_iox_int_cn70xx cn70xxp1;
 927        struct cvmx_ciu_en2_iox_int_cnf71xx {
 928                u64 reserved_15_63 : 49;
 929                u64 endor : 2;
 930                u64 eoi : 1;
 931                u64 reserved_10_11 : 2;
 932                u64 timer : 6;
 933                u64 reserved_0_3 : 4;
 934        } cnf71xx;
 935};
 936
 937typedef union cvmx_ciu_en2_iox_int cvmx_ciu_en2_iox_int_t;
 938
 939/**
 940 * cvmx_ciu_en2_io#_int_w1c
 941 *
 942 * CIU_EN2_IO0_INT_W1C is for PEM0, CIU_EN2_IO1_INT_W1C is reserved.
 943 *
 944 */
 945union cvmx_ciu_en2_iox_int_w1c {
 946        u64 u64;
 947        struct cvmx_ciu_en2_iox_int_w1c_s {
 948                u64 reserved_20_63 : 44;
 949                u64 bch : 1;
 950                u64 agl_drp : 1;
 951                u64 ocla : 1;
 952                u64 sata : 1;
 953                u64 reserved_15_15 : 1;
 954                u64 endor : 2;
 955                u64 eoi : 1;
 956                u64 reserved_10_11 : 2;
 957                u64 timer : 6;
 958                u64 reserved_0_3 : 4;
 959        } s;
 960        struct cvmx_ciu_en2_iox_int_w1c_cn61xx {
 961                u64 reserved_10_63 : 54;
 962                u64 timer : 6;
 963                u64 reserved_0_3 : 4;
 964        } cn61xx;
 965        struct cvmx_ciu_en2_iox_int_w1c_cn61xx cn66xx;
 966        struct cvmx_ciu_en2_iox_int_w1c_cn70xx {
 967                u64 reserved_20_63 : 44;
 968                u64 bch : 1;
 969                u64 agl_drp : 1;
 970                u64 ocla : 1;
 971                u64 sata : 1;
 972                u64 reserved_10_15 : 6;
 973                u64 timer : 6;
 974                u64 reserved_0_3 : 4;
 975        } cn70xx;
 976        struct cvmx_ciu_en2_iox_int_w1c_cn70xx cn70xxp1;
 977        struct cvmx_ciu_en2_iox_int_w1c_cnf71xx {
 978                u64 reserved_15_63 : 49;
 979                u64 endor : 2;
 980                u64 eoi : 1;
 981                u64 reserved_10_11 : 2;
 982                u64 timer : 6;
 983                u64 reserved_0_3 : 4;
 984        } cnf71xx;
 985};
 986
 987typedef union cvmx_ciu_en2_iox_int_w1c cvmx_ciu_en2_iox_int_w1c_t;
 988
 989/**
 990 * cvmx_ciu_en2_io#_int_w1s
 991 *
 992 * CIU_EN2_IO0_INT_W1S is for PEM0, CIU_EN2_IO1_INT_W1S is reserved.
 993 *
 994 */
 995union cvmx_ciu_en2_iox_int_w1s {
 996        u64 u64;
 997        struct cvmx_ciu_en2_iox_int_w1s_s {
 998                u64 reserved_20_63 : 44;
 999                u64 bch : 1;
1000                u64 agl_drp : 1;
1001                u64 ocla : 1;
1002                u64 sata : 1;
1003                u64 reserved_15_15 : 1;
1004                u64 endor : 2;
1005                u64 eoi : 1;
1006                u64 reserved_10_11 : 2;
1007                u64 timer : 6;
1008                u64 reserved_0_3 : 4;
1009        } s;
1010        struct cvmx_ciu_en2_iox_int_w1s_cn61xx {
1011                u64 reserved_10_63 : 54;
1012                u64 timer : 6;
1013                u64 reserved_0_3 : 4;
1014        } cn61xx;
1015        struct cvmx_ciu_en2_iox_int_w1s_cn61xx cn66xx;
1016        struct cvmx_ciu_en2_iox_int_w1s_cn70xx {
1017                u64 reserved_20_63 : 44;
1018                u64 bch : 1;
1019                u64 agl_drp : 1;
1020                u64 ocla : 1;
1021                u64 sata : 1;
1022                u64 reserved_10_15 : 6;
1023                u64 timer : 6;
1024                u64 reserved_0_3 : 4;
1025        } cn70xx;
1026        struct cvmx_ciu_en2_iox_int_w1s_cn70xx cn70xxp1;
1027        struct cvmx_ciu_en2_iox_int_w1s_cnf71xx {
1028                u64 reserved_15_63 : 49;
1029                u64 endor : 2;
1030                u64 eoi : 1;
1031                u64 reserved_10_11 : 2;
1032                u64 timer : 6;
1033                u64 reserved_0_3 : 4;
1034        } cnf71xx;
1035};
1036
1037typedef union cvmx_ciu_en2_iox_int_w1s cvmx_ciu_en2_iox_int_w1s_t;
1038
1039/**
1040 * cvmx_ciu_en2_pp#_ip2
1041 *
1042 * Notes:
1043 * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
1044 *
1045 */
1046union cvmx_ciu_en2_ppx_ip2 {
1047        u64 u64;
1048        struct cvmx_ciu_en2_ppx_ip2_s {
1049                u64 reserved_20_63 : 44;
1050                u64 bch : 1;
1051                u64 agl_drp : 1;
1052                u64 ocla : 1;
1053                u64 sata : 1;
1054                u64 reserved_15_15 : 1;
1055                u64 endor : 2;
1056                u64 eoi : 1;
1057                u64 reserved_10_11 : 2;
1058                u64 timer : 6;
1059                u64 reserved_0_3 : 4;
1060        } s;
1061        struct cvmx_ciu_en2_ppx_ip2_cn61xx {
1062                u64 reserved_10_63 : 54;
1063                u64 timer : 6;
1064                u64 reserved_0_3 : 4;
1065        } cn61xx;
1066        struct cvmx_ciu_en2_ppx_ip2_cn61xx cn66xx;
1067        struct cvmx_ciu_en2_ppx_ip2_cn70xx {
1068                u64 reserved_20_63 : 44;
1069                u64 bch : 1;
1070                u64 agl_drp : 1;
1071                u64 ocla : 1;
1072                u64 sata : 1;
1073                u64 reserved_10_15 : 6;
1074                u64 timer : 6;
1075                u64 reserved_0_3 : 4;
1076        } cn70xx;
1077        struct cvmx_ciu_en2_ppx_ip2_cn70xx cn70xxp1;
1078        struct cvmx_ciu_en2_ppx_ip2_cnf71xx {
1079                u64 reserved_15_63 : 49;
1080                u64 endor : 2;
1081                u64 eoi : 1;
1082                u64 reserved_10_11 : 2;
1083                u64 timer : 6;
1084                u64 reserved_0_3 : 4;
1085        } cnf71xx;
1086};
1087
1088typedef union cvmx_ciu_en2_ppx_ip2 cvmx_ciu_en2_ppx_ip2_t;
1089
1090/**
1091 * cvmx_ciu_en2_pp#_ip2_w1c
1092 *
1093 * Write-1-to-clear version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1094 * CIU_EN2_PP(IO)X_IPx(INT) value.
1095 */
1096union cvmx_ciu_en2_ppx_ip2_w1c {
1097        u64 u64;
1098        struct cvmx_ciu_en2_ppx_ip2_w1c_s {
1099                u64 reserved_20_63 : 44;
1100                u64 bch : 1;
1101                u64 agl_drp : 1;
1102                u64 ocla : 1;
1103                u64 sata : 1;
1104                u64 reserved_15_15 : 1;
1105                u64 endor : 2;
1106                u64 eoi : 1;
1107                u64 reserved_10_11 : 2;
1108                u64 timer : 6;
1109                u64 reserved_0_3 : 4;
1110        } s;
1111        struct cvmx_ciu_en2_ppx_ip2_w1c_cn61xx {
1112                u64 reserved_10_63 : 54;
1113                u64 timer : 6;
1114                u64 reserved_0_3 : 4;
1115        } cn61xx;
1116        struct cvmx_ciu_en2_ppx_ip2_w1c_cn61xx cn66xx;
1117        struct cvmx_ciu_en2_ppx_ip2_w1c_cn70xx {
1118                u64 reserved_20_63 : 44;
1119                u64 bch : 1;
1120                u64 agl_drp : 1;
1121                u64 ocla : 1;
1122                u64 sata : 1;
1123                u64 reserved_10_15 : 6;
1124                u64 timer : 6;
1125                u64 reserved_0_3 : 4;
1126        } cn70xx;
1127        struct cvmx_ciu_en2_ppx_ip2_w1c_cn70xx cn70xxp1;
1128        struct cvmx_ciu_en2_ppx_ip2_w1c_cnf71xx {
1129                u64 reserved_15_63 : 49;
1130                u64 endor : 2;
1131                u64 eoi : 1;
1132                u64 reserved_10_11 : 2;
1133                u64 timer : 6;
1134                u64 reserved_0_3 : 4;
1135        } cnf71xx;
1136};
1137
1138typedef union cvmx_ciu_en2_ppx_ip2_w1c cvmx_ciu_en2_ppx_ip2_w1c_t;
1139
1140/**
1141 * cvmx_ciu_en2_pp#_ip2_w1s
1142 *
1143 * Write-1-to-set version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1144 * CIU_EN2_PP(IO)X_IPx(INT) value.
1145 */
1146union cvmx_ciu_en2_ppx_ip2_w1s {
1147        u64 u64;
1148        struct cvmx_ciu_en2_ppx_ip2_w1s_s {
1149                u64 reserved_20_63 : 44;
1150                u64 bch : 1;
1151                u64 agl_drp : 1;
1152                u64 ocla : 1;
1153                u64 sata : 1;
1154                u64 reserved_15_15 : 1;
1155                u64 endor : 2;
1156                u64 eoi : 1;
1157                u64 reserved_10_11 : 2;
1158                u64 timer : 6;
1159                u64 reserved_0_3 : 4;
1160        } s;
1161        struct cvmx_ciu_en2_ppx_ip2_w1s_cn61xx {
1162                u64 reserved_10_63 : 54;
1163                u64 timer : 6;
1164                u64 reserved_0_3 : 4;
1165        } cn61xx;
1166        struct cvmx_ciu_en2_ppx_ip2_w1s_cn61xx cn66xx;
1167        struct cvmx_ciu_en2_ppx_ip2_w1s_cn70xx {
1168                u64 reserved_20_63 : 44;
1169                u64 bch : 1;
1170                u64 agl_drp : 1;
1171                u64 ocla : 1;
1172                u64 sata : 1;
1173                u64 reserved_10_15 : 6;
1174                u64 timer : 6;
1175                u64 reserved_0_3 : 4;
1176        } cn70xx;
1177        struct cvmx_ciu_en2_ppx_ip2_w1s_cn70xx cn70xxp1;
1178        struct cvmx_ciu_en2_ppx_ip2_w1s_cnf71xx {
1179                u64 reserved_15_63 : 49;
1180                u64 endor : 2;
1181                u64 eoi : 1;
1182                u64 reserved_10_11 : 2;
1183                u64 timer : 6;
1184                u64 reserved_0_3 : 4;
1185        } cnf71xx;
1186};
1187
1188typedef union cvmx_ciu_en2_ppx_ip2_w1s cvmx_ciu_en2_ppx_ip2_w1s_t;
1189
1190/**
1191 * cvmx_ciu_en2_pp#_ip3
1192 *
1193 * Notes:
1194 * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
1195 *
1196 */
1197union cvmx_ciu_en2_ppx_ip3 {
1198        u64 u64;
1199        struct cvmx_ciu_en2_ppx_ip3_s {
1200                u64 reserved_20_63 : 44;
1201                u64 bch : 1;
1202                u64 agl_drp : 1;
1203                u64 ocla : 1;
1204                u64 sata : 1;
1205                u64 reserved_15_15 : 1;
1206                u64 endor : 2;
1207                u64 eoi : 1;
1208                u64 reserved_10_11 : 2;
1209                u64 timer : 6;
1210                u64 reserved_0_3 : 4;
1211        } s;
1212        struct cvmx_ciu_en2_ppx_ip3_cn61xx {
1213                u64 reserved_10_63 : 54;
1214                u64 timer : 6;
1215                u64 reserved_0_3 : 4;
1216        } cn61xx;
1217        struct cvmx_ciu_en2_ppx_ip3_cn61xx cn66xx;
1218        struct cvmx_ciu_en2_ppx_ip3_cn70xx {
1219                u64 reserved_20_63 : 44;
1220                u64 bch : 1;
1221                u64 agl_drp : 1;
1222                u64 ocla : 1;
1223                u64 sata : 1;
1224                u64 reserved_10_15 : 6;
1225                u64 timer : 6;
1226                u64 reserved_0_3 : 4;
1227        } cn70xx;
1228        struct cvmx_ciu_en2_ppx_ip3_cn70xx cn70xxp1;
1229        struct cvmx_ciu_en2_ppx_ip3_cnf71xx {
1230                u64 reserved_15_63 : 49;
1231                u64 endor : 2;
1232                u64 eoi : 1;
1233                u64 reserved_10_11 : 2;
1234                u64 timer : 6;
1235                u64 reserved_0_3 : 4;
1236        } cnf71xx;
1237};
1238
1239typedef union cvmx_ciu_en2_ppx_ip3 cvmx_ciu_en2_ppx_ip3_t;
1240
1241/**
1242 * cvmx_ciu_en2_pp#_ip3_w1c
1243 *
1244 * Notes:
1245 * Write-1-to-clear version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1246 * CIU_EN2_PP(IO)X_IPx(INT) value.
1247 */
1248union cvmx_ciu_en2_ppx_ip3_w1c {
1249        u64 u64;
1250        struct cvmx_ciu_en2_ppx_ip3_w1c_s {
1251                u64 reserved_20_63 : 44;
1252                u64 bch : 1;
1253                u64 agl_drp : 1;
1254                u64 ocla : 1;
1255                u64 sata : 1;
1256                u64 reserved_15_15 : 1;
1257                u64 endor : 2;
1258                u64 eoi : 1;
1259                u64 reserved_10_11 : 2;
1260                u64 timer : 6;
1261                u64 reserved_0_3 : 4;
1262        } s;
1263        struct cvmx_ciu_en2_ppx_ip3_w1c_cn61xx {
1264                u64 reserved_10_63 : 54;
1265                u64 timer : 6;
1266                u64 reserved_0_3 : 4;
1267        } cn61xx;
1268        struct cvmx_ciu_en2_ppx_ip3_w1c_cn61xx cn66xx;
1269        struct cvmx_ciu_en2_ppx_ip3_w1c_cn70xx {
1270                u64 reserved_20_63 : 44;
1271                u64 bch : 1;
1272                u64 agl_drp : 1;
1273                u64 ocla : 1;
1274                u64 sata : 1;
1275                u64 reserved_10_15 : 6;
1276                u64 timer : 6;
1277                u64 reserved_0_3 : 4;
1278        } cn70xx;
1279        struct cvmx_ciu_en2_ppx_ip3_w1c_cn70xx cn70xxp1;
1280        struct cvmx_ciu_en2_ppx_ip3_w1c_cnf71xx {
1281                u64 reserved_15_63 : 49;
1282                u64 endor : 2;
1283                u64 eoi : 1;
1284                u64 reserved_10_11 : 2;
1285                u64 timer : 6;
1286                u64 reserved_0_3 : 4;
1287        } cnf71xx;
1288};
1289
1290typedef union cvmx_ciu_en2_ppx_ip3_w1c cvmx_ciu_en2_ppx_ip3_w1c_t;
1291
1292/**
1293 * cvmx_ciu_en2_pp#_ip3_w1s
1294 *
1295 * Notes:
1296 * Write-1-to-set version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1297 * CIU_EN2_PP(IO)X_IPx(INT) value.
1298 */
1299union cvmx_ciu_en2_ppx_ip3_w1s {
1300        u64 u64;
1301        struct cvmx_ciu_en2_ppx_ip3_w1s_s {
1302                u64 reserved_20_63 : 44;
1303                u64 bch : 1;
1304                u64 agl_drp : 1;
1305                u64 ocla : 1;
1306                u64 sata : 1;
1307                u64 reserved_15_15 : 1;
1308                u64 endor : 2;
1309                u64 eoi : 1;
1310                u64 reserved_10_11 : 2;
1311                u64 timer : 6;
1312                u64 reserved_0_3 : 4;
1313        } s;
1314        struct cvmx_ciu_en2_ppx_ip3_w1s_cn61xx {
1315                u64 reserved_10_63 : 54;
1316                u64 timer : 6;
1317                u64 reserved_0_3 : 4;
1318        } cn61xx;
1319        struct cvmx_ciu_en2_ppx_ip3_w1s_cn61xx cn66xx;
1320        struct cvmx_ciu_en2_ppx_ip3_w1s_cn70xx {
1321                u64 reserved_20_63 : 44;
1322                u64 bch : 1;
1323                u64 agl_drp : 1;
1324                u64 ocla : 1;
1325                u64 sata : 1;
1326                u64 reserved_10_15 : 6;
1327                u64 timer : 6;
1328                u64 reserved_0_3 : 4;
1329        } cn70xx;
1330        struct cvmx_ciu_en2_ppx_ip3_w1s_cn70xx cn70xxp1;
1331        struct cvmx_ciu_en2_ppx_ip3_w1s_cnf71xx {
1332                u64 reserved_15_63 : 49;
1333                u64 endor : 2;
1334                u64 eoi : 1;
1335                u64 reserved_10_11 : 2;
1336                u64 timer : 6;
1337                u64 reserved_0_3 : 4;
1338        } cnf71xx;
1339};
1340
1341typedef union cvmx_ciu_en2_ppx_ip3_w1s cvmx_ciu_en2_ppx_ip3_w1s_t;
1342
1343/**
1344 * cvmx_ciu_en2_pp#_ip4
1345 *
1346 * Notes:
1347 * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
1348 *
1349 */
1350union cvmx_ciu_en2_ppx_ip4 {
1351        u64 u64;
1352        struct cvmx_ciu_en2_ppx_ip4_s {
1353                u64 reserved_20_63 : 44;
1354                u64 bch : 1;
1355                u64 agl_drp : 1;
1356                u64 ocla : 1;
1357                u64 sata : 1;
1358                u64 reserved_15_15 : 1;
1359                u64 endor : 2;
1360                u64 eoi : 1;
1361                u64 reserved_10_11 : 2;
1362                u64 timer : 6;
1363                u64 reserved_0_3 : 4;
1364        } s;
1365        struct cvmx_ciu_en2_ppx_ip4_cn61xx {
1366                u64 reserved_10_63 : 54;
1367                u64 timer : 6;
1368                u64 reserved_0_3 : 4;
1369        } cn61xx;
1370        struct cvmx_ciu_en2_ppx_ip4_cn61xx cn66xx;
1371        struct cvmx_ciu_en2_ppx_ip4_cn70xx {
1372                u64 reserved_20_63 : 44;
1373                u64 bch : 1;
1374                u64 agl_drp : 1;
1375                u64 ocla : 1;
1376                u64 sata : 1;
1377                u64 reserved_10_15 : 6;
1378                u64 timer : 6;
1379                u64 reserved_0_3 : 4;
1380        } cn70xx;
1381        struct cvmx_ciu_en2_ppx_ip4_cn70xx cn70xxp1;
1382        struct cvmx_ciu_en2_ppx_ip4_cnf71xx {
1383                u64 reserved_15_63 : 49;
1384                u64 endor : 2;
1385                u64 eoi : 1;
1386                u64 reserved_10_11 : 2;
1387                u64 timer : 6;
1388                u64 reserved_0_3 : 4;
1389        } cnf71xx;
1390};
1391
1392typedef union cvmx_ciu_en2_ppx_ip4 cvmx_ciu_en2_ppx_ip4_t;
1393
1394/**
1395 * cvmx_ciu_en2_pp#_ip4_w1c
1396 *
1397 * Notes:
1398 * Write-1-to-clear version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1399 * CIU_EN2_PP(IO)X_IPx(INT) value.
1400 */
1401union cvmx_ciu_en2_ppx_ip4_w1c {
1402        u64 u64;
1403        struct cvmx_ciu_en2_ppx_ip4_w1c_s {
1404                u64 reserved_20_63 : 44;
1405                u64 bch : 1;
1406                u64 agl_drp : 1;
1407                u64 ocla : 1;
1408                u64 sata : 1;
1409                u64 reserved_15_15 : 1;
1410                u64 endor : 2;
1411                u64 eoi : 1;
1412                u64 reserved_10_11 : 2;
1413                u64 timer : 6;
1414                u64 reserved_0_3 : 4;
1415        } s;
1416        struct cvmx_ciu_en2_ppx_ip4_w1c_cn61xx {
1417                u64 reserved_10_63 : 54;
1418                u64 timer : 6;
1419                u64 reserved_0_3 : 4;
1420        } cn61xx;
1421        struct cvmx_ciu_en2_ppx_ip4_w1c_cn61xx cn66xx;
1422        struct cvmx_ciu_en2_ppx_ip4_w1c_cn70xx {
1423                u64 reserved_20_63 : 44;
1424                u64 bch : 1;
1425                u64 agl_drp : 1;
1426                u64 ocla : 1;
1427                u64 sata : 1;
1428                u64 reserved_10_15 : 6;
1429                u64 timer : 6;
1430                u64 reserved_0_3 : 4;
1431        } cn70xx;
1432        struct cvmx_ciu_en2_ppx_ip4_w1c_cn70xx cn70xxp1;
1433        struct cvmx_ciu_en2_ppx_ip4_w1c_cnf71xx {
1434                u64 reserved_15_63 : 49;
1435                u64 endor : 2;
1436                u64 eoi : 1;
1437                u64 reserved_10_11 : 2;
1438                u64 timer : 6;
1439                u64 reserved_0_3 : 4;
1440        } cnf71xx;
1441};
1442
1443typedef union cvmx_ciu_en2_ppx_ip4_w1c cvmx_ciu_en2_ppx_ip4_w1c_t;
1444
1445/**
1446 * cvmx_ciu_en2_pp#_ip4_w1s
1447 *
1448 * Notes:
1449 * Write-1-to-set version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1450 * CIU_EN2_PP(IO)X_IPx(INT) value.
1451 */
1452union cvmx_ciu_en2_ppx_ip4_w1s {
1453        u64 u64;
1454        struct cvmx_ciu_en2_ppx_ip4_w1s_s {
1455                u64 reserved_20_63 : 44;
1456                u64 bch : 1;
1457                u64 agl_drp : 1;
1458                u64 ocla : 1;
1459                u64 sata : 1;
1460                u64 reserved_15_15 : 1;
1461                u64 endor : 2;
1462                u64 eoi : 1;
1463                u64 reserved_10_11 : 2;
1464                u64 timer : 6;
1465                u64 reserved_0_3 : 4;
1466        } s;
1467        struct cvmx_ciu_en2_ppx_ip4_w1s_cn61xx {
1468                u64 reserved_10_63 : 54;
1469                u64 timer : 6;
1470                u64 reserved_0_3 : 4;
1471        } cn61xx;
1472        struct cvmx_ciu_en2_ppx_ip4_w1s_cn61xx cn66xx;
1473        struct cvmx_ciu_en2_ppx_ip4_w1s_cn70xx {
1474                u64 reserved_20_63 : 44;
1475                u64 bch : 1;
1476                u64 agl_drp : 1;
1477                u64 ocla : 1;
1478                u64 sata : 1;
1479                u64 reserved_10_15 : 6;
1480                u64 timer : 6;
1481                u64 reserved_0_3 : 4;
1482        } cn70xx;
1483        struct cvmx_ciu_en2_ppx_ip4_w1s_cn70xx cn70xxp1;
1484        struct cvmx_ciu_en2_ppx_ip4_w1s_cnf71xx {
1485                u64 reserved_15_63 : 49;
1486                u64 endor : 2;
1487                u64 eoi : 1;
1488                u64 reserved_10_11 : 2;
1489                u64 timer : 6;
1490                u64 reserved_0_3 : 4;
1491        } cnf71xx;
1492};
1493
1494typedef union cvmx_ciu_en2_ppx_ip4_w1s cvmx_ciu_en2_ppx_ip4_w1s_t;
1495
1496/**
1497 * cvmx_ciu_fuse
1498 */
1499union cvmx_ciu_fuse {
1500        u64 u64;
1501        struct cvmx_ciu_fuse_s {
1502                u64 reserved_48_63 : 16;
1503                u64 fuse : 48;
1504        } s;
1505        struct cvmx_ciu_fuse_cn30xx {
1506                u64 reserved_1_63 : 63;
1507                u64 fuse : 1;
1508        } cn30xx;
1509        struct cvmx_ciu_fuse_cn31xx {
1510                u64 reserved_2_63 : 62;
1511                u64 fuse : 2;
1512        } cn31xx;
1513        struct cvmx_ciu_fuse_cn38xx {
1514                u64 reserved_16_63 : 48;
1515                u64 fuse : 16;
1516        } cn38xx;
1517        struct cvmx_ciu_fuse_cn38xx cn38xxp2;
1518        struct cvmx_ciu_fuse_cn31xx cn50xx;
1519        struct cvmx_ciu_fuse_cn52xx {
1520                u64 reserved_4_63 : 60;
1521                u64 fuse : 4;
1522        } cn52xx;
1523        struct cvmx_ciu_fuse_cn52xx cn52xxp1;
1524        struct cvmx_ciu_fuse_cn56xx {
1525                u64 reserved_12_63 : 52;
1526                u64 fuse : 12;
1527        } cn56xx;
1528        struct cvmx_ciu_fuse_cn56xx cn56xxp1;
1529        struct cvmx_ciu_fuse_cn38xx cn58xx;
1530        struct cvmx_ciu_fuse_cn38xx cn58xxp1;
1531        struct cvmx_ciu_fuse_cn52xx cn61xx;
1532        struct cvmx_ciu_fuse_cn63xx {
1533                u64 reserved_6_63 : 58;
1534                u64 fuse : 6;
1535        } cn63xx;
1536        struct cvmx_ciu_fuse_cn63xx cn63xxp1;
1537        struct cvmx_ciu_fuse_cn66xx {
1538                u64 reserved_10_63 : 54;
1539                u64 fuse : 10;
1540        } cn66xx;
1541        struct cvmx_ciu_fuse_cn68xx {
1542                u64 reserved_32_63 : 32;
1543                u64 fuse : 32;
1544        } cn68xx;
1545        struct cvmx_ciu_fuse_cn68xx cn68xxp1;
1546        struct cvmx_ciu_fuse_cn52xx cn70xx;
1547        struct cvmx_ciu_fuse_cn52xx cn70xxp1;
1548        struct cvmx_ciu_fuse_cn38xx cn73xx;
1549        struct cvmx_ciu_fuse_s cn78xx;
1550        struct cvmx_ciu_fuse_s cn78xxp1;
1551        struct cvmx_ciu_fuse_cn52xx cnf71xx;
1552        struct cvmx_ciu_fuse_cn38xx cnf75xx;
1553};
1554
1555typedef union cvmx_ciu_fuse cvmx_ciu_fuse_t;
1556
1557/**
1558 * cvmx_ciu_gstop
1559 */
1560union cvmx_ciu_gstop {
1561        u64 u64;
1562        struct cvmx_ciu_gstop_s {
1563                u64 reserved_1_63 : 63;
1564                u64 gstop : 1;
1565        } s;
1566        struct cvmx_ciu_gstop_s cn30xx;
1567        struct cvmx_ciu_gstop_s cn31xx;
1568        struct cvmx_ciu_gstop_s cn38xx;
1569        struct cvmx_ciu_gstop_s cn38xxp2;
1570        struct cvmx_ciu_gstop_s cn50xx;
1571        struct cvmx_ciu_gstop_s cn52xx;
1572        struct cvmx_ciu_gstop_s cn52xxp1;
1573        struct cvmx_ciu_gstop_s cn56xx;
1574        struct cvmx_ciu_gstop_s cn56xxp1;
1575        struct cvmx_ciu_gstop_s cn58xx;
1576        struct cvmx_ciu_gstop_s cn58xxp1;
1577        struct cvmx_ciu_gstop_s cn61xx;
1578        struct cvmx_ciu_gstop_s cn63xx;
1579        struct cvmx_ciu_gstop_s cn63xxp1;
1580        struct cvmx_ciu_gstop_s cn66xx;
1581        struct cvmx_ciu_gstop_s cn68xx;
1582        struct cvmx_ciu_gstop_s cn68xxp1;
1583        struct cvmx_ciu_gstop_s cn70xx;
1584        struct cvmx_ciu_gstop_s cn70xxp1;
1585        struct cvmx_ciu_gstop_s cnf71xx;
1586};
1587
1588typedef union cvmx_ciu_gstop cvmx_ciu_gstop_t;
1589
1590/**
1591 * cvmx_ciu_int#_en0
1592 *
1593 * CIU_INT0_EN0:  PP0/IP2
1594 * CIU_INT1_EN0:  PP0/IP3
1595 * CIU_INT2_EN0:  PP1/IP2
1596 * CIU_INT3_EN0:  PP1/IP3
1597 * CIU_INT4_EN0:  PP2/IP2
1598 * CIU_INT5_EN0:  PP2/IP3
1599 * CIU_INT6_EN0:  PP3/IP2
1600 * CIU_INT7_EN0:  PP3/IP3
1601 * - .....
1602 * (hole)
1603 * CIU_INT32_EN0: IO 0 (PEM0)
1604 * CIU_INT33_EN0: IO 1 (reserved in o70).
1605 */
1606union cvmx_ciu_intx_en0 {
1607        u64 u64;
1608        struct cvmx_ciu_intx_en0_s {
1609                u64 bootdma : 1;
1610                u64 mii : 1;
1611                u64 ipdppthr : 1;
1612                u64 powiq : 1;
1613                u64 twsi2 : 1;
1614                u64 mpi : 1;
1615                u64 pcm : 1;
1616                u64 usb : 1;
1617                u64 timer : 4;
1618                u64 key_zero : 1;
1619                u64 ipd_drp : 1;
1620                u64 gmx_drp : 2;
1621                u64 trace : 1;
1622                u64 rml : 1;
1623                u64 twsi : 1;
1624                u64 reserved_44_44 : 1;
1625                u64 pci_msi : 4;
1626                u64 pci_int : 4;
1627                u64 uart : 2;
1628                u64 mbox : 2;
1629                u64 gpio : 16;
1630                u64 workq : 16;
1631        } s;
1632        struct cvmx_ciu_intx_en0_cn30xx {
1633                u64 reserved_59_63 : 5;
1634                u64 mpi : 1;
1635                u64 pcm : 1;
1636                u64 usb : 1;
1637                u64 timer : 4;
1638                u64 reserved_51_51 : 1;
1639                u64 ipd_drp : 1;
1640                u64 reserved_49_49 : 1;
1641                u64 gmx_drp : 1;
1642                u64 reserved_47_47 : 1;
1643                u64 rml : 1;
1644                u64 twsi : 1;
1645                u64 reserved_44_44 : 1;
1646                u64 pci_msi : 4;
1647                u64 pci_int : 4;
1648                u64 uart : 2;
1649                u64 mbox : 2;
1650                u64 gpio : 16;
1651                u64 workq : 16;
1652        } cn30xx;
1653        struct cvmx_ciu_intx_en0_cn31xx {
1654                u64 reserved_59_63 : 5;
1655                u64 mpi : 1;
1656                u64 pcm : 1;
1657                u64 usb : 1;
1658                u64 timer : 4;
1659                u64 reserved_51_51 : 1;
1660                u64 ipd_drp : 1;
1661                u64 reserved_49_49 : 1;
1662                u64 gmx_drp : 1;
1663                u64 trace : 1;
1664                u64 rml : 1;
1665                u64 twsi : 1;
1666                u64 reserved_44_44 : 1;
1667                u64 pci_msi : 4;
1668                u64 pci_int : 4;
1669                u64 uart : 2;
1670                u64 mbox : 2;
1671                u64 gpio : 16;
1672                u64 workq : 16;
1673        } cn31xx;
1674        struct cvmx_ciu_intx_en0_cn38xx {
1675                u64 reserved_56_63 : 8;
1676                u64 timer : 4;
1677                u64 key_zero : 1;
1678                u64 ipd_drp : 1;
1679                u64 gmx_drp : 2;
1680                u64 trace : 1;
1681                u64 rml : 1;
1682                u64 twsi : 1;
1683                u64 reserved_44_44 : 1;
1684                u64 pci_msi : 4;
1685                u64 pci_int : 4;
1686                u64 uart : 2;
1687                u64 mbox : 2;
1688                u64 gpio : 16;
1689                u64 workq : 16;
1690        } cn38xx;
1691        struct cvmx_ciu_intx_en0_cn38xx cn38xxp2;
1692        struct cvmx_ciu_intx_en0_cn30xx cn50xx;
1693        struct cvmx_ciu_intx_en0_cn52xx {
1694                u64 bootdma : 1;
1695                u64 mii : 1;
1696                u64 ipdppthr : 1;
1697                u64 powiq : 1;
1698                u64 twsi2 : 1;
1699                u64 reserved_57_58 : 2;
1700                u64 usb : 1;
1701                u64 timer : 4;
1702                u64 reserved_51_51 : 1;
1703                u64 ipd_drp : 1;
1704                u64 reserved_49_49 : 1;
1705                u64 gmx_drp : 1;
1706                u64 trace : 1;
1707                u64 rml : 1;
1708                u64 twsi : 1;
1709                u64 reserved_44_44 : 1;
1710                u64 pci_msi : 4;
1711                u64 pci_int : 4;
1712                u64 uart : 2;
1713                u64 mbox : 2;
1714                u64 gpio : 16;
1715                u64 workq : 16;
1716        } cn52xx;
1717        struct cvmx_ciu_intx_en0_cn52xx cn52xxp1;
1718        struct cvmx_ciu_intx_en0_cn56xx {
1719                u64 bootdma : 1;
1720                u64 mii : 1;
1721                u64 ipdppthr : 1;
1722                u64 powiq : 1;
1723                u64 twsi2 : 1;
1724                u64 reserved_57_58 : 2;
1725                u64 usb : 1;
1726                u64 timer : 4;
1727                u64 key_zero : 1;
1728                u64 ipd_drp : 1;
1729                u64 gmx_drp : 2;
1730                u64 trace : 1;
1731                u64 rml : 1;
1732                u64 twsi : 1;
1733                u64 reserved_44_44 : 1;
1734                u64 pci_msi : 4;
1735                u64 pci_int : 4;
1736                u64 uart : 2;
1737                u64 mbox : 2;
1738                u64 gpio : 16;
1739                u64 workq : 16;
1740        } cn56xx;
1741        struct cvmx_ciu_intx_en0_cn56xx cn56xxp1;
1742        struct cvmx_ciu_intx_en0_cn38xx cn58xx;
1743        struct cvmx_ciu_intx_en0_cn38xx cn58xxp1;
1744        struct cvmx_ciu_intx_en0_cn61xx {
1745                u64 bootdma : 1;
1746                u64 mii : 1;
1747                u64 ipdppthr : 1;
1748                u64 powiq : 1;
1749                u64 twsi2 : 1;
1750                u64 mpi : 1;
1751                u64 pcm : 1;
1752                u64 usb : 1;
1753                u64 timer : 4;
1754                u64 reserved_51_51 : 1;
1755                u64 ipd_drp : 1;
1756                u64 gmx_drp : 2;
1757                u64 trace : 1;
1758                u64 rml : 1;
1759                u64 twsi : 1;
1760                u64 reserved_44_44 : 1;
1761                u64 pci_msi : 4;
1762                u64 pci_int : 4;
1763                u64 uart : 2;
1764                u64 mbox : 2;
1765                u64 gpio : 16;
1766                u64 workq : 16;
1767        } cn61xx;
1768        struct cvmx_ciu_intx_en0_cn52xx cn63xx;
1769        struct cvmx_ciu_intx_en0_cn52xx cn63xxp1;
1770        struct cvmx_ciu_intx_en0_cn66xx {
1771                u64 bootdma : 1;
1772                u64 mii : 1;
1773                u64 ipdppthr : 1;
1774                u64 powiq : 1;
1775                u64 twsi2 : 1;
1776                u64 mpi : 1;
1777                u64 reserved_57_57 : 1;
1778                u64 usb : 1;
1779                u64 timer : 4;
1780                u64 reserved_51_51 : 1;
1781                u64 ipd_drp : 1;
1782                u64 gmx_drp : 2;
1783                u64 trace : 1;
1784                u64 rml : 1;
1785                u64 twsi : 1;
1786                u64 reserved_44_44 : 1;
1787                u64 pci_msi : 4;
1788                u64 pci_int : 4;
1789                u64 uart : 2;
1790                u64 mbox : 2;
1791                u64 gpio : 16;
1792                u64 workq : 16;
1793        } cn66xx;
1794        struct cvmx_ciu_intx_en0_cn70xx {
1795                u64 bootdma : 1;
1796                u64 reserved_62_62 : 1;
1797                u64 ipdppthr : 1;
1798                u64 powiq : 1;
1799                u64 twsi2 : 1;
1800                u64 mpi : 1;
1801                u64 pcm : 1;
1802                u64 reserved_56_56 : 1;
1803                u64 timer : 4;
1804                u64 reserved_51_51 : 1;
1805                u64 ipd_drp : 1;
1806                u64 gmx_drp : 2;
1807                u64 reserved_46_47 : 2;
1808                u64 twsi : 1;
1809                u64 reserved_44_44 : 1;
1810                u64 pci_msi : 4;
1811                u64 pci_int : 4;
1812                u64 uart : 2;
1813                u64 mbox : 2;
1814                u64 gpio : 16;
1815                u64 workq : 16;
1816        } cn70xx;
1817        struct cvmx_ciu_intx_en0_cn70xx cn70xxp1;
1818        struct cvmx_ciu_intx_en0_cnf71xx {
1819                u64 bootdma : 1;
1820                u64 reserved_62_62 : 1;
1821                u64 ipdppthr : 1;
1822                u64 powiq : 1;
1823                u64 twsi2 : 1;
1824                u64 mpi : 1;
1825                u64 pcm : 1;
1826                u64 usb : 1;
1827                u64 timer : 4;
1828                u64 reserved_51_51 : 1;
1829                u64 ipd_drp : 1;
1830                u64 reserved_49_49 : 1;
1831                u64 gmx_drp : 1;
1832                u64 trace : 1;
1833                u64 rml : 1;
1834                u64 twsi : 1;
1835                u64 reserved_44_44 : 1;
1836                u64 pci_msi : 4;
1837                u64 pci_int : 4;
1838                u64 uart : 2;
1839                u64 mbox : 2;
1840                u64 gpio : 16;
1841                u64 workq : 16;
1842        } cnf71xx;
1843};
1844
1845typedef union cvmx_ciu_intx_en0 cvmx_ciu_intx_en0_t;
1846
1847/**
1848 * cvmx_ciu_int#_en0_w1c
1849 *
1850 * Write-1-to-clear version of the CIU_INTx_EN0 register, read back corresponding CIU_INTx_EN0
1851 * value.
1852 * CIU_INT33_EN0_W1C is reserved.
1853 */
1854union cvmx_ciu_intx_en0_w1c {
1855        u64 u64;
1856        struct cvmx_ciu_intx_en0_w1c_s {
1857                u64 bootdma : 1;
1858                u64 mii : 1;
1859                u64 ipdppthr : 1;
1860                u64 powiq : 1;
1861                u64 twsi2 : 1;
1862                u64 mpi : 1;
1863                u64 pcm : 1;
1864                u64 usb : 1;
1865                u64 timer : 4;
1866                u64 key_zero : 1;
1867                u64 ipd_drp : 1;
1868                u64 gmx_drp : 2;
1869                u64 trace : 1;
1870                u64 rml : 1;
1871                u64 twsi : 1;
1872                u64 reserved_44_44 : 1;
1873                u64 pci_msi : 4;
1874                u64 pci_int : 4;
1875                u64 uart : 2;
1876                u64 mbox : 2;
1877                u64 gpio : 16;
1878                u64 workq : 16;
1879        } s;
1880        struct cvmx_ciu_intx_en0_w1c_cn52xx {
1881                u64 bootdma : 1;
1882                u64 mii : 1;
1883                u64 ipdppthr : 1;
1884                u64 powiq : 1;
1885                u64 twsi2 : 1;
1886                u64 reserved_57_58 : 2;
1887                u64 usb : 1;
1888                u64 timer : 4;
1889                u64 reserved_51_51 : 1;
1890                u64 ipd_drp : 1;
1891                u64 reserved_49_49 : 1;
1892                u64 gmx_drp : 1;
1893                u64 trace : 1;
1894                u64 rml : 1;
1895                u64 twsi : 1;
1896                u64 reserved_44_44 : 1;
1897                u64 pci_msi : 4;
1898                u64 pci_int : 4;
1899                u64 uart : 2;
1900                u64 mbox : 2;
1901                u64 gpio : 16;
1902                u64 workq : 16;
1903        } cn52xx;
1904        struct cvmx_ciu_intx_en0_w1c_cn56xx {
1905                u64 bootdma : 1;
1906                u64 mii : 1;
1907                u64 ipdppthr : 1;
1908                u64 powiq : 1;
1909                u64 twsi2 : 1;
1910                u64 reserved_57_58 : 2;
1911                u64 usb : 1;
1912                u64 timer : 4;
1913                u64 key_zero : 1;
1914                u64 ipd_drp : 1;
1915                u64 gmx_drp : 2;
1916                u64 trace : 1;
1917                u64 rml : 1;
1918                u64 twsi : 1;
1919                u64 reserved_44_44 : 1;
1920                u64 pci_msi : 4;
1921                u64 pci_int : 4;
1922                u64 uart : 2;
1923                u64 mbox : 2;
1924                u64 gpio : 16;
1925                u64 workq : 16;
1926        } cn56xx;
1927        struct cvmx_ciu_intx_en0_w1c_cn58xx {
1928                u64 reserved_56_63 : 8;
1929                u64 timer : 4;
1930                u64 key_zero : 1;
1931                u64 ipd_drp : 1;
1932                u64 gmx_drp : 2;
1933                u64 trace : 1;
1934                u64 rml : 1;
1935                u64 twsi : 1;
1936                u64 reserved_44_44 : 1;
1937                u64 pci_msi : 4;
1938                u64 pci_int : 4;
1939                u64 uart : 2;
1940                u64 mbox : 2;
1941                u64 gpio : 16;
1942                u64 workq : 16;
1943        } cn58xx;
1944        struct cvmx_ciu_intx_en0_w1c_cn61xx {
1945                u64 bootdma : 1;
1946                u64 mii : 1;
1947                u64 ipdppthr : 1;
1948                u64 powiq : 1;
1949                u64 twsi2 : 1;
1950                u64 mpi : 1;
1951                u64 pcm : 1;
1952                u64 usb : 1;
1953                u64 timer : 4;
1954                u64 reserved_51_51 : 1;
1955                u64 ipd_drp : 1;
1956                u64 gmx_drp : 2;
1957                u64 trace : 1;
1958                u64 rml : 1;
1959                u64 twsi : 1;
1960                u64 reserved_44_44 : 1;
1961                u64 pci_msi : 4;
1962                u64 pci_int : 4;
1963                u64 uart : 2;
1964                u64 mbox : 2;
1965                u64 gpio : 16;
1966                u64 workq : 16;
1967        } cn61xx;
1968        struct cvmx_ciu_intx_en0_w1c_cn52xx cn63xx;
1969        struct cvmx_ciu_intx_en0_w1c_cn52xx cn63xxp1;
1970        struct cvmx_ciu_intx_en0_w1c_cn66xx {
1971                u64 bootdma : 1;
1972                u64 mii : 1;
1973                u64 ipdppthr : 1;
1974                u64 powiq : 1;
1975                u64 twsi2 : 1;
1976                u64 mpi : 1;
1977                u64 reserved_57_57 : 1;
1978                u64 usb : 1;
1979                u64 timer : 4;
1980                u64 reserved_51_51 : 1;
1981                u64 ipd_drp : 1;
1982                u64 gmx_drp : 2;
1983                u64 trace : 1;
1984                u64 rml : 1;
1985                u64 twsi : 1;
1986                u64 reserved_44_44 : 1;
1987                u64 pci_msi : 4;
1988                u64 pci_int : 4;
1989                u64 uart : 2;
1990                u64 mbox : 2;
1991                u64 gpio : 16;
1992                u64 workq : 16;
1993        } cn66xx;
1994        struct cvmx_ciu_intx_en0_w1c_cn70xx {
1995                u64 bootdma : 1;
1996                u64 reserved_62_62 : 1;
1997                u64 ipdppthr : 1;
1998                u64 powiq : 1;
1999                u64 twsi2 : 1;
2000                u64 mpi : 1;
2001                u64 pcm : 1;
2002                u64 reserved_56_56 : 1;
2003                u64 timer : 4;
2004                u64 reserved_51_51 : 1;
2005                u64 ipd_drp : 1;
2006                u64 gmx_drp : 2;
2007                u64 reserved_46_47 : 2;
2008                u64 twsi : 1;
2009                u64 reserved_44_44 : 1;
2010                u64 pci_msi : 4;
2011                u64 pci_int : 4;
2012                u64 uart : 2;
2013                u64 mbox : 2;
2014                u64 gpio : 16;
2015                u64 workq : 16;
2016        } cn70xx;
2017        struct cvmx_ciu_intx_en0_w1c_cn70xx cn70xxp1;
2018        struct cvmx_ciu_intx_en0_w1c_cnf71xx {
2019                u64 bootdma : 1;
2020                u64 reserved_62_62 : 1;
2021                u64 ipdppthr : 1;
2022                u64 powiq : 1;
2023                u64 twsi2 : 1;
2024                u64 mpi : 1;
2025                u64 pcm : 1;
2026                u64 usb : 1;
2027                u64 timer : 4;
2028                u64 reserved_51_51 : 1;
2029                u64 ipd_drp : 1;
2030                u64 reserved_49_49 : 1;
2031                u64 gmx_drp : 1;
2032                u64 trace : 1;
2033                u64 rml : 1;
2034                u64 twsi : 1;
2035                u64 reserved_44_44 : 1;
2036                u64 pci_msi : 4;
2037                u64 pci_int : 4;
2038                u64 uart : 2;
2039                u64 mbox : 2;
2040                u64 gpio : 16;
2041                u64 workq : 16;
2042        } cnf71xx;
2043};
2044
2045typedef union cvmx_ciu_intx_en0_w1c cvmx_ciu_intx_en0_w1c_t;
2046
2047/**
2048 * cvmx_ciu_int#_en0_w1s
2049 *
2050 * Write-1-to-set version of the CIU_INTx_EN0 register, read back corresponding CIU_INTx_EN0
2051 * value.
2052 * CIU_INT33_EN0_W1S is reserved.
2053 */
2054union cvmx_ciu_intx_en0_w1s {
2055        u64 u64;
2056        struct cvmx_ciu_intx_en0_w1s_s {
2057                u64 bootdma : 1;
2058                u64 mii : 1;
2059                u64 ipdppthr : 1;
2060                u64 powiq : 1;
2061                u64 twsi2 : 1;
2062                u64 mpi : 1;
2063                u64 pcm : 1;
2064                u64 usb : 1;
2065                u64 timer : 4;
2066                u64 key_zero : 1;
2067                u64 ipd_drp : 1;
2068                u64 gmx_drp : 2;
2069                u64 trace : 1;
2070                u64 rml : 1;
2071                u64 twsi : 1;
2072                u64 reserved_44_44 : 1;
2073                u64 pci_msi : 4;
2074                u64 pci_int : 4;
2075                u64 uart : 2;
2076                u64 mbox : 2;
2077                u64 gpio : 16;
2078                u64 workq : 16;
2079        } s;
2080        struct cvmx_ciu_intx_en0_w1s_cn52xx {
2081                u64 bootdma : 1;
2082                u64 mii : 1;
2083                u64 ipdppthr : 1;
2084                u64 powiq : 1;
2085                u64 twsi2 : 1;
2086                u64 reserved_57_58 : 2;
2087                u64 usb : 1;
2088                u64 timer : 4;
2089                u64 reserved_51_51 : 1;
2090                u64 ipd_drp : 1;
2091                u64 reserved_49_49 : 1;
2092                u64 gmx_drp : 1;
2093                u64 trace : 1;
2094                u64 rml : 1;
2095                u64 twsi : 1;
2096                u64 reserved_44_44 : 1;
2097                u64 pci_msi : 4;
2098                u64 pci_int : 4;
2099                u64 uart : 2;
2100                u64 mbox : 2;
2101                u64 gpio : 16;
2102                u64 workq : 16;
2103        } cn52xx;
2104        struct cvmx_ciu_intx_en0_w1s_cn56xx {
2105                u64 bootdma : 1;
2106                u64 mii : 1;
2107                u64 ipdppthr : 1;
2108                u64 powiq : 1;
2109                u64 twsi2 : 1;
2110                u64 reserved_57_58 : 2;
2111                u64 usb : 1;
2112                u64 timer : 4;
2113                u64 key_zero : 1;
2114                u64 ipd_drp : 1;
2115                u64 gmx_drp : 2;
2116                u64 trace : 1;
2117                u64 rml : 1;
2118                u64 twsi : 1;
2119                u64 reserved_44_44 : 1;
2120                u64 pci_msi : 4;
2121                u64 pci_int : 4;
2122                u64 uart : 2;
2123                u64 mbox : 2;
2124                u64 gpio : 16;
2125                u64 workq : 16;
2126        } cn56xx;
2127        struct cvmx_ciu_intx_en0_w1s_cn58xx {
2128                u64 reserved_56_63 : 8;
2129                u64 timer : 4;
2130                u64 key_zero : 1;
2131                u64 ipd_drp : 1;
2132                u64 gmx_drp : 2;
2133                u64 trace : 1;
2134                u64 rml : 1;
2135                u64 twsi : 1;
2136                u64 reserved_44_44 : 1;
2137                u64 pci_msi : 4;
2138                u64 pci_int : 4;
2139                u64 uart : 2;
2140                u64 mbox : 2;
2141                u64 gpio : 16;
2142                u64 workq : 16;
2143        } cn58xx;
2144        struct cvmx_ciu_intx_en0_w1s_cn61xx {
2145                u64 bootdma : 1;
2146                u64 mii : 1;
2147                u64 ipdppthr : 1;
2148                u64 powiq : 1;
2149                u64 twsi2 : 1;
2150                u64 mpi : 1;
2151                u64 pcm : 1;
2152                u64 usb : 1;
2153                u64 timer : 4;
2154                u64 reserved_51_51 : 1;
2155                u64 ipd_drp : 1;
2156                u64 gmx_drp : 2;
2157                u64 trace : 1;
2158                u64 rml : 1;
2159                u64 twsi : 1;
2160                u64 reserved_44_44 : 1;
2161                u64 pci_msi : 4;
2162                u64 pci_int : 4;
2163                u64 uart : 2;
2164                u64 mbox : 2;
2165                u64 gpio : 16;
2166                u64 workq : 16;
2167        } cn61xx;
2168        struct cvmx_ciu_intx_en0_w1s_cn52xx cn63xx;
2169        struct cvmx_ciu_intx_en0_w1s_cn52xx cn63xxp1;
2170        struct cvmx_ciu_intx_en0_w1s_cn66xx {
2171                u64 bootdma : 1;
2172                u64 mii : 1;
2173                u64 ipdppthr : 1;
2174                u64 powiq : 1;
2175                u64 twsi2 : 1;
2176                u64 mpi : 1;
2177                u64 reserved_57_57 : 1;
2178                u64 usb : 1;
2179                u64 timer : 4;
2180                u64 reserved_51_51 : 1;
2181                u64 ipd_drp : 1;
2182                u64 gmx_drp : 2;
2183                u64 trace : 1;
2184                u64 rml : 1;
2185                u64 twsi : 1;
2186                u64 reserved_44_44 : 1;
2187                u64 pci_msi : 4;
2188                u64 pci_int : 4;
2189                u64 uart : 2;
2190                u64 mbox : 2;
2191                u64 gpio : 16;
2192                u64 workq : 16;
2193        } cn66xx;
2194        struct cvmx_ciu_intx_en0_w1s_cn70xx {
2195                u64 bootdma : 1;
2196                u64 reserved_62_62 : 1;
2197                u64 ipdppthr : 1;
2198                u64 powiq : 1;
2199                u64 twsi2 : 1;
2200                u64 mpi : 1;
2201                u64 pcm : 1;
2202                u64 reserved_56_56 : 1;
2203                u64 timer : 4;
2204                u64 reserved_51_51 : 1;
2205                u64 ipd_drp : 1;
2206                u64 gmx_drp : 2;
2207                u64 reserved_46_47 : 2;
2208                u64 twsi : 1;
2209                u64 reserved_44_44 : 1;
2210                u64 pci_msi : 4;
2211                u64 pci_int : 4;
2212                u64 uart : 2;
2213                u64 mbox : 2;
2214                u64 gpio : 16;
2215                u64 workq : 16;
2216        } cn70xx;
2217        struct cvmx_ciu_intx_en0_w1s_cn70xx cn70xxp1;
2218        struct cvmx_ciu_intx_en0_w1s_cnf71xx {
2219                u64 bootdma : 1;
2220                u64 reserved_62_62 : 1;
2221                u64 ipdppthr : 1;
2222                u64 powiq : 1;
2223                u64 twsi2 : 1;
2224                u64 mpi : 1;
2225                u64 pcm : 1;
2226                u64 usb : 1;
2227                u64 timer : 4;
2228                u64 reserved_51_51 : 1;
2229                u64 ipd_drp : 1;
2230                u64 reserved_49_49 : 1;
2231                u64 gmx_drp : 1;
2232                u64 trace : 1;
2233                u64 rml : 1;
2234                u64 twsi : 1;
2235                u64 reserved_44_44 : 1;
2236                u64 pci_msi : 4;
2237                u64 pci_int : 4;
2238                u64 uart : 2;
2239                u64 mbox : 2;
2240                u64 gpio : 16;
2241                u64 workq : 16;
2242        } cnf71xx;
2243};
2244
2245typedef union cvmx_ciu_intx_en0_w1s cvmx_ciu_intx_en0_w1s_t;
2246
2247/**
2248 * cvmx_ciu_int#_en1
2249 *
2250 * Enables for CIU_SUM1_PPX_IPx  or CIU_SUM1_IOX_INT
2251 * CIU_INT0_EN1:  PP0/IP2
2252 * CIU_INT1_EN1:  PP0/IP3
2253 * CIU_INT2_EN1:  PP1/IP2
2254 * CIU_INT3_EN1:  PP1/IP3
2255 * CIU_INT4_EN1:  PP2/IP2
2256 * CIU_INT5_EN1:  PP2/IP3
2257 * CIU_INT6_EN1:  PP3/IP2
2258 * CIU_INT7_EN1:  PP3/IP3
2259 * - .....
2260 * (hole)
2261 * CIU_INT32_EN1: IO0 (PEM0)
2262 * CIU_INT33_EN1: IO1 (Reserved for o70)
2263 *
2264 * PPx/IP2 will be raised when...
2265 *
2266 * n = x*2
2267 * PPx/IP2 = |([CIU_SUM2_PPx_IP2,CIU_SUM1_PPx_IP2, CIU_INTn_SUM0] &
2268 * [CIU_EN2_PPx_IP2,CIU_INTn_EN1, CIU_INTn_EN0])
2269 *
2270 * PPx/IP3 will be raised when...
2271 *
2272 * n = x*2 + 1
2273 * PPx/IP3 =  |([CIU_SUM2_PPx_IP3,CIU_SUM1_PPx_IP3, CIU_INTn_SUM0] &
2274 * [CIU_EN2_PPx_IP3,CIU_INTn_EN1, CIU_INTn_EN0])
2275 *
2276 * PPx/IP4 will be raised when...
2277 * PPx/IP4 = |([CIU_SUM1_PPx_IP4, CIU_INTx_SUM4] & [CIU_INTx_EN4_1, CIU_INTx_EN4_0])
2278 *
2279 * PCI/INT will be raised when...
2280 *
2281 * PCI/INT0 (PEM0)
2282 * PCI/INT0 = |([CIU_SUM2_IO0_INT,CIU_SUM1_IO0_INT, CIU_INT32_SUM0] &
2283 * [CIU_EN2_IO0_INT,CIU_INT32_EN1, CIU_INT32_EN0])
2284 *
2285 * PCI/INT1 is reserved for o70.
2286 * PCI/INT1 = |([CIU_SUM2_IO1_INT,CIU_SUM1_IO1_INT, CIU_INT33_SUM0] &
2287 * [CIU_EN2_IO1_INT,CIU_INT33_EN1, CIU_INT33_EN0])
2288 */
2289union cvmx_ciu_intx_en1 {
2290        u64 u64;
2291        struct cvmx_ciu_intx_en1_s {
2292                u64 rst : 1;
2293                u64 reserved_62_62 : 1;
2294                u64 srio3 : 1;
2295                u64 srio2 : 1;
2296                u64 reserved_57_59 : 3;
2297                u64 dfm : 1;
2298                u64 reserved_53_55 : 3;
2299                u64 lmc0 : 1;
2300                u64 srio1 : 1;
2301                u64 reserved_50_50 : 1;
2302                u64 pem1 : 1;
2303                u64 pem0 : 1;
2304                u64 ptp : 1;
2305                u64 agl : 1;
2306                u64 reserved_41_45 : 5;
2307                u64 dpi_dma : 1;
2308                u64 reserved_38_39 : 2;
2309                u64 agx1 : 1;
2310                u64 agx0 : 1;
2311                u64 dpi : 1;
2312                u64 sli : 1;
2313                u64 usb : 1;
2314                u64 dfa : 1;
2315                u64 key : 1;
2316                u64 rad : 1;
2317                u64 tim : 1;
2318                u64 zip : 1;
2319                u64 pko : 1;
2320                u64 pip : 1;
2321                u64 ipd : 1;
2322                u64 l2c : 1;
2323                u64 pow : 1;
2324                u64 fpa : 1;
2325                u64 iob : 1;
2326                u64 mio : 1;
2327                u64 nand : 1;
2328                u64 mii1 : 1;
2329                u64 usb1 : 1;
2330                u64 uart2 : 1;
2331                u64 wdog : 16;
2332        } s;
2333        struct cvmx_ciu_intx_en1_cn30xx {
2334                u64 reserved_1_63 : 63;
2335                u64 wdog : 1;
2336        } cn30xx;
2337        struct cvmx_ciu_intx_en1_cn31xx {
2338                u64 reserved_2_63 : 62;
2339                u64 wdog : 2;
2340        } cn31xx;
2341        struct cvmx_ciu_intx_en1_cn38xx {
2342                u64 reserved_16_63 : 48;
2343                u64 wdog : 16;
2344        } cn38xx;
2345        struct cvmx_ciu_intx_en1_cn38xx cn38xxp2;
2346        struct cvmx_ciu_intx_en1_cn31xx cn50xx;
2347        struct cvmx_ciu_intx_en1_cn52xx {
2348                u64 reserved_20_63 : 44;
2349                u64 nand : 1;
2350                u64 mii1 : 1;
2351                u64 usb1 : 1;
2352                u64 uart2 : 1;
2353                u64 reserved_4_15 : 12;
2354                u64 wdog : 4;
2355        } cn52xx;
2356        struct cvmx_ciu_intx_en1_cn52xxp1 {
2357                u64 reserved_19_63 : 45;
2358                u64 mii1 : 1;
2359                u64 usb1 : 1;
2360                u64 uart2 : 1;
2361                u64 reserved_4_15 : 12;
2362                u64 wdog : 4;
2363        } cn52xxp1;
2364        struct cvmx_ciu_intx_en1_cn56xx {
2365                u64 reserved_12_63 : 52;
2366                u64 wdog : 12;
2367        } cn56xx;
2368        struct cvmx_ciu_intx_en1_cn56xx cn56xxp1;
2369        struct cvmx_ciu_intx_en1_cn38xx cn58xx;
2370        struct cvmx_ciu_intx_en1_cn38xx cn58xxp1;
2371        struct cvmx_ciu_intx_en1_cn61xx {
2372                u64 rst : 1;
2373                u64 reserved_53_62 : 10;
2374                u64 lmc0 : 1;
2375                u64 reserved_50_51 : 2;
2376                u64 pem1 : 1;
2377                u64 pem0 : 1;
2378                u64 ptp : 1;
2379                u64 agl : 1;
2380                u64 reserved_41_45 : 5;
2381                u64 dpi_dma : 1;
2382                u64 reserved_38_39 : 2;
2383                u64 agx1 : 1;
2384                u64 agx0 : 1;
2385                u64 dpi : 1;
2386                u64 sli : 1;
2387                u64 usb : 1;
2388                u64 dfa : 1;
2389                u64 key : 1;
2390                u64 rad : 1;
2391                u64 tim : 1;
2392                u64 zip : 1;
2393                u64 pko : 1;
2394                u64 pip : 1;
2395                u64 ipd : 1;
2396                u64 l2c : 1;
2397                u64 pow : 1;
2398                u64 fpa : 1;
2399                u64 iob : 1;
2400                u64 mio : 1;
2401                u64 nand : 1;
2402                u64 mii1 : 1;
2403                u64 reserved_4_17 : 14;
2404                u64 wdog : 4;
2405        } cn61xx;
2406        struct cvmx_ciu_intx_en1_cn63xx {
2407                u64 rst : 1;
2408                u64 reserved_57_62 : 6;
2409                u64 dfm : 1;
2410                u64 reserved_53_55 : 3;
2411                u64 lmc0 : 1;
2412                u64 srio1 : 1;
2413                u64 srio0 : 1;
2414                u64 pem1 : 1;
2415                u64 pem0 : 1;
2416                u64 ptp : 1;
2417                u64 agl : 1;
2418                u64 reserved_37_45 : 9;
2419                u64 agx0 : 1;
2420                u64 dpi : 1;
2421                u64 sli : 1;
2422                u64 usb : 1;
2423                u64 dfa : 1;
2424                u64 key : 1;
2425                u64 rad : 1;
2426                u64 tim : 1;
2427                u64 zip : 1;
2428                u64 pko : 1;
2429                u64 pip : 1;
2430                u64 ipd : 1;
2431                u64 l2c : 1;
2432                u64 pow : 1;
2433                u64 fpa : 1;
2434                u64 iob : 1;
2435                u64 mio : 1;
2436                u64 nand : 1;
2437                u64 mii1 : 1;
2438                u64 reserved_6_17 : 12;
2439                u64 wdog : 6;
2440        } cn63xx;
2441        struct cvmx_ciu_intx_en1_cn63xx cn63xxp1;
2442        struct cvmx_ciu_intx_en1_cn66xx {
2443                u64 rst : 1;
2444                u64 reserved_62_62 : 1;
2445                u64 srio3 : 1;
2446                u64 srio2 : 1;
2447                u64 reserved_57_59 : 3;
2448                u64 dfm : 1;
2449                u64 reserved_53_55 : 3;
2450                u64 lmc0 : 1;
2451                u64 reserved_51_51 : 1;
2452                u64 srio0 : 1;
2453                u64 pem1 : 1;
2454                u64 pem0 : 1;
2455                u64 ptp : 1;
2456                u64 agl : 1;
2457                u64 reserved_38_45 : 8;
2458                u64 agx1 : 1;
2459                u64 agx0 : 1;
2460                u64 dpi : 1;
2461                u64 sli : 1;
2462                u64 usb : 1;
2463                u64 dfa : 1;
2464                u64 key : 1;
2465                u64 rad : 1;
2466                u64 tim : 1;
2467                u64 zip : 1;
2468                u64 pko : 1;
2469                u64 pip : 1;
2470                u64 ipd : 1;
2471                u64 l2c : 1;
2472                u64 pow : 1;
2473                u64 fpa : 1;
2474                u64 iob : 1;
2475                u64 mio : 1;
2476                u64 nand : 1;
2477                u64 mii1 : 1;
2478                u64 reserved_10_17 : 8;
2479                u64 wdog : 10;
2480        } cn66xx;
2481        struct cvmx_ciu_intx_en1_cn70xx {
2482                u64 rst : 1;
2483                u64 reserved_53_62 : 10;
2484                u64 lmc0 : 1;
2485                u64 reserved_51_51 : 1;
2486                u64 pem2 : 1;
2487                u64 pem1 : 1;
2488                u64 pem0 : 1;
2489                u64 ptp : 1;
2490                u64 agl : 1;
2491                u64 reserved_41_45 : 5;
2492                u64 dpi_dma : 1;
2493                u64 reserved_39_38 : 2;
2494                u64 agx1 : 1;
2495                u64 agx0 : 1;
2496                u64 dpi : 1;
2497                u64 sli : 1;
2498                u64 usb : 1;
2499                u64 dfa : 1;
2500                u64 key : 1;
2501                u64 rad : 1;
2502                u64 tim : 1;
2503                u64 reserved_28_28 : 1;
2504                u64 pko : 1;
2505                u64 pip : 1;
2506                u64 ipd : 1;
2507                u64 l2c : 1;
2508                u64 pow : 1;
2509                u64 fpa : 1;
2510                u64 iob : 1;
2511                u64 mio : 1;
2512                u64 nand : 1;
2513                u64 reserved_18_18 : 1;
2514                u64 usb1 : 1;
2515                u64 reserved_4_16 : 13;
2516                u64 wdog : 4;
2517        } cn70xx;
2518        struct cvmx_ciu_intx_en1_cn70xx cn70xxp1;
2519        struct cvmx_ciu_intx_en1_cnf71xx {
2520                u64 rst : 1;
2521                u64 reserved_53_62 : 10;
2522                u64 lmc0 : 1;
2523                u64 reserved_50_51 : 2;
2524                u64 pem1 : 1;
2525                u64 pem0 : 1;
2526                u64 ptp : 1;
2527                u64 reserved_41_46 : 6;
2528                u64 dpi_dma : 1;
2529                u64 reserved_37_39 : 3;
2530                u64 agx0 : 1;
2531                u64 dpi : 1;
2532                u64 sli : 1;
2533                u64 usb : 1;
2534                u64 reserved_32_32 : 1;
2535                u64 key : 1;
2536                u64 rad : 1;
2537                u64 tim : 1;
2538                u64 reserved_28_28 : 1;
2539                u64 pko : 1;
2540                u64 pip : 1;
2541                u64 ipd : 1;
2542                u64 l2c : 1;
2543                u64 pow : 1;
2544                u64 fpa : 1;
2545                u64 iob : 1;
2546                u64 mio : 1;
2547                u64 nand : 1;
2548                u64 reserved_4_18 : 15;
2549                u64 wdog : 4;
2550        } cnf71xx;
2551};
2552
2553typedef union cvmx_ciu_intx_en1 cvmx_ciu_intx_en1_t;
2554
2555/**
2556 * cvmx_ciu_int#_en1_w1c
2557 *
2558 * Write-1-to-clear version of the CIU_INTX_EN1 register, read back corresponding CIU_INTX_EN1
2559 * value.
2560 * CIU_INT33_EN1_W1C is reserved.
2561 */
2562union cvmx_ciu_intx_en1_w1c {
2563        u64 u64;
2564        struct cvmx_ciu_intx_en1_w1c_s {
2565                u64 rst : 1;
2566                u64 reserved_62_62 : 1;
2567                u64 srio3 : 1;
2568                u64 srio2 : 1;
2569                u64 reserved_57_59 : 3;
2570                u64 dfm : 1;
2571                u64 reserved_53_55 : 3;
2572                u64 lmc0 : 1;
2573                u64 srio1 : 1;
2574                u64 reserved_50_50 : 1;
2575                u64 pem1 : 1;
2576                u64 pem0 : 1;
2577                u64 ptp : 1;
2578                u64 agl : 1;
2579                u64 reserved_41_45 : 5;
2580                u64 dpi_dma : 1;
2581                u64 reserved_38_39 : 2;
2582                u64 agx1 : 1;
2583                u64 agx0 : 1;
2584                u64 dpi : 1;
2585                u64 sli : 1;
2586                u64 usb : 1;
2587                u64 dfa : 1;
2588                u64 key : 1;
2589                u64 rad : 1;
2590                u64 tim : 1;
2591                u64 zip : 1;
2592                u64 pko : 1;
2593                u64 pip : 1;
2594                u64 ipd : 1;
2595                u64 l2c : 1;
2596                u64 pow : 1;
2597                u64 fpa : 1;
2598                u64 iob : 1;
2599                u64 mio : 1;
2600                u64 nand : 1;
2601                u64 mii1 : 1;
2602                u64 usb1 : 1;
2603                u64 uart2 : 1;
2604                u64 wdog : 16;
2605        } s;
2606        struct cvmx_ciu_intx_en1_w1c_cn52xx {
2607                u64 reserved_20_63 : 44;
2608                u64 nand : 1;
2609                u64 mii1 : 1;
2610                u64 usb1 : 1;
2611                u64 uart2 : 1;
2612                u64 reserved_4_15 : 12;
2613                u64 wdog : 4;
2614        } cn52xx;
2615        struct cvmx_ciu_intx_en1_w1c_cn56xx {
2616                u64 reserved_12_63 : 52;
2617                u64 wdog : 12;
2618        } cn56xx;
2619        struct cvmx_ciu_intx_en1_w1c_cn58xx {
2620                u64 reserved_16_63 : 48;
2621                u64 wdog : 16;
2622        } cn58xx;
2623        struct cvmx_ciu_intx_en1_w1c_cn61xx {
2624                u64 rst : 1;
2625                u64 reserved_53_62 : 10;
2626                u64 lmc0 : 1;
2627                u64 reserved_50_51 : 2;
2628                u64 pem1 : 1;
2629                u64 pem0 : 1;
2630                u64 ptp : 1;
2631                u64 agl : 1;
2632                u64 reserved_41_45 : 5;
2633                u64 dpi_dma : 1;
2634                u64 reserved_38_39 : 2;
2635                u64 agx1 : 1;
2636                u64 agx0 : 1;
2637                u64 dpi : 1;
2638                u64 sli : 1;
2639                u64 usb : 1;
2640                u64 dfa : 1;
2641                u64 key : 1;
2642                u64 rad : 1;
2643                u64 tim : 1;
2644                u64 zip : 1;
2645                u64 pko : 1;
2646                u64 pip : 1;
2647                u64 ipd : 1;
2648                u64 l2c : 1;
2649                u64 pow : 1;
2650                u64 fpa : 1;
2651                u64 iob : 1;
2652                u64 mio : 1;
2653                u64 nand : 1;
2654                u64 mii1 : 1;
2655                u64 reserved_4_17 : 14;
2656                u64 wdog : 4;
2657        } cn61xx;
2658        struct cvmx_ciu_intx_en1_w1c_cn63xx {
2659                u64 rst : 1;
2660                u64 reserved_57_62 : 6;
2661                u64 dfm : 1;
2662                u64 reserved_53_55 : 3;
2663                u64 lmc0 : 1;
2664                u64 srio1 : 1;
2665                u64 srio0 : 1;
2666                u64 pem1 : 1;
2667                u64 pem0 : 1;
2668                u64 ptp : 1;
2669                u64 agl : 1;
2670                u64 reserved_37_45 : 9;
2671                u64 agx0 : 1;
2672                u64 dpi : 1;
2673                u64 sli : 1;
2674                u64 usb : 1;
2675                u64 dfa : 1;
2676                u64 key : 1;
2677                u64 rad : 1;
2678                u64 tim : 1;
2679                u64 zip : 1;
2680                u64 pko : 1;
2681                u64 pip : 1;
2682                u64 ipd : 1;
2683                u64 l2c : 1;
2684                u64 pow : 1;
2685                u64 fpa : 1;
2686                u64 iob : 1;
2687                u64 mio : 1;
2688                u64 nand : 1;
2689                u64 mii1 : 1;
2690                u64 reserved_6_17 : 12;
2691                u64 wdog : 6;
2692        } cn63xx;
2693        struct cvmx_ciu_intx_en1_w1c_cn63xx cn63xxp1;
2694        struct cvmx_ciu_intx_en1_w1c_cn66xx {
2695                u64 rst : 1;
2696                u64 reserved_62_62 : 1;
2697                u64 srio3 : 1;
2698                u64 srio2 : 1;
2699                u64 reserved_57_59 : 3;
2700                u64 dfm : 1;
2701                u64 reserved_53_55 : 3;
2702                u64 lmc0 : 1;
2703                u64 reserved_51_51 : 1;
2704                u64 srio0 : 1;
2705                u64 pem1 : 1;
2706                u64 pem0 : 1;
2707                u64 ptp : 1;
2708                u64 agl : 1;
2709                u64 reserved_38_45 : 8;
2710                u64 agx1 : 1;
2711                u64 agx0 : 1;
2712                u64 dpi : 1;
2713                u64 sli : 1;
2714                u64 usb : 1;
2715                u64 dfa : 1;
2716                u64 key : 1;
2717                u64 rad : 1;
2718                u64 tim : 1;
2719                u64 zip : 1;
2720                u64 pko : 1;
2721                u64 pip : 1;
2722                u64 ipd : 1;
2723                u64 l2c : 1;
2724                u64 pow : 1;
2725                u64 fpa : 1;
2726                u64 iob : 1;
2727                u64 mio : 1;
2728                u64 nand : 1;
2729                u64 mii1 : 1;
2730                u64 reserved_10_17 : 8;
2731                u64 wdog : 10;
2732        } cn66xx;
2733        struct cvmx_ciu_intx_en1_w1c_cn70xx {
2734                u64 rst : 1;
2735                u64 reserved_53_62 : 10;
2736                u64 lmc0 : 1;
2737                u64 reserved_51_51 : 1;
2738                u64 pem2 : 1;
2739                u64 pem1 : 1;
2740                u64 pem0 : 1;
2741                u64 ptp : 1;
2742                u64 agl : 1;
2743                u64 reserved_41_45 : 5;
2744                u64 dpi_dma : 1;
2745                u64 reserved_38_39 : 2;
2746                u64 agx1 : 1;
2747                u64 agx0 : 1;
2748                u64 dpi : 1;
2749                u64 sli : 1;
2750                u64 usb : 1;
2751                u64 dfa : 1;
2752                u64 key : 1;
2753                u64 rad : 1;
2754                u64 tim : 1;
2755                u64 reserved_28_28 : 1;
2756                u64 pko : 1;
2757                u64 pip : 1;
2758                u64 ipd : 1;
2759                u64 l2c : 1;
2760                u64 pow : 1;
2761                u64 fpa : 1;
2762                u64 iob : 1;
2763                u64 mio : 1;
2764                u64 nand : 1;
2765                u64 reserved_18_18 : 1;
2766                u64 usb1 : 1;
2767                u64 reserved_4_16 : 13;
2768                u64 wdog : 4;
2769        } cn70xx;
2770        struct cvmx_ciu_intx_en1_w1c_cn70xx cn70xxp1;
2771        struct cvmx_ciu_intx_en1_w1c_cnf71xx {
2772                u64 rst : 1;
2773                u64 reserved_53_62 : 10;
2774                u64 lmc0 : 1;
2775                u64 reserved_50_51 : 2;
2776                u64 pem1 : 1;
2777                u64 pem0 : 1;
2778                u64 ptp : 1;
2779                u64 reserved_41_46 : 6;
2780                u64 dpi_dma : 1;
2781                u64 reserved_37_39 : 3;
2782                u64 agx0 : 1;
2783                u64 dpi : 1;
2784                u64 sli : 1;
2785                u64 usb : 1;
2786                u64 reserved_32_32 : 1;
2787                u64 key : 1;
2788                u64 rad : 1;
2789                u64 tim : 1;
2790                u64 reserved_28_28 : 1;
2791                u64 pko : 1;
2792                u64 pip : 1;
2793                u64 ipd : 1;
2794                u64 l2c : 1;
2795                u64 pow : 1;
2796                u64 fpa : 1;
2797                u64 iob : 1;
2798                u64 mio : 1;
2799                u64 nand : 1;
2800                u64 reserved_4_18 : 15;
2801                u64 wdog : 4;
2802        } cnf71xx;
2803};
2804
2805typedef union cvmx_ciu_intx_en1_w1c cvmx_ciu_intx_en1_w1c_t;
2806
2807/**
2808 * cvmx_ciu_int#_en1_w1s
2809 *
2810 * Write-1-to-set version of the CIU_INTX_EN1 register, read back corresponding CIU_INTX_EN1
2811 * value.
2812 * CIU_INT33_EN1_W1S is reserved.
2813 */
2814union cvmx_ciu_intx_en1_w1s {
2815        u64 u64;
2816        struct cvmx_ciu_intx_en1_w1s_s {
2817                u64 rst : 1;
2818                u64 reserved_62_62 : 1;
2819                u64 srio3 : 1;
2820                u64 srio2 : 1;
2821                u64 reserved_57_59 : 3;
2822                u64 dfm : 1;
2823                u64 reserved_53_55 : 3;
2824                u64 lmc0 : 1;
2825                u64 srio1 : 1;
2826                u64 reserved_50_50 : 1;
2827                u64 pem1 : 1;
2828                u64 pem0 : 1;
2829                u64 ptp : 1;
2830                u64 agl : 1;
2831                u64 reserved_41_45 : 5;
2832                u64 dpi_dma : 1;
2833                u64 reserved_38_39 : 2;
2834                u64 agx1 : 1;
2835                u64 agx0 : 1;
2836                u64 dpi : 1;
2837                u64 sli : 1;
2838                u64 usb : 1;
2839                u64 dfa : 1;
2840                u64 key : 1;
2841                u64 rad : 1;
2842                u64 tim : 1;
2843                u64 zip : 1;
2844                u64 pko : 1;
2845                u64 pip : 1;
2846                u64 ipd : 1;
2847                u64 l2c : 1;
2848                u64 pow : 1;
2849                u64 fpa : 1;
2850                u64 iob : 1;
2851                u64 mio : 1;
2852                u64 nand : 1;
2853                u64 mii1 : 1;
2854                u64 usb1 : 1;
2855                u64 uart2 : 1;
2856                u64 wdog : 16;
2857        } s;
2858        struct cvmx_ciu_intx_en1_w1s_cn52xx {
2859                u64 reserved_20_63 : 44;
2860                u64 nand : 1;
2861                u64 mii1 : 1;
2862                u64 usb1 : 1;
2863                u64 uart2 : 1;
2864                u64 reserved_4_15 : 12;
2865                u64 wdog : 4;
2866        } cn52xx;
2867        struct cvmx_ciu_intx_en1_w1s_cn56xx {
2868                u64 reserved_12_63 : 52;
2869                u64 wdog : 12;
2870        } cn56xx;
2871        struct cvmx_ciu_intx_en1_w1s_cn58xx {
2872                u64 reserved_16_63 : 48;
2873                u64 wdog : 16;
2874        } cn58xx;
2875        struct cvmx_ciu_intx_en1_w1s_cn61xx {
2876                u64 rst : 1;
2877                u64 reserved_53_62 : 10;
2878                u64 lmc0 : 1;
2879                u64 reserved_50_51 : 2;
2880                u64 pem1 : 1;
2881                u64 pem0 : 1;
2882                u64 ptp : 1;
2883                u64 agl : 1;
2884                u64 reserved_41_45 : 5;
2885                u64 dpi_dma : 1;
2886                u64 reserved_38_39 : 2;
2887                u64 agx1 : 1;
2888                u64 agx0 : 1;
2889                u64 dpi : 1;
2890                u64 sli : 1;
2891                u64 usb : 1;
2892                u64 dfa : 1;
2893                u64 key : 1;
2894                u64 rad : 1;
2895                u64 tim : 1;
2896                u64 zip : 1;
2897                u64 pko : 1;
2898                u64 pip : 1;
2899                u64 ipd : 1;
2900                u64 l2c : 1;
2901                u64 pow : 1;
2902                u64 fpa : 1;
2903                u64 iob : 1;
2904                u64 mio : 1;
2905                u64 nand : 1;
2906                u64 mii1 : 1;
2907                u64 reserved_4_17 : 14;
2908                u64 wdog : 4;
2909        } cn61xx;
2910        struct cvmx_ciu_intx_en1_w1s_cn63xx {
2911                u64 rst : 1;
2912                u64 reserved_57_62 : 6;
2913                u64 dfm : 1;
2914                u64 reserved_53_55 : 3;
2915                u64 lmc0 : 1;
2916                u64 srio1 : 1;
2917                u64 srio0 : 1;
2918                u64 pem1 : 1;
2919                u64 pem0 : 1;
2920                u64 ptp : 1;
2921                u64 agl : 1;
2922                u64 reserved_37_45 : 9;
2923                u64 agx0 : 1;
2924                u64 dpi : 1;
2925                u64 sli : 1;
2926                u64 usb : 1;
2927                u64 dfa : 1;
2928                u64 key : 1;
2929                u64 rad : 1;
2930                u64 tim : 1;
2931                u64 zip : 1;
2932                u64 pko : 1;
2933                u64 pip : 1;
2934                u64 ipd : 1;
2935                u64 l2c : 1;
2936                u64 pow : 1;
2937                u64 fpa : 1;
2938                u64 iob : 1;
2939                u64 mio : 1;
2940                u64 nand : 1;
2941                u64 mii1 : 1;
2942                u64 reserved_6_17 : 12;
2943                u64 wdog : 6;
2944        } cn63xx;
2945        struct cvmx_ciu_intx_en1_w1s_cn63xx cn63xxp1;
2946        struct cvmx_ciu_intx_en1_w1s_cn66xx {
2947                u64 rst : 1;
2948                u64 reserved_62_62 : 1;
2949                u64 srio3 : 1;
2950                u64 srio2 : 1;
2951                u64 reserved_57_59 : 3;
2952                u64 dfm : 1;
2953                u64 reserved_53_55 : 3;
2954                u64 lmc0 : 1;
2955                u64 reserved_51_51 : 1;
2956                u64 srio0 : 1;
2957                u64 pem1 : 1;
2958                u64 pem0 : 1;
2959                u64 ptp : 1;
2960                u64 agl : 1;
2961                u64 reserved_38_45 : 8;
2962                u64 agx1 : 1;
2963                u64 agx0 : 1;
2964                u64 dpi : 1;
2965                u64 sli : 1;
2966                u64 usb : 1;
2967                u64 dfa : 1;
2968                u64 key : 1;
2969                u64 rad : 1;
2970                u64 tim : 1;
2971                u64 zip : 1;
2972                u64 pko : 1;
2973                u64 pip : 1;
2974                u64 ipd : 1;
2975                u64 l2c : 1;
2976                u64 pow : 1;
2977                u64 fpa : 1;
2978                u64 iob : 1;
2979                u64 mio : 1;
2980                u64 nand : 1;
2981                u64 mii1 : 1;
2982                u64 reserved_10_17 : 8;
2983                u64 wdog : 10;
2984        } cn66xx;
2985        struct cvmx_ciu_intx_en1_w1s_cn70xx {
2986                u64 rst : 1;
2987                u64 reserved_53_62 : 10;
2988                u64 lmc0 : 1;
2989                u64 reserved_51_51 : 1;
2990                u64 pem2 : 1;
2991                u64 pem1 : 1;
2992                u64 pem0 : 1;
2993                u64 ptp : 1;
2994                u64 agl : 1;
2995                u64 reserved_41_45 : 5;
2996                u64 dpi_dma : 1;
2997                u64 reserved_38_39 : 2;
2998                u64 agx1 : 1;
2999                u64 agx0 : 1;
3000                u64 dpi : 1;
3001                u64 sli : 1;
3002                u64 usb : 1;
3003                u64 dfa : 1;
3004                u64 key : 1;
3005                u64 rad : 1;
3006                u64 tim : 1;
3007                u64 reserved_28_28 : 1;
3008                u64 pko : 1;
3009                u64 pip : 1;
3010                u64 ipd : 1;
3011                u64 l2c : 1;
3012                u64 pow : 1;
3013                u64 fpa : 1;
3014                u64 iob : 1;
3015                u64 mio : 1;
3016                u64 nand : 1;
3017                u64 reserved_18_18 : 1;
3018                u64 usb1 : 1;
3019                u64 reserved_4_16 : 13;
3020                u64 wdog : 4;
3021        } cn70xx;
3022        struct cvmx_ciu_intx_en1_w1s_cn70xx cn70xxp1;
3023        struct cvmx_ciu_intx_en1_w1s_cnf71xx {
3024                u64 rst : 1;
3025                u64 reserved_53_62 : 10;
3026                u64 lmc0 : 1;
3027                u64 reserved_50_51 : 2;
3028                u64 pem1 : 1;
3029                u64 pem0 : 1;
3030                u64 ptp : 1;
3031                u64 reserved_41_46 : 6;
3032                u64 dpi_dma : 1;
3033                u64 reserved_37_39 : 3;
3034                u64 agx0 : 1;
3035                u64 dpi : 1;
3036                u64 sli : 1;
3037                u64 usb : 1;
3038                u64 reserved_32_32 : 1;
3039                u64 key : 1;
3040                u64 rad : 1;
3041                u64 tim : 1;
3042                u64 reserved_28_28 : 1;
3043                u64 pko : 1;
3044                u64 pip : 1;
3045                u64 ipd : 1;
3046                u64 l2c : 1;
3047                u64 pow : 1;
3048                u64 fpa : 1;
3049                u64 iob : 1;
3050                u64 mio : 1;
3051                u64 nand : 1;
3052                u64 reserved_4_18 : 15;
3053                u64 wdog : 4;
3054        } cnf71xx;
3055};
3056
3057typedef union cvmx_ciu_intx_en1_w1s cvmx_ciu_intx_en1_w1s_t;
3058
3059/**
3060 * cvmx_ciu_int#_en4_0
3061 *
3062 * CIU_INT0_EN4_0:   PP0  /IP4
3063 * CIU_INT1_EN4_0:   PP1  /IP4
3064 * - ...
3065 * CIU_INT3_EN4_0:   PP3  /IP4
3066 */
3067union cvmx_ciu_intx_en4_0 {
3068        u64 u64;
3069        struct cvmx_ciu_intx_en4_0_s {
3070                u64 bootdma : 1;
3071                u64 mii : 1;
3072                u64 ipdppthr : 1;
3073                u64 powiq : 1;
3074                u64 twsi2 : 1;
3075                u64 mpi : 1;
3076                u64 pcm : 1;
3077                u64 usb : 1;
3078                u64 timer : 4;
3079                u64 key_zero : 1;
3080                u64 ipd_drp : 1;
3081                u64 gmx_drp : 2;
3082                u64 trace : 1;
3083                u64 rml : 1;
3084                u64 twsi : 1;
3085                u64 reserved_44_44 : 1;
3086                u64 pci_msi : 4;
3087                u64 pci_int : 4;
3088                u64 uart : 2;
3089                u64 mbox : 2;
3090                u64 gpio : 16;
3091                u64 workq : 16;
3092        } s;
3093        struct cvmx_ciu_intx_en4_0_cn50xx {
3094                u64 reserved_59_63 : 5;
3095                u64 mpi : 1;
3096                u64 pcm : 1;
3097                u64 usb : 1;
3098                u64 timer : 4;
3099                u64 reserved_51_51 : 1;
3100                u64 ipd_drp : 1;
3101                u64 reserved_49_49 : 1;
3102                u64 gmx_drp : 1;
3103                u64 reserved_47_47 : 1;
3104                u64 rml : 1;
3105                u64 twsi : 1;
3106                u64 reserved_44_44 : 1;
3107                u64 pci_msi : 4;
3108                u64 pci_int : 4;
3109                u64 uart : 2;
3110                u64 mbox : 2;
3111                u64 gpio : 16;
3112                u64 workq : 16;
3113        } cn50xx;
3114        struct cvmx_ciu_intx_en4_0_cn52xx {
3115                u64 bootdma : 1;
3116                u64 mii : 1;
3117                u64 ipdppthr : 1;
3118                u64 powiq : 1;
3119                u64 twsi2 : 1;
3120                u64 reserved_57_58 : 2;
3121                u64 usb : 1;
3122                u64 timer : 4;
3123                u64 reserved_51_51 : 1;
3124                u64 ipd_drp : 1;
3125                u64 reserved_49_49 : 1;
3126                u64 gmx_drp : 1;
3127                u64 trace : 1;
3128                u64 rml : 1;
3129                u64 twsi : 1;
3130                u64 reserved_44_44 : 1;
3131                u64 pci_msi : 4;
3132                u64 pci_int : 4;
3133                u64 uart : 2;
3134                u64 mbox : 2;
3135                u64 gpio : 16;
3136                u64 workq : 16;
3137        } cn52xx;
3138        struct cvmx_ciu_intx_en4_0_cn52xx cn52xxp1;
3139        struct cvmx_ciu_intx_en4_0_cn56xx {
3140                u64 bootdma : 1;
3141                u64 mii : 1;
3142                u64 ipdppthr : 1;
3143                u64 powiq : 1;
3144                u64 twsi2 : 1;
3145                u64 reserved_57_58 : 2;
3146                u64 usb : 1;
3147                u64 timer : 4;
3148                u64 key_zero : 1;
3149                u64 ipd_drp : 1;
3150                u64 gmx_drp : 2;
3151                u64 trace : 1;
3152                u64 rml : 1;
3153                u64 twsi : 1;
3154                u64 reserved_44_44 : 1;
3155                u64 pci_msi : 4;
3156                u64 pci_int : 4;
3157                u64 uart : 2;
3158                u64 mbox : 2;
3159                u64 gpio : 16;
3160                u64 workq : 16;
3161        } cn56xx;
3162        struct cvmx_ciu_intx_en4_0_cn56xx cn56xxp1;
3163        struct cvmx_ciu_intx_en4_0_cn58xx {
3164                u64 reserved_56_63 : 8;
3165                u64 timer : 4;
3166                u64 key_zero : 1;
3167                u64 ipd_drp : 1;
3168                u64 gmx_drp : 2;
3169                u64 trace : 1;
3170                u64 rml : 1;
3171                u64 twsi : 1;
3172                u64 reserved_44_44 : 1;
3173                u64 pci_msi : 4;
3174                u64 pci_int : 4;
3175                u64 uart : 2;
3176                u64 mbox : 2;
3177                u64 gpio : 16;
3178                u64 workq : 16;
3179        } cn58xx;
3180        struct cvmx_ciu_intx_en4_0_cn58xx cn58xxp1;
3181        struct cvmx_ciu_intx_en4_0_cn61xx {
3182                u64 bootdma : 1;
3183                u64 mii : 1;
3184                u64 ipdppthr : 1;
3185                u64 powiq : 1;
3186                u64 twsi2 : 1;
3187                u64 mpi : 1;
3188                u64 pcm : 1;
3189                u64 usb : 1;
3190                u64 timer : 4;
3191                u64 reserved_51_51 : 1;
3192                u64 ipd_drp : 1;
3193                u64 gmx_drp : 2;
3194                u64 trace : 1;
3195                u64 rml : 1;
3196                u64 twsi : 1;
3197                u64 reserved_44_44 : 1;
3198                u64 pci_msi : 4;
3199                u64 pci_int : 4;
3200                u64 uart : 2;
3201                u64 mbox : 2;
3202                u64 gpio : 16;
3203                u64 workq : 16;
3204        } cn61xx;
3205        struct cvmx_ciu_intx_en4_0_cn52xx cn63xx;
3206        struct cvmx_ciu_intx_en4_0_cn52xx cn63xxp1;
3207        struct cvmx_ciu_intx_en4_0_cn66xx {
3208                u64 bootdma : 1;
3209                u64 mii : 1;
3210                u64 ipdppthr : 1;
3211                u64 powiq : 1;
3212                u64 twsi2 : 1;
3213                u64 mpi : 1;
3214                u64 reserved_57_57 : 1;
3215                u64 usb : 1;
3216                u64 timer : 4;
3217                u64 reserved_51_51 : 1;
3218                u64 ipd_drp : 1;
3219                u64 gmx_drp : 2;
3220                u64 trace : 1;
3221                u64 rml : 1;
3222                u64 twsi : 1;
3223                u64 reserved_44_44 : 1;
3224                u64 pci_msi : 4;
3225                u64 pci_int : 4;
3226                u64 uart : 2;
3227                u64 mbox : 2;
3228                u64 gpio : 16;
3229                u64 workq : 16;
3230        } cn66xx;
3231        struct cvmx_ciu_intx_en4_0_cn70xx {
3232                u64 bootdma : 1;
3233                u64 reserved_62_62 : 1;
3234                u64 ipdppthr : 1;
3235                u64 powiq : 1;
3236                u64 twsi2 : 1;
3237                u64 mpi : 1;
3238                u64 pcm : 1;
3239                u64 reserved_56_56 : 1;
3240                u64 timer : 4;
3241                u64 reserved_51_51 : 1;
3242                u64 ipd_drp : 1;
3243                u64 gmx_drp : 2;
3244                u64 reserved_46_47 : 2;
3245                u64 twsi : 1;
3246                u64 reserved_44_44 : 1;
3247                u64 pci_msi : 4;
3248                u64 pci_int : 4;
3249                u64 uart : 2;
3250                u64 mbox : 2;
3251                u64 gpio : 16;
3252                u64 workq : 16;
3253        } cn70xx;
3254        struct cvmx_ciu_intx_en4_0_cn70xx cn70xxp1;
3255        struct cvmx_ciu_intx_en4_0_cnf71xx {
3256                u64 bootdma : 1;
3257                u64 reserved_62_62 : 1;
3258                u64 ipdppthr : 1;
3259                u64 powiq : 1;
3260                u64 twsi2 : 1;
3261                u64 mpi : 1;
3262                u64 pcm : 1;
3263                u64 usb : 1;
3264                u64 timer : 4;
3265                u64 reserved_51_51 : 1;
3266                u64 ipd_drp : 1;
3267                u64 reserved_49_49 : 1;
3268                u64 gmx_drp : 1;
3269                u64 trace : 1;
3270                u64 rml : 1;
3271                u64 twsi : 1;
3272                u64 reserved_44_44 : 1;
3273                u64 pci_msi : 4;
3274                u64 pci_int : 4;
3275                u64 uart : 2;
3276                u64 mbox : 2;
3277                u64 gpio : 16;
3278                u64 workq : 16;
3279        } cnf71xx;
3280};
3281
3282typedef union cvmx_ciu_intx_en4_0 cvmx_ciu_intx_en4_0_t;
3283
3284/**
3285 * cvmx_ciu_int#_en4_0_w1c
3286 *
3287 * Write-1-to-clear version of the CIU_INTx_EN4_0 register, read back corresponding
3288 * CIU_INTx_EN4_0 value.
3289 */
3290union cvmx_ciu_intx_en4_0_w1c {
3291        u64 u64;
3292        struct cvmx_ciu_intx_en4_0_w1c_s {
3293                u64 bootdma : 1;
3294                u64 mii : 1;
3295                u64 ipdppthr : 1;
3296                u64 powiq : 1;
3297                u64 twsi2 : 1;
3298                u64 mpi : 1;
3299                u64 pcm : 1;
3300                u64 usb : 1;
3301                u64 timer : 4;
3302                u64 key_zero : 1;
3303                u64 ipd_drp : 1;
3304                u64 gmx_drp : 2;
3305                u64 trace : 1;
3306                u64 rml : 1;
3307                u64 twsi : 1;
3308                u64 reserved_44_44 : 1;
3309                u64 pci_msi : 4;
3310                u64 pci_int : 4;
3311                u64 uart : 2;
3312                u64 mbox : 2;
3313                u64 gpio : 16;
3314                u64 workq : 16;
3315        } s;
3316        struct cvmx_ciu_intx_en4_0_w1c_cn52xx {
3317                u64 bootdma : 1;
3318                u64 mii : 1;
3319                u64 ipdppthr : 1;
3320                u64 powiq : 1;
3321                u64 twsi2 : 1;
3322                u64 reserved_57_58 : 2;
3323                u64 usb : 1;
3324                u64 timer : 4;
3325                u64 reserved_51_51 : 1;
3326                u64 ipd_drp : 1;
3327                u64 reserved_49_49 : 1;
3328                u64 gmx_drp : 1;
3329                u64 trace : 1;
3330                u64 rml : 1;
3331                u64 twsi : 1;
3332                u64 reserved_44_44 : 1;
3333                u64 pci_msi : 4;
3334                u64 pci_int : 4;
3335                u64 uart : 2;
3336                u64 mbox : 2;
3337                u64 gpio : 16;
3338                u64 workq : 16;
3339        } cn52xx;
3340        struct cvmx_ciu_intx_en4_0_w1c_cn56xx {
3341                u64 bootdma : 1;
3342                u64 mii : 1;
3343                u64 ipdppthr : 1;
3344                u64 powiq : 1;
3345                u64 twsi2 : 1;
3346                u64 reserved_57_58 : 2;
3347                u64 usb : 1;
3348                u64 timer : 4;
3349                u64 key_zero : 1;
3350                u64 ipd_drp : 1;
3351                u64 gmx_drp : 2;
3352                u64 trace : 1;
3353                u64 rml : 1;
3354                u64 twsi : 1;
3355                u64 reserved_44_44 : 1;
3356                u64 pci_msi : 4;
3357                u64 pci_int : 4;
3358                u64 uart : 2;
3359                u64 mbox : 2;
3360                u64 gpio : 16;
3361                u64 workq : 16;
3362        } cn56xx;
3363        struct cvmx_ciu_intx_en4_0_w1c_cn58xx {
3364                u64 reserved_56_63 : 8;
3365                u64 timer : 4;
3366                u64 key_zero : 1;
3367                u64 ipd_drp : 1;
3368                u64 gmx_drp : 2;
3369                u64 trace : 1;
3370                u64 rml : 1;
3371                u64 twsi : 1;
3372                u64 reserved_44_44 : 1;
3373                u64 pci_msi : 4;
3374                u64 pci_int : 4;
3375                u64 uart : 2;
3376                u64 mbox : 2;
3377                u64 gpio : 16;
3378                u64 workq : 16;
3379        } cn58xx;
3380        struct cvmx_ciu_intx_en4_0_w1c_cn61xx {
3381                u64 bootdma : 1;
3382                u64 mii : 1;
3383                u64 ipdppthr : 1;
3384                u64 powiq : 1;
3385                u64 twsi2 : 1;
3386                u64 mpi : 1;
3387                u64 pcm : 1;
3388                u64 usb : 1;
3389                u64 timer : 4;
3390                u64 reserved_51_51 : 1;
3391                u64 ipd_drp : 1;
3392                u64 gmx_drp : 2;
3393                u64 trace : 1;
3394                u64 rml : 1;
3395                u64 twsi : 1;
3396                u64 reserved_44_44 : 1;
3397                u64 pci_msi : 4;
3398                u64 pci_int : 4;
3399                u64 uart : 2;
3400                u64 mbox : 2;
3401                u64 gpio : 16;
3402                u64 workq : 16;
3403        } cn61xx;
3404        struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xx;
3405        struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xxp1;
3406        struct cvmx_ciu_intx_en4_0_w1c_cn66xx {
3407                u64 bootdma : 1;
3408                u64 mii : 1;
3409                u64 ipdppthr : 1;
3410                u64 powiq : 1;
3411                u64 twsi2 : 1;
3412                u64 mpi : 1;
3413                u64 reserved_57_57 : 1;
3414                u64 usb : 1;
3415                u64 timer : 4;
3416                u64 reserved_51_51 : 1;
3417                u64 ipd_drp : 1;
3418                u64 gmx_drp : 2;
3419                u64 trace : 1;
3420                u64 rml : 1;
3421                u64 twsi : 1;
3422                u64 reserved_44_44 : 1;
3423                u64 pci_msi : 4;
3424                u64 pci_int : 4;
3425                u64 uart : 2;
3426                u64 mbox : 2;
3427                u64 gpio : 16;
3428                u64 workq : 16;
3429        } cn66xx;
3430        struct cvmx_ciu_intx_en4_0_w1c_cn70xx {
3431                u64 bootdma : 1;
3432                u64 reserved_62_62 : 1;
3433                u64 ipdppthr : 1;
3434                u64 powiq : 1;
3435                u64 twsi2 : 1;
3436                u64 mpi : 1;
3437                u64 pcm : 1;
3438                u64 reserved_56_56 : 1;
3439                u64 timer : 4;
3440                u64 reserved_51_51 : 1;
3441                u64 ipd_drp : 1;
3442                u64 gmx_drp : 2;
3443                u64 reserved_46_47 : 2;
3444                u64 twsi : 1;
3445                u64 reserved_44_44 : 1;
3446                u64 pci_msi : 4;
3447                u64 pci_int : 4;
3448                u64 uart : 2;
3449                u64 mbox : 2;
3450                u64 gpio : 16;
3451                u64 workq : 16;
3452        } cn70xx;
3453        struct cvmx_ciu_intx_en4_0_w1c_cn70xx cn70xxp1;
3454        struct cvmx_ciu_intx_en4_0_w1c_cnf71xx {
3455                u64 bootdma : 1;
3456                u64 reserved_62_62 : 1;
3457                u64 ipdppthr : 1;
3458                u64 powiq : 1;
3459                u64 twsi2 : 1;
3460                u64 mpi : 1;
3461                u64 pcm : 1;
3462                u64 usb : 1;
3463                u64 timer : 4;
3464                u64 reserved_51_51 : 1;
3465                u64 ipd_drp : 1;
3466                u64 reserved_49_49 : 1;
3467                u64 gmx_drp : 1;
3468                u64 trace : 1;
3469                u64 rml : 1;
3470                u64 twsi : 1;
3471                u64 reserved_44_44 : 1;
3472                u64 pci_msi : 4;
3473                u64 pci_int : 4;
3474                u64 uart : 2;
3475                u64 mbox : 2;
3476                u64 gpio : 16;
3477                u64 workq : 16;
3478        } cnf71xx;
3479};
3480
3481typedef union cvmx_ciu_intx_en4_0_w1c cvmx_ciu_intx_en4_0_w1c_t;
3482
3483/**
3484 * cvmx_ciu_int#_en4_0_w1s
3485 *
3486 * Write-1-to-set version of the CIU_INTX_EN4_0 register, read back corresponding CIU_INTX_EN4_0
3487 * value.
3488 */
3489union cvmx_ciu_intx_en4_0_w1s {
3490        u64 u64;
3491        struct cvmx_ciu_intx_en4_0_w1s_s {
3492                u64 bootdma : 1;
3493                u64 mii : 1;
3494                u64 ipdppthr : 1;
3495                u64 powiq : 1;
3496                u64 twsi2 : 1;
3497                u64 mpi : 1;
3498                u64 pcm : 1;
3499                u64 usb : 1;
3500                u64 timer : 4;
3501                u64 key_zero : 1;
3502                u64 ipd_drp : 1;
3503                u64 gmx_drp : 2;
3504                u64 trace : 1;
3505                u64 rml : 1;
3506                u64 twsi : 1;
3507                u64 reserved_44_44 : 1;
3508                u64 pci_msi : 4;
3509                u64 pci_int : 4;
3510                u64 uart : 2;
3511                u64 mbox : 2;
3512                u64 gpio : 16;
3513                u64 workq : 16;
3514        } s;
3515        struct cvmx_ciu_intx_en4_0_w1s_cn52xx {
3516                u64 bootdma : 1;
3517                u64 mii : 1;
3518                u64 ipdppthr : 1;
3519                u64 powiq : 1;
3520                u64 twsi2 : 1;
3521                u64 reserved_57_58 : 2;
3522                u64 usb : 1;
3523                u64 timer : 4;
3524                u64 reserved_51_51 : 1;
3525                u64 ipd_drp : 1;
3526                u64 reserved_49_49 : 1;
3527                u64 gmx_drp : 1;
3528                u64 trace : 1;
3529                u64 rml : 1;
3530                u64 twsi : 1;
3531                u64 reserved_44_44 : 1;
3532                u64 pci_msi : 4;
3533                u64 pci_int : 4;
3534                u64 uart : 2;
3535                u64 mbox : 2;
3536                u64 gpio : 16;
3537                u64 workq : 16;
3538        } cn52xx;
3539        struct cvmx_ciu_intx_en4_0_w1s_cn56xx {
3540                u64 bootdma : 1;
3541                u64 mii : 1;
3542                u64 ipdppthr : 1;
3543                u64 powiq : 1;
3544                u64 twsi2 : 1;
3545                u64 reserved_57_58 : 2;
3546                u64 usb : 1;
3547                u64 timer : 4;
3548                u64 key_zero : 1;
3549                u64 ipd_drp : 1;
3550                u64 gmx_drp : 2;
3551                u64 trace : 1;
3552                u64 rml : 1;
3553                u64 twsi : 1;
3554                u64 reserved_44_44 : 1;
3555                u64 pci_msi : 4;
3556                u64 pci_int : 4;
3557                u64 uart : 2;
3558                u64 mbox : 2;
3559                u64 gpio : 16;
3560                u64 workq : 16;
3561        } cn56xx;
3562        struct cvmx_ciu_intx_en4_0_w1s_cn58xx {
3563                u64 reserved_56_63 : 8;
3564                u64 timer : 4;
3565                u64 key_zero : 1;
3566                u64 ipd_drp : 1;
3567                u64 gmx_drp : 2;
3568                u64 trace : 1;
3569                u64 rml : 1;
3570                u64 twsi : 1;
3571                u64 reserved_44_44 : 1;
3572                u64 pci_msi : 4;
3573                u64 pci_int : 4;
3574                u64 uart : 2;
3575                u64 mbox : 2;
3576                u64 gpio : 16;
3577                u64 workq : 16;
3578        } cn58xx;
3579        struct cvmx_ciu_intx_en4_0_w1s_cn61xx {
3580                u64 bootdma : 1;
3581                u64 mii : 1;
3582                u64 ipdppthr : 1;
3583                u64 powiq : 1;
3584                u64 twsi2 : 1;
3585                u64 mpi : 1;
3586                u64 pcm : 1;
3587                u64 usb : 1;
3588                u64 timer : 4;
3589                u64 reserved_51_51 : 1;
3590                u64 ipd_drp : 1;
3591                u64 gmx_drp : 2;
3592                u64 trace : 1;
3593                u64 rml : 1;
3594                u64 twsi : 1;
3595                u64 reserved_44_44 : 1;
3596                u64 pci_msi : 4;
3597                u64 pci_int : 4;
3598                u64 uart : 2;
3599                u64 mbox : 2;
3600                u64 gpio : 16;
3601                u64 workq : 16;
3602        } cn61xx;
3603        struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xx;
3604        struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xxp1;
3605        struct cvmx_ciu_intx_en4_0_w1s_cn66xx {
3606                u64 bootdma : 1;
3607                u64 mii : 1;
3608                u64 ipdppthr : 1;
3609                u64 powiq : 1;
3610                u64 twsi2 : 1;
3611                u64 mpi : 1;
3612                u64 reserved_57_57 : 1;
3613                u64 usb : 1;
3614                u64 timer : 4;
3615                u64 reserved_51_51 : 1;
3616                u64 ipd_drp : 1;
3617                u64 gmx_drp : 2;
3618                u64 trace : 1;
3619                u64 rml : 1;
3620                u64 twsi : 1;
3621                u64 reserved_44_44 : 1;
3622                u64 pci_msi : 4;
3623                u64 pci_int : 4;
3624                u64 uart : 2;
3625                u64 mbox : 2;
3626                u64 gpio : 16;
3627                u64 workq : 16;
3628        } cn66xx;
3629        struct cvmx_ciu_intx_en4_0_w1s_cn70xx {
3630                u64 bootdma : 1;
3631                u64 reserved_62_62 : 1;
3632                u64 ipdppthr : 1;
3633                u64 powiq : 1;
3634                u64 twsi2 : 1;
3635                u64 mpi : 1;
3636                u64 pcm : 1;
3637                u64 reserved_56_56 : 1;
3638                u64 timer : 4;
3639                u64 reserved_51_51 : 1;
3640                u64 ipd_drp : 1;
3641                u64 gmx_drp : 2;
3642                u64 reserved_46_47 : 2;
3643                u64 twsi : 1;
3644                u64 reserved_44_44 : 1;
3645                u64 pci_msi : 4;
3646                u64 pci_int : 4;
3647                u64 uart : 2;
3648                u64 mbox : 2;
3649                u64 gpio : 16;
3650                u64 workq : 16;
3651        } cn70xx;
3652        struct cvmx_ciu_intx_en4_0_w1s_cn70xx cn70xxp1;
3653        struct cvmx_ciu_intx_en4_0_w1s_cnf71xx {
3654                u64 bootdma : 1;
3655                u64 reserved_62_62 : 1;
3656                u64 ipdppthr : 1;
3657                u64 powiq : 1;
3658                u64 twsi2 : 1;
3659                u64 mpi : 1;
3660                u64 pcm : 1;
3661                u64 usb : 1;
3662                u64 timer : 4;
3663                u64 reserved_51_51 : 1;
3664                u64 ipd_drp : 1;
3665                u64 reserved_49_49 : 1;
3666                u64 gmx_drp : 1;
3667                u64 trace : 1;
3668                u64 rml : 1;
3669                u64 twsi : 1;
3670                u64 reserved_44_44 : 1;
3671                u64 pci_msi : 4;
3672                u64 pci_int : 4;
3673                u64 uart : 2;
3674                u64 mbox : 2;
3675                u64 gpio : 16;
3676                u64 workq : 16;
3677        } cnf71xx;
3678};
3679
3680typedef union cvmx_ciu_intx_en4_0_w1s cvmx_ciu_intx_en4_0_w1s_t;
3681
3682/**
3683 * cvmx_ciu_int#_en4_1
3684 *
3685 * PPx/IP4 will be raised when...
3686 * PPx/IP4 = |([CIU_SUM1_PPx_IP4, CIU_INTx_SUM4] & [CIU_INTx_EN4_1, CIU_INTx_EN4_0])
3687 */
3688union cvmx_ciu_intx_en4_1 {
3689        u64 u64;
3690        struct cvmx_ciu_intx_en4_1_s {
3691                u64 rst : 1;
3692                u64 reserved_62_62 : 1;
3693                u64 srio3 : 1;
3694                u64 srio2 : 1;
3695                u64 reserved_57_59 : 3;
3696                u64 dfm : 1;
3697                u64 reserved_53_55 : 3;
3698                u64 lmc0 : 1;
3699                u64 srio1 : 1;
3700                u64 reserved_50_50 : 1;
3701                u64 pem1 : 1;
3702                u64 pem0 : 1;
3703                u64 ptp : 1;
3704                u64 agl : 1;
3705                u64 reserved_41_45 : 5;
3706                u64 dpi_dma : 1;
3707                u64 reserved_38_39 : 2;
3708                u64 agx1 : 1;
3709                u64 agx0 : 1;
3710                u64 dpi : 1;
3711                u64 sli : 1;
3712                u64 usb : 1;
3713                u64 dfa : 1;
3714                u64 key : 1;
3715                u64 rad : 1;
3716                u64 tim : 1;
3717                u64 zip : 1;
3718                u64 pko : 1;
3719                u64 pip : 1;
3720                u64 ipd : 1;
3721                u64 l2c : 1;
3722                u64 pow : 1;
3723                u64 fpa : 1;
3724                u64 iob : 1;
3725                u64 mio : 1;
3726                u64 nand : 1;
3727                u64 mii1 : 1;
3728                u64 usb1 : 1;
3729                u64 uart2 : 1;
3730                u64 wdog : 16;
3731        } s;
3732        struct cvmx_ciu_intx_en4_1_cn50xx {
3733                u64 reserved_2_63 : 62;
3734                u64 wdog : 2;
3735        } cn50xx;
3736        struct cvmx_ciu_intx_en4_1_cn52xx {
3737                u64 reserved_20_63 : 44;
3738                u64 nand : 1;
3739                u64 mii1 : 1;
3740                u64 usb1 : 1;
3741                u64 uart2 : 1;
3742                u64 reserved_4_15 : 12;
3743                u64 wdog : 4;
3744        } cn52xx;
3745        struct cvmx_ciu_intx_en4_1_cn52xxp1 {
3746                u64 reserved_19_63 : 45;
3747                u64 mii1 : 1;
3748                u64 usb1 : 1;
3749                u64 uart2 : 1;
3750                u64 reserved_4_15 : 12;
3751                u64 wdog : 4;
3752        } cn52xxp1;
3753        struct cvmx_ciu_intx_en4_1_cn56xx {
3754                u64 reserved_12_63 : 52;
3755                u64 wdog : 12;
3756        } cn56xx;
3757        struct cvmx_ciu_intx_en4_1_cn56xx cn56xxp1;
3758        struct cvmx_ciu_intx_en4_1_cn58xx {
3759                u64 reserved_16_63 : 48;
3760                u64 wdog : 16;
3761        } cn58xx;
3762        struct cvmx_ciu_intx_en4_1_cn58xx cn58xxp1;
3763        struct cvmx_ciu_intx_en4_1_cn61xx {
3764                u64 rst : 1;
3765                u64 reserved_53_62 : 10;
3766                u64 lmc0 : 1;
3767                u64 reserved_50_51 : 2;
3768                u64 pem1 : 1;
3769                u64 pem0 : 1;
3770                u64 ptp : 1;
3771                u64 agl : 1;
3772                u64 reserved_41_45 : 5;
3773                u64 dpi_dma : 1;
3774                u64 reserved_38_39 : 2;
3775                u64 agx1 : 1;
3776                u64 agx0 : 1;
3777                u64 dpi : 1;
3778                u64 sli : 1;
3779                u64 usb : 1;
3780                u64 dfa : 1;
3781                u64 key : 1;
3782                u64 rad : 1;
3783                u64 tim : 1;
3784                u64 zip : 1;
3785                u64 pko : 1;
3786                u64 pip : 1;
3787                u64 ipd : 1;
3788                u64 l2c : 1;
3789                u64 pow : 1;
3790                u64 fpa : 1;
3791                u64 iob : 1;
3792                u64 mio : 1;
3793                u64 nand : 1;
3794                u64 mii1 : 1;
3795                u64 reserved_4_17 : 14;
3796                u64 wdog : 4;
3797        } cn61xx;
3798        struct cvmx_ciu_intx_en4_1_cn63xx {
3799                u64 rst : 1;
3800                u64 reserved_57_62 : 6;
3801                u64 dfm : 1;
3802                u64 reserved_53_55 : 3;
3803                u64 lmc0 : 1;
3804                u64 srio1 : 1;
3805                u64 srio0 : 1;
3806                u64 pem1 : 1;
3807                u64 pem0 : 1;
3808                u64 ptp : 1;
3809                u64 agl : 1;
3810                u64 reserved_37_45 : 9;
3811                u64 agx0 : 1;
3812                u64 dpi : 1;
3813                u64 sli : 1;
3814                u64 usb : 1;
3815                u64 dfa : 1;
3816                u64 key : 1;
3817                u64 rad : 1;
3818                u64 tim : 1;
3819                u64 zip : 1;
3820                u64 pko : 1;
3821                u64 pip : 1;
3822                u64 ipd : 1;
3823                u64 l2c : 1;
3824                u64 pow : 1;
3825                u64 fpa : 1;
3826                u64 iob : 1;
3827                u64 mio : 1;
3828                u64 nand : 1;
3829                u64 mii1 : 1;
3830                u64 reserved_6_17 : 12;
3831                u64 wdog : 6;
3832        } cn63xx;
3833        struct cvmx_ciu_intx_en4_1_cn63xx cn63xxp1;
3834        struct cvmx_ciu_intx_en4_1_cn66xx {
3835                u64 rst : 1;
3836                u64 reserved_62_62 : 1;
3837                u64 srio3 : 1;
3838                u64 srio2 : 1;
3839                u64 reserved_57_59 : 3;
3840                u64 dfm : 1;
3841                u64 reserved_53_55 : 3;
3842                u64 lmc0 : 1;
3843                u64 reserved_51_51 : 1;
3844                u64 srio0 : 1;
3845                u64 pem1 : 1;
3846                u64 pem0 : 1;
3847                u64 ptp : 1;
3848                u64 agl : 1;
3849                u64 reserved_38_45 : 8;
3850                u64 agx1 : 1;
3851                u64 agx0 : 1;
3852                u64 dpi : 1;
3853                u64 sli : 1;
3854                u64 usb : 1;
3855                u64 dfa : 1;
3856                u64 key : 1;
3857                u64 rad : 1;
3858                u64 tim : 1;
3859                u64 zip : 1;
3860                u64 pko : 1;
3861                u64 pip : 1;
3862                u64 ipd : 1;
3863                u64 l2c : 1;
3864                u64 pow : 1;
3865                u64 fpa : 1;
3866                u64 iob : 1;
3867                u64 mio : 1;
3868                u64 nand : 1;
3869                u64 mii1 : 1;
3870                u64 reserved_10_17 : 8;
3871                u64 wdog : 10;
3872        } cn66xx;
3873        struct cvmx_ciu_intx_en4_1_cn70xx {
3874                u64 rst : 1;
3875                u64 reserved_53_62 : 10;
3876                u64 lmc0 : 1;
3877                u64 reserved_51_51 : 1;
3878                u64 pem2 : 1;
3879                u64 pem1 : 1;
3880                u64 pem0 : 1;
3881                u64 ptp : 1;
3882                u64 agl : 1;
3883                u64 reserved_41_45 : 5;
3884                u64 dpi_dma : 1;
3885                u64 reserved_39_38 : 2;
3886                u64 agx1 : 1;
3887                u64 agx0 : 1;
3888                u64 dpi : 1;
3889                u64 sli : 1;
3890                u64 usb : 1;
3891                u64 dfa : 1;
3892                u64 key : 1;
3893                u64 rad : 1;
3894                u64 tim : 1;
3895                u64 reserved_28_28 : 1;
3896                u64 pko : 1;
3897                u64 pip : 1;
3898                u64 ipd : 1;
3899                u64 l2c : 1;
3900                u64 pow : 1;
3901                u64 fpa : 1;
3902                u64 iob : 1;
3903                u64 mio : 1;
3904                u64 nand : 1;
3905                u64 reserved_18_18 : 1;
3906                u64 usb1 : 1;
3907                u64 reserved_4_16 : 13;
3908                u64 wdog : 4;
3909        } cn70xx;
3910        struct cvmx_ciu_intx_en4_1_cn70xx cn70xxp1;
3911        struct cvmx_ciu_intx_en4_1_cnf71xx {
3912                u64 rst : 1;
3913                u64 reserved_53_62 : 10;
3914                u64 lmc0 : 1;
3915                u64 reserved_50_51 : 2;
3916                u64 pem1 : 1;
3917                u64 pem0 : 1;
3918                u64 ptp : 1;
3919                u64 reserved_41_46 : 6;
3920                u64 dpi_dma : 1;
3921                u64 reserved_37_39 : 3;
3922                u64 agx0 : 1;
3923                u64 dpi : 1;
3924                u64 sli : 1;
3925                u64 usb : 1;
3926                u64 reserved_32_32 : 1;
3927                u64 key : 1;
3928                u64 rad : 1;
3929                u64 tim : 1;
3930                u64 reserved_28_28 : 1;
3931                u64 pko : 1;
3932                u64 pip : 1;
3933                u64 ipd : 1;
3934                u64 l2c : 1;
3935                u64 pow : 1;
3936                u64 fpa : 1;
3937                u64 iob : 1;
3938                u64 mio : 1;
3939                u64 nand : 1;
3940                u64 reserved_4_18 : 15;
3941                u64 wdog : 4;
3942        } cnf71xx;
3943};
3944
3945typedef union cvmx_ciu_intx_en4_1 cvmx_ciu_intx_en4_1_t;
3946
3947/**
3948 * cvmx_ciu_int#_en4_1_w1c
3949 *
3950 * Write-1-to-clear version of the CIU_INTX_EN4_1 register, read back corresponding
3951 * CIU_INTX_EN4_1 value.
3952 */
3953union cvmx_ciu_intx_en4_1_w1c {
3954        u64 u64;
3955        struct cvmx_ciu_intx_en4_1_w1c_s {
3956                u64 rst : 1;
3957                u64 reserved_62_62 : 1;
3958                u64 srio3 : 1;
3959                u64 srio2 : 1;
3960                u64 reserved_57_59 : 3;
3961                u64 dfm : 1;
3962                u64 reserved_53_55 : 3;
3963                u64 lmc0 : 1;
3964                u64 srio1 : 1;
3965                u64 reserved_50_50 : 1;
3966                u64 pem1 : 1;
3967                u64 pem0 : 1;
3968                u64 ptp : 1;
3969                u64 agl : 1;
3970                u64 reserved_41_45 : 5;
3971                u64 dpi_dma : 1;
3972                u64 reserved_38_39 : 2;
3973                u64 agx1 : 1;
3974                u64 agx0 : 1;
3975                u64 dpi : 1;
3976                u64 sli : 1;
3977                u64 usb : 1;
3978                u64 dfa : 1;
3979                u64 key : 1;
3980                u64 rad : 1;
3981                u64 tim : 1;
3982                u64 zip : 1;
3983                u64 pko : 1;
3984                u64 pip : 1;
3985                u64 ipd : 1;
3986                u64 l2c : 1;
3987                u64 pow : 1;
3988                u64 fpa : 1;
3989                u64 iob : 1;
3990                u64 mio : 1;
3991                u64 nand : 1;
3992                u64 mii1 : 1;
3993                u64 usb1 : 1;
3994                u64 uart2 : 1;
3995                u64 wdog : 16;
3996        } s;
3997        struct cvmx_ciu_intx_en4_1_w1c_cn52xx {
3998                u64 reserved_20_63 : 44;
3999                u64 nand : 1;
4000                u64 mii1 : 1;
4001                u64 usb1 : 1;
4002                u64 uart2 : 1;
4003                u64 reserved_4_15 : 12;
4004                u64 wdog : 4;
4005        } cn52xx;
4006        struct cvmx_ciu_intx_en4_1_w1c_cn56xx {
4007                u64 reserved_12_63 : 52;
4008                u64 wdog : 12;
4009        } cn56xx;
4010        struct cvmx_ciu_intx_en4_1_w1c_cn58xx {
4011                u64 reserved_16_63 : 48;
4012                u64 wdog : 16;
4013        } cn58xx;
4014        struct cvmx_ciu_intx_en4_1_w1c_cn61xx {
4015                u64 rst : 1;
4016                u64 reserved_53_62 : 10;
4017                u64 lmc0 : 1;
4018                u64 reserved_50_51 : 2;
4019                u64 pem1 : 1;
4020                u64 pem0 : 1;
4021                u64 ptp : 1;
4022                u64 agl : 1;
4023                u64 reserved_41_45 : 5;
4024                u64 dpi_dma : 1;
4025                u64 reserved_38_39 : 2;
4026                u64 agx1 : 1;
4027                u64 agx0 : 1;
4028                u64 dpi : 1;
4029                u64 sli : 1;
4030                u64 usb : 1;
4031                u64 dfa : 1;
4032                u64 key : 1;
4033                u64 rad : 1;
4034                u64 tim : 1;
4035                u64 zip : 1;
4036                u64 pko : 1;
4037                u64 pip : 1;
4038                u64 ipd : 1;
4039                u64 l2c : 1;
4040                u64 pow : 1;
4041                u64 fpa : 1;
4042                u64 iob : 1;
4043                u64 mio : 1;
4044                u64 nand : 1;
4045                u64 mii1 : 1;
4046                u64 reserved_4_17 : 14;
4047                u64 wdog : 4;
4048        } cn61xx;
4049        struct cvmx_ciu_intx_en4_1_w1c_cn63xx {
4050                u64 rst : 1;
4051                u64 reserved_57_62 : 6;
4052                u64 dfm : 1;
4053                u64 reserved_53_55 : 3;
4054                u64 lmc0 : 1;
4055                u64 srio1 : 1;
4056                u64 srio0 : 1;
4057                u64 pem1 : 1;
4058                u64 pem0 : 1;
4059                u64 ptp : 1;
4060                u64 agl : 1;
4061                u64 reserved_37_45 : 9;
4062                u64 agx0 : 1;
4063                u64 dpi : 1;
4064                u64 sli : 1;
4065                u64 usb : 1;
4066                u64 dfa : 1;
4067                u64 key : 1;
4068                u64 rad : 1;
4069                u64 tim : 1;
4070                u64 zip : 1;
4071                u64 pko : 1;
4072                u64 pip : 1;
4073                u64 ipd : 1;
4074                u64 l2c : 1;
4075                u64 pow : 1;
4076                u64 fpa : 1;
4077                u64 iob : 1;
4078                u64 mio : 1;
4079                u64 nand : 1;
4080                u64 mii1 : 1;
4081                u64 reserved_6_17 : 12;
4082                u64 wdog : 6;
4083        } cn63xx;
4084        struct cvmx_ciu_intx_en4_1_w1c_cn63xx cn63xxp1;
4085        struct cvmx_ciu_intx_en4_1_w1c_cn66xx {
4086                u64 rst : 1;
4087                u64 reserved_62_62 : 1;
4088                u64 srio3 : 1;
4089                u64 srio2 : 1;
4090                u64 reserved_57_59 : 3;
4091                u64 dfm : 1;
4092                u64 reserved_53_55 : 3;
4093                u64 lmc0 : 1;
4094                u64 reserved_51_51 : 1;
4095                u64 srio0 : 1;
4096                u64 pem1 : 1;
4097                u64 pem0 : 1;
4098                u64 ptp : 1;
4099                u64 agl : 1;
4100                u64 reserved_38_45 : 8;
4101                u64 agx1 : 1;
4102                u64 agx0 : 1;
4103                u64 dpi : 1;
4104                u64 sli : 1;
4105                u64 usb : 1;
4106                u64 dfa : 1;
4107                u64 key : 1;
4108                u64 rad : 1;
4109                u64 tim : 1;
4110                u64 zip : 1;
4111                u64 pko : 1;
4112                u64 pip : 1;
4113                u64 ipd : 1;
4114                u64 l2c : 1;
4115                u64 pow : 1;
4116                u64 fpa : 1;
4117                u64 iob : 1;
4118                u64 mio : 1;
4119                u64 nand : 1;
4120                u64 mii1 : 1;
4121                u64 reserved_10_17 : 8;
4122                u64 wdog : 10;
4123        } cn66xx;
4124        struct cvmx_ciu_intx_en4_1_w1c_cn70xx {
4125                u64 rst : 1;
4126                u64 reserved_53_62 : 10;
4127                u64 lmc0 : 1;
4128                u64 reserved_51_51 : 1;
4129                u64 pem2 : 1;
4130                u64 pem1 : 1;
4131                u64 pem0 : 1;
4132                u64 ptp : 1;
4133                u64 agl : 1;
4134                u64 reserved_41_45 : 5;
4135                u64 dpi_dma : 1;
4136                u64 reserved_38_39 : 2;
4137                u64 agx1 : 1;
4138                u64 agx0 : 1;
4139                u64 dpi : 1;
4140                u64 sli : 1;
4141                u64 usb : 1;
4142                u64 dfa : 1;
4143                u64 key : 1;
4144                u64 rad : 1;
4145                u64 tim : 1;
4146                u64 reserved_28_28 : 1;
4147                u64 pko : 1;
4148                u64 pip : 1;
4149                u64 ipd : 1;
4150                u64 l2c : 1;
4151                u64 pow : 1;
4152                u64 fpa : 1;
4153                u64 iob : 1;
4154                u64 mio : 1;
4155                u64 nand : 1;
4156                u64 reserved_18_18 : 1;
4157                u64 usb1 : 1;
4158                u64 reserved_4_16 : 13;
4159                u64 wdog : 4;
4160        } cn70xx;
4161        struct cvmx_ciu_intx_en4_1_w1c_cn70xx cn70xxp1;
4162        struct cvmx_ciu_intx_en4_1_w1c_cnf71xx {
4163                u64 rst : 1;
4164                u64 reserved_53_62 : 10;
4165                u64 lmc0 : 1;
4166                u64 reserved_50_51 : 2;
4167                u64 pem1 : 1;
4168                u64 pem0 : 1;
4169                u64 ptp : 1;
4170                u64 reserved_41_46 : 6;
4171                u64 dpi_dma : 1;
4172                u64 reserved_37_39 : 3;
4173                u64 agx0 : 1;
4174                u64 dpi : 1;
4175                u64 sli : 1;
4176                u64 usb : 1;
4177                u64 reserved_32_32 : 1;
4178                u64 key : 1;
4179                u64 rad : 1;
4180                u64 tim : 1;
4181                u64 reserved_28_28 : 1;
4182                u64 pko : 1;
4183                u64 pip : 1;
4184                u64 ipd : 1;
4185                u64 l2c : 1;
4186                u64 pow : 1;
4187                u64 fpa : 1;
4188                u64 iob : 1;
4189                u64 mio : 1;
4190                u64 nand : 1;
4191                u64 reserved_4_18 : 15;
4192                u64 wdog : 4;
4193        } cnf71xx;
4194};
4195
4196typedef union cvmx_ciu_intx_en4_1_w1c cvmx_ciu_intx_en4_1_w1c_t;
4197
4198/**
4199 * cvmx_ciu_int#_en4_1_w1s
4200 *
4201 * Write-1-to-set version of the CIU_INTX_EN4_1 register, read back corresponding CIU_INTX_EN4_1
4202 * value.
4203 */
4204union cvmx_ciu_intx_en4_1_w1s {
4205        u64 u64;
4206        struct cvmx_ciu_intx_en4_1_w1s_s {
4207                u64 rst : 1;
4208                u64 reserved_62_62 : 1;
4209                u64 srio3 : 1;
4210                u64 srio2 : 1;
4211                u64 reserved_57_59 : 3;
4212                u64 dfm : 1;
4213                u64 reserved_53_55 : 3;
4214                u64 lmc0 : 1;
4215                u64 srio1 : 1;
4216                u64 reserved_50_50 : 1;
4217                u64 pem1 : 1;
4218                u64 pem0 : 1;
4219                u64 ptp : 1;
4220                u64 agl : 1;
4221                u64 reserved_41_45 : 5;
4222                u64 dpi_dma : 1;
4223                u64 reserved_38_39 : 2;
4224                u64 agx1 : 1;
4225                u64 agx0 : 1;
4226                u64 dpi : 1;
4227                u64 sli : 1;
4228                u64 usb : 1;
4229                u64 dfa : 1;
4230                u64 key : 1;
4231                u64 rad : 1;
4232                u64 tim : 1;
4233                u64 zip : 1;
4234                u64 pko : 1;
4235                u64 pip : 1;
4236                u64 ipd : 1;
4237                u64 l2c : 1;
4238                u64 pow : 1;
4239                u64 fpa : 1;
4240                u64 iob : 1;
4241                u64 mio : 1;
4242                u64 nand : 1;
4243                u64 mii1 : 1;
4244                u64 usb1 : 1;
4245                u64 uart2 : 1;
4246                u64 wdog : 16;
4247        } s;
4248        struct cvmx_ciu_intx_en4_1_w1s_cn52xx {
4249                u64 reserved_20_63 : 44;
4250                u64 nand : 1;
4251                u64 mii1 : 1;
4252                u64 usb1 : 1;
4253                u64 uart2 : 1;
4254                u64 reserved_4_15 : 12;
4255                u64 wdog : 4;
4256        } cn52xx;
4257        struct cvmx_ciu_intx_en4_1_w1s_cn56xx {
4258                u64 reserved_12_63 : 52;
4259                u64 wdog : 12;
4260        } cn56xx;
4261        struct cvmx_ciu_intx_en4_1_w1s_cn58xx {
4262                u64 reserved_16_63 : 48;
4263                u64 wdog : 16;
4264        } cn58xx;
4265        struct cvmx_ciu_intx_en4_1_w1s_cn61xx {
4266                u64 rst : 1;
4267                u64 reserved_53_62 : 10;
4268                u64 lmc0 : 1;
4269                u64 reserved_50_51 : 2;
4270                u64 pem1 : 1;
4271                u64 pem0 : 1;
4272                u64 ptp : 1;
4273                u64 agl : 1;
4274                u64 reserved_41_45 : 5;
4275                u64 dpi_dma : 1;
4276                u64 reserved_38_39 : 2;
4277                u64 agx1 : 1;
4278                u64 agx0 : 1;
4279                u64 dpi : 1;
4280                u64 sli : 1;
4281                u64 usb : 1;
4282                u64 dfa : 1;
4283                u64 key : 1;
4284                u64 rad : 1;
4285                u64 tim : 1;
4286                u64 zip : 1;
4287                u64 pko : 1;
4288                u64 pip : 1;
4289                u64 ipd : 1;
4290                u64 l2c : 1;
4291                u64 pow : 1;
4292                u64 fpa : 1;
4293                u64 iob : 1;
4294                u64 mio : 1;
4295                u64 nand : 1;
4296                u64 mii1 : 1;
4297                u64 reserved_4_17 : 14;
4298                u64 wdog : 4;
4299        } cn61xx;
4300        struct cvmx_ciu_intx_en4_1_w1s_cn63xx {
4301                u64 rst : 1;
4302                u64 reserved_57_62 : 6;
4303                u64 dfm : 1;
4304                u64 reserved_53_55 : 3;
4305                u64 lmc0 : 1;
4306                u64 srio1 : 1;
4307                u64 srio0 : 1;
4308                u64 pem1 : 1;
4309                u64 pem0 : 1;
4310                u64 ptp : 1;
4311                u64 agl : 1;
4312                u64 reserved_37_45 : 9;
4313                u64 agx0 : 1;
4314                u64 dpi : 1;
4315                u64 sli : 1;
4316                u64 usb : 1;
4317                u64 dfa : 1;
4318                u64 key : 1;
4319                u64 rad : 1;
4320                u64 tim : 1;
4321                u64 zip : 1;
4322                u64 pko : 1;
4323                u64 pip : 1;
4324                u64 ipd : 1;
4325                u64 l2c : 1;
4326                u64 pow : 1;
4327                u64 fpa : 1;
4328                u64 iob : 1;
4329                u64 mio : 1;
4330                u64 nand : 1;
4331                u64 mii1 : 1;
4332                u64 reserved_6_17 : 12;
4333                u64 wdog : 6;
4334        } cn63xx;
4335        struct cvmx_ciu_intx_en4_1_w1s_cn63xx cn63xxp1;
4336        struct cvmx_ciu_intx_en4_1_w1s_cn66xx {
4337                u64 rst : 1;
4338                u64 reserved_62_62 : 1;
4339                u64 srio3 : 1;
4340                u64 srio2 : 1;
4341                u64 reserved_57_59 : 3;
4342                u64 dfm : 1;
4343                u64 reserved_53_55 : 3;
4344                u64 lmc0 : 1;
4345                u64 reserved_51_51 : 1;
4346                u64 srio0 : 1;
4347                u64 pem1 : 1;
4348                u64 pem0 : 1;
4349                u64 ptp : 1;
4350                u64 agl : 1;
4351                u64 reserved_38_45 : 8;
4352                u64 agx1 : 1;
4353                u64 agx0 : 1;
4354                u64 dpi : 1;
4355                u64 sli : 1;
4356                u64 usb : 1;
4357                u64 dfa : 1;
4358                u64 key : 1;
4359                u64 rad : 1;
4360                u64 tim : 1;
4361                u64 zip : 1;
4362                u64 pko : 1;
4363                u64 pip : 1;
4364                u64 ipd : 1;
4365                u64 l2c : 1;
4366                u64 pow : 1;
4367                u64 fpa : 1;
4368                u64 iob : 1;
4369                u64 mio : 1;
4370                u64 nand : 1;
4371                u64 mii1 : 1;
4372                u64 reserved_10_17 : 8;
4373                u64 wdog : 10;
4374        } cn66xx;
4375        struct cvmx_ciu_intx_en4_1_w1s_cn70xx {
4376                u64 rst : 1;
4377                u64 reserved_53_62 : 10;
4378                u64 lmc0 : 1;
4379                u64 reserved_51_51 : 1;
4380                u64 pem2 : 1;
4381                u64 pem1 : 1;
4382                u64 pem0 : 1;
4383                u64 ptp : 1;
4384                u64 agl : 1;
4385                u64 reserved_41_45 : 5;
4386                u64 dpi_dma : 1;
4387                u64 reserved_38_39 : 2;
4388                u64 agx1 : 1;
4389                u64 agx0 : 1;
4390                u64 dpi : 1;
4391                u64 sli : 1;
4392                u64 usb : 1;
4393                u64 dfa : 1;
4394                u64 key : 1;
4395                u64 rad : 1;
4396                u64 tim : 1;
4397                u64 reserved_28_28 : 1;
4398                u64 pko : 1;
4399                u64 pip : 1;
4400                u64 ipd : 1;
4401                u64 l2c : 1;
4402                u64 pow : 1;
4403                u64 fpa : 1;
4404                u64 iob : 1;
4405                u64 mio : 1;
4406                u64 nand : 1;
4407                u64 reserved_18_18 : 1;
4408                u64 usb1 : 1;
4409                u64 reserved_4_16 : 13;
4410                u64 wdog : 4;
4411        } cn70xx;
4412        struct cvmx_ciu_intx_en4_1_w1s_cn70xx cn70xxp1;
4413        struct cvmx_ciu_intx_en4_1_w1s_cnf71xx {
4414                u64 rst : 1;
4415                u64 reserved_53_62 : 10;
4416                u64 lmc0 : 1;
4417                u64 reserved_50_51 : 2;
4418                u64 pem1 : 1;
4419                u64 pem0 : 1;
4420                u64 ptp : 1;
4421                u64 reserved_41_46 : 6;
4422                u64 dpi_dma : 1;
4423                u64 reserved_37_39 : 3;
4424                u64 agx0 : 1;
4425                u64 dpi : 1;
4426                u64 sli : 1;
4427                u64 usb : 1;
4428                u64 reserved_32_32 : 1;
4429                u64 key : 1;
4430                u64 rad : 1;
4431                u64 tim : 1;
4432                u64 reserved_28_28 : 1;
4433                u64 pko : 1;
4434                u64 pip : 1;
4435                u64 ipd : 1;
4436                u64 l2c : 1;
4437                u64 pow : 1;
4438                u64 fpa : 1;
4439                u64 iob : 1;
4440                u64 mio : 1;
4441                u64 nand : 1;
4442                u64 reserved_4_18 : 15;
4443                u64 wdog : 4;
4444        } cnf71xx;
4445};
4446
4447typedef union cvmx_ciu_intx_en4_1_w1s cvmx_ciu_intx_en4_1_w1s_t;
4448
4449/**
4450 * cvmx_ciu_int#_sum0
4451 *
4452 * The remaining IP4 summary bits will be CIU_INTX_SUM4.
4453 * CIU_INT0_SUM0:  PP0/IP2
4454 * CIU_INT1_SUM0:  PP0/IP3
4455 * CIU_INT2_SUM0:  PP1/IP2
4456 * CIU_INT3_SUM0:  PP1/IP3
4457 * CIU_INT4_SUM0:  PP2/IP2
4458 * CIU_INT5_SUM0:  PP2/IP3
4459 * CIU_INT6_SUM0:  PP3/IP2
4460 * CIU_INT7_SUM0:  PP3/IP3
4461 *  - .....
4462 * (hole)
4463 * CIU_INT32_SUM0: IO 0 (PEM0).
4464 * CIU_INT33_SUM0: IO 1 (Reserved in o70, in separate address group)
4465 */
4466union cvmx_ciu_intx_sum0 {
4467        u64 u64;
4468        struct cvmx_ciu_intx_sum0_s {
4469                u64 bootdma : 1;
4470                u64 mii : 1;
4471                u64 ipdppthr : 1;
4472                u64 powiq : 1;
4473                u64 twsi2 : 1;
4474                u64 mpi : 1;
4475                u64 pcm : 1;
4476                u64 usb : 1;
4477                u64 timer : 4;
4478                u64 reserved_51_51 : 1;
4479                u64 ipd_drp : 1;
4480                u64 gmx_drp : 2;
4481                u64 trace : 1;
4482                u64 rml : 1;
4483                u64 twsi : 1;
4484                u64 wdog_sum : 1;
4485                u64 pci_msi : 4;
4486                u64 pci_int : 4;
4487                u64 uart : 2;
4488                u64 mbox : 2;
4489                u64 gpio : 16;
4490                u64 workq : 16;
4491        } s;
4492        struct cvmx_ciu_intx_sum0_cn30xx {
4493                u64 reserved_59_63 : 5;
4494                u64 mpi : 1;
4495                u64 pcm : 1;
4496                u64 usb : 1;
4497                u64 timer : 4;
4498                u64 reserved_51_51 : 1;
4499                u64 ipd_drp : 1;
4500                u64 reserved_49_49 : 1;
4501                u64 gmx_drp : 1;
4502                u64 reserved_47_47 : 1;
4503                u64 rml : 1;
4504                u64 twsi : 1;
4505                u64 wdog_sum : 1;
4506                u64 pci_msi : 4;
4507                u64 pci_int : 4;
4508                u64 uart : 2;
4509                u64 mbox : 2;
4510                u64 gpio : 16;
4511                u64 workq : 16;
4512        } cn30xx;
4513        struct cvmx_ciu_intx_sum0_cn31xx {
4514                u64 reserved_59_63 : 5;
4515                u64 mpi : 1;
4516                u64 pcm : 1;
4517                u64 usb : 1;
4518                u64 timer : 4;
4519                u64 reserved_51_51 : 1;
4520                u64 ipd_drp : 1;
4521                u64 reserved_49_49 : 1;
4522                u64 gmx_drp : 1;
4523                u64 trace : 1;
4524                u64 rml : 1;
4525                u64 twsi : 1;
4526                u64 wdog_sum : 1;
4527                u64 pci_msi : 4;
4528                u64 pci_int : 4;
4529                u64 uart : 2;
4530                u64 mbox : 2;
4531                u64 gpio : 16;
4532                u64 workq : 16;
4533        } cn31xx;
4534        struct cvmx_ciu_intx_sum0_cn38xx {
4535                u64 reserved_56_63 : 8;
4536                u64 timer : 4;
4537                u64 key_zero : 1;
4538                u64 ipd_drp : 1;
4539                u64 gmx_drp : 2;
4540                u64 trace : 1;
4541                u64 rml : 1;
4542                u64 twsi : 1;
4543                u64 wdog_sum : 1;
4544                u64 pci_msi : 4;
4545                u64 pci_int : 4;
4546                u64 uart : 2;
4547                u64 mbox : 2;
4548                u64 gpio : 16;
4549                u64 workq : 16;
4550        } cn38xx;
4551        struct cvmx_ciu_intx_sum0_cn38xx cn38xxp2;
4552        struct cvmx_ciu_intx_sum0_cn30xx cn50xx;
4553        struct cvmx_ciu_intx_sum0_cn52xx {
4554                u64 bootdma : 1;
4555                u64 mii : 1;
4556                u64 ipdppthr : 1;
4557                u64 powiq : 1;
4558                u64 twsi2 : 1;
4559                u64 reserved_57_58 : 2;
4560                u64 usb : 1;
4561                u64 timer : 4;
4562                u64 reserved_51_51 : 1;
4563                u64 ipd_drp : 1;
4564                u64 reserved_49_49 : 1;
4565                u64 gmx_drp : 1;
4566                u64 trace : 1;
4567                u64 rml : 1;
4568                u64 twsi : 1;
4569                u64 wdog_sum : 1;
4570                u64 pci_msi : 4;
4571                u64 pci_int : 4;
4572                u64 uart : 2;
4573                u64 mbox : 2;
4574                u64 gpio : 16;
4575                u64 workq : 16;
4576        } cn52xx;
4577        struct cvmx_ciu_intx_sum0_cn52xx cn52xxp1;
4578        struct cvmx_ciu_intx_sum0_cn56xx {
4579                u64 bootdma : 1;
4580                u64 mii : 1;
4581                u64 ipdppthr : 1;
4582                u64 powiq : 1;
4583                u64 twsi2 : 1;
4584                u64 reserved_57_58 : 2;
4585                u64 usb : 1;
4586                u64 timer : 4;
4587                u64 key_zero : 1;
4588                u64 ipd_drp : 1;
4589                u64 gmx_drp : 2;
4590                u64 trace : 1;
4591                u64 rml : 1;
4592                u64 twsi : 1;
4593                u64 wdog_sum : 1;
4594                u64 pci_msi : 4;
4595                u64 pci_int : 4;
4596                u64 uart : 2;
4597                u64 mbox : 2;
4598                u64 gpio : 16;
4599                u64 workq : 16;
4600        } cn56xx;
4601        struct cvmx_ciu_intx_sum0_cn56xx cn56xxp1;
4602        struct cvmx_ciu_intx_sum0_cn38xx cn58xx;
4603        struct cvmx_ciu_intx_sum0_cn38xx cn58xxp1;
4604        struct cvmx_ciu_intx_sum0_cn61xx {
4605                u64 bootdma : 1;
4606                u64 mii : 1;
4607                u64 ipdppthr : 1;
4608                u64 powiq : 1;
4609                u64 twsi2 : 1;
4610                u64 mpi : 1;
4611                u64 pcm : 1;
4612                u64 usb : 1;
4613                u64 timer : 4;
4614                u64 sum2 : 1;
4615                u64 ipd_drp : 1;
4616                u64 gmx_drp : 2;
4617                u64 trace : 1;
4618                u64 rml : 1;
4619                u64 twsi : 1;
4620                u64 wdog_sum : 1;
4621                u64 pci_msi : 4;
4622                u64 pci_int : 4;
4623                u64 uart : 2;
4624                u64 mbox : 2;
4625                u64 gpio : 16;
4626                u64 workq : 16;
4627        } cn61xx;
4628        struct cvmx_ciu_intx_sum0_cn52xx cn63xx;
4629        struct cvmx_ciu_intx_sum0_cn52xx cn63xxp1;
4630        struct cvmx_ciu_intx_sum0_cn66xx {
4631                u64 bootdma : 1;
4632                u64 mii : 1;
4633                u64 ipdppthr : 1;
4634                u64 powiq : 1;
4635                u64 twsi2 : 1;
4636                u64 mpi : 1;
4637                u64 reserved_57_57 : 1;
4638                u64 usb : 1;
4639                u64 timer : 4;
4640                u64 sum2 : 1;
4641                u64 ipd_drp : 1;
4642                u64 gmx_drp : 2;
4643                u64 trace : 1;
4644                u64 rml : 1;
4645                u64 twsi : 1;
4646                u64 wdog_sum : 1;
4647                u64 pci_msi : 4;
4648                u64 pci_int : 4;
4649                u64 uart : 2;
4650                u64 mbox : 2;
4651                u64 gpio : 16;
4652                u64 workq : 16;
4653        } cn66xx;
4654        struct cvmx_ciu_intx_sum0_cn70xx {
4655                u64 bootdma : 1;
4656                u64 reserved_62_62 : 1;
4657                u64 ipdppthr : 1;
4658                u64 powiq : 1;
4659                u64 twsi2 : 1;
4660                u64 mpi : 1;
4661                u64 pcm : 1;
4662                u64 reserved_56_56 : 1;
4663                u64 timer : 4;
4664                u64 sum2 : 1;
4665                u64 ipd_drp : 1;
4666                u64 gmx_drp : 2;
4667                u64 reserved_46_47 : 2;
4668                u64 twsi : 1;
4669                u64 wdog_sum : 1;
4670                u64 pci_msi : 4;
4671                u64 pci_int : 4;
4672                u64 uart : 2;
4673                u64 mbox : 2;
4674                u64 gpio : 16;
4675                u64 workq : 16;
4676        } cn70xx;
4677        struct cvmx_ciu_intx_sum0_cn70xx cn70xxp1;
4678        struct cvmx_ciu_intx_sum0_cnf71xx {
4679                u64 bootdma : 1;
4680                u64 reserved_62_62 : 1;
4681                u64 ipdppthr : 1;
4682                u64 powiq : 1;
4683                u64 twsi2 : 1;
4684                u64 mpi : 1;
4685                u64 pcm : 1;
4686                u64 usb : 1;
4687                u64 timer : 4;
4688                u64 sum2 : 1;
4689                u64 ipd_drp : 1;
4690                u64 reserved_49_49 : 1;
4691                u64 gmx_drp : 1;
4692                u64 trace : 1;
4693                u64 rml : 1;
4694                u64 twsi : 1;
4695                u64 wdog_sum : 1;
4696                u64 pci_msi : 4;
4697                u64 pci_int : 4;
4698                u64 uart : 2;
4699                u64 mbox : 2;
4700                u64 gpio : 16;
4701                u64 workq : 16;
4702        } cnf71xx;
4703};
4704
4705typedef union cvmx_ciu_intx_sum0 cvmx_ciu_intx_sum0_t;
4706
4707/**
4708 * cvmx_ciu_int#_sum4
4709 *
4710 * CIU_INT0_SUM4:   PP0  /IP4
4711 * CIU_INT1_SUM4:   PP1  /IP4
4712 * - ...
4713 * CIU_INT3_SUM4:   PP3  /IP4
4714 */
4715union cvmx_ciu_intx_sum4 {
4716        u64 u64;
4717        struct cvmx_ciu_intx_sum4_s {
4718                u64 bootdma : 1;
4719                u64 mii : 1;
4720                u64 ipdppthr : 1;
4721                u64 powiq : 1;
4722                u64 twsi2 : 1;
4723                u64 mpi : 1;
4724                u64 pcm : 1;
4725                u64 usb : 1;
4726                u64 timer : 4;
4727                u64 reserved_51_51 : 1;
4728                u64 ipd_drp : 1;
4729                u64 gmx_drp : 2;
4730                u64 trace : 1;
4731                u64 rml : 1;
4732                u64 twsi : 1;
4733                u64 wdog_sum : 1;
4734                u64 pci_msi : 4;
4735                u64 pci_int : 4;
4736                u64 uart : 2;
4737                u64 mbox : 2;
4738                u64 gpio : 16;
4739                u64 workq : 16;
4740        } s;
4741        struct cvmx_ciu_intx_sum4_cn50xx {
4742                u64 reserved_59_63 : 5;
4743                u64 mpi : 1;
4744                u64 pcm : 1;
4745                u64 usb : 1;
4746                u64 timer : 4;
4747                u64 reserved_51_51 : 1;
4748                u64 ipd_drp : 1;
4749                u64 reserved_49_49 : 1;
4750                u64 gmx_drp : 1;
4751                u64 reserved_47_47 : 1;
4752                u64 rml : 1;
4753                u64 twsi : 1;
4754                u64 wdog_sum : 1;
4755                u64 pci_msi : 4;
4756                u64 pci_int : 4;
4757                u64 uart : 2;
4758                u64 mbox : 2;
4759                u64 gpio : 16;
4760                u64 workq : 16;
4761        } cn50xx;
4762        struct cvmx_ciu_intx_sum4_cn52xx {
4763                u64 bootdma : 1;
4764                u64 mii : 1;
4765                u64 ipdppthr : 1;
4766                u64 powiq : 1;
4767                u64 twsi2 : 1;
4768                u64 reserved_57_58 : 2;
4769                u64 usb : 1;
4770                u64 timer : 4;
4771                u64 reserved_51_51 : 1;
4772                u64 ipd_drp : 1;
4773                u64 reserved_49_49 : 1;
4774                u64 gmx_drp : 1;
4775                u64 trace : 1;
4776                u64 rml : 1;
4777                u64 twsi : 1;
4778                u64 wdog_sum : 1;
4779                u64 pci_msi : 4;
4780                u64 pci_int : 4;
4781                u64 uart : 2;
4782                u64 mbox : 2;
4783                u64 gpio : 16;
4784                u64 workq : 16;
4785        } cn52xx;
4786        struct cvmx_ciu_intx_sum4_cn52xx cn52xxp1;
4787        struct cvmx_ciu_intx_sum4_cn56xx {
4788                u64 bootdma : 1;
4789                u64 mii : 1;
4790                u64 ipdppthr : 1;
4791                u64 powiq : 1;
4792                u64 twsi2 : 1;
4793                u64 reserved_57_58 : 2;
4794                u64 usb : 1;
4795                u64 timer : 4;
4796                u64 key_zero : 1;
4797                u64 ipd_drp : 1;
4798                u64 gmx_drp : 2;
4799                u64 trace : 1;
4800                u64 rml : 1;
4801                u64 twsi : 1;
4802                u64 wdog_sum : 1;
4803                u64 pci_msi : 4;
4804                u64 pci_int : 4;
4805                u64 uart : 2;
4806                u64 mbox : 2;
4807                u64 gpio : 16;
4808                u64 workq : 16;
4809        } cn56xx;
4810        struct cvmx_ciu_intx_sum4_cn56xx cn56xxp1;
4811        struct cvmx_ciu_intx_sum4_cn58xx {
4812                u64 reserved_56_63 : 8;
4813                u64 timer : 4;
4814                u64 key_zero : 1;
4815                u64 ipd_drp : 1;
4816                u64 gmx_drp : 2;
4817                u64 trace : 1;
4818                u64 rml : 1;
4819                u64 twsi : 1;
4820                u64 wdog_sum : 1;
4821                u64 pci_msi : 4;
4822                u64 pci_int : 4;
4823                u64 uart : 2;
4824                u64 mbox : 2;
4825                u64 gpio : 16;
4826                u64 workq : 16;
4827        } cn58xx;
4828        struct cvmx_ciu_intx_sum4_cn58xx cn58xxp1;
4829        struct cvmx_ciu_intx_sum4_cn61xx {
4830                u64 bootdma : 1;
4831                u64 mii : 1;
4832                u64 ipdppthr : 1;
4833                u64 powiq : 1;
4834                u64 twsi2 : 1;
4835                u64 mpi : 1;
4836                u64 pcm : 1;
4837                u64 usb : 1;
4838                u64 timer : 4;
4839                u64 sum2 : 1;
4840                u64 ipd_drp : 1;
4841                u64 gmx_drp : 2;
4842                u64 trace : 1;
4843                u64 rml : 1;
4844                u64 twsi : 1;
4845                u64 wdog_sum : 1;
4846                u64 pci_msi : 4;
4847                u64 pci_int : 4;
4848                u64 uart : 2;
4849                u64 mbox : 2;
4850                u64 gpio : 16;
4851                u64 workq : 16;
4852        } cn61xx;
4853        struct cvmx_ciu_intx_sum4_cn52xx cn63xx;
4854        struct cvmx_ciu_intx_sum4_cn52xx cn63xxp1;
4855        struct cvmx_ciu_intx_sum4_cn66xx {
4856                u64 bootdma : 1;
4857                u64 mii : 1;
4858                u64 ipdppthr : 1;
4859                u64 powiq : 1;
4860                u64 twsi2 : 1;
4861                u64 mpi : 1;
4862                u64 reserved_57_57 : 1;
4863                u64 usb : 1;
4864                u64 timer : 4;
4865                u64 sum2 : 1;
4866                u64 ipd_drp : 1;
4867                u64 gmx_drp : 2;
4868                u64 trace : 1;
4869                u64 rml : 1;
4870                u64 twsi : 1;
4871                u64 wdog_sum : 1;
4872                u64 pci_msi : 4;
4873                u64 pci_int : 4;
4874                u64 uart : 2;
4875                u64 mbox : 2;
4876                u64 gpio : 16;
4877                u64 workq : 16;
4878        } cn66xx;
4879        struct cvmx_ciu_intx_sum4_cn70xx {
4880                u64 bootdma : 1;
4881                u64 reserved_62_62 : 1;
4882                u64 ipdppthr : 1;
4883                u64 powiq : 1;
4884                u64 twsi2 : 1;
4885                u64 mpi : 1;
4886                u64 pcm : 1;
4887                u64 reserved_56_56 : 1;
4888                u64 timer : 4;
4889                u64 sum2 : 1;
4890                u64 ipd_drp : 1;
4891                u64 gmx_drp : 2;
4892                u64 reserved_46_47 : 2;
4893                u64 twsi : 1;
4894                u64 wdog_sum : 1;
4895                u64 pci_msi : 4;
4896                u64 pci_int : 4;
4897                u64 uart : 2;
4898                u64 mbox : 2;
4899                u64 gpio : 16;
4900                u64 workq : 16;
4901        } cn70xx;
4902        struct cvmx_ciu_intx_sum4_cn70xx cn70xxp1;
4903        struct cvmx_ciu_intx_sum4_cnf71xx {
4904                u64 bootdma : 1;
4905                u64 reserved_62_62 : 1;
4906                u64 ipdppthr : 1;
4907                u64 powiq : 1;
4908                u64 twsi2 : 1;
4909                u64 mpi : 1;
4910                u64 pcm : 1;
4911                u64 usb : 1;
4912                u64 timer : 4;
4913                u64 sum2 : 1;
4914                u64 ipd_drp : 1;
4915                u64 reserved_49_49 : 1;
4916                u64 gmx_drp : 1;
4917                u64 trace : 1;
4918                u64 rml : 1;
4919                u64 twsi : 1;
4920                u64 wdog_sum : 1;
4921                u64 pci_msi : 4;
4922                u64 pci_int : 4;
4923                u64 uart : 2;
4924                u64 mbox : 2;
4925                u64 gpio : 16;
4926                u64 workq : 16;
4927        } cnf71xx;
4928};
4929
4930typedef union cvmx_ciu_intx_sum4 cvmx_ciu_intx_sum4_t;
4931
4932/**
4933 * cvmx_ciu_int33_sum0
4934 *
4935 * This bit is associated with CIU_INTX_SUM0. Reserved for o70 for future expansion.
4936 *
4937 */
4938union cvmx_ciu_int33_sum0 {
4939        u64 u64;
4940        struct cvmx_ciu_int33_sum0_s {
4941                u64 bootdma : 1;
4942                u64 mii : 1;
4943                u64 ipdppthr : 1;
4944                u64 powiq : 1;
4945                u64 twsi2 : 1;
4946                u64 mpi : 1;
4947                u64 pcm : 1;
4948                u64 usb : 1;
4949                u64 timer : 4;
4950                u64 sum2 : 1;
4951                u64 ipd_drp : 1;
4952                u64 gmx_drp : 2;
4953                u64 trace : 1;
4954                u64 rml : 1;
4955                u64 twsi : 1;
4956                u64 wdog_sum : 1;
4957                u64 pci_msi : 4;
4958                u64 pci_int : 4;
4959                u64 uart : 2;
4960                u64 mbox : 2;
4961                u64 gpio : 16;
4962                u64 workq : 16;
4963        } s;
4964        struct cvmx_ciu_int33_sum0_s cn61xx;
4965        struct cvmx_ciu_int33_sum0_cn63xx {
4966                u64 bootdma : 1;
4967                u64 mii : 1;
4968                u64 ipdppthr : 1;
4969                u64 powiq : 1;
4970                u64 twsi2 : 1;
4971                u64 reserved_57_58 : 2;
4972                u64 usb : 1;
4973                u64 timer : 4;
4974                u64 reserved_51_51 : 1;
4975                u64 ipd_drp : 1;
4976                u64 reserved_49_49 : 1;
4977                u64 gmx_drp : 1;
4978                u64 trace : 1;
4979                u64 rml : 1;
4980                u64 twsi : 1;
4981                u64 wdog_sum : 1;
4982                u64 pci_msi : 4;
4983                u64 pci_int : 4;
4984                u64 uart : 2;
4985                u64 mbox : 2;
4986                u64 gpio : 16;
4987                u64 workq : 16;
4988        } cn63xx;
4989        struct cvmx_ciu_int33_sum0_cn63xx cn63xxp1;
4990        struct cvmx_ciu_int33_sum0_cn66xx {
4991                u64 bootdma : 1;
4992                u64 mii : 1;
4993                u64 ipdppthr : 1;
4994                u64 powiq : 1;
4995                u64 twsi2 : 1;
4996                u64 mpi : 1;
4997                u64 reserved_57_57 : 1;
4998                u64 usb : 1;
4999                u64 timer : 4;
5000                u64 sum2 : 1;
5001                u64 ipd_drp : 1;
5002                u64 gmx_drp : 2;
5003                u64 trace : 1;
5004                u64 rml : 1;
5005                u64 twsi : 1;
5006                u64 wdog_sum : 1;
5007                u64 pci_msi : 4;
5008                u64 pci_int : 4;
5009                u64 uart : 2;
5010                u64 mbox : 2;
5011                u64 gpio : 16;
5012                u64 workq : 16;
5013        } cn66xx;
5014        struct cvmx_ciu_int33_sum0_cn70xx {
5015                u64 bootdma : 1;
5016                u64 reserved_62_62 : 1;
5017                u64 ipdppthr : 1;
5018                u64 powiq : 1;
5019                u64 twsi2 : 1;
5020                u64 mpi : 1;
5021                u64 pcm : 1;
5022                u64 reserved_56_56 : 1;
5023                u64 timer : 4;
5024                u64 sum2 : 1;
5025                u64 ipd_drp : 1;
5026                u64 gmx_drp : 2;
5027                u64 reserved_47_46 : 2;
5028                u64 twsi : 1;
5029                u64 wdog_sum : 1;
5030                u64 pci_msi : 4;
5031                u64 pci_int : 4;
5032                u64 uart : 2;
5033                u64 mbox : 2;
5034                u64 gpio : 16;
5035                u64 workq : 16;
5036        } cn70xx;
5037        struct cvmx_ciu_int33_sum0_cn70xx cn70xxp1;
5038        struct cvmx_ciu_int33_sum0_cnf71xx {
5039                u64 bootdma : 1;
5040                u64 reserved_62_62 : 1;
5041                u64 ipdppthr : 1;
5042                u64 powiq : 1;
5043                u64 twsi2 : 1;
5044                u64 mpi : 1;
5045                u64 pcm : 1;
5046                u64 usb : 1;
5047                u64 timer : 4;
5048                u64 sum2 : 1;
5049                u64 ipd_drp : 1;
5050                u64 reserved_49_49 : 1;
5051                u64 gmx_drp : 1;
5052                u64 trace : 1;
5053                u64 rml : 1;
5054                u64 twsi : 1;
5055                u64 wdog_sum : 1;
5056                u64 pci_msi : 4;
5057                u64 pci_int : 4;
5058                u64 uart : 2;
5059                u64 mbox : 2;
5060                u64 gpio : 16;
5061                u64 workq : 16;
5062        } cnf71xx;
5063};
5064
5065typedef union cvmx_ciu_int33_sum0 cvmx_ciu_int33_sum0_t;
5066
5067/**
5068 * cvmx_ciu_int_dbg_sel
5069 */
5070union cvmx_ciu_int_dbg_sel {
5071        u64 u64;
5072        struct cvmx_ciu_int_dbg_sel_s {
5073                u64 reserved_19_63 : 45;
5074                u64 sel : 3;
5075                u64 reserved_10_15 : 6;
5076                u64 irq : 2;
5077                u64 reserved_5_7 : 3;
5078                u64 pp : 5;
5079        } s;
5080        struct cvmx_ciu_int_dbg_sel_cn61xx {
5081                u64 reserved_19_63 : 45;
5082                u64 sel : 3;
5083                u64 reserved_10_15 : 6;
5084                u64 irq : 2;
5085                u64 reserved_4_7 : 4;
5086                u64 pp : 4;
5087        } cn61xx;
5088        struct cvmx_ciu_int_dbg_sel_cn63xx {
5089                u64 reserved_19_63 : 45;
5090                u64 sel : 3;
5091                u64 reserved_10_15 : 6;
5092                u64 irq : 2;
5093                u64 reserved_3_7 : 5;
5094                u64 pp : 3;
5095        } cn63xx;
5096        struct cvmx_ciu_int_dbg_sel_cn61xx cn66xx;
5097        struct cvmx_ciu_int_dbg_sel_s cn68xx;
5098        struct cvmx_ciu_int_dbg_sel_s cn68xxp1;
5099        struct cvmx_ciu_int_dbg_sel_cn61xx cnf71xx;
5100};
5101
5102typedef union cvmx_ciu_int_dbg_sel cvmx_ciu_int_dbg_sel_t;
5103
5104/**
5105 * cvmx_ciu_int_sum1
5106 *
5107 * CIU_INT_SUM1 is kept to keep backward compatible.
5108 * Refer to CIU_SUM1_PPX_IPx which is the one should use.
5109 */
5110union cvmx_ciu_int_sum1 {
5111        u64 u64;
5112        struct cvmx_ciu_int_sum1_s {
5113                u64 rst : 1;
5114                u64 reserved_62_62 : 1;
5115                u64 srio3 : 1;
5116                u64 srio2 : 1;
5117                u64 reserved_57_59 : 3;
5118                u64 dfm : 1;
5119                u64 reserved_53_55 : 3;
5120                u64 lmc0 : 1;
5121                u64 srio1 : 1;
5122                u64 reserved_50_50 : 1;
5123                u64 pem1 : 1;
5124                u64 pem0 : 1;
5125                u64 ptp : 1;
5126                u64 agl : 1;
5127                u64 reserved_38_45 : 8;
5128                u64 agx1 : 1;
5129                u64 agx0 : 1;
5130                u64 dpi : 1;
5131                u64 sli : 1;
5132                u64 usb : 1;
5133                u64 dfa : 1;
5134                u64 key : 1;
5135                u64 rad : 1;
5136                u64 tim : 1;
5137                u64 zip : 1;
5138                u64 pko : 1;
5139                u64 pip : 1;
5140                u64 ipd : 1;
5141                u64 l2c : 1;
5142                u64 pow : 1;
5143                u64 fpa : 1;
5144                u64 iob : 1;
5145                u64 mio : 1;
5146                u64 nand : 1;
5147                u64 mii1 : 1;
5148                u64 usb1 : 1;
5149                u64 uart2 : 1;
5150                u64 wdog : 16;
5151        } s;
5152        struct cvmx_ciu_int_sum1_cn30xx {
5153                u64 reserved_1_63 : 63;
5154                u64 wdog : 1;
5155        } cn30xx;
5156        struct cvmx_ciu_int_sum1_cn31xx {
5157                u64 reserved_2_63 : 62;
5158                u64 wdog : 2;
5159        } cn31xx;
5160        struct cvmx_ciu_int_sum1_cn38xx {
5161                u64 reserved_16_63 : 48;
5162                u64 wdog : 16;
5163        } cn38xx;
5164        struct cvmx_ciu_int_sum1_cn38xx cn38xxp2;
5165        struct cvmx_ciu_int_sum1_cn31xx cn50xx;
5166        struct cvmx_ciu_int_sum1_cn52xx {
5167                u64 reserved_20_63 : 44;
5168                u64 nand : 1;
5169                u64 mii1 : 1;
5170                u64 usb1 : 1;
5171                u64 uart2 : 1;
5172                u64 reserved_4_15 : 12;
5173                u64 wdog : 4;
5174        } cn52xx;
5175        struct cvmx_ciu_int_sum1_cn52xxp1 {
5176                u64 reserved_19_63 : 45;
5177                u64 mii1 : 1;
5178                u64 usb1 : 1;
5179                u64 uart2 : 1;
5180                u64 reserved_4_15 : 12;
5181                u64 wdog : 4;
5182        } cn52xxp1;
5183        struct cvmx_ciu_int_sum1_cn56xx {
5184                u64 reserved_12_63 : 52;
5185                u64 wdog : 12;
5186        } cn56xx;
5187        struct cvmx_ciu_int_sum1_cn56xx cn56xxp1;
5188        struct cvmx_ciu_int_sum1_cn38xx cn58xx;
5189        struct cvmx_ciu_int_sum1_cn38xx cn58xxp1;
5190        struct cvmx_ciu_int_sum1_cn61xx {
5191                u64 rst : 1;
5192                u64 reserved_53_62 : 10;
5193                u64 lmc0 : 1;
5194                u64 reserved_50_51 : 2;
5195                u64 pem1 : 1;
5196                u64 pem0 : 1;
5197                u64 ptp : 1;
5198                u64 agl : 1;
5199                u64 reserved_38_45 : 8;
5200                u64 agx1 : 1;
5201                u64 agx0 : 1;
5202                u64 dpi : 1;
5203                u64 sli : 1;
5204                u64 usb : 1;
5205                u64 dfa : 1;
5206                u64 key : 1;
5207                u64 rad : 1;
5208                u64 tim : 1;
5209                u64 zip : 1;
5210                u64 pko : 1;
5211                u64 pip : 1;
5212                u64 ipd : 1;
5213                u64 l2c : 1;
5214                u64 pow : 1;
5215                u64 fpa : 1;
5216                u64 iob : 1;
5217                u64 mio : 1;
5218                u64 nand : 1;
5219                u64 mii1 : 1;
5220                u64 reserved_4_17 : 14;
5221                u64 wdog : 4;
5222        } cn61xx;
5223        struct cvmx_ciu_int_sum1_cn63xx {
5224                u64 rst : 1;
5225                u64 reserved_57_62 : 6;
5226                u64 dfm : 1;
5227                u64 reserved_53_55 : 3;
5228                u64 lmc0 : 1;
5229                u64 srio1 : 1;
5230                u64 srio0 : 1;
5231                u64 pem1 : 1;
5232                u64 pem0 : 1;
5233                u64 ptp : 1;
5234                u64 agl : 1;
5235                u64 reserved_37_45 : 9;
5236                u64 agx0 : 1;
5237                u64 dpi : 1;
5238                u64 sli : 1;
5239                u64 usb : 1;
5240                u64 dfa : 1;
5241                u64 key : 1;
5242                u64 rad : 1;
5243                u64 tim : 1;
5244                u64 zip : 1;
5245                u64 pko : 1;
5246                u64 pip : 1;
5247                u64 ipd : 1;
5248                u64 l2c : 1;
5249                u64 pow : 1;
5250                u64 fpa : 1;
5251                u64 iob : 1;
5252                u64 mio : 1;
5253                u64 nand : 1;
5254                u64 mii1 : 1;
5255                u64 reserved_6_17 : 12;
5256                u64 wdog : 6;
5257        } cn63xx;
5258        struct cvmx_ciu_int_sum1_cn63xx cn63xxp1;
5259        struct cvmx_ciu_int_sum1_cn66xx {
5260                u64 rst : 1;
5261                u64 reserved_62_62 : 1;
5262                u64 srio3 : 1;
5263                u64 srio2 : 1;
5264                u64 reserved_57_59 : 3;
5265                u64 dfm : 1;
5266                u64 reserved_53_55 : 3;
5267                u64 lmc0 : 1;
5268                u64 reserved_51_51 : 1;
5269                u64 srio0 : 1;
5270                u64 pem1 : 1;
5271                u64 pem0 : 1;
5272                u64 ptp : 1;
5273                u64 agl : 1;
5274                u64 reserved_38_45 : 8;
5275                u64 agx1 : 1;
5276                u64 agx0 : 1;
5277                u64 dpi : 1;
5278                u64 sli : 1;
5279                u64 usb : 1;
5280                u64 dfa : 1;
5281                u64 key : 1;
5282                u64 rad : 1;
5283                u64 tim : 1;
5284                u64 zip : 1;
5285                u64 pko : 1;
5286                u64 pip : 1;
5287                u64 ipd : 1;
5288                u64 l2c : 1;
5289                u64 pow : 1;
5290                u64 fpa : 1;
5291                u64 iob : 1;
5292                u64 mio : 1;
5293                u64 nand : 1;
5294                u64 mii1 : 1;
5295                u64 reserved_10_17 : 8;
5296                u64 wdog : 10;
5297        } cn66xx;
5298        struct cvmx_ciu_int_sum1_cn70xx {
5299                u64 rst : 1;
5300                u64 reserved_53_62 : 10;
5301                u64 lmc0 : 1;
5302                u64 reserved_51_51 : 1;
5303                u64 pem2 : 1;
5304                u64 pem1 : 1;
5305                u64 pem0 : 1;
5306                u64 ptp : 1;
5307                u64 agl : 1;
5308                u64 reserved_38_45 : 8;
5309                u64 agx1 : 1;
5310                u64 agx0 : 1;
5311                u64 dpi : 1;
5312                u64 sli : 1;
5313                u64 usb : 1;
5314                u64 dfa : 1;
5315                u64 key : 1;
5316                u64 rad : 1;
5317                u64 tim : 1;
5318                u64 reserved_28_28 : 1;
5319                u64 pko : 1;
5320                u64 pip : 1;
5321                u64 ipd : 1;
5322                u64 l2c : 1;
5323                u64 pow : 1;
5324                u64 fpa : 1;
5325                u64 iob : 1;
5326                u64 mio : 1;
5327                u64 nand : 1;
5328                u64 reserved_18_18 : 1;
5329                u64 usb1 : 1;
5330                u64 reserved_4_16 : 13;
5331                u64 wdog : 4;
5332        } cn70xx;
5333        struct cvmx_ciu_int_sum1_cn70xx cn70xxp1;
5334        struct cvmx_ciu_int_sum1_cnf71xx {
5335                u64 rst : 1;
5336                u64 reserved_53_62 : 10;
5337                u64 lmc0 : 1;
5338                u64 reserved_50_51 : 2;
5339                u64 pem1 : 1;
5340                u64 pem0 : 1;
5341                u64 ptp : 1;
5342                u64 reserved_37_46 : 10;
5343                u64 agx0 : 1;
5344                u64 dpi : 1;
5345                u64 sli : 1;
5346                u64 usb : 1;
5347                u64 reserved_32_32 : 1;
5348                u64 key : 1;
5349                u64 rad : 1;
5350                u64 tim : 1;
5351                u64 reserved_28_28 : 1;
5352                u64 pko : 1;
5353                u64 pip : 1;
5354                u64 ipd : 1;
5355                u64 l2c : 1;
5356                u64 pow : 1;
5357                u64 fpa : 1;
5358                u64 iob : 1;
5359                u64 mio : 1;
5360                u64 nand : 1;
5361                u64 reserved_4_18 : 15;
5362                u64 wdog : 4;
5363        } cnf71xx;
5364};
5365
5366typedef union cvmx_ciu_int_sum1 cvmx_ciu_int_sum1_t;
5367
5368/**
5369 * cvmx_ciu_intr_slowdown
5370 */
5371union cvmx_ciu_intr_slowdown {
5372        u64 u64;
5373        struct cvmx_ciu_intr_slowdown_s {
5374                u64 reserved_3_63 : 61;
5375                u64 ctl : 3;
5376        } s;
5377        struct cvmx_ciu_intr_slowdown_s cn70xx;
5378        struct cvmx_ciu_intr_slowdown_s cn70xxp1;
5379};
5380
5381typedef union cvmx_ciu_intr_slowdown cvmx_ciu_intr_slowdown_t;
5382
5383/**
5384 * cvmx_ciu_mbox_clr#
5385 */
5386union cvmx_ciu_mbox_clrx {
5387        u64 u64;
5388        struct cvmx_ciu_mbox_clrx_s {
5389                u64 reserved_32_63 : 32;
5390                u64 bits : 32;
5391        } s;
5392        struct cvmx_ciu_mbox_clrx_s cn30xx;
5393        struct cvmx_ciu_mbox_clrx_s cn31xx;
5394        struct cvmx_ciu_mbox_clrx_s cn38xx;
5395        struct cvmx_ciu_mbox_clrx_s cn38xxp2;
5396        struct cvmx_ciu_mbox_clrx_s cn50xx;
5397        struct cvmx_ciu_mbox_clrx_s cn52xx;
5398        struct cvmx_ciu_mbox_clrx_s cn52xxp1;
5399        struct cvmx_ciu_mbox_clrx_s cn56xx;
5400        struct cvmx_ciu_mbox_clrx_s cn56xxp1;
5401        struct cvmx_ciu_mbox_clrx_s cn58xx;
5402        struct cvmx_ciu_mbox_clrx_s cn58xxp1;
5403        struct cvmx_ciu_mbox_clrx_s cn61xx;
5404        struct cvmx_ciu_mbox_clrx_s cn63xx;
5405        struct cvmx_ciu_mbox_clrx_s cn63xxp1;
5406        struct cvmx_ciu_mbox_clrx_s cn66xx;
5407        struct cvmx_ciu_mbox_clrx_s cn68xx;
5408        struct cvmx_ciu_mbox_clrx_s cn68xxp1;
5409        struct cvmx_ciu_mbox_clrx_s cn70xx;
5410        struct cvmx_ciu_mbox_clrx_s cn70xxp1;
5411        struct cvmx_ciu_mbox_clrx_s cnf71xx;
5412};
5413
5414typedef union cvmx_ciu_mbox_clrx cvmx_ciu_mbox_clrx_t;
5415
5416/**
5417 * cvmx_ciu_mbox_set#
5418 */
5419union cvmx_ciu_mbox_setx {
5420        u64 u64;
5421        struct cvmx_ciu_mbox_setx_s {
5422                u64 reserved_32_63 : 32;
5423                u64 bits : 32;
5424        } s;
5425        struct cvmx_ciu_mbox_setx_s cn30xx;
5426        struct cvmx_ciu_mbox_setx_s cn31xx;
5427        struct cvmx_ciu_mbox_setx_s cn38xx;
5428        struct cvmx_ciu_mbox_setx_s cn38xxp2;
5429        struct cvmx_ciu_mbox_setx_s cn50xx;
5430        struct cvmx_ciu_mbox_setx_s cn52xx;
5431        struct cvmx_ciu_mbox_setx_s cn52xxp1;
5432        struct cvmx_ciu_mbox_setx_s cn56xx;
5433        struct cvmx_ciu_mbox_setx_s cn56xxp1;
5434        struct cvmx_ciu_mbox_setx_s cn58xx;
5435        struct cvmx_ciu_mbox_setx_s cn58xxp1;
5436        struct cvmx_ciu_mbox_setx_s cn61xx;
5437        struct cvmx_ciu_mbox_setx_s cn63xx;
5438        struct cvmx_ciu_mbox_setx_s cn63xxp1;
5439        struct cvmx_ciu_mbox_setx_s cn66xx;
5440        struct cvmx_ciu_mbox_setx_s cn68xx;
5441        struct cvmx_ciu_mbox_setx_s cn68xxp1;
5442        struct cvmx_ciu_mbox_setx_s cn70xx;
5443        struct cvmx_ciu_mbox_setx_s cn70xxp1;
5444        struct cvmx_ciu_mbox_setx_s cnf71xx;
5445};
5446
5447typedef union cvmx_ciu_mbox_setx cvmx_ciu_mbox_setx_t;
5448
5449/**
5450 * cvmx_ciu_nmi
5451 */
5452union cvmx_ciu_nmi {
5453        u64 u64;
5454        struct cvmx_ciu_nmi_s {
5455                u64 reserved_32_63 : 32;
5456                u64 nmi : 32;
5457        } s;
5458        struct cvmx_ciu_nmi_cn30xx {
5459                u64 reserved_1_63 : 63;
5460                u64 nmi : 1;
5461        } cn30xx;
5462        struct cvmx_ciu_nmi_cn31xx {
5463                u64 reserved_2_63 : 62;
5464                u64 nmi : 2;
5465        } cn31xx;
5466        struct cvmx_ciu_nmi_cn38xx {
5467                u64 reserved_16_63 : 48;
5468                u64 nmi : 16;
5469        } cn38xx;
5470        struct cvmx_ciu_nmi_cn38xx cn38xxp2;
5471        struct cvmx_ciu_nmi_cn31xx cn50xx;
5472        struct cvmx_ciu_nmi_cn52xx {
5473                u64 reserved_4_63 : 60;
5474                u64 nmi : 4;
5475        } cn52xx;
5476        struct cvmx_ciu_nmi_cn52xx cn52xxp1;
5477        struct cvmx_ciu_nmi_cn56xx {
5478                u64 reserved_12_63 : 52;
5479                u64 nmi : 12;
5480        } cn56xx;
5481        struct cvmx_ciu_nmi_cn56xx cn56xxp1;
5482        struct cvmx_ciu_nmi_cn38xx cn58xx;
5483        struct cvmx_ciu_nmi_cn38xx cn58xxp1;
5484        struct cvmx_ciu_nmi_cn52xx cn61xx;
5485        struct cvmx_ciu_nmi_cn63xx {
5486                u64 reserved_6_63 : 58;
5487                u64 nmi : 6;
5488        } cn63xx;
5489        struct cvmx_ciu_nmi_cn63xx cn63xxp1;
5490        struct cvmx_ciu_nmi_cn66xx {
5491                u64 reserved_10_63 : 54;
5492                u64 nmi : 10;
5493        } cn66xx;
5494        struct cvmx_ciu_nmi_s cn68xx;
5495        struct cvmx_ciu_nmi_s cn68xxp1;
5496        struct cvmx_ciu_nmi_cn52xx cn70xx;
5497        struct cvmx_ciu_nmi_cn52xx cn70xxp1;
5498        struct cvmx_ciu_nmi_cn52xx cnf71xx;
5499};
5500
5501typedef union cvmx_ciu_nmi cvmx_ciu_nmi_t;
5502
5503/**
5504 * cvmx_ciu_pci_inta
5505 */
5506union cvmx_ciu_pci_inta {
5507        u64 u64;
5508        struct cvmx_ciu_pci_inta_s {
5509                u64 reserved_2_63 : 62;
5510                u64 intr : 2;
5511        } s;
5512        struct cvmx_ciu_pci_inta_s cn30xx;
5513        struct cvmx_ciu_pci_inta_s cn31xx;
5514        struct cvmx_ciu_pci_inta_s cn38xx;
5515        struct cvmx_ciu_pci_inta_s cn38xxp2;
5516        struct cvmx_ciu_pci_inta_s cn50xx;
5517        struct cvmx_ciu_pci_inta_s cn52xx;
5518        struct cvmx_ciu_pci_inta_s cn52xxp1;
5519        struct cvmx_ciu_pci_inta_s cn56xx;
5520        struct cvmx_ciu_pci_inta_s cn56xxp1;
5521        struct cvmx_ciu_pci_inta_s cn58xx;
5522        struct cvmx_ciu_pci_inta_s cn58xxp1;
5523        struct cvmx_ciu_pci_inta_s cn61xx;
5524        struct cvmx_ciu_pci_inta_s cn63xx;
5525        struct cvmx_ciu_pci_inta_s cn63xxp1;
5526        struct cvmx_ciu_pci_inta_s cn66xx;
5527        struct cvmx_ciu_pci_inta_s cn68xx;
5528        struct cvmx_ciu_pci_inta_s cn68xxp1;
5529        struct cvmx_ciu_pci_inta_s cn70xx;
5530        struct cvmx_ciu_pci_inta_s cn70xxp1;
5531        struct cvmx_ciu_pci_inta_s cnf71xx;
5532};
5533
5534typedef union cvmx_ciu_pci_inta cvmx_ciu_pci_inta_t;
5535
5536/**
5537 * cvmx_ciu_pp_bist_stat
5538 */
5539union cvmx_ciu_pp_bist_stat {
5540        u64 u64;
5541        struct cvmx_ciu_pp_bist_stat_s {
5542                u64 reserved_32_63 : 32;
5543                u64 pp_bist : 32;
5544        } s;
5545        struct cvmx_ciu_pp_bist_stat_s cn68xx;
5546        struct cvmx_ciu_pp_bist_stat_s cn68xxp1;
5547};
5548
5549typedef union cvmx_ciu_pp_bist_stat cvmx_ciu_pp_bist_stat_t;
5550
5551/**
5552 * cvmx_ciu_pp_dbg
5553 */
5554union cvmx_ciu_pp_dbg {
5555        u64 u64;
5556        struct cvmx_ciu_pp_dbg_s {
5557                u64 reserved_48_63 : 16;
5558                u64 ppdbg : 48;
5559        } s;
5560        struct cvmx_ciu_pp_dbg_cn30xx {
5561                u64 reserved_1_63 : 63;
5562                u64 ppdbg : 1;
5563        } cn30xx;
5564        struct cvmx_ciu_pp_dbg_cn31xx {
5565                u64 reserved_2_63 : 62;
5566                u64 ppdbg : 2;
5567        } cn31xx;
5568        struct cvmx_ciu_pp_dbg_cn38xx {
5569                u64 reserved_16_63 : 48;
5570                u64 ppdbg : 16;
5571        } cn38xx;
5572        struct cvmx_ciu_pp_dbg_cn38xx cn38xxp2;
5573        struct cvmx_ciu_pp_dbg_cn31xx cn50xx;
5574        struct cvmx_ciu_pp_dbg_cn52xx {
5575                u64 reserved_4_63 : 60;
5576                u64 ppdbg : 4;
5577        } cn52xx;
5578        struct cvmx_ciu_pp_dbg_cn52xx cn52xxp1;
5579        struct cvmx_ciu_pp_dbg_cn56xx {
5580                u64 reserved_12_63 : 52;
5581                u64 ppdbg : 12;
5582        } cn56xx;
5583        struct cvmx_ciu_pp_dbg_cn56xx cn56xxp1;
5584        struct cvmx_ciu_pp_dbg_cn38xx cn58xx;
5585        struct cvmx_ciu_pp_dbg_cn38xx cn58xxp1;
5586        struct cvmx_ciu_pp_dbg_cn52xx cn61xx;
5587        struct cvmx_ciu_pp_dbg_cn63xx {
5588                u64 reserved_6_63 : 58;
5589                u64 ppdbg : 6;
5590        } cn63xx;
5591        struct cvmx_ciu_pp_dbg_cn63xx cn63xxp1;
5592        struct cvmx_ciu_pp_dbg_cn66xx {
5593                u64 reserved_10_63 : 54;
5594                u64 ppdbg : 10;
5595        } cn66xx;
5596        struct cvmx_ciu_pp_dbg_cn68xx {
5597                u64 reserved_32_63 : 32;
5598                u64 ppdbg : 32;
5599        } cn68xx;
5600        struct cvmx_ciu_pp_dbg_cn68xx cn68xxp1;
5601        struct cvmx_ciu_pp_dbg_cn52xx cn70xx;
5602        struct cvmx_ciu_pp_dbg_cn52xx cn70xxp1;
5603        struct cvmx_ciu_pp_dbg_cn38xx cn73xx;
5604        struct cvmx_ciu_pp_dbg_s cn78xx;
5605        struct cvmx_ciu_pp_dbg_s cn78xxp1;
5606        struct cvmx_ciu_pp_dbg_cn52xx cnf71xx;
5607        struct cvmx_ciu_pp_dbg_cn38xx cnf75xx;
5608};
5609
5610typedef union cvmx_ciu_pp_dbg cvmx_ciu_pp_dbg_t;
5611
5612/**
5613 * cvmx_ciu_pp_poke#
5614 *
5615 * CIU_PP_POKE for CIU_WDOG
5616 *
5617 */
5618union cvmx_ciu_pp_pokex {
5619        u64 u64;
5620        struct cvmx_ciu_pp_pokex_s {
5621                u64 poke : 64;
5622        } s;
5623        struct cvmx_ciu_pp_pokex_s cn30xx;
5624        struct cvmx_ciu_pp_pokex_s cn31xx;
5625        struct cvmx_ciu_pp_pokex_s cn38xx;
5626        struct cvmx_ciu_pp_pokex_s cn38xxp2;
5627        struct cvmx_ciu_pp_pokex_s cn50xx;
5628        struct cvmx_ciu_pp_pokex_s cn52xx;
5629        struct cvmx_ciu_pp_pokex_s cn52xxp1;
5630        struct cvmx_ciu_pp_pokex_s cn56xx;
5631        struct cvmx_ciu_pp_pokex_s cn56xxp1;
5632        struct cvmx_ciu_pp_pokex_s cn58xx;
5633        struct cvmx_ciu_pp_pokex_s cn58xxp1;
5634        struct cvmx_ciu_pp_pokex_s cn61xx;
5635        struct cvmx_ciu_pp_pokex_s cn63xx;
5636        struct cvmx_ciu_pp_pokex_s cn63xxp1;
5637        struct cvmx_ciu_pp_pokex_s cn66xx;
5638        struct cvmx_ciu_pp_pokex_s cn68xx;
5639        struct cvmx_ciu_pp_pokex_s cn68xxp1;
5640        struct cvmx_ciu_pp_pokex_s cn70xx;
5641        struct cvmx_ciu_pp_pokex_s cn70xxp1;
5642        struct cvmx_ciu_pp_pokex_cn73xx {
5643                u64 reserved_1_63 : 63;
5644                u64 poke : 1;
5645        } cn73xx;
5646        struct cvmx_ciu_pp_pokex_cn73xx cn78xx;
5647        struct cvmx_ciu_pp_pokex_cn73xx cn78xxp1;
5648        struct cvmx_ciu_pp_pokex_s cnf71xx;
5649        struct cvmx_ciu_pp_pokex_cn73xx cnf75xx;
5650};
5651
5652typedef union cvmx_ciu_pp_pokex cvmx_ciu_pp_pokex_t;
5653
5654/**
5655 * cvmx_ciu_pp_rst
5656 *
5657 * This register contains the reset control for each core. A 1 holds a core in reset, 0 release
5658 * from reset. It resets to all ones when REMOTE_BOOT is enabled or all ones excluding bit 0 when
5659 * REMOTE_BOOT is disabled. Writes to this register should occur only if the CIU_PP_RST_PENDING
5660 * register is cleared.
5661 */
5662union cvmx_ciu_pp_rst {
5663        u64 u64;
5664        struct cvmx_ciu_pp_rst_s {
5665                u64 reserved_48_63 : 16;
5666                u64 rst : 47;
5667                u64 rst0 : 1;
5668        } s;
5669        struct cvmx_ciu_pp_rst_cn30xx {
5670                u64 reserved_1_63 : 63;
5671                u64 rst0 : 1;
5672        } cn30xx;
5673        struct cvmx_ciu_pp_rst_cn31xx {
5674                u64 reserved_2_63 : 62;
5675                u64 rst : 1;
5676                u64 rst0 : 1;
5677        } cn31xx;
5678        struct cvmx_ciu_pp_rst_cn38xx {
5679                u64 reserved_16_63 : 48;
5680                u64 rst : 15;
5681                u64 rst0 : 1;
5682        } cn38xx;
5683        struct cvmx_ciu_pp_rst_cn38xx cn38xxp2;
5684        struct cvmx_ciu_pp_rst_cn31xx cn50xx;
5685        struct cvmx_ciu_pp_rst_cn52xx {
5686                u64 reserved_4_63 : 60;
5687                u64 rst : 3;
5688                u64 rst0 : 1;
5689        } cn52xx;
5690        struct cvmx_ciu_pp_rst_cn52xx cn52xxp1;
5691        struct cvmx_ciu_pp_rst_cn56xx {
5692                u64 reserved_12_63 : 52;
5693                u64 rst : 11;
5694                u64 rst0 : 1;
5695        } cn56xx;
5696        struct cvmx_ciu_pp_rst_cn56xx cn56xxp1;
5697        struct cvmx_ciu_pp_rst_cn38xx cn58xx;
5698        struct cvmx_ciu_pp_rst_cn38xx cn58xxp1;
5699        struct cvmx_ciu_pp_rst_cn52xx cn61xx;
5700        struct cvmx_ciu_pp_rst_cn63xx {
5701                u64 reserved_6_63 : 58;
5702                u64 rst : 5;
5703                u64 rst0 : 1;
5704        } cn63xx;
5705        struct cvmx_ciu_pp_rst_cn63xx cn63xxp1;
5706        struct cvmx_ciu_pp_rst_cn66xx {
5707                u64 reserved_10_63 : 54;
5708                u64 rst : 9;
5709                u64 rst0 : 1;
5710        } cn66xx;
5711        struct cvmx_ciu_pp_rst_cn68xx {
5712                u64 reserved_32_63 : 32;
5713                u64 rst : 31;
5714                u64 rst0 : 1;
5715        } cn68xx;
5716        struct cvmx_ciu_pp_rst_cn68xx cn68xxp1;
5717        struct cvmx_ciu_pp_rst_cn52xx cn70xx;
5718        struct cvmx_ciu_pp_rst_cn52xx cn70xxp1;
5719        struct cvmx_ciu_pp_rst_cn38xx cn73xx;
5720        struct cvmx_ciu_pp_rst_s cn78xx;
5721        struct cvmx_ciu_pp_rst_s cn78xxp1;
5722        struct cvmx_ciu_pp_rst_cn52xx cnf71xx;
5723        struct cvmx_ciu_pp_rst_cn38xx cnf75xx;
5724};
5725
5726typedef union cvmx_ciu_pp_rst cvmx_ciu_pp_rst_t;
5727
5728/**
5729 * cvmx_ciu_pp_rst_pending
5730 *
5731 * This register contains the reset status for each core.
5732 *
5733 */
5734union cvmx_ciu_pp_rst_pending {
5735        u64 u64;
5736        struct cvmx_ciu_pp_rst_pending_s {
5737                u64 reserved_48_63 : 16;
5738                u64 pend : 48;
5739        } s;
5740        struct cvmx_ciu_pp_rst_pending_s cn70xx;
5741        struct cvmx_ciu_pp_rst_pending_s cn70xxp1;
5742        struct cvmx_ciu_pp_rst_pending_cn73xx {
5743                u64 reserved_16_63 : 48;
5744                u64 pend : 16;
5745        } cn73xx;
5746        struct cvmx_ciu_pp_rst_pending_s cn78xx;
5747        struct cvmx_ciu_pp_rst_pending_s cn78xxp1;
5748        struct cvmx_ciu_pp_rst_pending_cn73xx cnf75xx;
5749};
5750
5751typedef union cvmx_ciu_pp_rst_pending cvmx_ciu_pp_rst_pending_t;
5752
5753/**
5754 * cvmx_ciu_qlm0
5755 *
5756 * Notes:
5757 * This register is only reset by cold reset.
5758 *
5759 */
5760union cvmx_ciu_qlm0 {
5761        u64 u64;
5762        struct cvmx_ciu_qlm0_s {
5763                u64 g2bypass : 1;
5764                u64 reserved_53_62 : 10;
5765                u64 g2deemph : 5;
5766                u64 reserved_45_47 : 3;
5767                u64 g2margin : 5;
5768                u64 reserved_32_39 : 8;
5769                u64 txbypass : 1;
5770                u64 reserved_21_30 : 10;
5771                u64 txdeemph : 5;
5772                u64 reserved_13_15 : 3;
5773                u64 txmargin : 5;
5774                u64 reserved_4_7 : 4;
5775                u64 lane_en : 4;
5776        } s;
5777        struct cvmx_ciu_qlm0_s cn61xx;
5778        struct cvmx_ciu_qlm0_s cn63xx;
5779        struct cvmx_ciu_qlm0_cn63xxp1 {
5780                u64 reserved_32_63 : 32;
5781                u64 txbypass : 1;
5782                u64 reserved_20_30 : 11;
5783                u64 txdeemph : 4;
5784                u64 reserved_13_15 : 3;
5785                u64 txmargin : 5;
5786                u64 reserved_4_7 : 4;
5787                u64 lane_en : 4;
5788        } cn63xxp1;
5789        struct cvmx_ciu_qlm0_s cn66xx;
5790        struct cvmx_ciu_qlm0_cn68xx {
5791                u64 reserved_32_63 : 32;
5792                u64 txbypass : 1;
5793                u64 reserved_21_30 : 10;
5794                u64 txdeemph : 5;
5795                u64 reserved_13_15 : 3;
5796                u64 txmargin : 5;
5797                u64 reserved_4_7 : 4;
5798                u64 lane_en : 4;
5799        } cn68xx;
5800        struct cvmx_ciu_qlm0_cn68xx cn68xxp1;
5801        struct cvmx_ciu_qlm0_s cnf71xx;
5802};
5803
5804typedef union cvmx_ciu_qlm0 cvmx_ciu_qlm0_t;
5805
5806/**
5807 * cvmx_ciu_qlm1
5808 *
5809 * Notes:
5810 * This register is only reset by cold reset.
5811 *
5812 */
5813union cvmx_ciu_qlm1 {
5814        u64 u64;
5815        struct cvmx_ciu_qlm1_s {
5816                u64 g2bypass : 1;
5817                u64 reserved_53_62 : 10;
5818                u64 g2deemph : 5;
5819                u64 reserved_45_47 : 3;
5820                u64 g2margin : 5;
5821                u64 reserved_32_39 : 8;
5822                u64 txbypass : 1;
5823                u64 reserved_21_30 : 10;
5824                u64 txdeemph : 5;
5825                u64 reserved_13_15 : 3;
5826                u64 txmargin : 5;
5827                u64 reserved_4_7 : 4;
5828                u64 lane_en : 4;
5829        } s;
5830        struct cvmx_ciu_qlm1_s cn61xx;
5831        struct cvmx_ciu_qlm1_s cn63xx;
5832        struct cvmx_ciu_qlm1_cn63xxp1 {
5833                u64 reserved_32_63 : 32;
5834                u64 txbypass : 1;
5835                u64 reserved_20_30 : 11;
5836                u64 txdeemph : 4;
5837                u64 reserved_13_15 : 3;
5838                u64 txmargin : 5;
5839                u64 reserved_4_7 : 4;
5840                u64 lane_en : 4;
5841        } cn63xxp1;
5842        struct cvmx_ciu_qlm1_s cn66xx;
5843        struct cvmx_ciu_qlm1_s cn68xx;
5844        struct cvmx_ciu_qlm1_s cn68xxp1;
5845        struct cvmx_ciu_qlm1_s cnf71xx;
5846};
5847
5848typedef union cvmx_ciu_qlm1 cvmx_ciu_qlm1_t;
5849
5850/**
5851 * cvmx_ciu_qlm2
5852 *
5853 * Notes:
5854 * This register is only reset by cold reset.
5855 *
5856 */
5857union cvmx_ciu_qlm2 {
5858        u64 u64;
5859        struct cvmx_ciu_qlm2_s {
5860                u64 g2bypass : 1;
5861                u64 reserved_53_62 : 10;
5862                u64 g2deemph : 5;
5863                u64 reserved_45_47 : 3;
5864                u64 g2margin : 5;
5865                u64 reserved_32_39 : 8;
5866                u64 txbypass : 1;
5867                u64 reserved_21_30 : 10;
5868                u64 txdeemph : 5;
5869                u64 reserved_13_15 : 3;
5870                u64 txmargin : 5;
5871                u64 reserved_4_7 : 4;
5872                u64 lane_en : 4;
5873        } s;
5874        struct cvmx_ciu_qlm2_cn61xx {
5875                u64 reserved_32_63 : 32;
5876                u64 txbypass : 1;
5877                u64 reserved_21_30 : 10;
5878                u64 txdeemph : 5;
5879                u64 reserved_13_15 : 3;
5880                u64 txmargin : 5;
5881                u64 reserved_4_7 : 4;
5882                u64 lane_en : 4;
5883        } cn61xx;
5884        struct cvmx_ciu_qlm2_cn61xx cn63xx;
5885        struct cvmx_ciu_qlm2_cn63xxp1 {
5886                u64 reserved_32_63 : 32;
5887                u64 txbypass : 1;
5888                u64 reserved_20_30 : 11;
5889                u64 txdeemph : 4;
5890                u64 reserved_13_15 : 3;
5891                u64 txmargin : 5;
5892                u64 reserved_4_7 : 4;
5893                u64 lane_en : 4;
5894        } cn63xxp1;
5895        struct cvmx_ciu_qlm2_cn61xx cn66xx;
5896        struct cvmx_ciu_qlm2_s cn68xx;
5897        struct cvmx_ciu_qlm2_s cn68xxp1;
5898        struct cvmx_ciu_qlm2_cn61xx cnf71xx;
5899};
5900
5901typedef union cvmx_ciu_qlm2 cvmx_ciu_qlm2_t;
5902
5903/**
5904 * cvmx_ciu_qlm3
5905 *
5906 * Notes:
5907 * This register is only reset by cold reset.
5908 *
5909 */
5910union cvmx_ciu_qlm3 {
5911        u64 u64;
5912        struct cvmx_ciu_qlm3_s {
5913                u64 g2bypass : 1;
5914                u64 reserved_53_62 : 10;
5915                u64 g2deemph : 5;
5916                u64 reserved_45_47 : 3;
5917                u64 g2margin : 5;
5918                u64 reserved_32_39 : 8;
5919                u64 txbypass : 1;
5920                u64 reserved_21_30 : 10;
5921                u64 txdeemph : 5;
5922                u64 reserved_13_15 : 3;
5923                u64 txmargin : 5;
5924                u64 reserved_4_7 : 4;
5925                u64 lane_en : 4;
5926        } s;
5927        struct cvmx_ciu_qlm3_s cn68xx;
5928        struct cvmx_ciu_qlm3_s cn68xxp1;
5929};
5930
5931typedef union cvmx_ciu_qlm3 cvmx_ciu_qlm3_t;
5932
5933/**
5934 * cvmx_ciu_qlm4
5935 *
5936 * Notes:
5937 * This register is only reset by cold reset.
5938 *
5939 */
5940union cvmx_ciu_qlm4 {
5941        u64 u64;
5942        struct cvmx_ciu_qlm4_s {
5943                u64 g2bypass : 1;
5944                u64 reserved_53_62 : 10;
5945                u64 g2deemph : 5;
5946                u64 reserved_45_47 : 3;
5947                u64 g2margin : 5;
5948                u64 reserved_32_39 : 8;
5949                u64 txbypass : 1;
5950                u64 reserved_21_30 : 10;
5951                u64 txdeemph : 5;
5952                u64 reserved_13_15 : 3;
5953                u64 txmargin : 5;
5954                u64 reserved_4_7 : 4;
5955                u64 lane_en : 4;
5956        } s;
5957        struct cvmx_ciu_qlm4_s cn68xx;
5958        struct cvmx_ciu_qlm4_s cn68xxp1;
5959};
5960
5961typedef union cvmx_ciu_qlm4 cvmx_ciu_qlm4_t;
5962
5963/**
5964 * cvmx_ciu_qlm_dcok
5965 */
5966union cvmx_ciu_qlm_dcok {
5967        u64 u64;
5968        struct cvmx_ciu_qlm_dcok_s {
5969                u64 reserved_4_63 : 60;
5970                u64 qlm_dcok : 4;
5971        } s;
5972        struct cvmx_ciu_qlm_dcok_cn52xx {
5973                u64 reserved_2_63 : 62;
5974                u64 qlm_dcok : 2;
5975        } cn52xx;
5976        struct cvmx_ciu_qlm_dcok_cn52xx cn52xxp1;
5977        struct cvmx_ciu_qlm_dcok_s cn56xx;
5978        struct cvmx_ciu_qlm_dcok_s cn56xxp1;
5979};
5980
5981typedef union cvmx_ciu_qlm_dcok cvmx_ciu_qlm_dcok_t;
5982
5983/**
5984 * cvmx_ciu_qlm_jtgc
5985 */
5986union cvmx_ciu_qlm_jtgc {
5987        u64 u64;
5988        struct cvmx_ciu_qlm_jtgc_s {
5989                u64 reserved_17_63 : 47;
5990                u64 bypass_ext : 1;
5991                u64 reserved_11_15 : 5;
5992                u64 clk_div : 3;
5993                u64 reserved_7_7 : 1;
5994                u64 mux_sel : 3;
5995                u64 bypass : 4;
5996        } s;
5997        struct cvmx_ciu_qlm_jtgc_cn52xx {
5998                u64 reserved_11_63 : 53;
5999                u64 clk_div : 3;
6000                u64 reserved_5_7 : 3;
6001                u64 mux_sel : 1;
6002                u64 reserved_2_3 : 2;
6003                u64 bypass : 2;
6004        } cn52xx;
6005        struct cvmx_ciu_qlm_jtgc_cn52xx cn52xxp1;
6006        struct cvmx_ciu_qlm_jtgc_cn56xx {
6007                u64 reserved_11_63 : 53;
6008                u64 clk_div : 3;
6009                u64 reserved_6_7 : 2;
6010                u64 mux_sel : 2;
6011                u64 bypass : 4;
6012        } cn56xx;
6013        struct cvmx_ciu_qlm_jtgc_cn56xx cn56xxp1;
6014        struct cvmx_ciu_qlm_jtgc_cn61xx {
6015                u64 reserved_11_63 : 53;
6016                u64 clk_div : 3;
6017                u64 reserved_6_7 : 2;
6018                u64 mux_sel : 2;
6019                u64 reserved_3_3 : 1;
6020                u64 bypass : 3;
6021        } cn61xx;
6022        struct cvmx_ciu_qlm_jtgc_cn61xx cn63xx;
6023        struct cvmx_ciu_qlm_jtgc_cn61xx cn63xxp1;
6024        struct cvmx_ciu_qlm_jtgc_cn61xx cn66xx;
6025        struct cvmx_ciu_qlm_jtgc_s cn68xx;
6026        struct cvmx_ciu_qlm_jtgc_s cn68xxp1;
6027        struct cvmx_ciu_qlm_jtgc_cn61xx cnf71xx;
6028};
6029
6030typedef union cvmx_ciu_qlm_jtgc cvmx_ciu_qlm_jtgc_t;
6031
6032/**
6033 * cvmx_ciu_qlm_jtgd
6034 */
6035union cvmx_ciu_qlm_jtgd {
6036        u64 u64;
6037        struct cvmx_ciu_qlm_jtgd_s {
6038                u64 capture : 1;
6039                u64 shift : 1;
6040                u64 update : 1;
6041                u64 reserved_45_60 : 16;
6042                u64 select : 5;
6043                u64 reserved_37_39 : 3;
6044                u64 shft_cnt : 5;
6045                u64 shft_reg : 32;
6046        } s;
6047        struct cvmx_ciu_qlm_jtgd_cn52xx {
6048                u64 capture : 1;
6049                u64 shift : 1;
6050                u64 update : 1;
6051                u64 reserved_42_60 : 19;
6052                u64 select : 2;
6053                u64 reserved_37_39 : 3;
6054                u64 shft_cnt : 5;
6055                u64 shft_reg : 32;
6056        } cn52xx;
6057        struct cvmx_ciu_qlm_jtgd_cn52xx cn52xxp1;
6058        struct cvmx_ciu_qlm_jtgd_cn56xx {
6059                u64 capture : 1;
6060                u64 shift : 1;
6061                u64 update : 1;
6062                u64 reserved_44_60 : 17;
6063                u64 select : 4;
6064                u64 reserved_37_39 : 3;
6065                u64 shft_cnt : 5;
6066                u64 shft_reg : 32;
6067        } cn56xx;
6068        struct cvmx_ciu_qlm_jtgd_cn56xxp1 {
6069                u64 capture : 1;
6070                u64 shift : 1;
6071                u64 update : 1;
6072                u64 reserved_37_60 : 24;
6073                u64 shft_cnt : 5;
6074                u64 shft_reg : 32;
6075        } cn56xxp1;
6076        struct cvmx_ciu_qlm_jtgd_cn61xx {
6077                u64 capture : 1;
6078                u64 shift : 1;
6079                u64 update : 1;
6080                u64 reserved_43_60 : 18;
6081                u64 select : 3;
6082                u64 reserved_37_39 : 3;
6083                u64 shft_cnt : 5;
6084                u64 shft_reg : 32;
6085        } cn61xx;
6086        struct cvmx_ciu_qlm_jtgd_cn61xx cn63xx;
6087        struct cvmx_ciu_qlm_jtgd_cn61xx cn63xxp1;
6088        struct cvmx_ciu_qlm_jtgd_cn61xx cn66xx;
6089        struct cvmx_ciu_qlm_jtgd_s cn68xx;
6090        struct cvmx_ciu_qlm_jtgd_s cn68xxp1;
6091        struct cvmx_ciu_qlm_jtgd_cn61xx cnf71xx;
6092};
6093
6094typedef union cvmx_ciu_qlm_jtgd cvmx_ciu_qlm_jtgd_t;
6095
6096/**
6097 * cvmx_ciu_soft_bist
6098 */
6099union cvmx_ciu_soft_bist {
6100        u64 u64;
6101        struct cvmx_ciu_soft_bist_s {
6102                u64 reserved_1_63 : 63;
6103                u64 soft_bist : 1;
6104        } s;
6105        struct cvmx_ciu_soft_bist_s cn30xx;
6106        struct cvmx_ciu_soft_bist_s cn31xx;
6107        struct cvmx_ciu_soft_bist_s cn38xx;
6108        struct cvmx_ciu_soft_bist_s cn38xxp2;
6109        struct cvmx_ciu_soft_bist_s cn50xx;
6110        struct cvmx_ciu_soft_bist_s cn52xx;
6111        struct cvmx_ciu_soft_bist_s cn52xxp1;
6112        struct cvmx_ciu_soft_bist_s cn56xx;
6113        struct cvmx_ciu_soft_bist_s cn56xxp1;
6114        struct cvmx_ciu_soft_bist_s cn58xx;
6115        struct cvmx_ciu_soft_bist_s cn58xxp1;
6116        struct cvmx_ciu_soft_bist_s cn61xx;
6117        struct cvmx_ciu_soft_bist_s cn63xx;
6118        struct cvmx_ciu_soft_bist_s cn63xxp1;
6119        struct cvmx_ciu_soft_bist_s cn66xx;
6120        struct cvmx_ciu_soft_bist_s cn68xx;
6121        struct cvmx_ciu_soft_bist_s cn68xxp1;
6122        struct cvmx_ciu_soft_bist_s cn70xx;
6123        struct cvmx_ciu_soft_bist_s cn70xxp1;
6124        struct cvmx_ciu_soft_bist_s cnf71xx;
6125};
6126
6127typedef union cvmx_ciu_soft_bist cvmx_ciu_soft_bist_t;
6128
6129/**
6130 * cvmx_ciu_soft_prst
6131 */
6132union cvmx_ciu_soft_prst {
6133        u64 u64;
6134        struct cvmx_ciu_soft_prst_s {
6135                u64 reserved_3_63 : 61;
6136                u64 host64 : 1;
6137                u64 npi : 1;
6138                u64 soft_prst : 1;
6139        } s;
6140        struct cvmx_ciu_soft_prst_s cn30xx;
6141        struct cvmx_ciu_soft_prst_s cn31xx;
6142        struct cvmx_ciu_soft_prst_s cn38xx;
6143        struct cvmx_ciu_soft_prst_s cn38xxp2;
6144        struct cvmx_ciu_soft_prst_s cn50xx;
6145        struct cvmx_ciu_soft_prst_cn52xx {
6146                u64 reserved_1_63 : 63;
6147                u64 soft_prst : 1;
6148        } cn52xx;
6149        struct cvmx_ciu_soft_prst_cn52xx cn52xxp1;
6150        struct cvmx_ciu_soft_prst_cn52xx cn56xx;
6151        struct cvmx_ciu_soft_prst_cn52xx cn56xxp1;
6152        struct cvmx_ciu_soft_prst_s cn58xx;
6153        struct cvmx_ciu_soft_prst_s cn58xxp1;
6154        struct cvmx_ciu_soft_prst_cn52xx cn61xx;
6155        struct cvmx_ciu_soft_prst_cn52xx cn63xx;
6156        struct cvmx_ciu_soft_prst_cn52xx cn63xxp1;
6157        struct cvmx_ciu_soft_prst_cn52xx cn66xx;
6158        struct cvmx_ciu_soft_prst_cn52xx cn68xx;
6159        struct cvmx_ciu_soft_prst_cn52xx cn68xxp1;
6160        struct cvmx_ciu_soft_prst_cn52xx cnf71xx;
6161};
6162
6163typedef union cvmx_ciu_soft_prst cvmx_ciu_soft_prst_t;
6164
6165/**
6166 * cvmx_ciu_soft_prst1
6167 */
6168union cvmx_ciu_soft_prst1 {
6169        u64 u64;
6170        struct cvmx_ciu_soft_prst1_s {
6171                u64 reserved_1_63 : 63;
6172                u64 soft_prst : 1;
6173        } s;
6174        struct cvmx_ciu_soft_prst1_s cn52xx;
6175        struct cvmx_ciu_soft_prst1_s cn52xxp1;
6176        struct cvmx_ciu_soft_prst1_s cn56xx;
6177        struct cvmx_ciu_soft_prst1_s cn56xxp1;
6178        struct cvmx_ciu_soft_prst1_s cn61xx;
6179        struct cvmx_ciu_soft_prst1_s cn63xx;
6180        struct cvmx_ciu_soft_prst1_s cn63xxp1;
6181        struct cvmx_ciu_soft_prst1_s cn66xx;
6182        struct cvmx_ciu_soft_prst1_s cn68xx;
6183        struct cvmx_ciu_soft_prst1_s cn68xxp1;
6184        struct cvmx_ciu_soft_prst1_s cnf71xx;
6185};
6186
6187typedef union cvmx_ciu_soft_prst1 cvmx_ciu_soft_prst1_t;
6188
6189/**
6190 * cvmx_ciu_soft_prst2
6191 */
6192union cvmx_ciu_soft_prst2 {
6193        u64 u64;
6194        struct cvmx_ciu_soft_prst2_s {
6195                u64 reserved_1_63 : 63;
6196                u64 soft_prst : 1;
6197        } s;
6198        struct cvmx_ciu_soft_prst2_s cn66xx;
6199};
6200
6201typedef union cvmx_ciu_soft_prst2 cvmx_ciu_soft_prst2_t;
6202
6203/**
6204 * cvmx_ciu_soft_prst3
6205 */
6206union cvmx_ciu_soft_prst3 {
6207        u64 u64;
6208        struct cvmx_ciu_soft_prst3_s {
6209                u64 reserved_1_63 : 63;
6210                u64 soft_prst : 1;
6211        } s;
6212        struct cvmx_ciu_soft_prst3_s cn66xx;
6213};
6214
6215typedef union cvmx_ciu_soft_prst3 cvmx_ciu_soft_prst3_t;
6216
6217/**
6218 * cvmx_ciu_soft_rst
6219 */
6220union cvmx_ciu_soft_rst {
6221        u64 u64;
6222        struct cvmx_ciu_soft_rst_s {
6223                u64 reserved_1_63 : 63;
6224                u64 soft_rst : 1;
6225        } s;
6226        struct cvmx_ciu_soft_rst_s cn30xx;
6227        struct cvmx_ciu_soft_rst_s cn31xx;
6228        struct cvmx_ciu_soft_rst_s cn38xx;
6229        struct cvmx_ciu_soft_rst_s cn38xxp2;
6230        struct cvmx_ciu_soft_rst_s cn50xx;
6231        struct cvmx_ciu_soft_rst_s cn52xx;
6232        struct cvmx_ciu_soft_rst_s cn52xxp1;
6233        struct cvmx_ciu_soft_rst_s cn56xx;
6234        struct cvmx_ciu_soft_rst_s cn56xxp1;
6235        struct cvmx_ciu_soft_rst_s cn58xx;
6236        struct cvmx_ciu_soft_rst_s cn58xxp1;
6237        struct cvmx_ciu_soft_rst_s cn61xx;
6238        struct cvmx_ciu_soft_rst_s cn63xx;
6239        struct cvmx_ciu_soft_rst_s cn63xxp1;
6240        struct cvmx_ciu_soft_rst_s cn66xx;
6241        struct cvmx_ciu_soft_rst_s cn68xx;
6242        struct cvmx_ciu_soft_rst_s cn68xxp1;
6243        struct cvmx_ciu_soft_rst_s cnf71xx;
6244};
6245
6246typedef union cvmx_ciu_soft_rst cvmx_ciu_soft_rst_t;
6247
6248/**
6249 * cvmx_ciu_sum1_io#_int
6250 *
6251 * CIU_SUM1_IO0_INT is for PEM0, CIU_SUM1_IO1_INT is reserved.
6252 *
6253 */
6254union cvmx_ciu_sum1_iox_int {
6255        u64 u64;
6256        struct cvmx_ciu_sum1_iox_int_s {
6257                u64 rst : 1;
6258                u64 reserved_62_62 : 1;
6259                u64 srio3 : 1;
6260                u64 srio2 : 1;
6261                u64 reserved_57_59 : 3;
6262                u64 dfm : 1;
6263                u64 reserved_53_55 : 3;
6264                u64 lmc0 : 1;
6265                u64 reserved_50_51 : 2;
6266                u64 pem1 : 1;
6267                u64 pem0 : 1;
6268                u64 ptp : 1;
6269                u64 agl : 1;
6270                u64 reserved_41_45 : 5;
6271                u64 dpi_dma : 1;
6272                u64 reserved_38_39 : 2;
6273                u64 agx1 : 1;
6274                u64 agx0 : 1;
6275                u64 dpi : 1;
6276                u64 sli : 1;
6277                u64 usb : 1;
6278                u64 dfa : 1;
6279                u64 key : 1;
6280                u64 rad : 1;
6281                u64 tim : 1;
6282                u64 zip : 1;
6283                u64 pko : 1;
6284                u64 pip : 1;
6285                u64 ipd : 1;
6286                u64 l2c : 1;
6287                u64 pow : 1;
6288                u64 fpa : 1;
6289                u64 iob : 1;
6290                u64 mio : 1;
6291                u64 nand : 1;
6292                u64 mii1 : 1;
6293                u64 usb1 : 1;
6294                u64 reserved_10_16 : 7;
6295                u64 wdog : 10;
6296        } s;
6297        struct cvmx_ciu_sum1_iox_int_cn61xx {
6298                u64 rst : 1;
6299                u64 reserved_53_62 : 10;
6300                u64 lmc0 : 1;
6301                u64 reserved_50_51 : 2;
6302                u64 pem1 : 1;
6303                u64 pem0 : 1;
6304                u64 ptp : 1;
6305                u64 agl : 1;
6306                u64 reserved_41_45 : 5;
6307                u64 dpi_dma : 1;
6308                u64 reserved_38_39 : 2;
6309                u64 agx1 : 1;
6310                u64 agx0 : 1;
6311                u64 dpi : 1;
6312                u64 sli : 1;
6313                u64 usb : 1;
6314                u64 dfa : 1;
6315                u64 key : 1;
6316                u64 rad : 1;
6317                u64 tim : 1;
6318                u64 zip : 1;
6319                u64 pko : 1;
6320                u64 pip : 1;
6321                u64 ipd : 1;
6322                u64 l2c : 1;
6323                u64 pow : 1;
6324                u64 fpa : 1;
6325                u64 iob : 1;
6326                u64 mio : 1;
6327                u64 nand : 1;
6328                u64 mii1 : 1;
6329                u64 reserved_4_17 : 14;
6330                u64 wdog : 4;
6331        } cn61xx;
6332        struct cvmx_ciu_sum1_iox_int_cn66xx {
6333                u64 rst : 1;
6334                u64 reserved_62_62 : 1;
6335                u64 srio3 : 1;
6336                u64 srio2 : 1;
6337                u64 reserved_57_59 : 3;
6338                u64 dfm : 1;
6339                u64 reserved_53_55 : 3;
6340                u64 lmc0 : 1;
6341                u64 reserved_51_51 : 1;
6342                u64 srio0 : 1;
6343                u64 pem1 : 1;
6344                u64 pem0 : 1;
6345                u64 ptp : 1;
6346                u64 agl : 1;
6347                u64 reserved_38_45 : 8;
6348                u64 agx1 : 1;
6349                u64 agx0 : 1;
6350                u64 dpi : 1;
6351                u64 sli : 1;
6352                u64 usb : 1;
6353                u64 dfa : 1;
6354                u64 key : 1;
6355                u64 rad : 1;
6356                u64 tim : 1;
6357                u64 zip : 1;
6358                u64 pko : 1;
6359                u64 pip : 1;
6360                u64 ipd : 1;
6361                u64 l2c : 1;
6362                u64 pow : 1;
6363                u64 fpa : 1;
6364                u64 iob : 1;
6365                u64 mio : 1;
6366                u64 nand : 1;
6367                u64 mii1 : 1;
6368                u64 reserved_10_17 : 8;
6369                u64 wdog : 10;
6370        } cn66xx;
6371        struct cvmx_ciu_sum1_iox_int_cn70xx {
6372                u64 rst : 1;
6373                u64 reserved_53_62 : 10;
6374                u64 lmc0 : 1;
6375                u64 reserved_51_51 : 1;
6376                u64 pem2 : 1;
6377                u64 pem1 : 1;
6378                u64 pem0 : 1;
6379                u64 ptp : 1;
6380                u64 agl : 1;
6381                u64 reserved_41_45 : 5;
6382                u64 dpi_dma : 1;
6383                u64 reserved_38_39 : 2;
6384                u64 agx1 : 1;
6385                u64 agx0 : 1;
6386                u64 dpi : 1;
6387                u64 sli : 1;
6388                u64 usb : 1;
6389                u64 dfa : 1;
6390                u64 key : 1;
6391                u64 rad : 1;
6392                u64 tim : 1;
6393                u64 reserved_28_28 : 1;
6394                u64 pko : 1;
6395                u64 pip : 1;
6396                u64 ipd : 1;
6397                u64 l2c : 1;
6398                u64 pow : 1;
6399                u64 fpa : 1;
6400                u64 iob : 1;
6401                u64 mio : 1;
6402                u64 nand : 1;
6403                u64 reserved_18_18 : 1;
6404                u64 usb1 : 1;
6405                u64 reserved_4_16 : 13;
6406                u64 wdog : 4;
6407        } cn70xx;
6408        struct cvmx_ciu_sum1_iox_int_cn70xx cn70xxp1;
6409        struct cvmx_ciu_sum1_iox_int_cnf71xx {
6410                u64 rst : 1;
6411                u64 reserved_53_62 : 10;
6412                u64 lmc0 : 1;
6413                u64 reserved_50_51 : 2;
6414                u64 pem1 : 1;
6415                u64 pem0 : 1;
6416                u64 ptp : 1;
6417                u64 reserved_41_46 : 6;
6418                u64 dpi_dma : 1;
6419                u64 reserved_37_39 : 3;
6420                u64 agx0 : 1;
6421                u64 dpi : 1;
6422                u64 sli : 1;
6423                u64 usb : 1;
6424                u64 reserved_32_32 : 1;
6425                u64 key : 1;
6426                u64 rad : 1;
6427                u64 tim : 1;
6428                u64 reserved_28_28 : 1;
6429                u64 pko : 1;
6430                u64 pip : 1;
6431                u64 ipd : 1;
6432                u64 l2c : 1;
6433                u64 pow : 1;
6434                u64 fpa : 1;
6435                u64 iob : 1;
6436                u64 mio : 1;
6437                u64 nand : 1;
6438                u64 reserved_4_18 : 15;
6439                u64 wdog : 4;
6440        } cnf71xx;
6441};
6442
6443typedef union cvmx_ciu_sum1_iox_int cvmx_ciu_sum1_iox_int_t;
6444
6445/**
6446 * cvmx_ciu_sum1_pp#_ip2
6447 *
6448 * SUM1 becomes per IPx in o65/6 and afterwards. Only Field <40> DPI_DMA will have
6449 * different value per PP(IP) for  $CIU_SUM1_PPx_IPy, and <40> DPI_DMA will always
6450 * be zero for  $CIU_SUM1_IOX_INT. All other fields ([63:41] and [39:0]) values  are idential for
6451 * different PPs, same value as $CIU_INT_SUM1.
6452 * Write to any IRQ's PTP fields will clear PTP for all IRQ's PTP field.
6453 */
6454union cvmx_ciu_sum1_ppx_ip2 {
6455        u64 u64;
6456        struct cvmx_ciu_sum1_ppx_ip2_s {
6457                u64 rst : 1;
6458                u64 reserved_62_62 : 1;
6459                u64 srio3 : 1;
6460                u64 srio2 : 1;
6461                u64 reserved_57_59 : 3;
6462                u64 dfm : 1;
6463                u64 reserved_53_55 : 3;
6464                u64 lmc0 : 1;
6465                u64 reserved_50_51 : 2;
6466                u64 pem1 : 1;
6467                u64 pem0 : 1;
6468                u64 ptp : 1;
6469                u64 agl : 1;
6470                u64 reserved_41_45 : 5;
6471                u64 dpi_dma : 1;
6472                u64 reserved_38_39 : 2;
6473                u64 agx1 : 1;
6474                u64 agx0 : 1;
6475                u64 dpi : 1;
6476                u64 sli : 1;
6477                u64 usb : 1;
6478                u64 dfa : 1;
6479                u64 key : 1;
6480                u64 rad : 1;
6481                u64 tim : 1;
6482                u64 zip : 1;
6483                u64 pko : 1;
6484                u64 pip : 1;
6485                u64 ipd : 1;
6486                u64 l2c : 1;
6487                u64 pow : 1;
6488                u64 fpa : 1;
6489                u64 iob : 1;
6490                u64 mio : 1;
6491                u64 nand : 1;
6492                u64 mii1 : 1;
6493                u64 usb1 : 1;
6494                u64 reserved_10_16 : 7;
6495                u64 wdog : 10;
6496        } s;
6497        struct cvmx_ciu_sum1_ppx_ip2_cn61xx {
6498                u64 rst : 1;
6499                u64 reserved_53_62 : 10;
6500                u64 lmc0 : 1;
6501                u64 reserved_50_51 : 2;
6502                u64 pem1 : 1;
6503                u64 pem0 : 1;
6504                u64 ptp : 1;
6505                u64 agl : 1;
6506                u64 reserved_41_45 : 5;
6507                u64 dpi_dma : 1;
6508                u64 reserved_38_39 : 2;
6509                u64 agx1 : 1;
6510                u64 agx0 : 1;
6511                u64 dpi : 1;
6512                u64 sli : 1;
6513                u64 usb : 1;
6514                u64 dfa : 1;
6515                u64 key : 1;
6516                u64 rad : 1;
6517                u64 tim : 1;
6518                u64 zip : 1;
6519                u64 pko : 1;
6520                u64 pip : 1;
6521                u64 ipd : 1;
6522                u64 l2c : 1;
6523                u64 pow : 1;
6524                u64 fpa : 1;
6525                u64 iob : 1;
6526                u64 mio : 1;
6527                u64 nand : 1;
6528                u64 mii1 : 1;
6529                u64 reserved_4_17 : 14;
6530                u64 wdog : 4;
6531        } cn61xx;
6532        struct cvmx_ciu_sum1_ppx_ip2_cn66xx {
6533                u64 rst : 1;
6534                u64 reserved_62_62 : 1;
6535                u64 srio3 : 1;
6536                u64 srio2 : 1;
6537                u64 reserved_57_59 : 3;
6538                u64 dfm : 1;
6539                u64 reserved_53_55 : 3;
6540                u64 lmc0 : 1;
6541                u64 reserved_51_51 : 1;
6542                u64 srio0 : 1;
6543                u64 pem1 : 1;
6544                u64 pem0 : 1;
6545                u64 ptp : 1;
6546                u64 agl : 1;
6547                u64 reserved_38_45 : 8;
6548                u64 agx1 : 1;
6549                u64 agx0 : 1;
6550                u64 dpi : 1;
6551                u64 sli : 1;
6552                u64 usb : 1;
6553                u64 dfa : 1;
6554                u64 key : 1;
6555                u64 rad : 1;
6556                u64 tim : 1;
6557                u64 zip : 1;
6558                u64 pko : 1;
6559                u64 pip : 1;
6560                u64 ipd : 1;
6561                u64 l2c : 1;
6562                u64 pow : 1;
6563                u64 fpa : 1;
6564                u64 iob : 1;
6565                u64 mio : 1;
6566                u64 nand : 1;
6567                u64 mii1 : 1;
6568                u64 reserved_10_17 : 8;
6569                u64 wdog : 10;
6570        } cn66xx;
6571        struct cvmx_ciu_sum1_ppx_ip2_cn70xx {
6572                u64 rst : 1;
6573                u64 reserved_53_62 : 10;
6574                u64 lmc0 : 1;
6575                u64 reserved_51_51 : 1;
6576                u64 pem2 : 1;
6577                u64 pem1 : 1;
6578                u64 pem0 : 1;
6579                u64 ptp : 1;
6580                u64 agl : 1;
6581                u64 reserved_41_45 : 5;
6582                u64 dpi_dma : 1;
6583                u64 reserved_38_39 : 2;
6584                u64 agx1 : 1;
6585                u64 agx0 : 1;
6586                u64 dpi : 1;
6587                u64 sli : 1;
6588                u64 usb : 1;
6589                u64 dfa : 1;
6590                u64 key : 1;
6591                u64 rad : 1;
6592                u64 tim : 1;
6593                u64 reserved_28_28 : 1;
6594                u64 pko : 1;
6595                u64 pip : 1;
6596                u64 ipd : 1;
6597                u64 l2c : 1;
6598                u64 pow : 1;
6599                u64 fpa : 1;
6600                u64 iob : 1;
6601                u64 mio : 1;
6602                u64 nand : 1;
6603                u64 reserved_18_18 : 1;
6604                u64 usb1 : 1;
6605                u64 reserved_4_16 : 13;
6606                u64 wdog : 4;
6607        } cn70xx;
6608        struct cvmx_ciu_sum1_ppx_ip2_cn70xx cn70xxp1;
6609        struct cvmx_ciu_sum1_ppx_ip2_cnf71xx {
6610                u64 rst : 1;
6611                u64 reserved_53_62 : 10;
6612                u64 lmc0 : 1;
6613                u64 reserved_50_51 : 2;
6614                u64 pem1 : 1;
6615                u64 pem0 : 1;
6616                u64 ptp : 1;
6617                u64 reserved_41_46 : 6;
6618                u64 dpi_dma : 1;
6619                u64 reserved_37_39 : 3;
6620                u64 agx0 : 1;
6621                u64 dpi : 1;
6622                u64 sli : 1;
6623                u64 usb : 1;
6624                u64 reserved_32_32 : 1;
6625                u64 key : 1;
6626                u64 rad : 1;
6627                u64 tim : 1;
6628                u64 reserved_28_28 : 1;
6629                u64 pko : 1;
6630                u64 pip : 1;
6631                u64 ipd : 1;
6632                u64 l2c : 1;
6633                u64 pow : 1;
6634                u64 fpa : 1;
6635                u64 iob : 1;
6636                u64 mio : 1;
6637                u64 nand : 1;
6638                u64 reserved_4_18 : 15;
6639                u64 wdog : 4;
6640        } cnf71xx;
6641};
6642
6643typedef union cvmx_ciu_sum1_ppx_ip2 cvmx_ciu_sum1_ppx_ip2_t;
6644
6645/**
6646 * cvmx_ciu_sum1_pp#_ip3
6647 *
6648 * Notes:
6649 * SUM1 becomes per IPx in o65/6 and afterwards. Only Field <40> DPI_DMA will have
6650 * different value per PP(IP) for  $CIU_SUM1_PPx_IPy, and <40> DPI_DMA will always
6651 * be zero for  $CIU_SUM1_IOX_INT. All other fields ([63:41] and [39:0]) values  are idential for
6652 * different PPs, same value as $CIU_INT_SUM1.
6653 * Write to any IRQ's PTP fields will clear PTP for all IRQ's PTP field.
6654 */
6655union cvmx_ciu_sum1_ppx_ip3 {
6656        u64 u64;
6657        struct cvmx_ciu_sum1_ppx_ip3_s {
6658                u64 rst : 1;
6659                u64 reserved_62_62 : 1;
6660                u64 srio3 : 1;
6661                u64 srio2 : 1;
6662                u64 reserved_57_59 : 3;
6663                u64 dfm : 1;
6664                u64 reserved_53_55 : 3;
6665                u64 lmc0 : 1;
6666                u64 reserved_50_51 : 2;
6667                u64 pem1 : 1;
6668                u64 pem0 : 1;
6669                u64 ptp : 1;
6670                u64 agl : 1;
6671                u64 reserved_41_45 : 5;
6672                u64 dpi_dma : 1;
6673                u64 reserved_38_39 : 2;
6674                u64 agx1 : 1;
6675                u64 agx0 : 1;
6676                u64 dpi : 1;
6677                u64 sli : 1;
6678                u64 usb : 1;
6679                u64 dfa : 1;
6680                u64 key : 1;
6681                u64 rad : 1;
6682                u64 tim : 1;
6683                u64 zip : 1;
6684                u64 pko : 1;
6685                u64 pip : 1;
6686                u64 ipd : 1;
6687                u64 l2c : 1;
6688                u64 pow : 1;
6689                u64 fpa : 1;
6690                u64 iob : 1;
6691                u64 mio : 1;
6692                u64 nand : 1;
6693                u64 mii1 : 1;
6694                u64 usb1 : 1;
6695                u64 reserved_10_16 : 7;
6696                u64 wdog : 10;
6697        } s;
6698        struct cvmx_ciu_sum1_ppx_ip3_cn61xx {
6699                u64 rst : 1;
6700                u64 reserved_53_62 : 10;
6701                u64 lmc0 : 1;
6702                u64 reserved_50_51 : 2;
6703                u64 pem1 : 1;
6704                u64 pem0 : 1;
6705                u64 ptp : 1;
6706                u64 agl : 1;
6707                u64 reserved_41_45 : 5;
6708                u64 dpi_dma : 1;
6709                u64 reserved_38_39 : 2;
6710                u64 agx1 : 1;
6711                u64 agx0 : 1;
6712                u64 dpi : 1;
6713                u64 sli : 1;
6714                u64 usb : 1;
6715                u64 dfa : 1;
6716                u64 key : 1;
6717                u64 rad : 1;
6718                u64 tim : 1;
6719                u64 zip : 1;
6720                u64 pko : 1;
6721                u64 pip : 1;
6722                u64 ipd : 1;
6723                u64 l2c : 1;
6724                u64 pow : 1;
6725                u64 fpa : 1;
6726                u64 iob : 1;
6727                u64 mio : 1;
6728                u64 nand : 1;
6729                u64 mii1 : 1;
6730                u64 reserved_4_17 : 14;
6731                u64 wdog : 4;
6732        } cn61xx;
6733        struct cvmx_ciu_sum1_ppx_ip3_cn66xx {
6734                u64 rst : 1;
6735                u64 reserved_62_62 : 1;
6736                u64 srio3 : 1;
6737                u64 srio2 : 1;
6738                u64 reserved_57_59 : 3;
6739                u64 dfm : 1;
6740                u64 reserved_53_55 : 3;
6741                u64 lmc0 : 1;
6742                u64 reserved_51_51 : 1;
6743                u64 srio0 : 1;
6744                u64 pem1 : 1;
6745                u64 pem0 : 1;
6746                u64 ptp : 1;
6747                u64 agl : 1;
6748                u64 reserved_38_45 : 8;
6749                u64 agx1 : 1;
6750                u64 agx0 : 1;
6751                u64 dpi : 1;
6752                u64 sli : 1;
6753                u64 usb : 1;
6754                u64 dfa : 1;
6755                u64 key : 1;
6756                u64 rad : 1;
6757                u64 tim : 1;
6758                u64 zip : 1;
6759                u64 pko : 1;
6760                u64 pip : 1;
6761                u64 ipd : 1;
6762                u64 l2c : 1;
6763                u64 pow : 1;
6764                u64 fpa : 1;
6765                u64 iob : 1;
6766                u64 mio : 1;
6767                u64 nand : 1;
6768                u64 mii1 : 1;
6769                u64 reserved_10_17 : 8;
6770                u64 wdog : 10;
6771        } cn66xx;
6772        struct cvmx_ciu_sum1_ppx_ip3_cn70xx {
6773                u64 rst : 1;
6774                u64 reserved_53_62 : 10;
6775                u64 lmc0 : 1;
6776                u64 reserved_51_51 : 1;
6777                u64 pem2 : 1;
6778                u64 pem1 : 1;
6779                u64 pem0 : 1;
6780                u64 ptp : 1;
6781                u64 agl : 1;
6782                u64 reserved_41_45 : 5;
6783                u64 dpi_dma : 1;
6784                u64 reserved_38_39 : 2;
6785                u64 agx1 : 1;
6786                u64 agx0 : 1;
6787                u64 dpi : 1;
6788                u64 sli : 1;
6789                u64 usb : 1;
6790                u64 dfa : 1;
6791                u64 key : 1;
6792                u64 rad : 1;
6793                u64 tim : 1;
6794                u64 reserved_28_28 : 1;
6795                u64 pko : 1;
6796                u64 pip : 1;
6797                u64 ipd : 1;
6798                u64 l2c : 1;
6799                u64 pow : 1;
6800                u64 fpa : 1;
6801                u64 iob : 1;
6802                u64 mio : 1;
6803                u64 nand : 1;
6804                u64 reserved_18_18 : 1;
6805                u64 usb1 : 1;
6806                u64 reserved_4_16 : 13;
6807                u64 wdog : 4;
6808        } cn70xx;
6809        struct cvmx_ciu_sum1_ppx_ip3_cn70xx cn70xxp1;
6810        struct cvmx_ciu_sum1_ppx_ip3_cnf71xx {
6811                u64 rst : 1;
6812                u64 reserved_53_62 : 10;
6813                u64 lmc0 : 1;
6814                u64 reserved_50_51 : 2;
6815                u64 pem1 : 1;
6816                u64 pem0 : 1;
6817                u64 ptp : 1;
6818                u64 reserved_41_46 : 6;
6819                u64 dpi_dma : 1;
6820                u64 reserved_37_39 : 3;
6821                u64 agx0 : 1;
6822                u64 dpi : 1;
6823                u64 sli : 1;
6824                u64 usb : 1;
6825                u64 reserved_32_32 : 1;
6826                u64 key : 1;
6827                u64 rad : 1;
6828                u64 tim : 1;
6829                u64 reserved_28_28 : 1;
6830                u64 pko : 1;
6831                u64 pip : 1;
6832                u64 ipd : 1;
6833                u64 l2c : 1;
6834                u64 pow : 1;
6835                u64 fpa : 1;
6836                u64 iob : 1;
6837                u64 mio : 1;
6838                u64 nand : 1;
6839                u64 reserved_4_18 : 15;
6840                u64 wdog : 4;
6841        } cnf71xx;
6842};
6843
6844typedef union cvmx_ciu_sum1_ppx_ip3 cvmx_ciu_sum1_ppx_ip3_t;
6845
6846/**
6847 * cvmx_ciu_sum1_pp#_ip4
6848 *
6849 * Notes:
6850 * SUM1 becomes per IPx in o65/6 and afterwards. Only Field <40> DPI_DMA will have
6851 * different value per PP(IP) for  $CIU_SUM1_PPx_IPy, and <40> DPI_DMA will always
6852 * be zero for  $CIU_SUM1_IOX_INT. All other fields ([63:41] and [39:0]) values  are idential for
6853 * different PPs, same value as $CIU_INT_SUM1.
6854 * Write to any IRQ's PTP fields will clear PTP for all IRQ's PTP field.
6855 */
6856union cvmx_ciu_sum1_ppx_ip4 {
6857        u64 u64;
6858        struct cvmx_ciu_sum1_ppx_ip4_s {
6859                u64 rst : 1;
6860                u64 reserved_62_62 : 1;
6861                u64 srio3 : 1;
6862                u64 srio2 : 1;
6863                u64 reserved_57_59 : 3;
6864                u64 dfm : 1;
6865                u64 reserved_53_55 : 3;
6866                u64 lmc0 : 1;
6867                u64 reserved_50_51 : 2;
6868                u64 pem1 : 1;
6869                u64 pem0 : 1;
6870                u64 ptp : 1;
6871                u64 agl : 1;
6872                u64 reserved_41_45 : 5;
6873                u64 dpi_dma : 1;
6874                u64 reserved_38_39 : 2;
6875                u64 agx1 : 1;
6876                u64 agx0 : 1;
6877                u64 dpi : 1;
6878                u64 sli : 1;
6879                u64 usb : 1;
6880                u64 dfa : 1;
6881                u64 key : 1;
6882                u64 rad : 1;
6883                u64 tim : 1;
6884                u64 zip : 1;
6885                u64 pko : 1;
6886                u64 pip : 1;
6887                u64 ipd : 1;
6888                u64 l2c : 1;
6889                u64 pow : 1;
6890                u64 fpa : 1;
6891                u64 iob : 1;
6892                u64 mio : 1;
6893                u64 nand : 1;
6894                u64 mii1 : 1;
6895                u64 usb1 : 1;
6896                u64 reserved_10_16 : 7;
6897                u64 wdog : 10;
6898        } s;
6899        struct cvmx_ciu_sum1_ppx_ip4_cn61xx {
6900                u64 rst : 1;
6901                u64 reserved_53_62 : 10;
6902                u64 lmc0 : 1;
6903                u64 reserved_50_51 : 2;
6904                u64 pem1 : 1;
6905                u64 pem0 : 1;
6906                u64 ptp : 1;
6907                u64 agl : 1;
6908                u64 reserved_41_45 : 5;
6909                u64 dpi_dma : 1;
6910                u64 reserved_38_39 : 2;
6911                u64 agx1 : 1;
6912                u64 agx0 : 1;
6913                u64 dpi : 1;
6914                u64 sli : 1;
6915                u64 usb : 1;
6916                u64 dfa : 1;
6917                u64 key : 1;
6918                u64 rad : 1;
6919                u64 tim : 1;
6920                u64 zip : 1;
6921                u64 pko : 1;
6922                u64 pip : 1;
6923                u64 ipd : 1;
6924                u64 l2c : 1;
6925                u64 pow : 1;
6926                u64 fpa : 1;
6927                u64 iob : 1;
6928                u64 mio : 1;
6929                u64 nand : 1;
6930                u64 mii1 : 1;
6931                u64 reserved_4_17 : 14;
6932                u64 wdog : 4;
6933        } cn61xx;
6934        struct cvmx_ciu_sum1_ppx_ip4_cn66xx {
6935                u64 rst : 1;
6936                u64 reserved_62_62 : 1;
6937                u64 srio3 : 1;
6938                u64 srio2 : 1;
6939                u64 reserved_57_59 : 3;
6940                u64 dfm : 1;
6941                u64 reserved_53_55 : 3;
6942                u64 lmc0 : 1;
6943                u64 reserved_51_51 : 1;
6944                u64 srio0 : 1;
6945                u64 pem1 : 1;
6946                u64 pem0 : 1;
6947                u64 ptp : 1;
6948                u64 agl : 1;
6949                u64 reserved_38_45 : 8;
6950                u64 agx1 : 1;
6951                u64 agx0 : 1;
6952                u64 dpi : 1;
6953                u64 sli : 1;
6954                u64 usb : 1;
6955                u64 dfa : 1;
6956                u64 key : 1;
6957                u64 rad : 1;
6958                u64 tim : 1;
6959                u64 zip : 1;
6960                u64 pko : 1;
6961                u64 pip : 1;
6962                u64 ipd : 1;
6963                u64 l2c : 1;
6964                u64 pow : 1;
6965                u64 fpa : 1;
6966                u64 iob : 1;
6967                u64 mio : 1;
6968                u64 nand : 1;
6969                u64 mii1 : 1;
6970                u64 reserved_10_17 : 8;
6971                u64 wdog : 10;
6972        } cn66xx;
6973        struct cvmx_ciu_sum1_ppx_ip4_cn70xx {
6974                u64 rst : 1;
6975                u64 reserved_53_62 : 10;
6976                u64 lmc0 : 1;
6977                u64 reserved_51_51 : 1;
6978                u64 pem2 : 1;
6979                u64 pem1 : 1;
6980                u64 pem0 : 1;
6981                u64 ptp : 1;
6982                u64 agl : 1;
6983                u64 reserved_41_45 : 5;
6984                u64 dpi_dma : 1;
6985                u64 reserved_38_39 : 2;
6986                u64 agx1 : 1;
6987                u64 agx0 : 1;
6988                u64 dpi : 1;
6989                u64 sli : 1;
6990                u64 usb : 1;
6991                u64 dfa : 1;
6992                u64 key : 1;
6993                u64 rad : 1;
6994                u64 tim : 1;
6995                u64 reserved_28_28 : 1;
6996                u64 pko : 1;
6997                u64 pip : 1;
6998                u64 ipd : 1;
6999                u64 l2c : 1;
7000                u64 pow : 1;
7001                u64 fpa : 1;
7002                u64 iob : 1;
7003                u64 mio : 1;
7004                u64 nand : 1;
7005                u64 reserved_18_18 : 1;
7006                u64 usb1 : 1;
7007                u64 reserved_4_16 : 13;
7008                u64 wdog : 4;
7009        } cn70xx;
7010        struct cvmx_ciu_sum1_ppx_ip4_cn70xx cn70xxp1;
7011        struct cvmx_ciu_sum1_ppx_ip4_cnf71xx {
7012                u64 rst : 1;
7013                u64 reserved_53_62 : 10;
7014                u64 lmc0 : 1;
7015                u64 reserved_50_51 : 2;
7016                u64 pem1 : 1;
7017                u64 pem0 : 1;
7018                u64 ptp : 1;
7019                u64 reserved_41_46 : 6;
7020                u64 dpi_dma : 1;
7021                u64 reserved_37_39 : 3;
7022                u64 agx0 : 1;
7023                u64 dpi : 1;
7024                u64 sli : 1;
7025                u64 usb : 1;
7026                u64 reserved_32_32 : 1;
7027                u64 key : 1;
7028                u64 rad : 1;
7029                u64 tim : 1;
7030                u64 reserved_28_28 : 1;
7031                u64 pko : 1;
7032                u64 pip : 1;
7033                u64 ipd : 1;
7034                u64 l2c : 1;
7035                u64 pow : 1;
7036                u64 fpa : 1;
7037                u64 iob : 1;
7038                u64 mio : 1;
7039                u64 nand : 1;
7040                u64 reserved_4_18 : 15;
7041                u64 wdog : 4;
7042        } cnf71xx;
7043};
7044
7045typedef union cvmx_ciu_sum1_ppx_ip4 cvmx_ciu_sum1_ppx_ip4_t;
7046
7047/**
7048 * cvmx_ciu_sum2_io#_int
7049 *
7050 * CIU_SUM2_IO0_INT is for PEM0, CIU_SUM2_IO1_INT is reserved.
7051 *
7052 */
7053union cvmx_ciu_sum2_iox_int {
7054        u64 u64;
7055        struct cvmx_ciu_sum2_iox_int_s {
7056                u64 reserved_20_63 : 44;
7057                u64 bch : 1;
7058                u64 agl_drp : 1;
7059                u64 ocla : 1;
7060                u64 sata : 1;
7061                u64 reserved_15_15 : 1;
7062                u64 endor : 2;
7063                u64 eoi : 1;
7064                u64 reserved_10_11 : 2;
7065                u64 timer : 6;
7066                u64 reserved_0_3 : 4;
7067        } s;
7068        struct cvmx_ciu_sum2_iox_int_cn61xx {
7069                u64 reserved_10_63 : 54;
7070                u64 timer : 6;
7071                u64 reserved_0_3 : 4;
7072        } cn61xx;
7073        struct cvmx_ciu_sum2_iox_int_cn61xx cn66xx;
7074        struct cvmx_ciu_sum2_iox_int_cn70xx {
7075                u64 reserved_20_63 : 44;
7076                u64 bch : 1;
7077                u64 agl_drp : 1;
7078                u64 ocla : 1;
7079                u64 sata : 1;
7080                u64 reserved_10_15 : 6;
7081                u64 timer : 6;
7082                u64 reserved_0_3 : 4;
7083        } cn70xx;
7084        struct cvmx_ciu_sum2_iox_int_cn70xx cn70xxp1;
7085        struct cvmx_ciu_sum2_iox_int_cnf71xx {
7086                u64 reserved_15_63 : 49;
7087                u64 endor : 2;
7088                u64 eoi : 1;
7089                u64 reserved_10_11 : 2;
7090                u64 timer : 6;
7091                u64 reserved_0_3 : 4;
7092        } cnf71xx;
7093};
7094
7095typedef union cvmx_ciu_sum2_iox_int cvmx_ciu_sum2_iox_int_t;
7096
7097/**
7098 * cvmx_ciu_sum2_pp#_ip2
7099 *
7100 * Only TIMER field may have different value per PP(IP).
7101 * All other fields  values  are idential for different PPs.
7102 */
7103union cvmx_ciu_sum2_ppx_ip2 {
7104        u64 u64;
7105        struct cvmx_ciu_sum2_ppx_ip2_s {
7106                u64 reserved_20_63 : 44;
7107                u64 bch : 1;
7108                u64 agl_drp : 1;
7109                u64 ocla : 1;
7110                u64 sata : 1;
7111                u64 reserved_15_15 : 1;
7112                u64 endor : 2;
7113                u64 eoi : 1;
7114                u64 reserved_10_11 : 2;
7115                u64 timer : 6;
7116                u64 reserved_0_3 : 4;
7117        } s;
7118        struct cvmx_ciu_sum2_ppx_ip2_cn61xx {
7119                u64 reserved_10_63 : 54;
7120                u64 timer : 6;
7121                u64 reserved_0_3 : 4;
7122        } cn61xx;
7123        struct cvmx_ciu_sum2_ppx_ip2_cn61xx cn66xx;
7124        struct cvmx_ciu_sum2_ppx_ip2_cn70xx {
7125                u64 reserved_20_63 : 44;
7126                u64 bch : 1;
7127                u64 agl_drp : 1;
7128                u64 ocla : 1;
7129                u64 sata : 1;
7130                u64 reserved_10_15 : 6;
7131                u64 timer : 6;
7132                u64 reserved_0_3 : 4;
7133        } cn70xx;
7134        struct cvmx_ciu_sum2_ppx_ip2_cn70xx cn70xxp1;
7135        struct cvmx_ciu_sum2_ppx_ip2_cnf71xx {
7136                u64 reserved_15_63 : 49;
7137                u64 endor : 2;
7138                u64 eoi : 1;
7139                u64 reserved_10_11 : 2;
7140                u64 timer : 6;
7141                u64 reserved_0_3 : 4;
7142        } cnf71xx;
7143};
7144
7145typedef union cvmx_ciu_sum2_ppx_ip2 cvmx_ciu_sum2_ppx_ip2_t;
7146
7147/**
7148 * cvmx_ciu_sum2_pp#_ip3
7149 *
7150 * Notes:
7151 * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
7152 *
7153 */
7154union cvmx_ciu_sum2_ppx_ip3 {
7155        u64 u64;
7156        struct cvmx_ciu_sum2_ppx_ip3_s {
7157                u64 reserved_20_63 : 44;
7158                u64 bch : 1;
7159                u64 agl_drp : 1;
7160                u64 ocla : 1;
7161                u64 sata : 1;
7162                u64 reserved_15_15 : 1;
7163                u64 endor : 2;
7164                u64 eoi : 1;
7165                u64 reserved_10_11 : 2;
7166                u64 timer : 6;
7167                u64 reserved_0_3 : 4;
7168        } s;
7169        struct cvmx_ciu_sum2_ppx_ip3_cn61xx {
7170                u64 reserved_10_63 : 54;
7171                u64 timer : 6;
7172                u64 reserved_0_3 : 4;
7173        } cn61xx;
7174        struct cvmx_ciu_sum2_ppx_ip3_cn61xx cn66xx;
7175        struct cvmx_ciu_sum2_ppx_ip3_cn70xx {
7176                u64 reserved_20_63 : 44;
7177                u64 bch : 1;
7178                u64 agl_drp : 1;
7179                u64 ocla : 1;
7180                u64 sata : 1;
7181                u64 reserved_10_15 : 6;
7182                u64 timer : 6;
7183                u64 reserved_0_3 : 4;
7184        } cn70xx;
7185        struct cvmx_ciu_sum2_ppx_ip3_cn70xx cn70xxp1;
7186        struct cvmx_ciu_sum2_ppx_ip3_cnf71xx {
7187                u64 reserved_15_63 : 49;
7188                u64 endor : 2;
7189                u64 eoi : 1;
7190                u64 reserved_10_11 : 2;
7191                u64 timer : 6;
7192                u64 reserved_0_3 : 4;
7193        } cnf71xx;
7194};
7195
7196typedef union cvmx_ciu_sum2_ppx_ip3 cvmx_ciu_sum2_ppx_ip3_t;
7197
7198/**
7199 * cvmx_ciu_sum2_pp#_ip4
7200 *
7201 * Notes:
7202 * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
7203 *
7204 */
7205union cvmx_ciu_sum2_ppx_ip4 {
7206        u64 u64;
7207        struct cvmx_ciu_sum2_ppx_ip4_s {
7208                u64 reserved_20_63 : 44;
7209                u64 bch : 1;
7210                u64 agl_drp : 1;
7211                u64 ocla : 1;
7212                u64 sata : 1;
7213                u64 reserved_15_15 : 1;
7214                u64 endor : 2;
7215                u64 eoi : 1;
7216                u64 reserved_10_11 : 2;
7217                u64 timer : 6;
7218                u64 reserved_0_3 : 4;
7219        } s;
7220        struct cvmx_ciu_sum2_ppx_ip4_cn61xx {
7221                u64 reserved_10_63 : 54;
7222                u64 timer : 6;
7223                u64 reserved_0_3 : 4;
7224        } cn61xx;
7225        struct cvmx_ciu_sum2_ppx_ip4_cn61xx cn66xx;
7226        struct cvmx_ciu_sum2_ppx_ip4_cn70xx {
7227                u64 reserved_20_63 : 44;
7228                u64 bch : 1;
7229                u64 agl_drp : 1;
7230                u64 ocla : 1;
7231                u64 sata : 1;
7232                u64 reserved_10_15 : 6;
7233                u64 timer : 6;
7234                u64 reserved_0_3 : 4;
7235        } cn70xx;
7236        struct cvmx_ciu_sum2_ppx_ip4_cn70xx cn70xxp1;
7237        struct cvmx_ciu_sum2_ppx_ip4_cnf71xx {
7238                u64 reserved_15_63 : 49;
7239                u64 endor : 2;
7240                u64 eoi : 1;
7241                u64 reserved_10_11 : 2;
7242                u64 timer : 6;
7243                u64 reserved_0_3 : 4;
7244        } cnf71xx;
7245};
7246
7247typedef union cvmx_ciu_sum2_ppx_ip4 cvmx_ciu_sum2_ppx_ip4_t;
7248
7249/**
7250 * cvmx_ciu_tim#
7251 *
7252 * Notes:
7253 * CIU_TIM4-9 did not exist prior to pass 1.2
7254 *
7255 */
7256union cvmx_ciu_timx {
7257        u64 u64;
7258        struct cvmx_ciu_timx_s {
7259                u64 reserved_37_63 : 27;
7260                u64 one_shot : 1;
7261                u64 len : 36;
7262        } s;
7263        struct cvmx_ciu_timx_s cn30xx;
7264        struct cvmx_ciu_timx_s cn31xx;
7265        struct cvmx_ciu_timx_s cn38xx;
7266        struct cvmx_ciu_timx_s cn38xxp2;
7267        struct cvmx_ciu_timx_s cn50xx;
7268        struct cvmx_ciu_timx_s cn52xx;
7269        struct cvmx_ciu_timx_s cn52xxp1;
7270        struct cvmx_ciu_timx_s cn56xx;
7271        struct cvmx_ciu_timx_s cn56xxp1;
7272        struct cvmx_ciu_timx_s cn58xx;
7273        struct cvmx_ciu_timx_s cn58xxp1;
7274        struct cvmx_ciu_timx_s cn61xx;
7275        struct cvmx_ciu_timx_s cn63xx;
7276        struct cvmx_ciu_timx_s cn63xxp1;
7277        struct cvmx_ciu_timx_s cn66xx;
7278        struct cvmx_ciu_timx_s cn68xx;
7279        struct cvmx_ciu_timx_s cn68xxp1;
7280        struct cvmx_ciu_timx_s cn70xx;
7281        struct cvmx_ciu_timx_s cn70xxp1;
7282        struct cvmx_ciu_timx_s cnf71xx;
7283};
7284
7285typedef union cvmx_ciu_timx cvmx_ciu_timx_t;
7286
7287/**
7288 * cvmx_ciu_tim_multi_cast
7289 *
7290 * Notes:
7291 * This register does not exist prior to pass 1.2 silicon. Those earlier chip passes operate as if
7292 * EN==0.
7293 */
7294union cvmx_ciu_tim_multi_cast {
7295        u64 u64;
7296        struct cvmx_ciu_tim_multi_cast_s {
7297                u64 reserved_1_63 : 63;
7298                u64 en : 1;
7299        } s;
7300        struct cvmx_ciu_tim_multi_cast_s cn61xx;
7301        struct cvmx_ciu_tim_multi_cast_s cn66xx;
7302        struct cvmx_ciu_tim_multi_cast_s cn70xx;
7303        struct cvmx_ciu_tim_multi_cast_s cn70xxp1;
7304        struct cvmx_ciu_tim_multi_cast_s cnf71xx;
7305};
7306
7307typedef union cvmx_ciu_tim_multi_cast cvmx_ciu_tim_multi_cast_t;
7308
7309/**
7310 * cvmx_ciu_wdog#
7311 */
7312union cvmx_ciu_wdogx {
7313        u64 u64;
7314        struct cvmx_ciu_wdogx_s {
7315                u64 reserved_46_63 : 18;
7316                u64 gstopen : 1;
7317                u64 dstop : 1;
7318                u64 cnt : 24;
7319                u64 len : 16;
7320                u64 state : 2;
7321                u64 mode : 2;
7322        } s;
7323        struct cvmx_ciu_wdogx_s cn30xx;
7324        struct cvmx_ciu_wdogx_s cn31xx;
7325        struct cvmx_ciu_wdogx_s cn38xx;
7326        struct cvmx_ciu_wdogx_s cn38xxp2;
7327        struct cvmx_ciu_wdogx_s cn50xx;
7328        struct cvmx_ciu_wdogx_s cn52xx;
7329        struct cvmx_ciu_wdogx_s cn52xxp1;
7330        struct cvmx_ciu_wdogx_s cn56xx;
7331        struct cvmx_ciu_wdogx_s cn56xxp1;
7332        struct cvmx_ciu_wdogx_s cn58xx;
7333        struct cvmx_ciu_wdogx_s cn58xxp1;
7334        struct cvmx_ciu_wdogx_s cn61xx;
7335        struct cvmx_ciu_wdogx_s cn63xx;
7336        struct cvmx_ciu_wdogx_s cn63xxp1;
7337        struct cvmx_ciu_wdogx_s cn66xx;
7338        struct cvmx_ciu_wdogx_s cn68xx;
7339        struct cvmx_ciu_wdogx_s cn68xxp1;
7340        struct cvmx_ciu_wdogx_s cn70xx;
7341        struct cvmx_ciu_wdogx_s cn70xxp1;
7342        struct cvmx_ciu_wdogx_s cn73xx;
7343        struct cvmx_ciu_wdogx_s cn78xx;
7344        struct cvmx_ciu_wdogx_s cn78xxp1;
7345        struct cvmx_ciu_wdogx_s cnf71xx;
7346        struct cvmx_ciu_wdogx_s cnf75xx;
7347};
7348
7349typedef union cvmx_ciu_wdogx cvmx_ciu_wdogx_t;
7350
7351#endif
7352