Home | History | Annotate | Line # | Download | only in dev
octeon_ciureg.h revision 1.1
      1 /*	$NetBSD: octeon_ciureg.h,v 1.1 2015/04/29 08:32:01 hikaru 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(0x0001070000000008)
     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(0x0001070000000600)
     64 #define	CIU_MBOX_CLR0				UINT64_C(0x0001070000000680)
     65 #define	CIU_MBOX_CLR1				UINT64_C(0x0001070000000680)
     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 
     78 #define	CIU_INT0_SUM0_OFFSET			0x0000
     79 #define	CIU_INT1_SUM0_OFFSET			0x0008
     80 #define	CIU_INT2_SUM0_OFFSET			0x0010
     81 #define	CIU_INT3_SUM0_OFFSET			0x0018
     82 #define	CIU_INT32_SUM0_OFFSET			0x0100
     83 #define	CIU_INT_SUM1_OFFSET			0x0008
     84 #define	CIU_INT0_EN0_OFFSET			0x0200
     85 #define	CIU_INT1_EN0_OFFSET			0x0210
     86 #define	CIU_INT2_EN0_OFFSET			0x0220
     87 #define	CIU_INT3_EN0_OFFSET			0x0230
     88 #define	CIU_INT32_EN0_OFFSET			0x0400
     89 #define	CIU_INT0_EN1_OFFSET			0x0208
     90 #define	CIU_INT1_EN1_OFFSET			0x0218
     91 #define	CIU_INT2_EN1_OFFSET			0x0228
     92 #define	CIU_INT3_EN1_OFFSET			0x0238
     93 #define	CIU_INT32_EN1_OFFSET			0x0408
     94 #define	CIU_TIM0_OFFSET				0x0480
     95 #define	CIU_TIM1_OFFSET				0x0488
     96 #define	CIU_TIM2_OFFSET				0x0490
     97 #define	CIU_TIM3_OFFSET				0x0498
     98 #define	CIU_WDOG0_OFFSET			0x0500
     99 #define	CIU_WDOG1_OFFSET			0x0508
    100 #define	CIU_PP_POKE0_OFFSET			0x0580
    101 #define	CIU_PP_POKE1_OFFSET			0x0588
    102 #define	CIU_MBOX_SET0_OFFSET			0x0600
    103 #define	CIU_MBOX_SET1_OFFSET			0x0608
    104 #define	CIU_MBOX_CLR0_OFFSET			0x0680
    105 #define	CIU_MBOX_CLR1_OFFSET			0x0688
    106 #define	CIU_PP_RST_OFFSET			0x0700
    107 #define	CIU_PP_DBG_OFFSET			0x0708
    108 #define	CIU_GSTOP_OFFSET			0x0710
    109 #define	CIU_NMI_OFFSET				0x0718
    110 #define	CIU_DINT_OFFSET				0x0720
    111 #define	CIU_FUSE_OFFSET				0x0728
    112 #define	CIU_BIST_OFFSET				0x0730
    113 #define	CIU_SOFT_BIST_OFFSET			0x0738
    114 #define	CIU_SOFT_RST_OFFSET			0x0740
    115 #define	CIU_SOFT_PRST_OFFSET			0x0748
    116 #define	CIU_PCI_INTA_OFFSET			0x0750
    117 
    118 /* ---- register bits */
    119 
    120 /* ``interrupt bits'' shift values */
    121 
    122 #define	_CIU_INT_XXX_63_SHIFT			0x3f
    123 #define	_CIU_INT_XXX_62_SHIFT			0x3e
    124 #define	_CIU_INT_XXX_61_SHIFT			0x3d
    125 #define	_CIU_INT_XXX_60_SHIFT			0x3c
    126 #define	_CIU_INT_XXX_59_SHIFT			0x3b
    127 #define	_CIU_INT_MPI_SHIFT			0x3a
    128 #define	_CIU_INT_PCM_SHIFT			0x39
    129 #define	_CIU_INT_USB_SHIFT			0x38
    130 #define	_CIU_INT_TIMER_3_SHIFT			0x37
    131 #define	_CIU_INT_TIMER_2_SHIFT			0x36
    132 #define	_CIU_INT_TIMER_1_SHIFT			0x35
    133 #define	_CIU_INT_TIMER_0_SHIFT			0x34
    134 #define	_CIU_INT_XXX_51_SHIFT			0x33
    135 #define	_CIU_INT_IPD_DRP_SHIFT			0x32
    136 #define	_CIU_INT_GMX_DRP_SHIFT			0x30
    137 #define	_CIU_INT_TRACE_SHIFT			0x2f
    138 #define	_CIU_INT_RML_SHIFT			0x2e
    139 #define	_CIU_INT_TWSI_SHIFT			0x2d
    140 #define	_CIU_INT_WDOG_SUM_SHIFT			0x2c
    141 #define	_CIU_INT_PCI_MSI_63_48_SHIFT		0x2b
    142 #define	_CIU_INT_PCI_MSI_47_32_SHIFT		0x2a
    143 #define	_CIU_INT_PCI_MSI_31_16_SHIFT		0x29
    144 #define	_CIU_INT_PCI_MSI_15_0_SHIFT		0x28
    145 #define	_CIU_INT_PCI_INT_D_SHIFT		0x27
    146 #define	_CIU_INT_PCI_INT_C_SHIFT		0x26
    147 #define	_CIU_INT_PCI_INT_B_SHIFT		0x25
    148 #define	_CIU_INT_PCI_INT_A_SHIFT		0x24
    149 #define	_CIU_INT_UART_1_SHIFT			0x23
    150 #define	_CIU_INT_UART_0_SHIFT			0x22
    151 #define	_CIU_INT_MBOX_31_16_SHIFT		0x21
    152 #define	_CIU_INT_MBOX_15_0_SHIFT		0x20
    153 #define	_CIU_INT_GPIO_15_SHIFT			0x1f
    154 #define	_CIU_INT_GPIO_14_SHIFT			0x1e
    155 #define	_CIU_INT_GPIO_13_SHIFT			0x1d
    156 #define	_CIU_INT_GPIO_12_SHIFT			0x1c
    157 #define	_CIU_INT_GPIO_11_SHIFT			0x1b
    158 #define	_CIU_INT_GPIO_10_SHIFT			0x1a
    159 #define	_CIU_INT_GPIO_9_SHIFT			0x19
    160 #define	_CIU_INT_GPIO_8_SHIFT			0x18
    161 #define	_CIU_INT_GPIO_7_SHIFT			0x17
    162 #define	_CIU_INT_GPIO_6_SHIFT			0x16
    163 #define	_CIU_INT_GPIO_5_SHIFT			0x15
    164 #define	_CIU_INT_GPIO_4_SHIFT			0x14
    165 #define	_CIU_INT_GPIO_3_SHIFT			0x13
    166 #define	_CIU_INT_GPIO_2_SHIFT			0x12
    167 #define	_CIU_INT_GPIO_1_SHIFT			0x11
    168 #define	_CIU_INT_GPIO_0_SHIFT			0x10
    169 #define	_CIU_INT_WORKQ_15_SHIFT			0x0f
    170 #define	_CIU_INT_WORKQ_14_SHIFT			0x0e
    171 #define	_CIU_INT_WORKQ_13_SHIFT			0x0d
    172 #define	_CIU_INT_WORKQ_12_SHIFT			0x0c
    173 #define	_CIU_INT_WORKQ_11_SHIFT			0x0b
    174 #define	_CIU_INT_WORKQ_10_SHIFT			0x0a
    175 #define	_CIU_INT_WORKQ_9_SHIFT			0x09
    176 #define	_CIU_INT_WORKQ_8_SHIFT			0x08
    177 #define	_CIU_INT_WORKQ_7_SHIFT			0x07
    178 #define	_CIU_INT_WORKQ_6_SHIFT			0x06
    179 #define	_CIU_INT_WORKQ_5_SHIFT			0x05
    180 #define	_CIU_INT_WORKQ_4_SHIFT			0x04
    181 #define	_CIU_INT_WORKQ_3_SHIFT			0x03
    182 #define	_CIU_INT_WORKQ_2_SHIFT			0x02
    183 #define	_CIU_INT_WORKQ_1_SHIFT			0x01
    184 
    185 #define	CIU_INTX_SUM0_XXX_63_59			UINT64_C(0xf800000000000000)
    186 #define	CIU_INTX_SUM0_MPI			UINT64_C(0x0400000000000000)
    187 #define	CIU_INTX_SUM0_PCM			UINT64_C(0x0200000000000000)
    188 #define	CIU_INTX_SUM0_USB			UINT64_C(0x0100000000000000)
    189 #define	CIU_INTX_SUM0_TIMER			UINT64_C(0x00f0000000000000)
    190 #define	 CIU_INTX_SUM0_TIMER_3			UINT64_C(0x0080000000000000)
    191 #define	 CIU_INTX_SUM0_TIMER_2			UINT64_C(0x0040000000000000)
    192 #define	 CIU_INTX_SUM0_TIMER_1			UINT64_C(0x0020000000000000)
    193 #define	 CIU_INTX_SUM0_TIMER_0			UINT64_C(0x0010000000000000)
    194 #define	CIU_INTX_SUM0_XXX_51			UINT64_C(0x0008000000000000)
    195 #define	CIU_INTX_SUM0_IPD_DRP			UINT64_C(0x0004000000000000)
    196 #define	CIU_INTX_SUM0_XXX_49			UINT64_C(0x0002000000000000)
    197 #define	CIU_INTX_SUM0_GMX_DRP			UINT64_C(0x0001000000000000)
    198 #define	CIU_INTX_SUM0_TRACE			UINT64_C(0x0000800000000000)
    199 #define	CIU_INTX_SUM0_RML			UINT64_C(0x0000400000000000)
    200 #define	CIU_INTX_SUM0_TWSI			UINT64_C(0x0000200000000000)
    201 #define	CIU_INTX_SUM0_WDOG_SUM			UINT64_C(0x0000100000000000)
    202 #define	CIU_INTX_SUM0_PCI_MSI			UINT64_C(0x00000f0000000000)
    203 #define	 CIU_INTX_SUM0_PCI_MSI_63_48		UINT64_C(0x0000080000000000)
    204 #define	 CIU_INTX_SUM0_PCI_MSI_47_32		UINT64_C(0x0000040000000000)
    205 #define	 CIU_INTX_SUM0_PCI_MSI_31_16		UINT64_C(0x0000020000000000)
    206 #define	 CIU_INTX_SUM0_PCI_MSI_15_0		UINT64_C(0x0000010000000000)
    207 #define	CIU_INTX_SUM0_PCI_INT			UINT64_C(0x000000f000000000)
    208 #define	 CIU_INTX_SUM0_PCI_INT_D		UINT64_C(0x0000008000000000)
    209 #define	 CIU_INTX_SUM0_PCI_INT_C		UINT64_C(0x0000004000000000)
    210 #define	 CIU_INTX_SUM0_PCI_INT_B		UINT64_C(0x0000002000000000)
    211 #define	 CIU_INTX_SUM0_PCI_INT_A		UINT64_C(0x0000001000000000)
    212 #define	CIU_INTX_SUM0_UART			UINT64_C(0x0000000c00000000)
    213 #define	 CIU_INTX_SUM0_UART_1			UINT64_C(0x0000000800000000)
    214 #define	 CIU_INTX_SUM0_UART_0			UINT64_C(0x0000000400000000)
    215 #define	CIU_INTX_SUM0_MBOX			UINT64_C(0x0000000300000000)
    216 #define	 CIU_INTX_SUM0_MBOX_31_16		UINT64_C(0x0000000200000000)
    217 #define	 CIU_INTX_SUM0_MBOX_15_0		UINT64_C(0x0000000100000000)
    218 #define	CIU_INTX_SUM0_GPIO			UINT64_C(0x00000000ffff0000)
    219 #define	 CIU_INTX_SUM0_GPIO_15			UINT64_C(0x0000000080000000)
    220 #define	 CIU_INTX_SUM0_GPIO_14			UINT64_C(0x0000000040000000)
    221 #define	 CIU_INTX_SUM0_GPIO_13			UINT64_C(0x0000000020000000)
    222 #define	 CIU_INTX_SUM0_GPIO_12			UINT64_C(0x0000000010000000)
    223 #define	 CIU_INTX_SUM0_GPIO_11			UINT64_C(0x0000000008000000)
    224 #define	 CIU_INTX_SUM0_GPIO_10			UINT64_C(0x0000000004000000)
    225 #define	 CIU_INTX_SUM0_GPIO_9			UINT64_C(0x0000000002000000)
    226 #define	 CIU_INTX_SUM0_GPIO_8			UINT64_C(0x0000000001000000)
    227 #define	 CIU_INTX_SUM0_GPIO_7			UINT64_C(0x0000000000800000)
    228 #define	 CIU_INTX_SUM0_GPIO_6			UINT64_C(0x0000000000400000)
    229 #define	 CIU_INTX_SUM0_GPIO_5			UINT64_C(0x0000000000200000)
    230 #define	 CIU_INTX_SUM0_GPIO_4			UINT64_C(0x0000000000100000)
    231 #define	 CIU_INTX_SUM0_GPIO_3			UINT64_C(0x0000000000080000)
    232 #define	 CIU_INTX_SUM0_GPIO_2			UINT64_C(0x0000000000040000)
    233 #define	 CIU_INTX_SUM0_GPIO_1			UINT64_C(0x0000000000020000)
    234 #define	 CIU_INTX_SUM0_GPIO_0			UINT64_C(0x0000000000010000)
    235 #define	CIU_INTX_SUM0_WORKQ			UINT64_C(0x000000000000ffff)
    236 #define	 CIU_INTX_SUM0_WORKQ_15			UINT64_C(0x0000000000008000)
    237 #define	 CIU_INTX_SUM0_WORKQ_14			UINT64_C(0x0000000000004000)
    238 #define	 CIU_INTX_SUM0_WORKQ_13			UINT64_C(0x0000000000002000)
    239 #define	 CIU_INTX_SUM0_WORKQ_12			UINT64_C(0x0000000000001000)
    240 #define	 CIU_INTX_SUM0_WORKQ_11			UINT64_C(0x0000000000000800)
    241 #define	 CIU_INTX_SUM0_WORKQ_10			UINT64_C(0x0000000000000400)
    242 #define	 CIU_INTX_SUM0_WORKQ_9			UINT64_C(0x0000000000000200)
    243 #define	 CIU_INTX_SUM0_WORKQ_8			UINT64_C(0x0000000000000100)
    244 #define	 CIU_INTX_SUM0_WORKQ_7			UINT64_C(0x0000000000000080)
    245 #define	 CIU_INTX_SUM0_WORKQ_6			UINT64_C(0x0000000000000040)
    246 #define	 CIU_INTX_SUM0_WORKQ_5			UINT64_C(0x0000000000000020)
    247 #define	 CIU_INTX_SUM0_WORKQ_4			UINT64_C(0x0000000000000010)
    248 #define	 CIU_INTX_SUM0_WORKQ_3			UINT64_C(0x0000000000000008)
    249 #define	 CIU_INTX_SUM0_WORKQ_2			UINT64_C(0x0000000000000004)
    250 #define	 CIU_INTX_SUM0_WORKQ_1			UINT64_C(0x0000000000000002)
    251 #define	 CIU_INTX_SUM0_WORKQ_0			UINT64_C(0x0000000000000001)
    252 
    253 #define	CIU_INT_SUM1_XXX_63_1			UINT64_C(0xfffffffffffffffe)
    254 #define	CIU_INT_SUM1_WDOG			UINT64_C(0x0000000000000001)
    255 
    256 #define	CIU_INTX_EN0_XXX_63_59			UINT64_C(0xf800000000000000)
    257 #define	CIU_INTX_EN0_MPI			UINT64_C(0x0400000000000000)
    258 #define	CIU_INTX_EN0_PCM			UINT64_C(0x0200000000000000)
    259 #define	CIU_INTX_EN0_USB			UINT64_C(0x0100000000000000)
    260 #define	CIU_INTX_EN0_TIMER			UINT64_C(0x00f0000000000000)
    261 #define	 CIU_INTX_EN0_TIMER_3			UINT64_C(0x0080000000000000)
    262 #define	 CIU_INTX_EN0_TIMER_2			UINT64_C(0x0040000000000000)
    263 #define	 CIU_INTX_EN0_TIMER_1			UINT64_C(0x0020000000000000)
    264 #define	 CIU_INTX_EN0_TIMER_0			UINT64_C(0x0010000000000000)
    265 #define	CIU_INTX_EN0_XXX_51			UINT64_C(0x0008000000000000)
    266 #define	CIU_INTX_EN0_IPD_DRP			UINT64_C(0x0004000000000000)
    267 #define	CIU_INTX_EN0_XXX_49			UINT64_C(0x0002000000000000)
    268 #define	CIU_INTX_EN0_GMX_DRP			UINT64_C(0x0001000000000000)
    269 #define	CIU_INTX_EN0_TRACE			UINT64_C(0x0000800000000000)
    270 #define	CIU_INTX_EN0_RML			UINT64_C(0x0000400000000000)
    271 #define	CIU_INTX_EN0_TWSI			UINT64_C(0x0000200000000000)
    272 #define	CIU_INTX_EN0_WDOG_SUM			UINT64_C(0x0000100000000000)
    273 #define	CIU_INTX_EN0_PCI_MSI			UINT64_C(0x00000f0000000000)
    274 #define	 CIU_INTX_EN0_PCI_MSI_63_48		UINT64_C(0x0000080000000000)
    275 #define	 CIU_INTX_EN0_PCI_MSI_47_32		UINT64_C(0x0000040000000000)
    276 #define	 CIU_INTX_EN0_PCI_MSI_31_16		UINT64_C(0x0000020000000000)
    277 #define	 CIU_INTX_EN0_PCI_MSI_15_0		UINT64_C(0x0000010000000000)
    278 #define	CIU_INTX_EN0_PCI_INT			UINT64_C(0x000000f000000000)
    279 #define	 CIU_INTX_EN0_PCI_INT_D			UINT64_C(0x0000008000000000)
    280 #define	 CIU_INTX_EN0_PCI_INT_C			UINT64_C(0x0000004000000000)
    281 #define	 CIU_INTX_EN0_PCI_INT_B			UINT64_C(0x0000002000000000)
    282 #define	 CIU_INTX_EN0_PCI_INT_A			UINT64_C(0x0000001000000000)
    283 #define	CIU_INTX_EN0_UART			UINT64_C(0x0000000c00000000)
    284 #define	 CIU_INTX_EN0_UART_1			UINT64_C(0x0000000800000000)
    285 #define	 CIU_INTX_EN0_UART_0			UINT64_C(0x0000000400000000)
    286 #define	CIU_INTX_EN0_MBOX			UINT64_C(0x0000000300000000)
    287 #define	 CIU_INTX_EN0_MBOX_31_16		UINT64_C(0x0000000200000000)
    288 #define	 CIU_INTX_EN0_MBOX_15_0			UINT64_C(0x0000000100000000)
    289 #define	CIU_INTX_EN0_GPIO			UINT64_C(0x00000000ffff0000)
    290 #define	 CIU_INTX_EN0_GPIO_15			UINT64_C(0x0000000080000000)
    291 #define	 CIU_INTX_EN0_GPIO_14			UINT64_C(0x0000000040000000)
    292 #define	 CIU_INTX_EN0_GPIO_13			UINT64_C(0x0000000020000000)
    293 #define	 CIU_INTX_EN0_GPIO_12			UINT64_C(0x0000000010000000)
    294 #define	 CIU_INTX_EN0_GPIO_11			UINT64_C(0x0000000008000000)
    295 #define	 CIU_INTX_EN0_GPIO_10			UINT64_C(0x0000000004000000)
    296 #define	 CIU_INTX_EN0_GPIO_9			UINT64_C(0x0000000002000000)
    297 #define	 CIU_INTX_EN0_GPIO_8			UINT64_C(0x0000000001000000)
    298 #define	 CIU_INTX_EN0_GPIO_7			UINT64_C(0x0000000000800000)
    299 #define	 CIU_INTX_EN0_GPIO_6			UINT64_C(0x0000000000400000)
    300 #define	 CIU_INTX_EN0_GPIO_5			UINT64_C(0x0000000000200000)
    301 #define	 CIU_INTX_EN0_GPIO_4			UINT64_C(0x0000000000100000)
    302 #define	 CIU_INTX_EN0_GPIO_3			UINT64_C(0x0000000000080000)
    303 #define	 CIU_INTX_EN0_GPIO_2			UINT64_C(0x0000000000040000)
    304 #define	 CIU_INTX_EN0_GPIO_1			UINT64_C(0x0000000000020000)
    305 #define	 CIU_INTX_EN0_GPIO_0			UINT64_C(0x0000000000010000)
    306 #define	CIU_INTX_EN0_WORKQ			UINT64_C(0x000000000000ffff)
    307 #define	 CIU_INTX_EN0_WORKQ_15			UINT64_C(0x0000000000008000)
    308 #define	 CIU_INTX_EN0_WORKQ_14			UINT64_C(0x0000000000004000)
    309 #define	 CIU_INTX_EN0_WORKQ_13			UINT64_C(0x0000000000002000)
    310 #define	 CIU_INTX_EN0_WORKQ_12			UINT64_C(0x0000000000001000)
    311 #define	 CIU_INTX_EN0_WORKQ_11			UINT64_C(0x0000000000000800)
    312 #define	 CIU_INTX_EN0_WORKQ_10			UINT64_C(0x0000000000000400)
    313 #define	 CIU_INTX_EN0_WORKQ_9			UINT64_C(0x0000000000000200)
    314 #define	 CIU_INTX_EN0_WORKQ_8			UINT64_C(0x0000000000000100)
    315 #define	 CIU_INTX_EN0_WORKQ_7			UINT64_C(0x0000000000000080)
    316 #define	 CIU_INTX_EN0_WORKQ_6			UINT64_C(0x0000000000000040)
    317 #define	 CIU_INTX_EN0_WORKQ_5			UINT64_C(0x0000000000000020)
    318 #define	 CIU_INTX_EN0_WORKQ_4			UINT64_C(0x0000000000000010)
    319 #define	 CIU_INTX_EN0_WORKQ_3			UINT64_C(0x0000000000000008)
    320 #define	 CIU_INTX_EN0_WORKQ_2			UINT64_C(0x0000000000000004)
    321 #define	 CIU_INTX_EN0_WORKQ_1			UINT64_C(0x0000000000000002)
    322 #define	 CIU_INTX_EN0_WORKQ_0			UINT64_C(0x0000000000000001)
    323 
    324 #define	CIU_INTX_EN1_XXX_63_1			UINT64_C(0xfffffffffffffffe)
    325 #define	CIU_INTX_EN1_WDOG			UINT64_C(0x0000000000000001)
    326 
    327 #define	CIU_TIMX_XXX_63_37			UINT64_C(0xffffffe000000000)
    328 #define	CIU_TIMX_ONE_SHOT			UINT64_C(0x0000001000000000)
    329 #define	CIU_TIMX_LEN				UINT64_C(0x0000000fffffffff)
    330 
    331 #define	CIU_WDOGX_XXX_63_46			UINT64_C(0xffffc00000000000)
    332 #define	CIU_WDOGX_GSTOPEN			UINT64_C(0x0000200000000000)
    333 #define	CIU_WDOGX_DSTOP				UINT64_C(0x0000100000000000)
    334 #define	CIU_WDOGX_CNT				UINT64_C(0x00000ffffff00000)
    335 #define	CIU_WDOGX_LEN				UINT64_C(0x00000000000ffff0)
    336 #define	CIU_WDOGX_STATE				UINT64_C(0x000000000000000c)
    337 #define	CIU_WDOGX_MODE				UINT64_C(0x0000000000000003)
    338 
    339 #define	CIU_PP_POKEX_XXX_63_0			UINT64_C(0xffffffffffffffff)
    340 
    341 #define	CIU_MBOX_SETX_XXX_63_32			UINT64_C(0xffffffff00000000)
    342 #define	CIU_MBOX_SETX_SET			UINT64_C(0x00000000ffffffff)
    343 
    344 #define	CIU_MBOX_CLRX_XXX_63_32			UINT64_C(0xffffffff00000000)
    345 #define	CIU_MBOX_CLRX_CLR			UINT64_C(0x00000000ffffffff)
    346 
    347 #define	CIU_PP_RST_XXX_63_1			UINT64_C(0xfffffffffffffffe)
    348 #define	CIU_PP_RST_RST0				UINT64_C(0x0000000000000001)
    349 
    350 #define	CIU_PP_DBG_XXX_63_1			UINT64_C(0xfffffffffffffffe)
    351 #define	CIU_PP_DBG_PPDBG			UINT64_C(0x0000000000000001)
    352 
    353 #define	CIU_GSTOP_XXX_63_1			UINT64_C(0xfffffffffffffffe)
    354 #define	CIU_GSTOP_GSTOP				UINT64_C(0x0000000000000001)
    355 
    356 #define	CIU_NMI_XXX_63_1			UINT64_C(0xfffffffffffffffe)
    357 #define	CIU_NMI_NMI				UINT64_C(0x0000000000000001)
    358 
    359 #define	CIU_DINT_XXX_63_1			UINT64_C(0xfffffffffffffffe)
    360 #define	CIU_DINT_DINT				UINT64_C(0x0000000000000001)
    361 
    362 #define	CIU_FUSE_XXX_63_1			UINT64_C(0xfffffffffffffffe)
    363 #define	CIU_FUSE_FUSE				UINT64_C(0x0000000000000001)
    364 
    365 #define	CIU_BIST_XXX_63_4			UINT64_C(0xfffffffffffffff0)
    366 #define	CIU_BIST_BIST				UINT64_C(0x000000000000000f)
    367 
    368 #define	CIU_SOFT_BIST_XXX_63_1			UINT64_C(0xfffffffffffffffe)
    369 #define	CIU_SOFT_BIST_SOFT_BIST			UINT64_C(0x0000000000000001)
    370 
    371 #define	CIU_SOFT_RST_XXX_63_1			UINT64_C(0xfffffffffffffffe)
    372 #define	CIU_SOFT_RST_SOFT_RST			UINT64_C(0x0000000000000001)
    373 
    374 #define	CIU_SOFT_PRST_XXX_63_1			UINT64_C(0xfffffffffffffff8)
    375 #define	CIU_SOFT_PRST_HOST64			UINT64_C(0x0000000000000004)
    376 #define	CIU_SOFT_PRST_NPI			UINT64_C(0x0000000000000002)
    377 #define	CIU_SOFT_PRST_SOFT_PRST			UINT64_C(0x0000000000000001)
    378 
    379 #define	CIU_PCI_INTA_XXX_63_2			UINT64_C(0xfffffffffffffffc)
    380 #define	CIU_PCI_INTA_INT			UINT64_C(0x0000000000000003)
    381 
    382 /* -- snprintb(9) */
    383 
    384 #define	CIU_INTX_SUM0_BITS \
    385 	"\177"		/* new format */ \
    386 	"\020"		/* hex display */ \
    387 	"\020"		/* %016x format */ \
    388 	"b\x3a"		"MPI\0" \
    389 	"b\x39"		"PCM\0" \
    390 	"b\x38"		"USB\0" \
    391 	"b\x37"		"TIMER_3\0" \
    392 	"b\x36"		"TIMER_2\0" \
    393 	"b\x35"		"TIMER_1\0" \
    394 	"b\x34"		"TIMER_0\0" \
    395 	"f\x34\x04"	"TIMER\0" \
    396 	"b\x32"		"IPD_DRP\0" \
    397 	"b\x30"		"GMX_DRP\0" \
    398 	"b\x2f"		"TRACE\0" \
    399 	"b\x2e"		"RML\0" \
    400 	"b\x2d"		"TWSI\0" \
    401 	"b\x2c"		"WDOG_SUM\0" \
    402 	"b\x2b"		"PCI_MSI_63_48\0" \
    403 	"b\x2a"		"PCI_MSI_47_32\0" \
    404 	"b\x29"		"PCI_MSI_31_16\0" \
    405 	"b\x28"		"PCI_MSI_15_0\0" \
    406 	"f\x28\x04"	"PCI_MSI\0" \
    407 	"b\x27"		"PCI_INT_D\0" \
    408 	"b\x26"		"PCI_INT_C\0" \
    409 	"b\x25"		"PCI_INT_B\0" \
    410 	"f\x24\x04"	"PCI_INT\0" \
    411 	"b\x24"		"PCI_INT_A\0" \
    412 	"b\x23"		"UART_1\0" \
    413 	"b\x22"		"UART_0\0" \
    414 	"f\x22\x02"	"UART\0" \
    415 	"b\x21"		"MBOX_31_16\0" \
    416 	"f\x20\x02"	"MBOX\0" \
    417 	"b\x20"		"MBOX_15_0\0" \
    418 	"b\x1f"		"GPIO_15\0" \
    419 	"b\x1e"		"GPIO_14\0" \
    420 	"b\x1d"		"GPIO_13\0" \
    421 	"b\x1c"		"GPIO_12\0" \
    422 	"b\x1b"		"GPIO_11\0" \
    423 	"b\x1a"		"GPIO_10\0" \
    424 	"b\x19"		"GPIO_9\0" \
    425 	"b\x18"		"GPIO_8\0" \
    426 	"b\x17"		"GPIO_7\0" \
    427 	"b\x16"		"GPIO_6\0" \
    428 	"b\x15"		"GPIO_5\0" \
    429 	"b\x14"		"GPIO_4\0" \
    430 	"b\x13"		"GPIO_3\0" \
    431 	"b\x12"		"GPIO_2\0" \
    432 	"b\x11"		"GPIO_1\0" \
    433 	"b\x10"		"GPIO_0\0" \
    434 	"f\x10\x10"	"GPIO\0" \
    435 	"b\x0f"		"WORKQ_15\0" \
    436 	"b\x0e"		"WORKQ_14\0" \
    437 	"b\x0d"		"WORKQ_13\0" \
    438 	"b\x0c"		"WORKQ_12\0" \
    439 	"b\x0b"		"WORKQ_11\0" \
    440 	"b\x0a"		"WORKQ_10\0" \
    441 	"b\x09"		"WORKQ_9\0" \
    442 	"b\x08"		"WORKQ_8\0" \
    443 	"b\x07"		"WORKQ_7\0" \
    444 	"b\x06"		"WORKQ_6\0" \
    445 	"b\x05"		"WORKQ_5\0" \
    446 	"b\x04"		"WORKQ_4\0" \
    447 	"b\x03"		"WORKQ_3\0" \
    448 	"b\x02"		"WORKQ_2\0" \
    449 	"b\x01"		"WORKQ_1\0" \
    450 	"b\x00"		"WORKQ_0\0" \
    451 	"f\x00\x10"	"WORKQ\0"
    452 #define	CIU_INT0_SUM0_BITS			CIU_INTX_SUM0_BITS
    453 #define	CIU_INT1_SUM0_BITS			CIU_INTX_SUM0_BITS
    454 #define	CIU_INT2_SUM0_BITS			CIU_INTX_SUM0_BITS
    455 #define	CIU_INT3_SUM0_BITS			CIU_INTX_SUM0_BITS
    456 #define	CIU_INT32_SUM0_BITS			CIU_INTX_SUM0_BITS
    457 
    458 #define	CIU_INT_SUM1_BITS \
    459 	"\177"		/* new format */ \
    460 	"\020"		/* hex display */ \
    461 	"\020"		/* %016x format */ \
    462 	"b\x00"		"WDOG\0"
    463 
    464 #define	CIU_INTX_EN0_BITS \
    465 	"\177"		/* new format */ \
    466 	"\020"		/* hex display */ \
    467 	"\020"		/* %016x format */ \
    468 	"b\x3a"		"MPI\0" \
    469 	"b\x39"		"PCM\0" \
    470 	"b\x38"		"USB\0" \
    471 	"b\x37"		"TIMER_3\0" \
    472 	"b\x36"		"TIMER_2\0" \
    473 	"b\x35"		"TIMER_1\0" \
    474 	"b\x34"		"TIMER_0\0" \
    475 	"f\x34\x04"	"TIMER\0" \
    476 	"b\x32"		"IPD_DRP\0" \
    477 	"b\x30"		"GMX_DRP\0" \
    478 	"b\x2f"		"TRACE\0" \
    479 	"b\x2e"		"RML\0" \
    480 	"b\x2d"		"TWSI\0" \
    481 	"b\x2c"		"WDOG_SUM\0" \
    482 	"b\x2b"		"PCI_MSI_63_48\0" \
    483 	"b\x2a"		"PCI_MSI_47_32\0" \
    484 	"b\x29"		"PCI_MSI_31_16\0" \
    485 	"b\x28"		"PCI_MSI_15_0\0" \
    486 	"f\x28\x04"	"PCI_MSI\0" \
    487 	"b\x27"		"PCI_INT_D\0" \
    488 	"b\x26"		"PCI_INT_C\0" \
    489 	"b\x25"		"PCI_INT_B\0" \
    490 	"f\x24\x04"	"PCI_INT\0" \
    491 	"b\x24"		"PCI_INT_A\0" \
    492 	"b\x23"		"UART_1\0" \
    493 	"b\x22"		"UART_0\0" \
    494 	"f\x22\x02"	"UART\0" \
    495 	"b\x21"		"MBOX_31_16\0" \
    496 	"f\x20\x02"	"MBOX\0" \
    497 	"b\x20"		"MBOX_15_0\0" \
    498 	"b\x1f"		"GPIO_15\0" \
    499 	"b\x1e"		"GPIO_14\0" \
    500 	"b\x1d"		"GPIO_13\0" \
    501 	"b\x1c"		"GPIO_12\0" \
    502 	"b\x1b"		"GPIO_11\0" \
    503 	"b\x1a"		"GPIO_10\0" \
    504 	"b\x19"		"GPIO_9\0" \
    505 	"b\x18"		"GPIO_8\0" \
    506 	"b\x17"		"GPIO_7\0" \
    507 	"b\x16"		"GPIO_6\0" \
    508 	"b\x15"		"GPIO_5\0" \
    509 	"b\x14"		"GPIO_4\0" \
    510 	"b\x13"		"GPIO_3\0" \
    511 	"b\x12"		"GPIO_2\0" \
    512 	"b\x11"		"GPIO_1\0" \
    513 	"b\x10"		"GPIO_0\0" \
    514 	"f\x10\x10"	"GPIO\0" \
    515 	"b\x0f"		"WORKQ_15\0" \
    516 	"b\x0e"		"WORKQ_14\0" \
    517 	"b\x0d"		"WORKQ_13\0" \
    518 	"b\x0c"		"WORKQ_12\0" \
    519 	"b\x0b"		"WORKQ_11\0" \
    520 	"b\x0a"		"WORKQ_10\0" \
    521 	"b\x09"		"WORKQ_9\0" \
    522 	"b\x08"		"WORKQ_8\0" \
    523 	"b\x07"		"WORKQ_7\0" \
    524 	"b\x06"		"WORKQ_6\0" \
    525 	"b\x05"		"WORKQ_5\0" \
    526 	"b\x04"		"WORKQ_4\0" \
    527 	"b\x03"		"WORKQ_3\0" \
    528 	"b\x02"		"WORKQ_2\0" \
    529 	"b\x01"		"WORKQ_1\0" \
    530 	"b\x00"		"WORKQ_0\0" \
    531 	"f\x00\x10"	"WORKQ\0"
    532 #define	CIU_INT0_EN0_BITS			CIU_INTX_EN0_BITS
    533 #define	CIU_INT1_EN0_BITS			CIU_INTX_EN0_BITS
    534 #define	CIU_INT2_EN0_BITS			CIU_INTX_EN0_BITS
    535 #define	CIU_INT3_EN0_BITS			CIU_INTX_EN0_BITS
    536 #define	CIU_INT32_EN0_BITS			CIU_INTX_EN0_BITS
    537 
    538 #define	CIU_INTX_EN1_BITS \
    539 	"\177"		/* new format */ \
    540 	"\020"		/* hex display */ \
    541 	"\020"		/* %016x format */ \
    542 	"b\x00"		"WDOG\0"
    543 #define	CIU_INT0_EN1_BITS			CIU_INTX_EN1_BITS
    544 #define	CIU_INT1_EN1_BITS			CIU_INTX_EN1_BITS
    545 #define	CIU_INT2_EN1_BITS			CIU_INTX_EN1_BITS
    546 #define	CIU_INT3_EN1_BITS			CIU_INTX_EN1_BITS
    547 #define	CIU_INT32_EN1_BITS			CIU_INTX_EN1_BITS
    548 
    549 #define	CIU_TIMX_BITS \
    550 	"\177"		/* new format */ \
    551 	"\020"		/* hex display */ \
    552 	"\020"		/* %016x format */ \
    553 	"b\x24"		"ONE_SHOT\0" \
    554 	"f\x00\x24"	"LEN\0"
    555 #define	CIU_TIM0_BITS				CIU_TIMX_BITS
    556 #define	CIU_TIM1_BITS				CIU_TIMX_BITS
    557 #define	CIU_TIM2_BITS				CIU_TIMX_BITS
    558 #define	CIU_TIM3_BITS				CIU_TIMX_BITS
    559 #define	CIU_TIM32_BITS				CIU_TIMX_BITS
    560 
    561 #define	CIU_WDOGX_BITS \
    562 	"\177"		/* new format */ \
    563 	"\020"		/* hex display */ \
    564 	"\020"		/* %016x format */ \
    565 	"b\x2d"		"GSTOPEN\0" \
    566 	"b\x2c"		"DSTOP\0" \
    567 	"f\x14\x18"	"CNT\0" \
    568 	"f\x04\x10"	"LEN\0" \
    569 	"f\x02\x02"	"STATE\0" \
    570 	"f\x00\x02"	"MODE\0"
    571 #define	CIU_WDOG0_BITS				CIU_WDOGX_BITS
    572 #define	CIU_WDOG1_BITS				CIU_WDOGX_BITS
    573 
    574 #if 0
    575 #define	CIU_PP_POKEX_BITS \
    576 	"\177"		/* new format */ \
    577 	"\020"		/* hex display */ \
    578 	"\020"		/* %016x format */ \
    579 
    580 #define	CIU_PP_POKE0_BITS			CIU_PP_POKEX_BITS
    581 #define	CIU_PP_POKE1_BITS			CIU_PP_POKEX_BITS
    582 #endif
    583 
    584 #define	CIU_MBOX_SETX_BITS \
    585 	"\177"		/* new format */ \
    586 	"\020"		/* hex display */ \
    587 	"\020"		/* %016x format */ \
    588 	"f\x00\x20"	"SET\0"
    589 #define	CIU_MBOX_SET0_BITS			CIU_MBOX_SETX_BITS
    590 #define	CIU_MBOX_SET1_BITS			CIU_MBOX_SETX_BITS
    591 
    592 #define	CIU_MBOX_CLRX_BITS \
    593 	"\177"		/* new format */ \
    594 	"\020"		/* hex display */ \
    595 	"\020"		/* %016x format */ \
    596 	"f\x00\x20"	"CLR\0"
    597 #define	CIU_MBOX_CLR0_BITS			CIU_MBOX_CLRX_BITS
    598 #define	CIU_MBOX_CLR1_BITS			CIU_MBOX_CLRX_BITS
    599 
    600 #define	CIU_PP_RST_BITS \
    601 	"\177"		/* new format */ \
    602 	"\020"		/* hex display */ \
    603 	"\020"		/* %016x format */ \
    604 	"b\x00"		"RST0\0"
    605 
    606 #define	CIU_PP_DBG_BITS \
    607 	"\177"		/* new format */ \
    608 	"\020"		/* hex display */ \
    609 	"\020"		/* %016x format */ \
    610 	"b\x00"		"PPDBG\0"
    611 
    612 #define	CIU_GSTOP_BITS \
    613 	"\177"		/* new format */ \
    614 	"\020"		/* hex display */ \
    615 	"\020"		/* %016x format */ \
    616 	"b\x00"		"GSTOP\0"
    617 
    618 #define	CIU_NMI_BITS \
    619 	"\177"		/* new format */ \
    620 	"\020"		/* hex display */ \
    621 	"\020"		/* %016x format */ \
    622 	"b\x00"		"NMI\0"
    623 
    624 #define	CIU_DINT_BITS \
    625 	"\177"		/* new format */ \
    626 	"\020"		/* hex display */ \
    627 	"\020"		/* %016x format */ \
    628 	"b\x00"		"DINT\0"
    629 
    630 #define	CIU_FUSE_BITS \
    631 	"\177"		/* new format */ \
    632 	"\020"		/* hex display */ \
    633 	"\020"		/* %016x format */ \
    634 	"b\x00"		"FUSE\0"
    635 
    636 #define	CIU_BIST_BITS \
    637 	"\177"		/* new format */ \
    638 	"\020"		/* hex display */ \
    639 	"\020"		/* %016x format */ \
    640 	"f\x00\x04"	"BIST\0"
    641 
    642 #define	CIU_SOFT_BIST_BITS \
    643 	"\177"		/* new format */ \
    644 	"\020"		/* hex display */ \
    645 	"\020"		/* %016x format */ \
    646 	"b\x00"		"SOFT_BIST\0"
    647 
    648 #define	CIU_SOFT_RST_BITS \
    649 	"\177"		/* new format */ \
    650 	"\020"		/* hex display */ \
    651 	"\020"		/* %016x format */ \
    652 	"b\x00"		"SOFT_RST\0"
    653 
    654 #define	CIU_SOFT_PRST_BITS \
    655 	"\177"		/* new format */ \
    656 	"\020"		/* hex display */ \
    657 	"\020"		/* %016x format */ \
    658 	"b\x02"		"HOST64\0" \
    659 	"b\x01"		"NPI\0" \
    660 	"b\x00"		"SOFT_PRST\0"
    661 
    662 #define	CIU_PCI_INTA_BITS \
    663 	"\177"		/* new format */ \
    664 	"\020"		/* hex display */ \
    665 	"\020"		/* %016x format */ \
    666 	"f\x00\x02"	"INT\0"
    667 
    668 #endif /* _OCTEON_CIUREG_H_ */
    669