19609e3e9SSteven J. Hill /* SPDX-License-Identifier: GPL-2.0 */ 29609e3e9SSteven J. Hill /* Octeon CIU definitions 354293ec3SDavid Daney * 49609e3e9SSteven J. Hill * Copyright (C) 2003-2018 Cavium, Inc. 59609e3e9SSteven J. Hill */ 654293ec3SDavid Daney 754293ec3SDavid Daney #ifndef __CVMX_CIU_DEFS_H__ 854293ec3SDavid Daney #define __CVMX_CIU_DEFS_H__ 954293ec3SDavid Daney 109609e3e9SSteven J. Hill #include <asm/bitfield.h> 119609e3e9SSteven J. Hill 12aa32a955SDavid Daney #define CVMX_CIU_BIST (CVMX_ADD_IO_SEG(0x0001070000000730ull)) 13aa32a955SDavid Daney #define CVMX_CIU_BLOCK_INT (CVMX_ADD_IO_SEG(0x00010700000007C0ull)) 14aa32a955SDavid Daney #define CVMX_CIU_DINT (CVMX_ADD_IO_SEG(0x0001070000000720ull)) 15c5aa59e8SDavid Daney #define CVMX_CIU_EN2_IOX_INT(offset) (CVMX_ADD_IO_SEG(0x000107000000A600ull) + ((offset) & 1) * 8) 16c5aa59e8SDavid Daney #define CVMX_CIU_EN2_IOX_INT_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000CE00ull) + ((offset) & 1) * 8) 17c5aa59e8SDavid Daney #define CVMX_CIU_EN2_IOX_INT_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000AE00ull) + ((offset) & 1) * 8) 18c5aa59e8SDavid Daney #define CVMX_CIU_EN2_PPX_IP2(offset) (CVMX_ADD_IO_SEG(0x000107000000A000ull) + ((offset) & 15) * 8) 19c5aa59e8SDavid Daney #define CVMX_CIU_EN2_PPX_IP2_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000C800ull) + ((offset) & 15) * 8) 20c5aa59e8SDavid Daney #define CVMX_CIU_EN2_PPX_IP2_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000A800ull) + ((offset) & 15) * 8) 21c5aa59e8SDavid Daney #define CVMX_CIU_EN2_PPX_IP3(offset) (CVMX_ADD_IO_SEG(0x000107000000A200ull) + ((offset) & 15) * 8) 22c5aa59e8SDavid Daney #define CVMX_CIU_EN2_PPX_IP3_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000CA00ull) + ((offset) & 15) * 8) 23c5aa59e8SDavid Daney #define CVMX_CIU_EN2_PPX_IP3_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000AA00ull) + ((offset) & 15) * 8) 24c5aa59e8SDavid Daney #define CVMX_CIU_EN2_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x000107000000A400ull) + ((offset) & 15) * 8) 25c5aa59e8SDavid Daney #define CVMX_CIU_EN2_PPX_IP4_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000CC00ull) + ((offset) & 15) * 8) 26c5aa59e8SDavid Daney #define CVMX_CIU_EN2_PPX_IP4_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000AC00ull) + ((offset) & 15) * 8) 27aa32a955SDavid Daney #define CVMX_CIU_FUSE (CVMX_ADD_IO_SEG(0x0001070000000728ull)) 28aa32a955SDavid Daney #define CVMX_CIU_GSTOP (CVMX_ADD_IO_SEG(0x0001070000000710ull)) 29aa32a955SDavid Daney #define CVMX_CIU_INT33_SUM0 (CVMX_ADD_IO_SEG(0x0001070000000110ull)) 30aa32a955SDavid Daney #define CVMX_CIU_INTX_EN0(offset) (CVMX_ADD_IO_SEG(0x0001070000000200ull) + ((offset) & 63) * 16) 31aa32a955SDavid Daney #define CVMX_CIU_INTX_EN0_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002200ull) + ((offset) & 63) * 16) 32aa32a955SDavid Daney #define CVMX_CIU_INTX_EN0_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006200ull) + ((offset) & 63) * 16) 33aa32a955SDavid Daney #define CVMX_CIU_INTX_EN1(offset) (CVMX_ADD_IO_SEG(0x0001070000000208ull) + ((offset) & 63) * 16) 34aa32a955SDavid Daney #define CVMX_CIU_INTX_EN1_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002208ull) + ((offset) & 63) * 16) 35aa32a955SDavid Daney #define CVMX_CIU_INTX_EN1_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006208ull) + ((offset) & 63) * 16) 36aa32a955SDavid Daney #define CVMX_CIU_INTX_EN4_0(offset) (CVMX_ADD_IO_SEG(0x0001070000000C80ull) + ((offset) & 15) * 16) 37aa32a955SDavid Daney #define CVMX_CIU_INTX_EN4_0_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002C80ull) + ((offset) & 15) * 16) 38aa32a955SDavid Daney #define CVMX_CIU_INTX_EN4_0_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006C80ull) + ((offset) & 15) * 16) 39aa32a955SDavid Daney #define CVMX_CIU_INTX_EN4_1(offset) (CVMX_ADD_IO_SEG(0x0001070000000C88ull) + ((offset) & 15) * 16) 40aa32a955SDavid Daney #define CVMX_CIU_INTX_EN4_1_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002C88ull) + ((offset) & 15) * 16) 41aa32a955SDavid Daney #define CVMX_CIU_INTX_EN4_1_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006C88ull) + ((offset) & 15) * 16) 42aa32a955SDavid Daney #define CVMX_CIU_INTX_SUM0(offset) (CVMX_ADD_IO_SEG(0x0001070000000000ull) + ((offset) & 63) * 8) 43aa32a955SDavid Daney #define CVMX_CIU_INTX_SUM4(offset) (CVMX_ADD_IO_SEG(0x0001070000000C00ull) + ((offset) & 15) * 8) 44aa32a955SDavid Daney #define CVMX_CIU_INT_DBG_SEL (CVMX_ADD_IO_SEG(0x00010700000007D0ull)) 45aa32a955SDavid Daney #define CVMX_CIU_INT_SUM1 (CVMX_ADD_IO_SEG(0x0001070000000108ull)) 46c5aa59e8SDavid Daney static inline uint64_t CVMX_CIU_MBOX_CLRX(unsigned long offset) 47c5aa59e8SDavid Daney { 48c5aa59e8SDavid Daney switch (cvmx_get_octeon_family()) { 49c5aa59e8SDavid Daney case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 50c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8; 51c5aa59e8SDavid Daney case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 52c5aa59e8SDavid Daney case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 53c5aa59e8SDavid Daney case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 54c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8; 55c5aa59e8SDavid Daney case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 56c5aa59e8SDavid Daney case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 57c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8; 58c5aa59e8SDavid Daney case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 59c5aa59e8SDavid Daney case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 60c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8; 61c5aa59e8SDavid Daney case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 62c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8; 63c5aa59e8SDavid Daney case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 64c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8; 65c5aa59e8SDavid Daney case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 66c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8; 67c5aa59e8SDavid Daney case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 68c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070100100600ull) + (offset) * 8; 69c5aa59e8SDavid Daney } 70c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8; 71c5aa59e8SDavid Daney } 72c5aa59e8SDavid Daney 73c5aa59e8SDavid Daney static inline uint64_t CVMX_CIU_MBOX_SETX(unsigned long offset) 74c5aa59e8SDavid Daney { 75c5aa59e8SDavid Daney switch (cvmx_get_octeon_family()) { 76c5aa59e8SDavid Daney case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 77c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8; 78c5aa59e8SDavid Daney case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 79c5aa59e8SDavid Daney case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 80c5aa59e8SDavid Daney case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 81c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8; 82c5aa59e8SDavid Daney case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 83c5aa59e8SDavid Daney case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 84c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8; 85c5aa59e8SDavid Daney case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 86c5aa59e8SDavid Daney case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 87c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8; 88c5aa59e8SDavid Daney case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 89c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8; 90c5aa59e8SDavid Daney case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 91c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8; 92c5aa59e8SDavid Daney case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 93c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8; 94c5aa59e8SDavid Daney case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 95c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070100100400ull) + (offset) * 8; 96c5aa59e8SDavid Daney } 97c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8; 98c5aa59e8SDavid Daney } 99c5aa59e8SDavid Daney 100aa32a955SDavid Daney #define CVMX_CIU_NMI (CVMX_ADD_IO_SEG(0x0001070000000718ull)) 101aa32a955SDavid Daney #define CVMX_CIU_PCI_INTA (CVMX_ADD_IO_SEG(0x0001070000000750ull)) 102c5aa59e8SDavid Daney #define CVMX_CIU_PP_BIST_STAT (CVMX_ADD_IO_SEG(0x00010700000007E0ull)) 103aa32a955SDavid Daney #define CVMX_CIU_PP_DBG (CVMX_ADD_IO_SEG(0x0001070000000708ull)) 104c5aa59e8SDavid Daney static inline uint64_t CVMX_CIU_PP_POKEX(unsigned long offset) 105c5aa59e8SDavid Daney { 106c5aa59e8SDavid Daney switch (cvmx_get_octeon_family()) { 107c5aa59e8SDavid Daney case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 108c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8; 109c5aa59e8SDavid Daney case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 110c5aa59e8SDavid Daney case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 111c5aa59e8SDavid Daney case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1121fb6e539SSteven J. Hill case OCTEON_CN70XX & OCTEON_FAMILY_MASK: 113c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8; 114c5aa59e8SDavid Daney case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 115c5aa59e8SDavid Daney case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 116c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8; 117c5aa59e8SDavid Daney case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 118c5aa59e8SDavid Daney case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 119c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8; 120c5aa59e8SDavid Daney case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 121c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8; 122c5aa59e8SDavid Daney case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 123c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8; 124c5aa59e8SDavid Daney case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 125c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8; 126c5aa59e8SDavid Daney case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 127c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070100100200ull) + (offset) * 8; 1281fb6e539SSteven J. Hill case OCTEON_CNF75XX & OCTEON_FAMILY_MASK: 1291fb6e539SSteven J. Hill case OCTEON_CN73XX & OCTEON_FAMILY_MASK: 1301fb6e539SSteven J. Hill case OCTEON_CN78XX & OCTEON_FAMILY_MASK: 1311fb6e539SSteven J. Hill return CVMX_ADD_IO_SEG(0x0001010000030000ull) + (offset) * 8; 132c5aa59e8SDavid Daney } 133c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8; 134c5aa59e8SDavid Daney } 135c5aa59e8SDavid Daney 136aa32a955SDavid Daney #define CVMX_CIU_PP_RST (CVMX_ADD_IO_SEG(0x0001070000000700ull)) 137aa32a955SDavid Daney #define CVMX_CIU_QLM0 (CVMX_ADD_IO_SEG(0x0001070000000780ull)) 138aa32a955SDavid Daney #define CVMX_CIU_QLM1 (CVMX_ADD_IO_SEG(0x0001070000000788ull)) 139aa32a955SDavid Daney #define CVMX_CIU_QLM2 (CVMX_ADD_IO_SEG(0x0001070000000790ull)) 140c5aa59e8SDavid Daney #define CVMX_CIU_QLM3 (CVMX_ADD_IO_SEG(0x0001070000000798ull)) 141c5aa59e8SDavid Daney #define CVMX_CIU_QLM4 (CVMX_ADD_IO_SEG(0x00010700000007A0ull)) 142aa32a955SDavid Daney #define CVMX_CIU_QLM_DCOK (CVMX_ADD_IO_SEG(0x0001070000000760ull)) 143aa32a955SDavid Daney #define CVMX_CIU_QLM_JTGC (CVMX_ADD_IO_SEG(0x0001070000000768ull)) 144aa32a955SDavid Daney #define CVMX_CIU_QLM_JTGD (CVMX_ADD_IO_SEG(0x0001070000000770ull)) 145aa32a955SDavid Daney #define CVMX_CIU_SOFT_BIST (CVMX_ADD_IO_SEG(0x0001070000000738ull)) 146aa32a955SDavid Daney #define CVMX_CIU_SOFT_PRST (CVMX_ADD_IO_SEG(0x0001070000000748ull)) 147aa32a955SDavid Daney #define CVMX_CIU_SOFT_PRST1 (CVMX_ADD_IO_SEG(0x0001070000000758ull)) 148c5aa59e8SDavid Daney #define CVMX_CIU_SOFT_PRST2 (CVMX_ADD_IO_SEG(0x00010700000007D8ull)) 149c5aa59e8SDavid Daney #define CVMX_CIU_SOFT_PRST3 (CVMX_ADD_IO_SEG(0x00010700000007E0ull)) 150aa32a955SDavid Daney #define CVMX_CIU_SOFT_RST (CVMX_ADD_IO_SEG(0x0001070000000740ull)) 151c5aa59e8SDavid Daney #define CVMX_CIU_SUM1_IOX_INT(offset) (CVMX_ADD_IO_SEG(0x0001070000008600ull) + ((offset) & 1) * 8) 152c5aa59e8SDavid Daney #define CVMX_CIU_SUM1_PPX_IP2(offset) (CVMX_ADD_IO_SEG(0x0001070000008000ull) + ((offset) & 15) * 8) 153c5aa59e8SDavid Daney #define CVMX_CIU_SUM1_PPX_IP3(offset) (CVMX_ADD_IO_SEG(0x0001070000008200ull) + ((offset) & 15) * 8) 154c5aa59e8SDavid Daney #define CVMX_CIU_SUM1_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x0001070000008400ull) + ((offset) & 15) * 8) 155c5aa59e8SDavid Daney #define CVMX_CIU_SUM2_IOX_INT(offset) (CVMX_ADD_IO_SEG(0x0001070000008E00ull) + ((offset) & 1) * 8) 156c5aa59e8SDavid Daney #define CVMX_CIU_SUM2_PPX_IP2(offset) (CVMX_ADD_IO_SEG(0x0001070000008800ull) + ((offset) & 15) * 8) 157c5aa59e8SDavid Daney #define CVMX_CIU_SUM2_PPX_IP3(offset) (CVMX_ADD_IO_SEG(0x0001070000008A00ull) + ((offset) & 15) * 8) 158c5aa59e8SDavid Daney #define CVMX_CIU_SUM2_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x0001070000008C00ull) + ((offset) & 15) * 8) 159c5aa59e8SDavid Daney #define CVMX_CIU_TIMX(offset) (CVMX_ADD_IO_SEG(0x0001070000000480ull) + ((offset) & 15) * 8) 160c5aa59e8SDavid Daney #define CVMX_CIU_TIM_MULTI_CAST (CVMX_ADD_IO_SEG(0x000107000000C200ull)) 161c5aa59e8SDavid Daney static inline uint64_t CVMX_CIU_WDOGX(unsigned long offset) 162c5aa59e8SDavid Daney { 163c5aa59e8SDavid Daney switch (cvmx_get_octeon_family()) { 164c5aa59e8SDavid Daney case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 165c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8; 166c5aa59e8SDavid Daney case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 167c5aa59e8SDavid Daney case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 168c5aa59e8SDavid Daney case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1691fb6e539SSteven J. Hill case OCTEON_CN70XX & OCTEON_FAMILY_MASK: 170c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8; 171c5aa59e8SDavid Daney case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 172c5aa59e8SDavid Daney case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 173c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8; 174c5aa59e8SDavid Daney case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 175c5aa59e8SDavid Daney case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 176c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8; 177c5aa59e8SDavid Daney case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 178c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8; 179c5aa59e8SDavid Daney case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 180c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8; 181c5aa59e8SDavid Daney case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 182c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8; 183c5aa59e8SDavid Daney case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 184c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070100100000ull) + (offset) * 8; 1851fb6e539SSteven J. Hill case OCTEON_CNF75XX & OCTEON_FAMILY_MASK: 1861fb6e539SSteven J. Hill case OCTEON_CN73XX & OCTEON_FAMILY_MASK: 1871fb6e539SSteven J. Hill case OCTEON_CN78XX & OCTEON_FAMILY_MASK: 1881fb6e539SSteven J. Hill return CVMX_ADD_IO_SEG(0x0001010000020000ull) + (offset) * 8; 189c5aa59e8SDavid Daney } 190c5aa59e8SDavid Daney return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8; 191c5aa59e8SDavid Daney } 19254293ec3SDavid Daney 1939609e3e9SSteven J. Hill 194769f4372SSteven J. Hill union cvmx_ciu_qlm { 195aa32a955SDavid Daney uint64_t u64; 196769f4372SSteven J. Hill struct cvmx_ciu_qlm_s { 1979609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t g2bypass:1, 1989609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t reserved_53_62:10, 1999609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t g2deemph:5, 2009609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t reserved_45_47:3, 2019609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t g2margin:5, 2029609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t reserved_32_39:8, 2039609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t txbypass:1, 2049609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t reserved_21_30:10, 2059609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t txdeemph:5, 2069609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t reserved_13_15:3, 2079609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t txmargin:5, 2089609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t reserved_4_7:4, 2099609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t lane_en:4, 2109609e3e9SSteven J. Hill ;))))))))))))) 211aa32a955SDavid Daney } s; 21254293ec3SDavid Daney }; 21354293ec3SDavid Daney 21454293ec3SDavid Daney union cvmx_ciu_qlm_jtgc { 21554293ec3SDavid Daney uint64_t u64; 21654293ec3SDavid Daney struct cvmx_ciu_qlm_jtgc_s { 2179609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t reserved_17_63:47, 2189609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t bypass_ext:1, 2199609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t reserved_11_15:5, 2209609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t clk_div:3, 2219609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t reserved_7_7:1, 2229609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t mux_sel:3, 2239609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t bypass:4, 2249609e3e9SSteven J. Hill ;))))))) 22554293ec3SDavid Daney } s; 22654293ec3SDavid Daney }; 22754293ec3SDavid Daney 22854293ec3SDavid Daney union cvmx_ciu_qlm_jtgd { 22954293ec3SDavid Daney uint64_t u64; 23054293ec3SDavid Daney struct cvmx_ciu_qlm_jtgd_s { 2319609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t capture:1, 2329609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t shift:1, 2339609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t update:1, 2349609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t reserved_45_60:16, 2359609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t select:5, 2369609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t reserved_37_39:3, 2379609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t shft_cnt:5, 2389609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t shft_reg:32, 2399609e3e9SSteven J. Hill ;)))))))) 24054293ec3SDavid Daney } s; 24154293ec3SDavid Daney }; 24254293ec3SDavid Daney 24354293ec3SDavid Daney union cvmx_ciu_soft_prst { 24454293ec3SDavid Daney uint64_t u64; 24554293ec3SDavid Daney struct cvmx_ciu_soft_prst_s { 2469609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t reserved_3_63:61, 2479609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t host64:1, 2489609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t npi:1, 2499609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t soft_prst:1, 2509609e3e9SSteven J. Hill ;)))) 25154293ec3SDavid Daney } s; 25254293ec3SDavid Daney }; 25354293ec3SDavid Daney 25454293ec3SDavid Daney union cvmx_ciu_timx { 25554293ec3SDavid Daney uint64_t u64; 25654293ec3SDavid Daney struct cvmx_ciu_timx_s { 2579609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t reserved_37_63:27, 2589609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t one_shot:1, 2599609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t len:36, 2609609e3e9SSteven J. Hill ;))) 26154293ec3SDavid Daney } s; 26254293ec3SDavid Daney }; 26354293ec3SDavid Daney 26454293ec3SDavid Daney union cvmx_ciu_wdogx { 26554293ec3SDavid Daney uint64_t u64; 26654293ec3SDavid Daney struct cvmx_ciu_wdogx_s { 2679609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t reserved_46_63:18, 2689609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t gstopen:1, 2699609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t dstop:1, 2709609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t cnt:24, 2719609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t len:16, 2729609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t state:2, 2739609e3e9SSteven J. Hill __BITFIELD_FIELD(uint64_t mode:2, 2749609e3e9SSteven J. Hill ;))))))) 27554293ec3SDavid Daney } s; 27654293ec3SDavid Daney }; 27754293ec3SDavid Daney 2789609e3e9SSteven J. Hill #endif /* __CVMX_CIU_DEFS_H__ */ 279