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