xref: /netbsd/sys/arch/mips/cavium/dev/octeon_pkoreg.h (revision 3f877189)
1*3f877189Ssimonb /*	$NetBSD: octeon_pkoreg.h,v 1.2 2020/06/18 13:52:08 simonb Exp $	*/
2e64299afShikaru 
3e64299afShikaru /*
4e64299afShikaru  * Copyright (c) 2007 Internet Initiative Japan, Inc.
5e64299afShikaru  * All rights reserved.
6e64299afShikaru  *
7e64299afShikaru  * Redistribution and use in source and binary forms, with or without
8e64299afShikaru  * modification, are permitted provided that the following conditions
9e64299afShikaru  * are met:
10e64299afShikaru  * 1. Redistributions of source code must retain the above copyright
11e64299afShikaru  *    notice, this list of conditions and the following disclaimer.
12e64299afShikaru  * 2. Redistributions in binary form must reproduce the above copyright
13e64299afShikaru  *    notice, this list of conditions and the following disclaimer in the
14e64299afShikaru  *    documentation and/or other materials provided with the distribution.
15e64299afShikaru  *
16e64299afShikaru  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17e64299afShikaru  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18e64299afShikaru  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19e64299afShikaru  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20e64299afShikaru  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21e64299afShikaru  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22e64299afShikaru  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23e64299afShikaru  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24e64299afShikaru  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25e64299afShikaru  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26e64299afShikaru  * SUCH DAMAGE.
27e64299afShikaru  */
28e64299afShikaru 
29e64299afShikaru /*
30e64299afShikaru  * PKO Registers
31e64299afShikaru  */
32e64299afShikaru 
33e64299afShikaru #ifndef _OCTEON_PKOREG_H_
34e64299afShikaru #define _OCTEON_PKOREG_H_
35e64299afShikaru 
36*3f877189Ssimonb /* ---- operations */
37*3f877189Ssimonb 
38*3f877189Ssimonb #define	PKO_MAJOR_DID			0x0a
39*3f877189Ssimonb #define	PKO_SUB_DID			0x02
40*3f877189Ssimonb 
41*3f877189Ssimonb 
42e64299afShikaru #define	PKO_REG_FLAGS				0x0001180050000000ULL
43e64299afShikaru #define	PKO_REG_READ_IDX			0x0001180050000008ULL
44e64299afShikaru #define	PKO_REG_CMD_BUF				0x0001180050000010ULL
45e64299afShikaru #define	PKO_REG_GMX_PORT_MODE			0x0001180050000018ULL
46e64299afShikaru #define	PKO_REG_QUEUE_MODE			0x0001180050000048ULL
47e64299afShikaru #define	PKO_REG_BIST_RESULT			0x0001180050000050ULL
48e64299afShikaru #define	PKO_REG_ERROR				0x0001180050000058ULL
49e64299afShikaru #define	PKO_REG_INT_MASK			0x0001180050000090ULL
50e64299afShikaru #define	PKO_REG_DEBUG0				0x0001180050000098ULL
51e64299afShikaru #define	PKO_MEM_QUEUE_PTRS			0x0001180050001000ULL
52e64299afShikaru #define	PKO_MEM_QUEUE_QOS			0x0001180050001008ULL
53e64299afShikaru #define	PKO_MEM_COUNT0				0x0001180050001080ULL
54e64299afShikaru #define	PKO_MEM_COUNT1				0x0001180050001088ULL
55e64299afShikaru #define	PKO_DEBUG0				0x0001180050001100ULL
56e64299afShikaru #define	PKO_DEBUG1				0x0001180050001108ULL
57e64299afShikaru #define	PKO_DEBUG2				0x0001180050001110ULL
58e64299afShikaru #define	PKO_DEBUG3				0x0001180050001118ULL
59e64299afShikaru #define	PKO_DEBUG4				0x0001180050001120ULL
60e64299afShikaru #define	PKO_DEBUG5				0x0001180050001128ULL
61e64299afShikaru #define	PKO_DEBUG6				0x0001180050001130ULL
62e64299afShikaru #define	PKO_DEBUG7				0x0001180050001138ULL
63e64299afShikaru #define	PKO_DEBUG8				0x0001180050001140ULL
64e64299afShikaru #define	PKO_DEBUG9				0x0001180050001148ULL
65e64299afShikaru #define	PKO_DEBUG10				0x0001180050001150ULL
66e64299afShikaru #define	PKO_DEBUG11				0x0001180050001158ULL
67e64299afShikaru #define	PKO_DEBUG12				0x0001180050001160ULL
68e64299afShikaru #define	PKO_DEBUG13				0x0001180050001168ULL
69e64299afShikaru #define	PKO_DEBUG14				0x0001180050001170ULL
70e64299afShikaru 
71e64299afShikaru #define PKO_BASE				0x0001180050000000ULL
72e64299afShikaru #define	PKO_SIZE				0x01178ULL
73e64299afShikaru 
74e64299afShikaru #define PKO_REG_FLAGS_OFFSET			0x00000ULL
75e64299afShikaru #define PKO_REG_READ_IDX_OFFSET			0x00008ULL
76e64299afShikaru #define	PKO_REG_CMD_BUF_OFFSET			0x00010ULL
77e64299afShikaru #define	PKO_REG_GMX_PORT_MODE_OFFSET		0x00018ULL
78e64299afShikaru #define	PKO_REG_QUEUE_MODE_OFFSET		0x00048ULL
79e64299afShikaru #define	PKO_REG_BIST_RESULT_OFFSET		0x00080ULL
80e64299afShikaru #define	PKO_REG_ERROR_OFFSET			0x00088ULL
81e64299afShikaru #define	PKO_REG_INT_MASK_OFFSET			0x00090ULL
82e64299afShikaru #define	PKO_REG_DEBUG0_OFFSET			0x00098ULL
83e64299afShikaru #define	PKO_MEM_QUEUE_PTRS_OFFSET		0x01000ULL
84e64299afShikaru #define	PKO_MEM_QUEUE_QOS_OFFSET		0x01008ULL
85e64299afShikaru #define	PKO_MEM_COUNT0_OFFSET			0x01080ULL
86e64299afShikaru #define	PKO_MEM_COUNT1_OFFSET			0x01088ULL
87e64299afShikaru #define	PKO_MEM_DEBUG0_OFFSET			0x01100ULL
88e64299afShikaru #define	PKO_MEM_DEBUG1_OFFSET			0x01108ULL
89e64299afShikaru #define	PKO_MEM_DEBUG2_OFFSET			0x01110ULL
90e64299afShikaru #define	PKO_MEM_DEBUG3_OFFSET			0x01118ULL
91e64299afShikaru #define	PKO_MEM_DEBUG4_OFFSET			0x01120ULL
92e64299afShikaru #define	PKO_MEM_DEBUG5_OFFSET			0x01128ULL
93e64299afShikaru #define	PKO_MEM_DEBUG6_OFFSET			0x01130ULL
94e64299afShikaru #define	PKO_MEM_DEBUG7_OFFSET			0x01138ULL
95e64299afShikaru #define	PKO_MEM_DEBUG8_OFFSET			0x01140ULL
96e64299afShikaru #define	PKO_MEM_DEBUG9_OFFSET			0x01148ULL
97e64299afShikaru #define	PKO_MEM_DEBUG10_OFFSET			0x01150ULL
98e64299afShikaru #define	PKO_MEM_DEBUG11_OFFSET			0x01158ULL
99e64299afShikaru #define	PKO_MEM_DEBUG12_OFFSET			0x01160ULL
100e64299afShikaru #define	PKO_MEM_DEBUG13_OFFSET			0x01168ULL
101e64299afShikaru #define	PKO_MEM_DEBUG14_OFFSET			0x01170ULL
102e64299afShikaru 
103e64299afShikaru /*
104e64299afShikaru  * PKO_REG_FLAGS
105e64299afShikaru  */
106e64299afShikaru #define PKO_REG_FLAGS_63_7		UINT64_C(0xfffffffffffffff0)
107e64299afShikaru #define PKO_REG_FLAGS_RESET		UINT64_C(0x0000000000000008)
108e64299afShikaru #define PKO_REG_FLAGS_STORE_BE		UINT64_C(0x0000000000000004)
109e64299afShikaru #define PKO_REG_FLAGS_ENA_DWB		UINT64_C(0x0000000000000002)
110e64299afShikaru #define PKO_REG_FLAGS_ENA_PKO		UINT64_C(0x0000000000000001)
111e64299afShikaru 
112e64299afShikaru /*
113e64299afShikaru  * PKO_REG_READ_IDX
114e64299afShikaru  */
115e64299afShikaru #define PKO_REG_READ_IDX_63_16		UINT64_C(0xffffffffffff0000)
116e64299afShikaru #define PKO_REG_READ_IDX_INC		UINT64_C(0x000000000000ff00)
117e64299afShikaru #define PKO_REG_READ_IDX_IDX		UINT64_C(0x00000000000000ff)
118e64299afShikaru 
119e64299afShikaru /*
120e64299afShikaru  * PKO_REG_CMD_BUF
121e64299afShikaru  */
122e64299afShikaru #define PKO_REG_CMD_BUF_63_23		UINT64_C(0xffffffffff800000)
123e64299afShikaru #define PKO_REG_CMD_BUF_POOL		UINT64_C(0x0000000000700000)
124e64299afShikaru #define PKO_REG_CMD_BUF_19_13		UINT64_C(0x00000000000fe000)
125e64299afShikaru #define PKO_REG_CMD_BUF_SIZE		UINT64_C(0x0000000000001fff)
126e64299afShikaru 
127e64299afShikaru /*
128e64299afShikaru  * PKO_REG_GMX_PORT_MODE
129e64299afShikaru  */
130e64299afShikaru #define PKO_REG_GMX_PORT_MODE_63_6	UINT64_C(0xffffffffffffffc0)
131e64299afShikaru #define PKO_REG_GMX_PORT_MODE_MODE1	UINT64_C(0x0000000000000038)
132e64299afShikaru #define PKO_REG_GMX_PORT_MODE_MODE0	UINT64_C(0x0000000000000007)
133e64299afShikaru 
134e64299afShikaru /*
135e64299afShikaru  * PKO_REG_QUEUE_MODE
136e64299afShikaru  */
137e64299afShikaru #define PKO_REG_QUEUE_MODE_63_6		UINT64_C(0xfffffffffffffffc)
138e64299afShikaru #define PKO_REG_QUEUE_MODE_MODE		UINT64_C(0x000000000000000e)
139e64299afShikaru 
140e64299afShikaru /*
141e64299afShikaru  * PKO_REG_BIST_RESULT
142e64299afShikaru  */
143e64299afShikaru #define PKO_REG_BIST_RESULT_63_27	UINT64_C(0xfffffffff8000000)
144e64299afShikaru #define PKO_REG_BIST_RESULT_PSB2	UINT64_C(0x0000000007c00000)
145e64299afShikaru #define PKO_REG_BIST_RESULT_COUNT	UINT64_C(0x0000000000200000)
146e64299afShikaru #define PKO_REG_BIST_RESULT_RIF		UINT64_C(0x0000000000100000)
147e64299afShikaru #define PKO_REG_BIST_RESULT_WIF		UINT64_C(0x0000000000080000)
148e64299afShikaru #define PKO_REG_BIST_RESULT_NCB		UINT64_C(0x0000000000040000)
149e64299afShikaru #define PKO_REG_BIST_RESULT_OUT		UINT64_C(0x0000000000020000)
150e64299afShikaru #define PKO_REG_BIST_RESULT_CRC		UINT64_C(0x0000000000010000)
151e64299afShikaru #define PKO_REG_BIST_RESULT_CHK		UINT64_C(0x0000000000008000)
152e64299afShikaru #define PKO_REG_BIST_RESULT_QSB		UINT64_C(0x0000000000006000)
153e64299afShikaru #define PKO_REG_BIST_RESULT_QCB		UINT64_C(0x0000000000001800)
154e64299afShikaru #define PKO_REG_BIST_RESULT_PDB		UINT64_C(0x0000000000000780)
155e64299afShikaru #define PKO_REG_BIST_RESULT_PSB		UINT64_C(0x000000000000007f)
156e64299afShikaru 
157e64299afShikaru /*
158e64299afShikaru  * PKO_REG_ERROR
159e64299afShikaru  */
160e64299afShikaru #define PKO_REG_ERROR_63_2		UINT64_C(0xfffffffffffffffc)
161e64299afShikaru #define PKO_REG_ERROR_DOORBELL		UINT64_C(0x0000000000000002)
162e64299afShikaru #define PKO_REG_ERROR_PARITY		UINT64_C(0x0000000000000001)
163e64299afShikaru 
164e64299afShikaru /*
165e64299afShikaru  * PKO_REG_INT_MASK
166e64299afShikaru  */
167e64299afShikaru #define PKO_REG_INT_MASK_63_2		UINT64_C(0xfffffffffffffffc)
168e64299afShikaru #define PKO_REG_INT_MASK_DOORBELL	UINT64_C(0x0000000000000002)
169e64299afShikaru #define PKO_REG_INT_MASK_PARITY		UINT64_C(0x0000000000000001)
170e64299afShikaru 
171e64299afShikaru /*
172e64299afShikaru  * PKO_REG_DEBUG0
173e64299afShikaru  */
174e64299afShikaru #define PKO_REG_DEBUG0_63_17		UINT64_C(0xfffffffffffe0000)
175e64299afShikaru #define PKO_REG_DEBUG0_ASSERTS		UINT64_C(0x000000000001ffff)
176e64299afShikaru 
177e64299afShikaru /*
178e64299afShikaru  * PKO_MEM_QUEUE_PTRS
179e64299afShikaru  */
180e64299afShikaru #define PKO_MEM_QUEUE_PTRS_S_TAIL	UINT64_C(0x8000000000000000)
181e64299afShikaru #define PKO_MEM_QUEUE_PTRS_STATIC_P	UINT64_C(0x4000000000000000)
182e64299afShikaru #define PKO_MEM_QUEUE_PTRS_STATIC_Q	UINT64_C(0x2000000000000000)
183e64299afShikaru #define PKO_MEM_QUEUE_PTRS_QOS_MASK	UINT64_C(0x1fe0000000000000)
184e64299afShikaru #define PKO_MEM_QUEUE_PTRS_BUF_PTR	UINT64_C(0x001ffffffffe0000)
185e64299afShikaru #define PKO_MEM_QUEUE_PTRS_TAIL		UINT64_C(0x0000000000010000)
186e64299afShikaru #define PKO_MEM_QUEUE_PTRS_IDX		UINT64_C(0x000000000000e000)
187e64299afShikaru #define PKO_MEM_QUEUE_PTRS_PID		UINT64_C(0x0000000000001f80)
188e64299afShikaru #define PKO_MEM_QUEUE_PTRS_QID		UINT64_C(0x000000000000007f)
189e64299afShikaru 
190e64299afShikaru /*
191e64299afShikaru  * PKO_MEM_QUEUE_QOS
192e64299afShikaru  */
193e64299afShikaru #define PKO_MEM_QUEUE_QOS_63_61		UINT64_C(0xe000000000000000)
194e64299afShikaru #define PKO_MEM_QUEUE_QOS_QOS_MASK	UINT64_C(0x1fe0000000000000)
195e64299afShikaru #define PKO_MEM_QUEUE_QOS_52_13		UINT64_C(0x001fffffffffe000)
196e64299afShikaru #define PKO_MEM_QUEUE_QOS_PID		UINT64_C(0x0000000000001f80)
197e64299afShikaru #define PKO_MEM_QUEUE_QOS_QID		UINT64_C(0x000000000000007f)
198e64299afShikaru 
199e64299afShikaru /*
200e64299afShikaru  * PKO_MEM_COUNT0
201e64299afShikaru  */
202e64299afShikaru #define PKO_MEM_COUNT0_63_32		UINT64_C(0xffffffff00000000)
203e64299afShikaru #define PKO_MEM_COUNT0_COUNT		UINT64_C(0x00000000ffffffff)
204e64299afShikaru 
205e64299afShikaru /*
206e64299afShikaru  * PKO_MEM_COUNT1
207e64299afShikaru  */
208e64299afShikaru #define PKO_MEM_COUNT1_63_48		UINT64_C(0xffff000000000000)
209e64299afShikaru #define PKO_MEM_COUNT1_COUNT		UINT64_C(0x0000ffffffffffff)
210e64299afShikaru 
211e64299afShikaru /*
212e64299afShikaru  * PKO_MEM_DEBUG0
213e64299afShikaru  */
214e64299afShikaru #define PKO_MEM_DEBUG0_FAU		UINT64_C(0xfffffff000000000)
215e64299afShikaru #define PKO_MEM_DEBUG0_CMD		UINT64_C(0x0000000fffc00000)
216e64299afShikaru #define PKO_MEM_DEBUG0_SEGS		UINT64_C(0x00000000003f0000)
217e64299afShikaru #define PKO_MEM_DEBUG0_SIZE		UINT64_C(0x000000000000ffff)
218e64299afShikaru 
219e64299afShikaru /*
220e64299afShikaru  * PKO_MEM_DEBUG1
221e64299afShikaru  */
222e64299afShikaru #define PKO_MEM_DEBUG1_I		UINT64_C(0x8000000000000000)
223e64299afShikaru #define PKO_MEM_DEBUG1_BACK		UINT64_C(0x7800000000000000)
224e64299afShikaru #define PKO_MEM_DEBUG1_POOL		UINT64_C(0x0700000000000000)
225e64299afShikaru #define PKO_MEM_DEBUG1_SIZE		UINT64_C(0x00ffff0000000000)
226e64299afShikaru #define PKO_MEM_DEBUG1_PTR		UINT64_C(0x000000ffffffffff)
227e64299afShikaru 
228e64299afShikaru /*
229e64299afShikaru  * PKO_MEM_DEBUG2
230e64299afShikaru  */
231e64299afShikaru #define PKO_MEM_DEBUG2_I		UINT64_C(0x8000000000000000)
232e64299afShikaru #define PKO_MEM_DEBUG2_BACK		UINT64_C(0x7800000000000000)
233e64299afShikaru #define PKO_MEM_DEBUG2_POOL		UINT64_C(0x0700000000000000)
234e64299afShikaru #define PKO_MEM_DEBUG2_SIZE		UINT64_C(0x00ffff0000000000)
235e64299afShikaru #define PKO_MEM_DEBUG2_PTR		UINT64_C(0x000000ffffffffff)
236e64299afShikaru 
237e64299afShikaru /*
238e64299afShikaru  * PKO_MEM_DEBUG3
239e64299afShikaru  */
240e64299afShikaru #define PKO_MEM_DEBUG3_I		UINT64_C(0x8000000000000000)
241e64299afShikaru #define PKO_MEM_DEBUG3_BACK		UINT64_C(0x7800000000000000)
242e64299afShikaru #define PKO_MEM_DEBUG3_POOL		UINT64_C(0x0700000000000000)
243e64299afShikaru #define PKO_MEM_DEBUG3_SIZE		UINT64_C(0x00ffff0000000000)
244e64299afShikaru #define PKO_MEM_DEBUG3_PTR		UINT64_C(0x000000ffffffffff)
245e64299afShikaru 
246e64299afShikaru /*
247e64299afShikaru  * PKO_MEM_DEBUG4
248e64299afShikaru  */
249e64299afShikaru #define PKO_MEM_DEBUG4_DATA		UINT64_C(0xffffffffffffffff)
250e64299afShikaru 
251e64299afShikaru /*
252e64299afShikaru  * PKO_MEM_DEBUG5
253e64299afShikaru  */
254e64299afShikaru #define PKO_MEM_DEBUG5_DWRI_MOD			UINT64_C(0x8000000000000000)
255e64299afShikaru #define PKO_MEM_DEBUG5_DWRI_SOP			UINT64_C(0x4000000000000000)
256e64299afShikaru #define PKO_MEM_DEBUG5_DWRI_LEN			UINT64_C(0x2000000000000000)
257e64299afShikaru #define PKO_MEM_DEBUG5_DWRI_CNT			UINT64_C(0x1fff000000000000)
258e64299afShikaru #define PKO_MEM_DEBUG5_CMND_SIZ			UINT64_C(0x0000ffff00000000)
259e64299afShikaru #define PKO_MEM_DEBUG5_UID			UINT64_C(0x0000000080000000)
260e64299afShikaru #define PKO_MEM_DEBUG5_XFER_WOR			UINT64_C(0x0000000040000000)
261e64299afShikaru #define PKO_MEM_DEBUG5_XFER_DWR			UINT64_C(0x0000000020000000)
262e64299afShikaru #define PKO_MEM_DEBUG5_CBUF_FRE			UINT64_C(0x0000000010000000)
263e64299afShikaru #define PKO_MEM_DEBUG5_27			UINT64_C(0x0000000008000000)
264e64299afShikaru #define PKO_MEM_DEBUG5_CHK_MODE			UINT64_C(0x0000000004000000)
265e64299afShikaru #define PKO_MEM_DEBUG5_ACTIVE			UINT64_C(0x0000000002000000)
266e64299afShikaru #define PKO_MEM_DEBUG5_QOS			UINT64_C(0x0000000001c00000)
267e64299afShikaru #define PKO_MEM_DEBUG5_QCB_RIDX			UINT64_C(0x00000000003e0000)
268e64299afShikaru #define PKO_MEM_DEBUG5_QID_OFF			UINT64_C(0x000000000001c000)
269e64299afShikaru #define PKO_MEM_DEBUG5_QID_BASE			UINT64_C(0x0000000000003f80)
270e64299afShikaru #define PKO_MEM_DEBUG5_WAIT			UINT64_C(0x0000000000000040)
271e64299afShikaru #define PKO_MEM_DEBUG5_MINOR			UINT64_C(0x0000000000000030)
272e64299afShikaru #define PKO_MEM_DEBUG5_MAJOR			UINT64_C(0x000000000000000f)
273e64299afShikaru 
274e64299afShikaru /*
275e64299afShikaru  * PKO_MEM_DEBUG6
276e64299afShikaru  */
277e64299afShikaru #define PKO_MEM_DEBUG6_63_11		UINT64_C(0xfffffffffffff800)
278e64299afShikaru #define PKO_MEM_DEBUG6_QID_OFFM		UINT64_C(0x0000000000000700)
279e64299afShikaru #define PKO_MEM_DEBUG6_STATIC_P		UINT64_C(0x0000000000000080)
280e64299afShikaru #define PKO_MEM_DEBUG6_WORK_MIN		UINT64_C(0x0000000000000070)
281e64299afShikaru #define PKO_MEM_DEBUG6_DWRI_CHK		UINT64_C(0x0000000000000008)
282e64299afShikaru #define PKO_MEM_DEBUG6_DWRI_UID		UINT64_C(0x0000000000000004)
283e64299afShikaru #define PKO_MEM_DEBUG6_DWRI_MOD		UINT64_C(0x0000000000000003)
284e64299afShikaru 
285e64299afShikaru /*
286e64299afShikaru  * PKO_MEM_DEBUG7
287e64299afShikaru  */
288e64299afShikaru #define PKO_MEM_DEBUG7_63_58		UINT64_C(0xfc00000000000000)
289e64299afShikaru #define PKO_MEM_DEBUG7_DWB		UINT64_C(0x03fe000000000000)
290e64299afShikaru #define PKO_MEM_DEBUG7_START		UINT64_C(0x0001ffffffff0000)
291e64299afShikaru #define PKO_MEM_DEBUG7_SIZE		UINT64_C(0x000000000000ffff)
292e64299afShikaru 
293e64299afShikaru /*
294e64299afShikaru  * PKO_MEM_DEBUG8
295e64299afShikaru  */
296e64299afShikaru #define PKO_MEM_DEBUG8_QOS		UINT64_C(0xf800000000000000)
297e64299afShikaru #define PKO_MEM_DEBUG8_TAIL		UINT64_C(0x0400000000000000)
298e64299afShikaru #define PKO_MEM_DEBUG8_BUF_SIZ		UINT64_C(0x03ffe00000000000)
299e64299afShikaru #define PKO_MEM_DEBUG8_BUF_PTR		UINT64_C(0x00001ffffffff000)
300e64299afShikaru #define PKO_MEM_DEBUG8_QCB_WIDX		UINT64_C(0x0000000000000fc0)
301e64299afShikaru #define PKO_MEM_DEBUG8_QCB_RIDX		UINT64_C(0x000000000000003f)
302e64299afShikaru 
303e64299afShikaru /*
304e64299afShikaru  * PKO_MEM_DEBUG9
305e64299afShikaru  */
306e64299afShikaru #define PKO_MEM_DEBUG9_63_28		UINT64_C(0xfffffffff0000000)
307e64299afShikaru #define PKO_MEM_DEBUG9_DOORBELL		UINT64_C(0x000000000fffff00)
308e64299afShikaru #define PKO_MEM_DEBUG9_7_5		UINT64_C(0x00000000000000e0)
309e64299afShikaru #define PKO_MEM_DEBUG9_S_TAIL		UINT64_C(0x0000000000000010)
310e64299afShikaru #define PKO_MEM_DEBUG9_STATIC_Q		UINT64_C(0x0000000000000008)
311e64299afShikaru #define PKO_MEM_DEBUG9_QOOS		UINT64_C(0x0000000000000007)
312e64299afShikaru 
313e64299afShikaru /*
314e64299afShikaru  * PKO_MEM_DEBUG10
315e64299afShikaru  */
316e64299afShikaru #define PKO_MEM_DEBUG10_FAU		UINT64_C(0xfffffff000000000)
317e64299afShikaru #define PKO_MEM_DEBUG10_CMD		UINT64_C(0x0000000fffc00000)
318e64299afShikaru #define PKO_MEM_DEBUG10_SEGS		UINT64_C(0x00000000003f0000)
319e64299afShikaru #define PKO_MEM_DEBUG10_SIZE		UINT64_C(0x000000000000ffff)
320e64299afShikaru 
321e64299afShikaru /*
322e64299afShikaru  * PKO_MEM_DEBUG11
323e64299afShikaru  */
324e64299afShikaru #define PKO_MEM_DEBUG11_I		UINT64_C(0x8000000000000000)
325e64299afShikaru #define PKO_MEM_DEBUG11_BACK		UINT64_C(0x7800000000000000)
326e64299afShikaru #define PKO_MEM_DEBUG11_POOL		UINT64_C(0x0700000000000000)
327e64299afShikaru #define PKO_MEM_DEBUG11_SIZE		UINT64_C(0x00ffff0000000000)
328e64299afShikaru #define PKO_MEM_DEBUG11_PTR		UINT64_C(0x000000ffffffffff)
329e64299afShikaru 
330e64299afShikaru /*
331e64299afShikaru  * PKO_MEM_DEBUG12
332e64299afShikaru  */
333e64299afShikaru #define PKO_MEM_DEBUG12_DATA		UINT64_C(0xffffffffffffffff)
334e64299afShikaru 
335e64299afShikaru /*
336e64299afShikaru  * PKO_MEM_DEBUG13
337e64299afShikaru  */
338e64299afShikaru #define PKO_MEM_DEBUG13_63_51		UINT64_C(0xfff8000000000000)
339e64299afShikaru #define PKO_MEM_DEBUG13_WIDX		UINT64_C(0x0007fffc00000000)
340e64299afShikaru #define PKO_MEM_DEBUG13_RIDX2		UINT64_C(0x00000003fffe0000)
341e64299afShikaru #define PKO_MEM_DEBUG13_WIDX2		UINT64_C(0x000000000001ffff)
342e64299afShikaru 
343e64299afShikaru /*
344e64299afShikaru  * PKO_MEM_DEBUG14
345e64299afShikaru  */
346e64299afShikaru #define PKO_MEM_DEBUG13_63_17		UINT64_C(0xfffffffffffe0000)
347e64299afShikaru #define PKO_MEM_DEBUG13_RIDX		UINT64_C(0x000000000001ffff)
348e64299afShikaru 
349e64299afShikaru /*
350e64299afShikaru  * PKO_CMD_WORD0
351e64299afShikaru  */
352e64299afShikaru #define PKO_CMD_WORD0_SZ1		UINT64_C(0xc000000000000000)
353e64299afShikaru #define PKO_CMD_WORD0_SZ0		UINT64_C(0x3000000000000000)
354e64299afShikaru #define PKO_CMD_WORD0_S1		UINT64_C(0x0800000000000000)
355e64299afShikaru #define PKO_CMD_WORD0_REG1		UINT64_C(0x07ff000000000000)
356e64299afShikaru #define PKO_CMD_WORD0_S0		UINT64_C(0x0000800000000000)
357e64299afShikaru #define PKO_CMD_WORD0_REG0		UINT64_C(0x00007ff000000000)
358e64299afShikaru #define PKO_CMD_WORD0_LE		UINT64_C(0x0000000800000000)
359e64299afShikaru #define PKO_CMD_WORD0_N2		UINT64_C(0x0000000400000000)
360e64299afShikaru #define PKO_CMD_WORD0_Q			UINT64_C(0x0000000200000000)
361e64299afShikaru #define PKO_CMD_WORD0_R			UINT64_C(0x0000000100000000)
362e64299afShikaru #define PKO_CMD_WORD0_G			UINT64_C(0x0000000080000000)
363e64299afShikaru #define PKO_CMD_WORD0_IPOFFP1		UINT64_C(0x000000007f000000)
364e64299afShikaru #define PKO_CMD_WORD0_II		UINT64_C(0x0000000000800000)
365e64299afShikaru #define PKO_CMD_WORD0_DF		UINT64_C(0x0000000000400000)
366e64299afShikaru #define PKO_CMD_WORD0_SEGS		UINT64_C(0x00000000003f0000)
367e64299afShikaru #define PKO_CMD_WORD0_TOTALBYTES	UINT64_C(0x000000000000ffff)
368e64299afShikaru 
369e64299afShikaru /*
370e64299afShikaru  * PKO_CMD_WORD1
371e64299afShikaru  */
372e64299afShikaru #define PKO_CMD_WORD1_I			UINT64_C(0x8000000000000000)
373e64299afShikaru #define PKO_CMD_WORD1_BACK		UINT64_C(0x7800000000000000)
374e64299afShikaru #define PKO_CMD_WORD1_POOL		UINT64_C(0x0700000000000000)
375e64299afShikaru #define PKO_CMD_WORD1_SIZE		UINT64_C(0x00ffff0000000000)
376e64299afShikaru #define PKO_CMD_WORD1_ADDR		UINT64_C(0x000000ffffffffff)
377e64299afShikaru 
378e64299afShikaru /*
379e64299afShikaru  * PKO_CMD_WORD2
380e64299afShikaru  */
381e64299afShikaru #define PKO_CMD_WORD2_63_36		UINT64_C(0xfffffff000000000)
382e64299afShikaru #define PKO_CMD_WORD2_PTR		UINT64_C(0x0000000fffffffff)
383e64299afShikaru 
384e64299afShikaru /*
385e64299afShikaru  *  DOORBELL_WRITE
386e64299afShikaru  */
387e64299afShikaru #define PKO_DOORBELL_WRITE_PID		UINT64_C(0x000000000003f000)
388e64299afShikaru #define PKO_DOORBELL_WRITE_QID		UINT64_C(0x0000000000000ff8)
389e64299afShikaru 
390e64299afShikaru #define PKO_DOORBELL_WRITE_WDC		UINT64_C(0x00000000000fffff)
391e64299afShikaru 
392e64299afShikaru #endif /* _OCTEON_PKOREG_H_ */
393