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