octeon_ciureg.h revision 1.6 1 /* $NetBSD: octeon_ciureg.h,v 1.6 2020/06/02 14:39:57 simonb 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 #define _CIU_INT_WORKQ_0_SHIFT 0x00
193
194 #define CIU_INTX_SUM0_XXX_63_59 UINT64_C(0xf800000000000000)
195 #define CIU_INTX_SUM0_MPI UINT64_C(0x0400000000000000)
196 #define CIU_INTX_SUM0_PCM UINT64_C(0x0200000000000000)
197 #define CIU_INTX_SUM0_USB UINT64_C(0x0100000000000000)
198 #define CIU_INTX_SUM0_TIMER UINT64_C(0x00f0000000000000)
199 #define CIU_INTX_SUM0_TIMER_3 UINT64_C(0x0080000000000000)
200 #define CIU_INTX_SUM0_TIMER_2 UINT64_C(0x0040000000000000)
201 #define CIU_INTX_SUM0_TIMER_1 UINT64_C(0x0020000000000000)
202 #define CIU_INTX_SUM0_TIMER_0 UINT64_C(0x0010000000000000)
203 #define CIU_INTX_SUM0_XXX_51 UINT64_C(0x0008000000000000)
204 #define CIU_INTX_SUM0_IPD_DRP UINT64_C(0x0004000000000000)
205 #define CIU_INTX_SUM0_XXX_49 UINT64_C(0x0002000000000000)
206 #define CIU_INTX_SUM0_GMX_DRP UINT64_C(0x0001000000000000)
207 #define CIU_INTX_SUM0_TRACE UINT64_C(0x0000800000000000)
208 #define CIU_INTX_SUM0_RML UINT64_C(0x0000400000000000)
209 #define CIU_INTX_SUM0_TWSI UINT64_C(0x0000200000000000)
210 #define CIU_INTX_SUM0_WDOG_SUM UINT64_C(0x0000100000000000)
211 #define CIU_INTX_SUM0_PCI_MSI UINT64_C(0x00000f0000000000)
212 #define CIU_INTX_SUM0_PCI_MSI_63_48 UINT64_C(0x0000080000000000)
213 #define CIU_INTX_SUM0_PCI_MSI_47_32 UINT64_C(0x0000040000000000)
214 #define CIU_INTX_SUM0_PCI_MSI_31_16 UINT64_C(0x0000020000000000)
215 #define CIU_INTX_SUM0_PCI_MSI_15_0 UINT64_C(0x0000010000000000)
216 #define CIU_INTX_SUM0_PCI_INT UINT64_C(0x000000f000000000)
217 #define CIU_INTX_SUM0_PCI_INT_D UINT64_C(0x0000008000000000)
218 #define CIU_INTX_SUM0_PCI_INT_C UINT64_C(0x0000004000000000)
219 #define CIU_INTX_SUM0_PCI_INT_B UINT64_C(0x0000002000000000)
220 #define CIU_INTX_SUM0_PCI_INT_A UINT64_C(0x0000001000000000)
221 #define CIU_INTX_SUM0_UART UINT64_C(0x0000000c00000000)
222 #define CIU_INTX_SUM0_UART_1 UINT64_C(0x0000000800000000)
223 #define CIU_INTX_SUM0_UART_0 UINT64_C(0x0000000400000000)
224 #define CIU_INTX_SUM0_MBOX UINT64_C(0x0000000300000000)
225 #define CIU_INTX_SUM0_MBOX_31_16 UINT64_C(0x0000000200000000)
226 #define CIU_INTX_SUM0_MBOX_15_0 UINT64_C(0x0000000100000000)
227 #define CIU_INTX_SUM0_GPIO UINT64_C(0x00000000ffff0000)
228 #define CIU_INTX_SUM0_GPIO_15 UINT64_C(0x0000000080000000)
229 #define CIU_INTX_SUM0_GPIO_14 UINT64_C(0x0000000040000000)
230 #define CIU_INTX_SUM0_GPIO_13 UINT64_C(0x0000000020000000)
231 #define CIU_INTX_SUM0_GPIO_12 UINT64_C(0x0000000010000000)
232 #define CIU_INTX_SUM0_GPIO_11 UINT64_C(0x0000000008000000)
233 #define CIU_INTX_SUM0_GPIO_10 UINT64_C(0x0000000004000000)
234 #define CIU_INTX_SUM0_GPIO_9 UINT64_C(0x0000000002000000)
235 #define CIU_INTX_SUM0_GPIO_8 UINT64_C(0x0000000001000000)
236 #define CIU_INTX_SUM0_GPIO_7 UINT64_C(0x0000000000800000)
237 #define CIU_INTX_SUM0_GPIO_6 UINT64_C(0x0000000000400000)
238 #define CIU_INTX_SUM0_GPIO_5 UINT64_C(0x0000000000200000)
239 #define CIU_INTX_SUM0_GPIO_4 UINT64_C(0x0000000000100000)
240 #define CIU_INTX_SUM0_GPIO_3 UINT64_C(0x0000000000080000)
241 #define CIU_INTX_SUM0_GPIO_2 UINT64_C(0x0000000000040000)
242 #define CIU_INTX_SUM0_GPIO_1 UINT64_C(0x0000000000020000)
243 #define CIU_INTX_SUM0_GPIO_0 UINT64_C(0x0000000000010000)
244 #define CIU_INTX_SUM0_WORKQ UINT64_C(0x000000000000ffff)
245 #define CIU_INTX_SUM0_WORKQ_15 UINT64_C(0x0000000000008000)
246 #define CIU_INTX_SUM0_WORKQ_14 UINT64_C(0x0000000000004000)
247 #define CIU_INTX_SUM0_WORKQ_13 UINT64_C(0x0000000000002000)
248 #define CIU_INTX_SUM0_WORKQ_12 UINT64_C(0x0000000000001000)
249 #define CIU_INTX_SUM0_WORKQ_11 UINT64_C(0x0000000000000800)
250 #define CIU_INTX_SUM0_WORKQ_10 UINT64_C(0x0000000000000400)
251 #define CIU_INTX_SUM0_WORKQ_9 UINT64_C(0x0000000000000200)
252 #define CIU_INTX_SUM0_WORKQ_8 UINT64_C(0x0000000000000100)
253 #define CIU_INTX_SUM0_WORKQ_7 UINT64_C(0x0000000000000080)
254 #define CIU_INTX_SUM0_WORKQ_6 UINT64_C(0x0000000000000040)
255 #define CIU_INTX_SUM0_WORKQ_5 UINT64_C(0x0000000000000020)
256 #define CIU_INTX_SUM0_WORKQ_4 UINT64_C(0x0000000000000010)
257 #define CIU_INTX_SUM0_WORKQ_3 UINT64_C(0x0000000000000008)
258 #define CIU_INTX_SUM0_WORKQ_2 UINT64_C(0x0000000000000004)
259 #define CIU_INTX_SUM0_WORKQ_1 UINT64_C(0x0000000000000002)
260 #define CIU_INTX_SUM0_WORKQ_0 UINT64_C(0x0000000000000001)
261
262 #define CIU_INT_SUM1_XXX_63_1 UINT64_C(0xfffffffffffffffe)
263 #define CIU_INT_SUM1_WDOG UINT64_C(0x0000000000000001)
264
265 #define CIU_INTX_EN0_XXX_63_59 UINT64_C(0xf800000000000000)
266 #define CIU_INTX_EN0_MPI UINT64_C(0x0400000000000000)
267 #define CIU_INTX_EN0_PCM UINT64_C(0x0200000000000000)
268 #define CIU_INTX_EN0_USB UINT64_C(0x0100000000000000)
269 #define CIU_INTX_EN0_TIMER UINT64_C(0x00f0000000000000)
270 #define CIU_INTX_EN0_TIMER_3 UINT64_C(0x0080000000000000)
271 #define CIU_INTX_EN0_TIMER_2 UINT64_C(0x0040000000000000)
272 #define CIU_INTX_EN0_TIMER_1 UINT64_C(0x0020000000000000)
273 #define CIU_INTX_EN0_TIMER_0 UINT64_C(0x0010000000000000)
274 #define CIU_INTX_EN0_XXX_51 UINT64_C(0x0008000000000000)
275 #define CIU_INTX_EN0_IPD_DRP UINT64_C(0x0004000000000000)
276 #define CIU_INTX_EN0_XXX_49 UINT64_C(0x0002000000000000)
277 #define CIU_INTX_EN0_GMX_DRP UINT64_C(0x0001000000000000)
278 #define CIU_INTX_EN0_TRACE UINT64_C(0x0000800000000000)
279 #define CIU_INTX_EN0_RML UINT64_C(0x0000400000000000)
280 #define CIU_INTX_EN0_TWSI UINT64_C(0x0000200000000000)
281 #define CIU_INTX_EN0_WDOG_SUM UINT64_C(0x0000100000000000)
282 #define CIU_INTX_EN0_PCI_MSI UINT64_C(0x00000f0000000000)
283 #define CIU_INTX_EN0_PCI_MSI_63_48 UINT64_C(0x0000080000000000)
284 #define CIU_INTX_EN0_PCI_MSI_47_32 UINT64_C(0x0000040000000000)
285 #define CIU_INTX_EN0_PCI_MSI_31_16 UINT64_C(0x0000020000000000)
286 #define CIU_INTX_EN0_PCI_MSI_15_0 UINT64_C(0x0000010000000000)
287 #define CIU_INTX_EN0_PCI_INT UINT64_C(0x000000f000000000)
288 #define CIU_INTX_EN0_PCI_INT_D UINT64_C(0x0000008000000000)
289 #define CIU_INTX_EN0_PCI_INT_C UINT64_C(0x0000004000000000)
290 #define CIU_INTX_EN0_PCI_INT_B UINT64_C(0x0000002000000000)
291 #define CIU_INTX_EN0_PCI_INT_A UINT64_C(0x0000001000000000)
292 #define CIU_INTX_EN0_UART UINT64_C(0x0000000c00000000)
293 #define CIU_INTX_EN0_UART_1 UINT64_C(0x0000000800000000)
294 #define CIU_INTX_EN0_UART_0 UINT64_C(0x0000000400000000)
295 #define CIU_INTX_EN0_MBOX UINT64_C(0x0000000300000000)
296 #define CIU_INTX_EN0_MBOX_31_16 UINT64_C(0x0000000200000000)
297 #define CIU_INTX_EN0_MBOX_15_0 UINT64_C(0x0000000100000000)
298 #define CIU_INTX_EN0_GPIO UINT64_C(0x00000000ffff0000)
299 #define CIU_INTX_EN0_GPIO_15 UINT64_C(0x0000000080000000)
300 #define CIU_INTX_EN0_GPIO_14 UINT64_C(0x0000000040000000)
301 #define CIU_INTX_EN0_GPIO_13 UINT64_C(0x0000000020000000)
302 #define CIU_INTX_EN0_GPIO_12 UINT64_C(0x0000000010000000)
303 #define CIU_INTX_EN0_GPIO_11 UINT64_C(0x0000000008000000)
304 #define CIU_INTX_EN0_GPIO_10 UINT64_C(0x0000000004000000)
305 #define CIU_INTX_EN0_GPIO_9 UINT64_C(0x0000000002000000)
306 #define CIU_INTX_EN0_GPIO_8 UINT64_C(0x0000000001000000)
307 #define CIU_INTX_EN0_GPIO_7 UINT64_C(0x0000000000800000)
308 #define CIU_INTX_EN0_GPIO_6 UINT64_C(0x0000000000400000)
309 #define CIU_INTX_EN0_GPIO_5 UINT64_C(0x0000000000200000)
310 #define CIU_INTX_EN0_GPIO_4 UINT64_C(0x0000000000100000)
311 #define CIU_INTX_EN0_GPIO_3 UINT64_C(0x0000000000080000)
312 #define CIU_INTX_EN0_GPIO_2 UINT64_C(0x0000000000040000)
313 #define CIU_INTX_EN0_GPIO_1 UINT64_C(0x0000000000020000)
314 #define CIU_INTX_EN0_GPIO_0 UINT64_C(0x0000000000010000)
315 #define CIU_INTX_EN0_WORKQ UINT64_C(0x000000000000ffff)
316 #define CIU_INTX_EN0_WORKQ_15 UINT64_C(0x0000000000008000)
317 #define CIU_INTX_EN0_WORKQ_14 UINT64_C(0x0000000000004000)
318 #define CIU_INTX_EN0_WORKQ_13 UINT64_C(0x0000000000002000)
319 #define CIU_INTX_EN0_WORKQ_12 UINT64_C(0x0000000000001000)
320 #define CIU_INTX_EN0_WORKQ_11 UINT64_C(0x0000000000000800)
321 #define CIU_INTX_EN0_WORKQ_10 UINT64_C(0x0000000000000400)
322 #define CIU_INTX_EN0_WORKQ_9 UINT64_C(0x0000000000000200)
323 #define CIU_INTX_EN0_WORKQ_8 UINT64_C(0x0000000000000100)
324 #define CIU_INTX_EN0_WORKQ_7 UINT64_C(0x0000000000000080)
325 #define CIU_INTX_EN0_WORKQ_6 UINT64_C(0x0000000000000040)
326 #define CIU_INTX_EN0_WORKQ_5 UINT64_C(0x0000000000000020)
327 #define CIU_INTX_EN0_WORKQ_4 UINT64_C(0x0000000000000010)
328 #define CIU_INTX_EN0_WORKQ_3 UINT64_C(0x0000000000000008)
329 #define CIU_INTX_EN0_WORKQ_2 UINT64_C(0x0000000000000004)
330 #define CIU_INTX_EN0_WORKQ_1 UINT64_C(0x0000000000000002)
331 #define CIU_INTX_EN0_WORKQ_0 UINT64_C(0x0000000000000001)
332
333 #define CIU_INTX_EN1_XXX_63_1 UINT64_C(0xfffffffffffffffe)
334 #define CIU_INTX_EN1_WDOG UINT64_C(0x0000000000000001)
335
336 #define CIU_TIMX_XXX_63_37 UINT64_C(0xffffffe000000000)
337 #define CIU_TIMX_ONE_SHOT UINT64_C(0x0000001000000000)
338 #define CIU_TIMX_LEN UINT64_C(0x0000000fffffffff)
339
340 #define CIU_WDOGX_XXX_63_46 UINT64_C(0xffffc00000000000)
341 #define CIU_WDOGX_GSTOPEN UINT64_C(0x0000200000000000)
342 #define CIU_WDOGX_DSTOP UINT64_C(0x0000100000000000)
343 #define CIU_WDOGX_CNT UINT64_C(0x00000ffffff00000)
344 #define CIU_WDOGX_LEN UINT64_C(0x00000000000ffff0)
345 #define CIU_WDOGX_STATE UINT64_C(0x000000000000000c)
346 #define CIU_WDOGX_MODE UINT64_C(0x0000000000000003)
347
348 #define CIU_PP_POKEX_XXX_63_0 UINT64_C(0xffffffffffffffff)
349
350 #define CIU_MBOX_SETX_XXX_63_32 UINT64_C(0xffffffff00000000)
351 #define CIU_MBOX_SETX_SET UINT64_C(0x00000000ffffffff)
352
353 #define CIU_MBOX_CLRX_XXX_63_32 UINT64_C(0xffffffff00000000)
354 #define CIU_MBOX_CLRX_CLR UINT64_C(0x00000000ffffffff)
355
356 #define CIU_PP_RST_XXX_63_2 UINT64_C(0xfffffffffffffffc)
357 #define CIU_PP_RST_RST UINT64_C(0x0000000000000002)
358 #define CIU_PP_RST_RST0 UINT64_C(0x0000000000000001)
359
360 #define CIU_PP_DBG_XXX_63_1 UINT64_C(0xfffffffffffffffe)
361 #define CIU_PP_DBG_PPDBG UINT64_C(0x0000000000000001)
362
363 #define CIU_GSTOP_XXX_63_1 UINT64_C(0xfffffffffffffffe)
364 #define CIU_GSTOP_GSTOP UINT64_C(0x0000000000000001)
365
366 #define CIU_NMI_XXX_63_2 UINT64_C(0xfffffffffffffffc)
367 #define CIU_NMI_NMI UINT64_C(0x0000000000000003)
368
369 #define CIU_DINT_XXX_63_2 UINT64_C(0xfffffffffffffffc)
370 #define CIU_DINT_DINT UINT64_C(0x0000000000000003)
371
372 #define CIU_FUSE_XXX_63_2 UINT64_C(0xfffffffffffffffc)
373 #define CIU_FUSE_FUSE UINT64_C(0x0000000000000003)
374
375 #define CIU_BIST_XXX_63_4 UINT64_C(0xfffffffffffffff0)
376 #define CIU_BIST_BIST UINT64_C(0x000000000000000f)
377
378 #define CIU_SOFT_BIST_XXX_63_1 UINT64_C(0xfffffffffffffffe)
379 #define CIU_SOFT_BIST_SOFT_BIST UINT64_C(0x0000000000000001)
380
381 #define CIU_SOFT_RST_XXX_63_1 UINT64_C(0xfffffffffffffffe)
382 #define CIU_SOFT_RST_SOFT_RST UINT64_C(0x0000000000000001)
383
384 #define CIU_SOFT_PRST_XXX_63_4 UINT64_C(0xfffffffffffffff8)
385 #define CIU_SOFT_PRST_HOST64 UINT64_C(0x0000000000000004)
386 #define CIU_SOFT_PRST_NPI UINT64_C(0x0000000000000002)
387 #define CIU_SOFT_PRST_SOFT_PRST UINT64_C(0x0000000000000001)
388
389 #define CIU_PCI_INTA_XXX_63_2 UINT64_C(0xfffffffffffffffc)
390 #define CIU_PCI_INTA_INT UINT64_C(0x0000000000000003)
391
392 /* -- snprintb(9) */
393
394 #define CIU_INTX_SUM0_BITS \
395 "\177" /* new format */ \
396 "\020" /* hex display */ \
397 "\020" /* %016x format */ \
398 "b\x3a" "MPI\0" \
399 "b\x39" "PCM\0" \
400 "b\x38" "USB\0" \
401 "b\x37" "TIMER_3\0" \
402 "b\x36" "TIMER_2\0" \
403 "b\x35" "TIMER_1\0" \
404 "b\x34" "TIMER_0\0" \
405 "f\x34\x04" "TIMER\0" \
406 "b\x32" "IPD_DRP\0" \
407 "b\x30" "GMX_DRP\0" \
408 "b\x2f" "TRACE\0" \
409 "b\x2e" "RML\0" \
410 "b\x2d" "TWSI\0" \
411 "b\x2c" "WDOG_SUM\0" \
412 "b\x2b" "PCI_MSI_63_48\0" \
413 "b\x2a" "PCI_MSI_47_32\0" \
414 "b\x29" "PCI_MSI_31_16\0" \
415 "b\x28" "PCI_MSI_15_0\0" \
416 "f\x28\x04" "PCI_MSI\0" \
417 "b\x27" "PCI_INT_D\0" \
418 "b\x26" "PCI_INT_C\0" \
419 "b\x25" "PCI_INT_B\0" \
420 "f\x24\x04" "PCI_INT\0" \
421 "b\x24" "PCI_INT_A\0" \
422 "b\x23" "UART_1\0" \
423 "b\x22" "UART_0\0" \
424 "f\x22\x02" "UART\0" \
425 "b\x21" "MBOX_31_16\0" \
426 "f\x20\x02" "MBOX\0" \
427 "b\x20" "MBOX_15_0\0" \
428 "b\x1f" "GPIO_15\0" \
429 "b\x1e" "GPIO_14\0" \
430 "b\x1d" "GPIO_13\0" \
431 "b\x1c" "GPIO_12\0" \
432 "b\x1b" "GPIO_11\0" \
433 "b\x1a" "GPIO_10\0" \
434 "b\x19" "GPIO_9\0" \
435 "b\x18" "GPIO_8\0" \
436 "b\x17" "GPIO_7\0" \
437 "b\x16" "GPIO_6\0" \
438 "b\x15" "GPIO_5\0" \
439 "b\x14" "GPIO_4\0" \
440 "b\x13" "GPIO_3\0" \
441 "b\x12" "GPIO_2\0" \
442 "b\x11" "GPIO_1\0" \
443 "b\x10" "GPIO_0\0" \
444 "f\x10\x10" "GPIO\0" \
445 "b\x0f" "WORKQ_15\0" \
446 "b\x0e" "WORKQ_14\0" \
447 "b\x0d" "WORKQ_13\0" \
448 "b\x0c" "WORKQ_12\0" \
449 "b\x0b" "WORKQ_11\0" \
450 "b\x0a" "WORKQ_10\0" \
451 "b\x09" "WORKQ_9\0" \
452 "b\x08" "WORKQ_8\0" \
453 "b\x07" "WORKQ_7\0" \
454 "b\x06" "WORKQ_6\0" \
455 "b\x05" "WORKQ_5\0" \
456 "b\x04" "WORKQ_4\0" \
457 "b\x03" "WORKQ_3\0" \
458 "b\x02" "WORKQ_2\0" \
459 "b\x01" "WORKQ_1\0" \
460 "b\x00" "WORKQ_0\0" \
461 "f\x00\x10" "WORKQ\0"
462 #define CIU_INT0_SUM0_BITS CIU_INTX_SUM0_BITS
463 #define CIU_INT1_SUM0_BITS CIU_INTX_SUM0_BITS
464 #define CIU_INT2_SUM0_BITS CIU_INTX_SUM0_BITS
465 #define CIU_INT3_SUM0_BITS CIU_INTX_SUM0_BITS
466 #define CIU_INT32_SUM0_BITS CIU_INTX_SUM0_BITS
467
468 #define CIU_INT_SUM1_BITS \
469 "\177" /* new format */ \
470 "\020" /* hex display */ \
471 "\020" /* %016x format */ \
472 "b\x00" "WDOG\0"
473
474 #define CIU_INTX_EN0_BITS \
475 "\177" /* new format */ \
476 "\020" /* hex display */ \
477 "\020" /* %016x format */ \
478 "b\x3a" "MPI\0" \
479 "b\x39" "PCM\0" \
480 "b\x38" "USB\0" \
481 "b\x37" "TIMER_3\0" \
482 "b\x36" "TIMER_2\0" \
483 "b\x35" "TIMER_1\0" \
484 "b\x34" "TIMER_0\0" \
485 "f\x34\x04" "TIMER\0" \
486 "b\x32" "IPD_DRP\0" \
487 "b\x30" "GMX_DRP\0" \
488 "b\x2f" "TRACE\0" \
489 "b\x2e" "RML\0" \
490 "b\x2d" "TWSI\0" \
491 "b\x2c" "WDOG_SUM\0" \
492 "b\x2b" "PCI_MSI_63_48\0" \
493 "b\x2a" "PCI_MSI_47_32\0" \
494 "b\x29" "PCI_MSI_31_16\0" \
495 "b\x28" "PCI_MSI_15_0\0" \
496 "f\x28\x04" "PCI_MSI\0" \
497 "b\x27" "PCI_INT_D\0" \
498 "b\x26" "PCI_INT_C\0" \
499 "b\x25" "PCI_INT_B\0" \
500 "f\x24\x04" "PCI_INT\0" \
501 "b\x24" "PCI_INT_A\0" \
502 "b\x23" "UART_1\0" \
503 "b\x22" "UART_0\0" \
504 "f\x22\x02" "UART\0" \
505 "b\x21" "MBOX_31_16\0" \
506 "f\x20\x02" "MBOX\0" \
507 "b\x20" "MBOX_15_0\0" \
508 "b\x1f" "GPIO_15\0" \
509 "b\x1e" "GPIO_14\0" \
510 "b\x1d" "GPIO_13\0" \
511 "b\x1c" "GPIO_12\0" \
512 "b\x1b" "GPIO_11\0" \
513 "b\x1a" "GPIO_10\0" \
514 "b\x19" "GPIO_9\0" \
515 "b\x18" "GPIO_8\0" \
516 "b\x17" "GPIO_7\0" \
517 "b\x16" "GPIO_6\0" \
518 "b\x15" "GPIO_5\0" \
519 "b\x14" "GPIO_4\0" \
520 "b\x13" "GPIO_3\0" \
521 "b\x12" "GPIO_2\0" \
522 "b\x11" "GPIO_1\0" \
523 "b\x10" "GPIO_0\0" \
524 "f\x10\x10" "GPIO\0" \
525 "b\x0f" "WORKQ_15\0" \
526 "b\x0e" "WORKQ_14\0" \
527 "b\x0d" "WORKQ_13\0" \
528 "b\x0c" "WORKQ_12\0" \
529 "b\x0b" "WORKQ_11\0" \
530 "b\x0a" "WORKQ_10\0" \
531 "b\x09" "WORKQ_9\0" \
532 "b\x08" "WORKQ_8\0" \
533 "b\x07" "WORKQ_7\0" \
534 "b\x06" "WORKQ_6\0" \
535 "b\x05" "WORKQ_5\0" \
536 "b\x04" "WORKQ_4\0" \
537 "b\x03" "WORKQ_3\0" \
538 "b\x02" "WORKQ_2\0" \
539 "b\x01" "WORKQ_1\0" \
540 "b\x00" "WORKQ_0\0" \
541 "f\x00\x10" "WORKQ\0"
542 #define CIU_INT0_EN0_BITS CIU_INTX_EN0_BITS
543 #define CIU_INT1_EN0_BITS CIU_INTX_EN0_BITS
544 #define CIU_INT2_EN0_BITS CIU_INTX_EN0_BITS
545 #define CIU_INT3_EN0_BITS CIU_INTX_EN0_BITS
546 #define CIU_INT32_EN0_BITS CIU_INTX_EN0_BITS
547
548 #define CIU_INTX_EN1_BITS \
549 "\177" /* new format */ \
550 "\020" /* hex display */ \
551 "\020" /* %016x format */ \
552 "b\x00" "WDOG\0"
553 #define CIU_INT0_EN1_BITS CIU_INTX_EN1_BITS
554 #define CIU_INT1_EN1_BITS CIU_INTX_EN1_BITS
555 #define CIU_INT2_EN1_BITS CIU_INTX_EN1_BITS
556 #define CIU_INT3_EN1_BITS CIU_INTX_EN1_BITS
557 #define CIU_INT32_EN1_BITS CIU_INTX_EN1_BITS
558
559 #define CIU_TIMX_BITS \
560 "\177" /* new format */ \
561 "\020" /* hex display */ \
562 "\020" /* %016x format */ \
563 "b\x24" "ONE_SHOT\0" \
564 "f\x00\x24" "LEN\0"
565 #define CIU_TIM0_BITS CIU_TIMX_BITS
566 #define CIU_TIM1_BITS CIU_TIMX_BITS
567 #define CIU_TIM2_BITS CIU_TIMX_BITS
568 #define CIU_TIM3_BITS CIU_TIMX_BITS
569 #define CIU_TIM32_BITS CIU_TIMX_BITS
570
571 #define CIU_WDOGX_BITS \
572 "\177" /* new format */ \
573 "\020" /* hex display */ \
574 "\020" /* %016x format */ \
575 "b\x2d" "GSTOPEN\0" \
576 "b\x2c" "DSTOP\0" \
577 "f\x14\x18" "CNT\0" \
578 "f\x04\x10" "LEN\0" \
579 "f\x02\x02" "STATE\0" \
580 "f\x00\x02" "MODE\0"
581 #define CIU_WDOG0_BITS CIU_WDOGX_BITS
582 #define CIU_WDOG1_BITS CIU_WDOGX_BITS
583
584 #if 0
585 #define CIU_PP_POKEX_BITS \
586 "\177" /* new format */ \
587 "\020" /* hex display */ \
588 "\020" /* %016x format */ \
589
590 #define CIU_PP_POKE0_BITS CIU_PP_POKEX_BITS
591 #define CIU_PP_POKE1_BITS CIU_PP_POKEX_BITS
592 #endif
593
594 #define CIU_MBOX_SETX_BITS \
595 "\177" /* new format */ \
596 "\020" /* hex display */ \
597 "\020" /* %016x format */ \
598 "f\x00\x20" "SET\0"
599 #define CIU_MBOX_SET0_BITS CIU_MBOX_SETX_BITS
600 #define CIU_MBOX_SET1_BITS CIU_MBOX_SETX_BITS
601
602 #define CIU_MBOX_CLRX_BITS \
603 "\177" /* new format */ \
604 "\020" /* hex display */ \
605 "\020" /* %016x format */ \
606 "f\x00\x20" "CLR\0"
607 #define CIU_MBOX_CLR0_BITS CIU_MBOX_CLRX_BITS
608 #define CIU_MBOX_CLR1_BITS CIU_MBOX_CLRX_BITS
609
610 #define CIU_PP_RST_BITS \
611 "\177" /* new format */ \
612 "\020" /* hex display */ \
613 "\020" /* %016x format */ \
614 "b\x00" "RST0\0"
615
616 #define CIU_PP_DBG_BITS \
617 "\177" /* new format */ \
618 "\020" /* hex display */ \
619 "\020" /* %016x format */ \
620 "b\x00" "PPDBG\0"
621
622 #define CIU_GSTOP_BITS \
623 "\177" /* new format */ \
624 "\020" /* hex display */ \
625 "\020" /* %016x format */ \
626 "b\x00" "GSTOP\0"
627
628 #define CIU_NMI_BITS \
629 "\177" /* new format */ \
630 "\020" /* hex display */ \
631 "\020" /* %016x format */ \
632 "b\x00" "NMI\0"
633
634 #define CIU_DINT_BITS \
635 "\177" /* new format */ \
636 "\020" /* hex display */ \
637 "\020" /* %016x format */ \
638 "b\x00" "DINT\0"
639
640 #define CIU_FUSE_BITS \
641 "\177" /* new format */ \
642 "\020" /* hex display */ \
643 "\020" /* %016x format */ \
644 "b\x00" "FUSE\0"
645
646 #define CIU_BIST_BITS \
647 "\177" /* new format */ \
648 "\020" /* hex display */ \
649 "\020" /* %016x format */ \
650 "f\x00\x04" "BIST\0"
651
652 #define CIU_SOFT_BIST_BITS \
653 "\177" /* new format */ \
654 "\020" /* hex display */ \
655 "\020" /* %016x format */ \
656 "b\x00" "SOFT_BIST\0"
657
658 #define CIU_SOFT_RST_BITS \
659 "\177" /* new format */ \
660 "\020" /* hex display */ \
661 "\020" /* %016x format */ \
662 "b\x00" "SOFT_RST\0"
663
664 #define CIU_SOFT_PRST_BITS \
665 "\177" /* new format */ \
666 "\020" /* hex display */ \
667 "\020" /* %016x format */ \
668 "b\x02" "HOST64\0" \
669 "b\x01" "NPI\0" \
670 "b\x00" "SOFT_PRST\0"
671
672 #define CIU_PCI_INTA_BITS \
673 "\177" /* new format */ \
674 "\020" /* hex display */ \
675 "\020" /* %016x format */ \
676 "f\x00\x02" "INT\0"
677
678 #endif /* _OCTEON_CIUREG_H_ */
679