1 /* $NetBSD: octeon_ciureg.h,v 1.5 2016/08/20 06:34:22 skrll Exp $ */ 2 3 /* 4 * Copyright (c) 2007 Internet Initiative Japan, Inc. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2. Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 17 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 */ 28 29 /* 30 * CIU Registers 31 */ 32 33 #ifndef _OCTEON_CIUREG_H_ 34 #define _OCTEON_CIUREG_H_ 35 36 /* ---- register addresses */ 37 38 #define CIU_INT0_SUM0 UINT64_C(0x0001070000000000) 39 #define CIU_INT1_SUM0 UINT64_C(0x0001070000000008) 40 #define CIU_INT2_SUM0 UINT64_C(0x0001070000000010) 41 #define CIU_INT3_SUM0 UINT64_C(0x0001070000000018) 42 #define CIU_INT32_SUM0 UINT64_C(0x0001070000000100) 43 #define CIU_INT_SUM1 UINT64_C(0x0001070000000108) 44 #define CIU_INT0_EN0 UINT64_C(0x0001070000000200) 45 #define CIU_INT1_EN0 UINT64_C(0x0001070000000210) 46 #define CIU_INT2_EN0 UINT64_C(0x0001070000000220) 47 #define CIU_INT3_EN0 UINT64_C(0x0001070000000230) 48 #define CIU_INT32_EN0 UINT64_C(0x0001070000000400) 49 #define CIU_INT0_EN1 UINT64_C(0x0001070000000208) 50 #define CIU_INT1_EN1 UINT64_C(0x0001070000000218) 51 #define CIU_INT2_EN1 UINT64_C(0x0001070000000228) 52 #define CIU_INT3_EN1 UINT64_C(0x0001070000000238) 53 #define CIU_INT32_EN1 UINT64_C(0x0001070000000408) 54 #define CIU_TIM0 UINT64_C(0x0001070000000480) 55 #define CIU_TIM1 UINT64_C(0x0001070000000488) 56 #define CIU_TIM2 UINT64_C(0x0001070000000490) 57 #define CIU_TIM3 UINT64_C(0x0001070000000498) 58 #define CIU_WDOG0 UINT64_C(0x0001070000000500) 59 #define CIU_WDOG1 UINT64_C(0x0001070000000508) 60 #define CIU_PP_POKE0 UINT64_C(0x0001070000000580) 61 #define CIU_PP_POKE1 UINT64_C(0x0001070000000588) 62 #define CIU_MBOX_SET0 UINT64_C(0x0001070000000600) 63 #define CIU_MBOX_SET1 UINT64_C(0x0001070000000608) 64 #define CIU_MBOX_CLR0 UINT64_C(0x0001070000000680) 65 #define CIU_MBOX_CLR1 UINT64_C(0x0001070000000688) 66 #define CIU_PP_RST UINT64_C(0x0001070000000700) 67 #define CIU_PP_DBG UINT64_C(0x0001070000000708) 68 #define CIU_GSTOP UINT64_C(0x0001070000000710) 69 #define CIU_NMI UINT64_C(0x0001070000000718) 70 #define CIU_DINT UINT64_C(0x0001070000000720) 71 #define CIU_FUSE UINT64_C(0x0001070000000728) 72 #define CIU_BIST UINT64_C(0x0001070000000730) 73 #define CIU_SOFT_BIST UINT64_C(0x0001070000000738) 74 #define CIU_SOFT_RST UINT64_C(0x0001070000000740) 75 #define CIU_SOFT_PRST UINT64_C(0x0001070000000748) 76 #define CIU_PCI_INTA UINT64_C(0x0001070000000750) 77 #define CIU_INT4_SUM0 UINT64_C(0x0001070000000c00) 78 #define CIU_INT4_SUM1 UINT64_C(0x0001070000000c08) 79 #define CIU_INT4_EN00 UINT64_C(0x0001070000000c80) 80 #define CIU_INT4_EN01 UINT64_C(0x0001070000000c88) 81 #define CIU_INT4_EN10 UINT64_C(0x0001070000000c90) 82 #define CIU_INT4_EN11 UINT64_C(0x0001070000000c98) 83 84 #define CIU_BASE UINT64_C(0x0001070000000000) 85 86 #define CIU_INT0_SUM0_OFFSET 0x0000 87 #define CIU_INT1_SUM0_OFFSET 0x0008 88 #define CIU_INT2_SUM0_OFFSET 0x0010 89 #define CIU_INT3_SUM0_OFFSET 0x0018 90 #define CIU_INT32_SUM0_OFFSET 0x0100 91 #define CIU_INT_SUM1_OFFSET 0x0108 92 #define CIU_INT0_EN0_OFFSET 0x0200 93 #define CIU_INT1_EN0_OFFSET 0x0210 94 #define CIU_INT2_EN0_OFFSET 0x0220 95 #define CIU_INT3_EN0_OFFSET 0x0230 96 #define CIU_INT32_EN0_OFFSET 0x0400 97 #define CIU_INT0_EN1_OFFSET 0x0208 98 #define CIU_INT1_EN1_OFFSET 0x0218 99 #define CIU_INT2_EN1_OFFSET 0x0228 100 #define CIU_INT3_EN1_OFFSET 0x0238 101 #define CIU_INT32_EN1_OFFSET 0x0408 102 #define CIU_TIM0_OFFSET 0x0480 103 #define CIU_TIM1_OFFSET 0x0488 104 #define CIU_TIM2_OFFSET 0x0490 105 #define CIU_TIM3_OFFSET 0x0498 106 #define CIU_WDOG0_OFFSET 0x0500 107 #define CIU_WDOG1_OFFSET 0x0508 108 #define CIU_PP_POKE0_OFFSET 0x0580 109 #define CIU_PP_POKE1_OFFSET 0x0588 110 #define CIU_MBOX_SET0_OFFSET 0x0600 111 #define CIU_MBOX_SET1_OFFSET 0x0608 112 #define CIU_MBOX_CLR0_OFFSET 0x0680 113 #define CIU_MBOX_CLR1_OFFSET 0x0688 114 #define CIU_PP_RST_OFFSET 0x0700 115 #define CIU_PP_DBG_OFFSET 0x0708 116 #define CIU_GSTOP_OFFSET 0x0710 117 #define CIU_NMI_OFFSET 0x0718 118 #define CIU_DINT_OFFSET 0x0720 119 #define CIU_FUSE_OFFSET 0x0728 120 #define CIU_BIST_OFFSET 0x0730 121 #define CIU_SOFT_BIST_OFFSET 0x0738 122 #define CIU_SOFT_RST_OFFSET 0x0740 123 #define CIU_SOFT_PRST_OFFSET 0x0748 124 #define CIU_PCI_INTA_OFFSET 0x0750 125 126 /* ---- register bits */ 127 128 /* ``interrupt bits'' shift values */ 129 130 #define _CIU_INT_XXX_63_SHIFT 0x3f 131 #define _CIU_INT_XXX_62_SHIFT 0x3e 132 #define _CIU_INT_XXX_61_SHIFT 0x3d 133 #define _CIU_INT_XXX_60_SHIFT 0x3c 134 #define _CIU_INT_XXX_59_SHIFT 0x3b 135 #define _CIU_INT_MPI_SHIFT 0x3a 136 #define _CIU_INT_PCM_SHIFT 0x39 137 #define _CIU_INT_USB_SHIFT 0x38 138 #define _CIU_INT_TIMER_3_SHIFT 0x37 139 #define _CIU_INT_TIMER_2_SHIFT 0x36 140 #define _CIU_INT_TIMER_1_SHIFT 0x35 141 #define _CIU_INT_TIMER_0_SHIFT 0x34 142 #define _CIU_INT_XXX_51_SHIFT 0x33 143 #define _CIU_INT_IPD_DRP_SHIFT 0x32 144 #define _CIU_INT_GMX_DRP_SHIFT 0x30 145 #define _CIU_INT_TRACE_SHIFT 0x2f 146 #define _CIU_INT_RML_SHIFT 0x2e 147 #define _CIU_INT_TWSI_SHIFT 0x2d 148 #define _CIU_INT_WDOG_SUM_SHIFT 0x2c 149 #define _CIU_INT_PCI_MSI_63_48_SHIFT 0x2b 150 #define _CIU_INT_PCI_MSI_47_32_SHIFT 0x2a 151 #define _CIU_INT_PCI_MSI_31_16_SHIFT 0x29 152 #define _CIU_INT_PCI_MSI_15_0_SHIFT 0x28 153 #define _CIU_INT_PCI_INT_D_SHIFT 0x27 154 #define _CIU_INT_PCI_INT_C_SHIFT 0x26 155 #define _CIU_INT_PCI_INT_B_SHIFT 0x25 156 #define _CIU_INT_PCI_INT_A_SHIFT 0x24 157 #define _CIU_INT_UART_1_SHIFT 0x23 158 #define _CIU_INT_UART_0_SHIFT 0x22 159 #define _CIU_INT_MBOX_31_16_SHIFT 0x21 160 #define _CIU_INT_MBOX_15_0_SHIFT 0x20 161 #define _CIU_INT_GPIO_15_SHIFT 0x1f 162 #define _CIU_INT_GPIO_14_SHIFT 0x1e 163 #define _CIU_INT_GPIO_13_SHIFT 0x1d 164 #define _CIU_INT_GPIO_12_SHIFT 0x1c 165 #define _CIU_INT_GPIO_11_SHIFT 0x1b 166 #define _CIU_INT_GPIO_10_SHIFT 0x1a 167 #define _CIU_INT_GPIO_9_SHIFT 0x19 168 #define _CIU_INT_GPIO_8_SHIFT 0x18 169 #define _CIU_INT_GPIO_7_SHIFT 0x17 170 #define _CIU_INT_GPIO_6_SHIFT 0x16 171 #define _CIU_INT_GPIO_5_SHIFT 0x15 172 #define _CIU_INT_GPIO_4_SHIFT 0x14 173 #define _CIU_INT_GPIO_3_SHIFT 0x13 174 #define _CIU_INT_GPIO_2_SHIFT 0x12 175 #define _CIU_INT_GPIO_1_SHIFT 0x11 176 #define _CIU_INT_GPIO_0_SHIFT 0x10 177 #define _CIU_INT_WORKQ_15_SHIFT 0x0f 178 #define _CIU_INT_WORKQ_14_SHIFT 0x0e 179 #define _CIU_INT_WORKQ_13_SHIFT 0x0d 180 #define _CIU_INT_WORKQ_12_SHIFT 0x0c 181 #define _CIU_INT_WORKQ_11_SHIFT 0x0b 182 #define _CIU_INT_WORKQ_10_SHIFT 0x0a 183 #define _CIU_INT_WORKQ_9_SHIFT 0x09 184 #define _CIU_INT_WORKQ_8_SHIFT 0x08 185 #define _CIU_INT_WORKQ_7_SHIFT 0x07 186 #define _CIU_INT_WORKQ_6_SHIFT 0x06 187 #define _CIU_INT_WORKQ_5_SHIFT 0x05 188 #define _CIU_INT_WORKQ_4_SHIFT 0x04 189 #define _CIU_INT_WORKQ_3_SHIFT 0x03 190 #define _CIU_INT_WORKQ_2_SHIFT 0x02 191 #define _CIU_INT_WORKQ_1_SHIFT 0x01 192 193 #define CIU_INTX_SUM0_XXX_63_59 UINT64_C(0xf800000000000000) 194 #define CIU_INTX_SUM0_MPI UINT64_C(0x0400000000000000) 195 #define CIU_INTX_SUM0_PCM UINT64_C(0x0200000000000000) 196 #define CIU_INTX_SUM0_USB UINT64_C(0x0100000000000000) 197 #define CIU_INTX_SUM0_TIMER UINT64_C(0x00f0000000000000) 198 #define CIU_INTX_SUM0_TIMER_3 UINT64_C(0x0080000000000000) 199 #define CIU_INTX_SUM0_TIMER_2 UINT64_C(0x0040000000000000) 200 #define CIU_INTX_SUM0_TIMER_1 UINT64_C(0x0020000000000000) 201 #define CIU_INTX_SUM0_TIMER_0 UINT64_C(0x0010000000000000) 202 #define CIU_INTX_SUM0_XXX_51 UINT64_C(0x0008000000000000) 203 #define CIU_INTX_SUM0_IPD_DRP UINT64_C(0x0004000000000000) 204 #define CIU_INTX_SUM0_XXX_49 UINT64_C(0x0002000000000000) 205 #define CIU_INTX_SUM0_GMX_DRP UINT64_C(0x0001000000000000) 206 #define CIU_INTX_SUM0_TRACE UINT64_C(0x0000800000000000) 207 #define CIU_INTX_SUM0_RML UINT64_C(0x0000400000000000) 208 #define CIU_INTX_SUM0_TWSI UINT64_C(0x0000200000000000) 209 #define CIU_INTX_SUM0_WDOG_SUM UINT64_C(0x0000100000000000) 210 #define CIU_INTX_SUM0_PCI_MSI UINT64_C(0x00000f0000000000) 211 #define CIU_INTX_SUM0_PCI_MSI_63_48 UINT64_C(0x0000080000000000) 212 #define CIU_INTX_SUM0_PCI_MSI_47_32 UINT64_C(0x0000040000000000) 213 #define CIU_INTX_SUM0_PCI_MSI_31_16 UINT64_C(0x0000020000000000) 214 #define CIU_INTX_SUM0_PCI_MSI_15_0 UINT64_C(0x0000010000000000) 215 #define CIU_INTX_SUM0_PCI_INT UINT64_C(0x000000f000000000) 216 #define CIU_INTX_SUM0_PCI_INT_D UINT64_C(0x0000008000000000) 217 #define CIU_INTX_SUM0_PCI_INT_C UINT64_C(0x0000004000000000) 218 #define CIU_INTX_SUM0_PCI_INT_B UINT64_C(0x0000002000000000) 219 #define CIU_INTX_SUM0_PCI_INT_A UINT64_C(0x0000001000000000) 220 #define CIU_INTX_SUM0_UART UINT64_C(0x0000000c00000000) 221 #define CIU_INTX_SUM0_UART_1 UINT64_C(0x0000000800000000) 222 #define CIU_INTX_SUM0_UART_0 UINT64_C(0x0000000400000000) 223 #define CIU_INTX_SUM0_MBOX UINT64_C(0x0000000300000000) 224 #define CIU_INTX_SUM0_MBOX_31_16 UINT64_C(0x0000000200000000) 225 #define CIU_INTX_SUM0_MBOX_15_0 UINT64_C(0x0000000100000000) 226 #define CIU_INTX_SUM0_GPIO UINT64_C(0x00000000ffff0000) 227 #define CIU_INTX_SUM0_GPIO_15 UINT64_C(0x0000000080000000) 228 #define CIU_INTX_SUM0_GPIO_14 UINT64_C(0x0000000040000000) 229 #define CIU_INTX_SUM0_GPIO_13 UINT64_C(0x0000000020000000) 230 #define CIU_INTX_SUM0_GPIO_12 UINT64_C(0x0000000010000000) 231 #define CIU_INTX_SUM0_GPIO_11 UINT64_C(0x0000000008000000) 232 #define CIU_INTX_SUM0_GPIO_10 UINT64_C(0x0000000004000000) 233 #define CIU_INTX_SUM0_GPIO_9 UINT64_C(0x0000000002000000) 234 #define CIU_INTX_SUM0_GPIO_8 UINT64_C(0x0000000001000000) 235 #define CIU_INTX_SUM0_GPIO_7 UINT64_C(0x0000000000800000) 236 #define CIU_INTX_SUM0_GPIO_6 UINT64_C(0x0000000000400000) 237 #define CIU_INTX_SUM0_GPIO_5 UINT64_C(0x0000000000200000) 238 #define CIU_INTX_SUM0_GPIO_4 UINT64_C(0x0000000000100000) 239 #define CIU_INTX_SUM0_GPIO_3 UINT64_C(0x0000000000080000) 240 #define CIU_INTX_SUM0_GPIO_2 UINT64_C(0x0000000000040000) 241 #define CIU_INTX_SUM0_GPIO_1 UINT64_C(0x0000000000020000) 242 #define CIU_INTX_SUM0_GPIO_0 UINT64_C(0x0000000000010000) 243 #define CIU_INTX_SUM0_WORKQ UINT64_C(0x000000000000ffff) 244 #define CIU_INTX_SUM0_WORKQ_15 UINT64_C(0x0000000000008000) 245 #define CIU_INTX_SUM0_WORKQ_14 UINT64_C(0x0000000000004000) 246 #define CIU_INTX_SUM0_WORKQ_13 UINT64_C(0x0000000000002000) 247 #define CIU_INTX_SUM0_WORKQ_12 UINT64_C(0x0000000000001000) 248 #define CIU_INTX_SUM0_WORKQ_11 UINT64_C(0x0000000000000800) 249 #define CIU_INTX_SUM0_WORKQ_10 UINT64_C(0x0000000000000400) 250 #define CIU_INTX_SUM0_WORKQ_9 UINT64_C(0x0000000000000200) 251 #define CIU_INTX_SUM0_WORKQ_8 UINT64_C(0x0000000000000100) 252 #define CIU_INTX_SUM0_WORKQ_7 UINT64_C(0x0000000000000080) 253 #define CIU_INTX_SUM0_WORKQ_6 UINT64_C(0x0000000000000040) 254 #define CIU_INTX_SUM0_WORKQ_5 UINT64_C(0x0000000000000020) 255 #define CIU_INTX_SUM0_WORKQ_4 UINT64_C(0x0000000000000010) 256 #define CIU_INTX_SUM0_WORKQ_3 UINT64_C(0x0000000000000008) 257 #define CIU_INTX_SUM0_WORKQ_2 UINT64_C(0x0000000000000004) 258 #define CIU_INTX_SUM0_WORKQ_1 UINT64_C(0x0000000000000002) 259 #define CIU_INTX_SUM0_WORKQ_0 UINT64_C(0x0000000000000001) 260 261 #define CIU_INT_SUM1_XXX_63_1 UINT64_C(0xfffffffffffffffe) 262 #define CIU_INT_SUM1_WDOG UINT64_C(0x0000000000000001) 263 264 #define CIU_INTX_EN0_XXX_63_59 UINT64_C(0xf800000000000000) 265 #define CIU_INTX_EN0_MPI UINT64_C(0x0400000000000000) 266 #define CIU_INTX_EN0_PCM UINT64_C(0x0200000000000000) 267 #define CIU_INTX_EN0_USB UINT64_C(0x0100000000000000) 268 #define CIU_INTX_EN0_TIMER UINT64_C(0x00f0000000000000) 269 #define CIU_INTX_EN0_TIMER_3 UINT64_C(0x0080000000000000) 270 #define CIU_INTX_EN0_TIMER_2 UINT64_C(0x0040000000000000) 271 #define CIU_INTX_EN0_TIMER_1 UINT64_C(0x0020000000000000) 272 #define CIU_INTX_EN0_TIMER_0 UINT64_C(0x0010000000000000) 273 #define CIU_INTX_EN0_XXX_51 UINT64_C(0x0008000000000000) 274 #define CIU_INTX_EN0_IPD_DRP UINT64_C(0x0004000000000000) 275 #define CIU_INTX_EN0_XXX_49 UINT64_C(0x0002000000000000) 276 #define CIU_INTX_EN0_GMX_DRP UINT64_C(0x0001000000000000) 277 #define CIU_INTX_EN0_TRACE UINT64_C(0x0000800000000000) 278 #define CIU_INTX_EN0_RML UINT64_C(0x0000400000000000) 279 #define CIU_INTX_EN0_TWSI UINT64_C(0x0000200000000000) 280 #define CIU_INTX_EN0_WDOG_SUM UINT64_C(0x0000100000000000) 281 #define CIU_INTX_EN0_PCI_MSI UINT64_C(0x00000f0000000000) 282 #define CIU_INTX_EN0_PCI_MSI_63_48 UINT64_C(0x0000080000000000) 283 #define CIU_INTX_EN0_PCI_MSI_47_32 UINT64_C(0x0000040000000000) 284 #define CIU_INTX_EN0_PCI_MSI_31_16 UINT64_C(0x0000020000000000) 285 #define CIU_INTX_EN0_PCI_MSI_15_0 UINT64_C(0x0000010000000000) 286 #define CIU_INTX_EN0_PCI_INT UINT64_C(0x000000f000000000) 287 #define CIU_INTX_EN0_PCI_INT_D UINT64_C(0x0000008000000000) 288 #define CIU_INTX_EN0_PCI_INT_C UINT64_C(0x0000004000000000) 289 #define CIU_INTX_EN0_PCI_INT_B UINT64_C(0x0000002000000000) 290 #define CIU_INTX_EN0_PCI_INT_A UINT64_C(0x0000001000000000) 291 #define CIU_INTX_EN0_UART UINT64_C(0x0000000c00000000) 292 #define CIU_INTX_EN0_UART_1 UINT64_C(0x0000000800000000) 293 #define CIU_INTX_EN0_UART_0 UINT64_C(0x0000000400000000) 294 #define CIU_INTX_EN0_MBOX UINT64_C(0x0000000300000000) 295 #define CIU_INTX_EN0_MBOX_31_16 UINT64_C(0x0000000200000000) 296 #define CIU_INTX_EN0_MBOX_15_0 UINT64_C(0x0000000100000000) 297 #define CIU_INTX_EN0_GPIO UINT64_C(0x00000000ffff0000) 298 #define CIU_INTX_EN0_GPIO_15 UINT64_C(0x0000000080000000) 299 #define CIU_INTX_EN0_GPIO_14 UINT64_C(0x0000000040000000) 300 #define CIU_INTX_EN0_GPIO_13 UINT64_C(0x0000000020000000) 301 #define CIU_INTX_EN0_GPIO_12 UINT64_C(0x0000000010000000) 302 #define CIU_INTX_EN0_GPIO_11 UINT64_C(0x0000000008000000) 303 #define CIU_INTX_EN0_GPIO_10 UINT64_C(0x0000000004000000) 304 #define CIU_INTX_EN0_GPIO_9 UINT64_C(0x0000000002000000) 305 #define CIU_INTX_EN0_GPIO_8 UINT64_C(0x0000000001000000) 306 #define CIU_INTX_EN0_GPIO_7 UINT64_C(0x0000000000800000) 307 #define CIU_INTX_EN0_GPIO_6 UINT64_C(0x0000000000400000) 308 #define CIU_INTX_EN0_GPIO_5 UINT64_C(0x0000000000200000) 309 #define CIU_INTX_EN0_GPIO_4 UINT64_C(0x0000000000100000) 310 #define CIU_INTX_EN0_GPIO_3 UINT64_C(0x0000000000080000) 311 #define CIU_INTX_EN0_GPIO_2 UINT64_C(0x0000000000040000) 312 #define CIU_INTX_EN0_GPIO_1 UINT64_C(0x0000000000020000) 313 #define CIU_INTX_EN0_GPIO_0 UINT64_C(0x0000000000010000) 314 #define CIU_INTX_EN0_WORKQ UINT64_C(0x000000000000ffff) 315 #define CIU_INTX_EN0_WORKQ_15 UINT64_C(0x0000000000008000) 316 #define CIU_INTX_EN0_WORKQ_14 UINT64_C(0x0000000000004000) 317 #define CIU_INTX_EN0_WORKQ_13 UINT64_C(0x0000000000002000) 318 #define CIU_INTX_EN0_WORKQ_12 UINT64_C(0x0000000000001000) 319 #define CIU_INTX_EN0_WORKQ_11 UINT64_C(0x0000000000000800) 320 #define CIU_INTX_EN0_WORKQ_10 UINT64_C(0x0000000000000400) 321 #define CIU_INTX_EN0_WORKQ_9 UINT64_C(0x0000000000000200) 322 #define CIU_INTX_EN0_WORKQ_8 UINT64_C(0x0000000000000100) 323 #define CIU_INTX_EN0_WORKQ_7 UINT64_C(0x0000000000000080) 324 #define CIU_INTX_EN0_WORKQ_6 UINT64_C(0x0000000000000040) 325 #define CIU_INTX_EN0_WORKQ_5 UINT64_C(0x0000000000000020) 326 #define CIU_INTX_EN0_WORKQ_4 UINT64_C(0x0000000000000010) 327 #define CIU_INTX_EN0_WORKQ_3 UINT64_C(0x0000000000000008) 328 #define CIU_INTX_EN0_WORKQ_2 UINT64_C(0x0000000000000004) 329 #define CIU_INTX_EN0_WORKQ_1 UINT64_C(0x0000000000000002) 330 #define CIU_INTX_EN0_WORKQ_0 UINT64_C(0x0000000000000001) 331 332 #define CIU_INTX_EN1_XXX_63_1 UINT64_C(0xfffffffffffffffe) 333 #define CIU_INTX_EN1_WDOG UINT64_C(0x0000000000000001) 334 335 #define CIU_TIMX_XXX_63_37 UINT64_C(0xffffffe000000000) 336 #define CIU_TIMX_ONE_SHOT UINT64_C(0x0000001000000000) 337 #define CIU_TIMX_LEN UINT64_C(0x0000000fffffffff) 338 339 #define CIU_WDOGX_XXX_63_46 UINT64_C(0xffffc00000000000) 340 #define CIU_WDOGX_GSTOPEN UINT64_C(0x0000200000000000) 341 #define CIU_WDOGX_DSTOP UINT64_C(0x0000100000000000) 342 #define CIU_WDOGX_CNT UINT64_C(0x00000ffffff00000) 343 #define CIU_WDOGX_LEN UINT64_C(0x00000000000ffff0) 344 #define CIU_WDOGX_STATE UINT64_C(0x000000000000000c) 345 #define CIU_WDOGX_MODE UINT64_C(0x0000000000000003) 346 347 #define CIU_PP_POKEX_XXX_63_0 UINT64_C(0xffffffffffffffff) 348 349 #define CIU_MBOX_SETX_XXX_63_32 UINT64_C(0xffffffff00000000) 350 #define CIU_MBOX_SETX_SET UINT64_C(0x00000000ffffffff) 351 352 #define CIU_MBOX_CLRX_XXX_63_32 UINT64_C(0xffffffff00000000) 353 #define CIU_MBOX_CLRX_CLR UINT64_C(0x00000000ffffffff) 354 355 #define CIU_PP_RST_XXX_63_1 UINT64_C(0xfffffffffffffffe) 356 #define CIU_PP_RST_RST0 UINT64_C(0x0000000000000001) 357 358 #define CIU_PP_DBG_XXX_63_1 UINT64_C(0xfffffffffffffffe) 359 #define CIU_PP_DBG_PPDBG UINT64_C(0x0000000000000001) 360 361 #define CIU_GSTOP_XXX_63_1 UINT64_C(0xfffffffffffffffe) 362 #define CIU_GSTOP_GSTOP UINT64_C(0x0000000000000001) 363 364 #define CIU_NMI_XXX_63_1 UINT64_C(0xfffffffffffffffe) 365 #define CIU_NMI_NMI UINT64_C(0x0000000000000001) 366 367 #define CIU_DINT_XXX_63_1 UINT64_C(0xfffffffffffffffe) 368 #define CIU_DINT_DINT UINT64_C(0x0000000000000001) 369 370 #define CIU_FUSE_XXX_63_1 UINT64_C(0xfffffffffffffffe) 371 #define CIU_FUSE_FUSE UINT64_C(0x0000000000000001) 372 373 #define CIU_BIST_XXX_63_4 UINT64_C(0xfffffffffffffff0) 374 #define CIU_BIST_BIST UINT64_C(0x000000000000000f) 375 376 #define CIU_SOFT_BIST_XXX_63_1 UINT64_C(0xfffffffffffffffe) 377 #define CIU_SOFT_BIST_SOFT_BIST UINT64_C(0x0000000000000001) 378 379 #define CIU_SOFT_RST_XXX_63_1 UINT64_C(0xfffffffffffffffe) 380 #define CIU_SOFT_RST_SOFT_RST UINT64_C(0x0000000000000001) 381 382 #define CIU_SOFT_PRST_XXX_63_1 UINT64_C(0xfffffffffffffff8) 383 #define CIU_SOFT_PRST_HOST64 UINT64_C(0x0000000000000004) 384 #define CIU_SOFT_PRST_NPI UINT64_C(0x0000000000000002) 385 #define CIU_SOFT_PRST_SOFT_PRST UINT64_C(0x0000000000000001) 386 387 #define CIU_PCI_INTA_XXX_63_2 UINT64_C(0xfffffffffffffffc) 388 #define CIU_PCI_INTA_INT UINT64_C(0x0000000000000003) 389 390 /* -- snprintb(9) */ 391 392 #define CIU_INTX_SUM0_BITS \ 393 "\177" /* new format */ \ 394 "\020" /* hex display */ \ 395 "\020" /* %016x format */ \ 396 "b\x3a" "MPI\0" \ 397 "b\x39" "PCM\0" \ 398 "b\x38" "USB\0" \ 399 "b\x37" "TIMER_3\0" \ 400 "b\x36" "TIMER_2\0" \ 401 "b\x35" "TIMER_1\0" \ 402 "b\x34" "TIMER_0\0" \ 403 "f\x34\x04" "TIMER\0" \ 404 "b\x32" "IPD_DRP\0" \ 405 "b\x30" "GMX_DRP\0" \ 406 "b\x2f" "TRACE\0" \ 407 "b\x2e" "RML\0" \ 408 "b\x2d" "TWSI\0" \ 409 "b\x2c" "WDOG_SUM\0" \ 410 "b\x2b" "PCI_MSI_63_48\0" \ 411 "b\x2a" "PCI_MSI_47_32\0" \ 412 "b\x29" "PCI_MSI_31_16\0" \ 413 "b\x28" "PCI_MSI_15_0\0" \ 414 "f\x28\x04" "PCI_MSI\0" \ 415 "b\x27" "PCI_INT_D\0" \ 416 "b\x26" "PCI_INT_C\0" \ 417 "b\x25" "PCI_INT_B\0" \ 418 "f\x24\x04" "PCI_INT\0" \ 419 "b\x24" "PCI_INT_A\0" \ 420 "b\x23" "UART_1\0" \ 421 "b\x22" "UART_0\0" \ 422 "f\x22\x02" "UART\0" \ 423 "b\x21" "MBOX_31_16\0" \ 424 "f\x20\x02" "MBOX\0" \ 425 "b\x20" "MBOX_15_0\0" \ 426 "b\x1f" "GPIO_15\0" \ 427 "b\x1e" "GPIO_14\0" \ 428 "b\x1d" "GPIO_13\0" \ 429 "b\x1c" "GPIO_12\0" \ 430 "b\x1b" "GPIO_11\0" \ 431 "b\x1a" "GPIO_10\0" \ 432 "b\x19" "GPIO_9\0" \ 433 "b\x18" "GPIO_8\0" \ 434 "b\x17" "GPIO_7\0" \ 435 "b\x16" "GPIO_6\0" \ 436 "b\x15" "GPIO_5\0" \ 437 "b\x14" "GPIO_4\0" \ 438 "b\x13" "GPIO_3\0" \ 439 "b\x12" "GPIO_2\0" \ 440 "b\x11" "GPIO_1\0" \ 441 "b\x10" "GPIO_0\0" \ 442 "f\x10\x10" "GPIO\0" \ 443 "b\x0f" "WORKQ_15\0" \ 444 "b\x0e" "WORKQ_14\0" \ 445 "b\x0d" "WORKQ_13\0" \ 446 "b\x0c" "WORKQ_12\0" \ 447 "b\x0b" "WORKQ_11\0" \ 448 "b\x0a" "WORKQ_10\0" \ 449 "b\x09" "WORKQ_9\0" \ 450 "b\x08" "WORKQ_8\0" \ 451 "b\x07" "WORKQ_7\0" \ 452 "b\x06" "WORKQ_6\0" \ 453 "b\x05" "WORKQ_5\0" \ 454 "b\x04" "WORKQ_4\0" \ 455 "b\x03" "WORKQ_3\0" \ 456 "b\x02" "WORKQ_2\0" \ 457 "b\x01" "WORKQ_1\0" \ 458 "b\x00" "WORKQ_0\0" \ 459 "f\x00\x10" "WORKQ\0" 460 #define CIU_INT0_SUM0_BITS CIU_INTX_SUM0_BITS 461 #define CIU_INT1_SUM0_BITS CIU_INTX_SUM0_BITS 462 #define CIU_INT2_SUM0_BITS CIU_INTX_SUM0_BITS 463 #define CIU_INT3_SUM0_BITS CIU_INTX_SUM0_BITS 464 #define CIU_INT32_SUM0_BITS CIU_INTX_SUM0_BITS 465 466 #define CIU_INT_SUM1_BITS \ 467 "\177" /* new format */ \ 468 "\020" /* hex display */ \ 469 "\020" /* %016x format */ \ 470 "b\x00" "WDOG\0" 471 472 #define CIU_INTX_EN0_BITS \ 473 "\177" /* new format */ \ 474 "\020" /* hex display */ \ 475 "\020" /* %016x format */ \ 476 "b\x3a" "MPI\0" \ 477 "b\x39" "PCM\0" \ 478 "b\x38" "USB\0" \ 479 "b\x37" "TIMER_3\0" \ 480 "b\x36" "TIMER_2\0" \ 481 "b\x35" "TIMER_1\0" \ 482 "b\x34" "TIMER_0\0" \ 483 "f\x34\x04" "TIMER\0" \ 484 "b\x32" "IPD_DRP\0" \ 485 "b\x30" "GMX_DRP\0" \ 486 "b\x2f" "TRACE\0" \ 487 "b\x2e" "RML\0" \ 488 "b\x2d" "TWSI\0" \ 489 "b\x2c" "WDOG_SUM\0" \ 490 "b\x2b" "PCI_MSI_63_48\0" \ 491 "b\x2a" "PCI_MSI_47_32\0" \ 492 "b\x29" "PCI_MSI_31_16\0" \ 493 "b\x28" "PCI_MSI_15_0\0" \ 494 "f\x28\x04" "PCI_MSI\0" \ 495 "b\x27" "PCI_INT_D\0" \ 496 "b\x26" "PCI_INT_C\0" \ 497 "b\x25" "PCI_INT_B\0" \ 498 "f\x24\x04" "PCI_INT\0" \ 499 "b\x24" "PCI_INT_A\0" \ 500 "b\x23" "UART_1\0" \ 501 "b\x22" "UART_0\0" \ 502 "f\x22\x02" "UART\0" \ 503 "b\x21" "MBOX_31_16\0" \ 504 "f\x20\x02" "MBOX\0" \ 505 "b\x20" "MBOX_15_0\0" \ 506 "b\x1f" "GPIO_15\0" \ 507 "b\x1e" "GPIO_14\0" \ 508 "b\x1d" "GPIO_13\0" \ 509 "b\x1c" "GPIO_12\0" \ 510 "b\x1b" "GPIO_11\0" \ 511 "b\x1a" "GPIO_10\0" \ 512 "b\x19" "GPIO_9\0" \ 513 "b\x18" "GPIO_8\0" \ 514 "b\x17" "GPIO_7\0" \ 515 "b\x16" "GPIO_6\0" \ 516 "b\x15" "GPIO_5\0" \ 517 "b\x14" "GPIO_4\0" \ 518 "b\x13" "GPIO_3\0" \ 519 "b\x12" "GPIO_2\0" \ 520 "b\x11" "GPIO_1\0" \ 521 "b\x10" "GPIO_0\0" \ 522 "f\x10\x10" "GPIO\0" \ 523 "b\x0f" "WORKQ_15\0" \ 524 "b\x0e" "WORKQ_14\0" \ 525 "b\x0d" "WORKQ_13\0" \ 526 "b\x0c" "WORKQ_12\0" \ 527 "b\x0b" "WORKQ_11\0" \ 528 "b\x0a" "WORKQ_10\0" \ 529 "b\x09" "WORKQ_9\0" \ 530 "b\x08" "WORKQ_8\0" \ 531 "b\x07" "WORKQ_7\0" \ 532 "b\x06" "WORKQ_6\0" \ 533 "b\x05" "WORKQ_5\0" \ 534 "b\x04" "WORKQ_4\0" \ 535 "b\x03" "WORKQ_3\0" \ 536 "b\x02" "WORKQ_2\0" \ 537 "b\x01" "WORKQ_1\0" \ 538 "b\x00" "WORKQ_0\0" \ 539 "f\x00\x10" "WORKQ\0" 540 #define CIU_INT0_EN0_BITS CIU_INTX_EN0_BITS 541 #define CIU_INT1_EN0_BITS CIU_INTX_EN0_BITS 542 #define CIU_INT2_EN0_BITS CIU_INTX_EN0_BITS 543 #define CIU_INT3_EN0_BITS CIU_INTX_EN0_BITS 544 #define CIU_INT32_EN0_BITS CIU_INTX_EN0_BITS 545 546 #define CIU_INTX_EN1_BITS \ 547 "\177" /* new format */ \ 548 "\020" /* hex display */ \ 549 "\020" /* %016x format */ \ 550 "b\x00" "WDOG\0" 551 #define CIU_INT0_EN1_BITS CIU_INTX_EN1_BITS 552 #define CIU_INT1_EN1_BITS CIU_INTX_EN1_BITS 553 #define CIU_INT2_EN1_BITS CIU_INTX_EN1_BITS 554 #define CIU_INT3_EN1_BITS CIU_INTX_EN1_BITS 555 #define CIU_INT32_EN1_BITS CIU_INTX_EN1_BITS 556 557 #define CIU_TIMX_BITS \ 558 "\177" /* new format */ \ 559 "\020" /* hex display */ \ 560 "\020" /* %016x format */ \ 561 "b\x24" "ONE_SHOT\0" \ 562 "f\x00\x24" "LEN\0" 563 #define CIU_TIM0_BITS CIU_TIMX_BITS 564 #define CIU_TIM1_BITS CIU_TIMX_BITS 565 #define CIU_TIM2_BITS CIU_TIMX_BITS 566 #define CIU_TIM3_BITS CIU_TIMX_BITS 567 #define CIU_TIM32_BITS CIU_TIMX_BITS 568 569 #define CIU_WDOGX_BITS \ 570 "\177" /* new format */ \ 571 "\020" /* hex display */ \ 572 "\020" /* %016x format */ \ 573 "b\x2d" "GSTOPEN\0" \ 574 "b\x2c" "DSTOP\0" \ 575 "f\x14\x18" "CNT\0" \ 576 "f\x04\x10" "LEN\0" \ 577 "f\x02\x02" "STATE\0" \ 578 "f\x00\x02" "MODE\0" 579 #define CIU_WDOG0_BITS CIU_WDOGX_BITS 580 #define CIU_WDOG1_BITS CIU_WDOGX_BITS 581 582 #if 0 583 #define CIU_PP_POKEX_BITS \ 584 "\177" /* new format */ \ 585 "\020" /* hex display */ \ 586 "\020" /* %016x format */ \ 587 588 #define CIU_PP_POKE0_BITS CIU_PP_POKEX_BITS 589 #define CIU_PP_POKE1_BITS CIU_PP_POKEX_BITS 590 #endif 591 592 #define CIU_MBOX_SETX_BITS \ 593 "\177" /* new format */ \ 594 "\020" /* hex display */ \ 595 "\020" /* %016x format */ \ 596 "f\x00\x20" "SET\0" 597 #define CIU_MBOX_SET0_BITS CIU_MBOX_SETX_BITS 598 #define CIU_MBOX_SET1_BITS CIU_MBOX_SETX_BITS 599 600 #define CIU_MBOX_CLRX_BITS \ 601 "\177" /* new format */ \ 602 "\020" /* hex display */ \ 603 "\020" /* %016x format */ \ 604 "f\x00\x20" "CLR\0" 605 #define CIU_MBOX_CLR0_BITS CIU_MBOX_CLRX_BITS 606 #define CIU_MBOX_CLR1_BITS CIU_MBOX_CLRX_BITS 607 608 #define CIU_PP_RST_BITS \ 609 "\177" /* new format */ \ 610 "\020" /* hex display */ \ 611 "\020" /* %016x format */ \ 612 "b\x00" "RST0\0" 613 614 #define CIU_PP_DBG_BITS \ 615 "\177" /* new format */ \ 616 "\020" /* hex display */ \ 617 "\020" /* %016x format */ \ 618 "b\x00" "PPDBG\0" 619 620 #define CIU_GSTOP_BITS \ 621 "\177" /* new format */ \ 622 "\020" /* hex display */ \ 623 "\020" /* %016x format */ \ 624 "b\x00" "GSTOP\0" 625 626 #define CIU_NMI_BITS \ 627 "\177" /* new format */ \ 628 "\020" /* hex display */ \ 629 "\020" /* %016x format */ \ 630 "b\x00" "NMI\0" 631 632 #define CIU_DINT_BITS \ 633 "\177" /* new format */ \ 634 "\020" /* hex display */ \ 635 "\020" /* %016x format */ \ 636 "b\x00" "DINT\0" 637 638 #define CIU_FUSE_BITS \ 639 "\177" /* new format */ \ 640 "\020" /* hex display */ \ 641 "\020" /* %016x format */ \ 642 "b\x00" "FUSE\0" 643 644 #define CIU_BIST_BITS \ 645 "\177" /* new format */ \ 646 "\020" /* hex display */ \ 647 "\020" /* %016x format */ \ 648 "f\x00\x04" "BIST\0" 649 650 #define CIU_SOFT_BIST_BITS \ 651 "\177" /* new format */ \ 652 "\020" /* hex display */ \ 653 "\020" /* %016x format */ \ 654 "b\x00" "SOFT_BIST\0" 655 656 #define CIU_SOFT_RST_BITS \ 657 "\177" /* new format */ \ 658 "\020" /* hex display */ \ 659 "\020" /* %016x format */ \ 660 "b\x00" "SOFT_RST\0" 661 662 #define CIU_SOFT_PRST_BITS \ 663 "\177" /* new format */ \ 664 "\020" /* hex display */ \ 665 "\020" /* %016x format */ \ 666 "b\x02" "HOST64\0" \ 667 "b\x01" "NPI\0" \ 668 "b\x00" "SOFT_PRST\0" 669 670 #define CIU_PCI_INTA_BITS \ 671 "\177" /* new format */ \ 672 "\020" /* hex display */ \ 673 "\020" /* %016x format */ \ 674 "f\x00\x02" "INT\0" 675 676 #endif /* _OCTEON_CIUREG_H_ */ 677