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