| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * Copyright (C) 2020 Marvell International Ltd. |
| * |
| * Configuration and status register (CSR) type definitions for |
| * Octeon pko. |
| */ |
| |
| #ifndef __CVMX_PKO_DEFS_H__ |
| #define __CVMX_PKO_DEFS_H__ |
| |
| #define CVMX_PKO_CHANNEL_LEVEL (0x00015400000800F0ull) |
| #define CVMX_PKO_DPFI_ENA (0x0001540000C00018ull) |
| #define CVMX_PKO_DPFI_FLUSH (0x0001540000C00008ull) |
| #define CVMX_PKO_DPFI_FPA_AURA (0x0001540000C00010ull) |
| #define CVMX_PKO_DPFI_STATUS (0x0001540000C00000ull) |
| #define CVMX_PKO_DQX_BYTES(offset) (0x00015400000000D8ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_CIR(offset) (0x0001540000280018ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_DROPPED_BYTES(offset) (0x00015400000000C8ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_DROPPED_PACKETS(offset) (0x00015400000000C0ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_FIFO(offset) (0x0001540000300078ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_PACKETS(offset) (0x00015400000000D0ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_PICK(offset) (0x0001540000300070ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_PIR(offset) (0x0001540000280020ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_POINTERS(offset) (0x0001540000280078ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_SCHEDULE(offset) (0x0001540000280008ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_SCHED_STATE(offset) (0x0001540000280028ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_SHAPE(offset) (0x0001540000280010ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_SHAPE_STATE(offset) (0x0001540000280030ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_SW_XOFF(offset) (0x00015400002800E0ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_TOPOLOGY(offset) (0x0001540000300000ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_WM_BUF_CNT(offset) (0x00015400008000E8ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_WM_BUF_CTL(offset) (0x00015400008000F0ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_WM_BUF_CTL_W1C(offset) (0x00015400008000F8ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_WM_CNT(offset) (0x0001540000000050ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_WM_CTL(offset) (0x0001540000000040ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQX_WM_CTL_W1C(offset) (0x0001540000000048ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_DQ_CSR_BUS_DEBUG (0x00015400003001F8ull) |
| #define CVMX_PKO_DQ_DEBUG (0x0001540000300128ull) |
| #define CVMX_PKO_DRAIN_IRQ (0x0001540000000140ull) |
| #define CVMX_PKO_ENABLE (0x0001540000D00008ull) |
| #define CVMX_PKO_FORMATX_CTL(offset) (0x0001540000900800ull + ((offset) & 127) * 8) |
| #define CVMX_PKO_L1_SQA_DEBUG (0x0001540000080128ull) |
| #define CVMX_PKO_L1_SQB_DEBUG (0x0001540000080130ull) |
| #define CVMX_PKO_L1_SQX_CIR(offset) (0x0001540000000018ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_DROPPED_BYTES(offset) (0x0001540000000088ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_DROPPED_PACKETS(offset) (0x0001540000000080ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_GREEN(offset) (0x0001540000080058ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_GREEN_BYTES(offset) (0x00015400000000B8ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_GREEN_PACKETS(offset) (0x00015400000000B0ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_LINK(offset) (0x0001540000000038ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_PICK(offset) (0x0001540000080070ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_RED(offset) (0x0001540000080068ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_RED_BYTES(offset) (0x0001540000000098ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_RED_PACKETS(offset) (0x0001540000000090ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_SCHEDULE(offset) (0x0001540000000008ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_SHAPE(offset) (0x0001540000000010ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_SHAPE_STATE(offset) (0x0001540000000030ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_SW_XOFF(offset) (0x00015400000000E0ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_TOPOLOGY(offset) (0x0001540000080000ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_YELLOW(offset) (0x0001540000080060ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_YELLOW_BYTES(offset) (0x00015400000000A8ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQX_YELLOW_PACKETS(offset) (0x00015400000000A0ull + ((offset) & 31) * 512) |
| #define CVMX_PKO_L1_SQ_CSR_BUS_DEBUG (0x00015400000801F8ull) |
| #define CVMX_PKO_L2_SQA_DEBUG (0x0001540000100128ull) |
| #define CVMX_PKO_L2_SQB_DEBUG (0x0001540000100130ull) |
| #define CVMX_PKO_L2_SQX_CIR(offset) (0x0001540000080018ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L2_SQX_GREEN(offset) (0x0001540000100058ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L2_SQX_PICK(offset) (0x0001540000100070ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L2_SQX_PIR(offset) (0x0001540000080020ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L2_SQX_POINTERS(offset) (0x0001540000080078ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L2_SQX_RED(offset) (0x0001540000100068ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L2_SQX_SCHEDULE(offset) (0x0001540000080008ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L2_SQX_SCHED_STATE(offset) (0x0001540000080028ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L2_SQX_SHAPE(offset) (0x0001540000080010ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L2_SQX_SHAPE_STATE(offset) (0x0001540000080030ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L2_SQX_SW_XOFF(offset) (0x00015400000800E0ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L2_SQX_TOPOLOGY(offset) (0x0001540000100000ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L2_SQX_YELLOW(offset) (0x0001540000100060ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L2_SQ_CSR_BUS_DEBUG (0x00015400001001F8ull) |
| #define CVMX_PKO_L3_L2_SQX_CHANNEL(offset) (0x0001540000080038ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L3_SQA_DEBUG (0x0001540000180128ull) |
| #define CVMX_PKO_L3_SQB_DEBUG (0x0001540000180130ull) |
| #define CVMX_PKO_L3_SQX_CIR(offset) (0x0001540000100018ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L3_SQX_GREEN(offset) (0x0001540000180058ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L3_SQX_PICK(offset) (0x0001540000180070ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L3_SQX_PIR(offset) (0x0001540000100020ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L3_SQX_POINTERS(offset) (0x0001540000100078ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L3_SQX_RED(offset) (0x0001540000180068ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L3_SQX_SCHEDULE(offset) (0x0001540000100008ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L3_SQX_SCHED_STATE(offset) (0x0001540000100028ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L3_SQX_SHAPE(offset) (0x0001540000100010ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L3_SQX_SHAPE_STATE(offset) (0x0001540000100030ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L3_SQX_SW_XOFF(offset) (0x00015400001000E0ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L3_SQX_TOPOLOGY(offset) (0x0001540000180000ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L3_SQX_YELLOW(offset) (0x0001540000180060ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L3_SQ_CSR_BUS_DEBUG (0x00015400001801F8ull) |
| #define CVMX_PKO_L4_SQA_DEBUG (0x0001540000200128ull) |
| #define CVMX_PKO_L4_SQB_DEBUG (0x0001540000200130ull) |
| #define CVMX_PKO_L4_SQX_CIR(offset) (0x0001540000180018ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L4_SQX_GREEN(offset) (0x0001540000200058ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L4_SQX_PICK(offset) (0x0001540000200070ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L4_SQX_PIR(offset) (0x0001540000180020ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L4_SQX_POINTERS(offset) (0x0001540000180078ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L4_SQX_RED(offset) (0x0001540000200068ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L4_SQX_SCHEDULE(offset) (0x0001540000180008ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L4_SQX_SCHED_STATE(offset) (0x0001540000180028ull + ((offset) & 511) * 512) |
| #define CVMX_PKO_L4_SQX_SHAPE(offset) (0x0001540000180010ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L4_SQX_SHAPE_STATE(offset) (0x0001540000180030ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L4_SQX_SW_XOFF(offset) (0x00015400001800E0ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L4_SQX_TOPOLOGY(offset) (0x0001540000200000ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L4_SQX_YELLOW(offset) (0x0001540000200060ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L4_SQ_CSR_BUS_DEBUG (0x00015400002001F8ull) |
| #define CVMX_PKO_L5_SQA_DEBUG (0x0001540000280128ull) |
| #define CVMX_PKO_L5_SQB_DEBUG (0x0001540000280130ull) |
| #define CVMX_PKO_L5_SQX_CIR(offset) (0x0001540000200018ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L5_SQX_GREEN(offset) (0x0001540000280058ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L5_SQX_PICK(offset) (0x0001540000280070ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L5_SQX_PIR(offset) (0x0001540000200020ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L5_SQX_POINTERS(offset) (0x0001540000200078ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L5_SQX_RED(offset) (0x0001540000280068ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L5_SQX_SCHEDULE(offset) (0x0001540000200008ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L5_SQX_SCHED_STATE(offset) (0x0001540000200028ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L5_SQX_SHAPE(offset) (0x0001540000200010ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L5_SQX_SHAPE_STATE(offset) (0x0001540000200030ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L5_SQX_SW_XOFF(offset) (0x00015400002000E0ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L5_SQX_TOPOLOGY(offset) (0x0001540000280000ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L5_SQX_YELLOW(offset) (0x0001540000280060ull + ((offset) & 1023) * 512) |
| #define CVMX_PKO_L5_SQ_CSR_BUS_DEBUG (0x00015400002801F8ull) |
| #define CVMX_PKO_LUTX(offset) (0x0001540000B00000ull + ((offset) & 1023) * 8) |
| #define CVMX_PKO_LUT_BIST_STATUS (0x0001540000B02018ull) |
| #define CVMX_PKO_LUT_ECC_CTL0 (0x0001540000BFFFD0ull) |
| #define CVMX_PKO_LUT_ECC_DBE_STS0 (0x0001540000BFFFF0ull) |
| #define CVMX_PKO_LUT_ECC_DBE_STS_CMB0 (0x0001540000BFFFD8ull) |
| #define CVMX_PKO_LUT_ECC_SBE_STS0 (0x0001540000BFFFF8ull) |
| #define CVMX_PKO_LUT_ECC_SBE_STS_CMB0 (0x0001540000BFFFE8ull) |
| #define CVMX_PKO_MACX_CFG(offset) (0x0001540000900000ull + ((offset) & 31) * 8) |
| #define CVMX_PKO_MCI0_CRED_CNTX(offset) (0x0001540000A40000ull + ((offset) & 31) * 8) |
| #define CVMX_PKO_MCI0_MAX_CREDX(offset) (0x0001540000A00000ull + ((offset) & 31) * 8) |
| #define CVMX_PKO_MCI1_CRED_CNTX(offset) (0x0001540000A80100ull + ((offset) & 31) * 8) |
| #define CVMX_PKO_MCI1_MAX_CREDX(offset) (0x0001540000A80000ull + ((offset) & 31) * 8) |
| #define CVMX_PKO_MEM_COUNT0 (0x0001180050001080ull) |
| #define CVMX_PKO_MEM_COUNT1 (0x0001180050001088ull) |
| #define CVMX_PKO_MEM_DEBUG0 (0x0001180050001100ull) |
| #define CVMX_PKO_MEM_DEBUG1 (0x0001180050001108ull) |
| #define CVMX_PKO_MEM_DEBUG10 (0x0001180050001150ull) |
| #define CVMX_PKO_MEM_DEBUG11 (0x0001180050001158ull) |
| #define CVMX_PKO_MEM_DEBUG12 (0x0001180050001160ull) |
| #define CVMX_PKO_MEM_DEBUG13 (0x0001180050001168ull) |
| #define CVMX_PKO_MEM_DEBUG14 (0x0001180050001170ull) |
| #define CVMX_PKO_MEM_DEBUG2 (0x0001180050001110ull) |
| #define CVMX_PKO_MEM_DEBUG3 (0x0001180050001118ull) |
| #define CVMX_PKO_MEM_DEBUG4 (0x0001180050001120ull) |
| #define CVMX_PKO_MEM_DEBUG5 (0x0001180050001128ull) |
| #define CVMX_PKO_MEM_DEBUG6 (0x0001180050001130ull) |
| #define CVMX_PKO_MEM_DEBUG7 (0x0001180050001138ull) |
| #define CVMX_PKO_MEM_DEBUG8 (0x0001180050001140ull) |
| #define CVMX_PKO_MEM_DEBUG9 (0x0001180050001148ull) |
| #define CVMX_PKO_MEM_IPORT_PTRS (0x0001180050001030ull) |
| #define CVMX_PKO_MEM_IPORT_QOS (0x0001180050001038ull) |
| #define CVMX_PKO_MEM_IQUEUE_PTRS (0x0001180050001040ull) |
| #define CVMX_PKO_MEM_IQUEUE_QOS (0x0001180050001048ull) |
| #define CVMX_PKO_MEM_PORT_PTRS (0x0001180050001010ull) |
| #define CVMX_PKO_MEM_PORT_QOS (0x0001180050001018ull) |
| #define CVMX_PKO_MEM_PORT_RATE0 (0x0001180050001020ull) |
| #define CVMX_PKO_MEM_PORT_RATE1 (0x0001180050001028ull) |
| #define CVMX_PKO_MEM_QUEUE_PTRS (0x0001180050001000ull) |
| #define CVMX_PKO_MEM_QUEUE_QOS (0x0001180050001008ull) |
| #define CVMX_PKO_MEM_THROTTLE_INT (0x0001180050001058ull) |
| #define CVMX_PKO_MEM_THROTTLE_PIPE (0x0001180050001050ull) |
| #define CVMX_PKO_NCB_BIST_STATUS (0x0001540000EFFF00ull) |
| #define CVMX_PKO_NCB_ECC_CTL0 (0x0001540000EFFFD0ull) |
| #define CVMX_PKO_NCB_ECC_DBE_STS0 (0x0001540000EFFFF0ull) |
| #define CVMX_PKO_NCB_ECC_DBE_STS_CMB0 (0x0001540000EFFFD8ull) |
| #define CVMX_PKO_NCB_ECC_SBE_STS0 (0x0001540000EFFFF8ull) |
| #define CVMX_PKO_NCB_ECC_SBE_STS_CMB0 (0x0001540000EFFFE8ull) |
| #define CVMX_PKO_NCB_INT (0x0001540000E00010ull) |
| #define CVMX_PKO_NCB_TX_ERR_INFO (0x0001540000E00008ull) |
| #define CVMX_PKO_NCB_TX_ERR_WORD (0x0001540000E00000ull) |
| #define CVMX_PKO_PDM_BIST_STATUS (0x00015400008FFF00ull) |
| #define CVMX_PKO_PDM_CFG (0x0001540000800000ull) |
| #define CVMX_PKO_PDM_CFG_DBG (0x0001540000800FF8ull) |
| #define CVMX_PKO_PDM_CP_DBG (0x0001540000800190ull) |
| #define CVMX_PKO_PDM_DQX_MINPAD(offset) (0x00015400008F0000ull + ((offset) & 1023) * 8) |
| #define CVMX_PKO_PDM_DRPBUF_DBG (0x00015400008000B0ull) |
| #define CVMX_PKO_PDM_DWPBUF_DBG (0x00015400008000A8ull) |
| #define CVMX_PKO_PDM_ECC_CTL0 (0x00015400008FFFD0ull) |
| #define CVMX_PKO_PDM_ECC_CTL1 (0x00015400008FFFD8ull) |
| #define CVMX_PKO_PDM_ECC_DBE_STS0 (0x00015400008FFFF0ull) |
| #define CVMX_PKO_PDM_ECC_DBE_STS_CMB0 (0x00015400008FFFE0ull) |
| #define CVMX_PKO_PDM_ECC_SBE_STS0 (0x00015400008FFFF8ull) |
| #define CVMX_PKO_PDM_ECC_SBE_STS_CMB0 (0x00015400008FFFE8ull) |
| #define CVMX_PKO_PDM_FILLB_DBG0 (0x00015400008002A0ull) |
| #define CVMX_PKO_PDM_FILLB_DBG1 (0x00015400008002A8ull) |
| #define CVMX_PKO_PDM_FILLB_DBG2 (0x00015400008002B0ull) |
| #define CVMX_PKO_PDM_FLSHB_DBG0 (0x00015400008002B8ull) |
| #define CVMX_PKO_PDM_FLSHB_DBG1 (0x00015400008002C0ull) |
| #define CVMX_PKO_PDM_INTF_DBG_RD (0x0001540000900F20ull) |
| #define CVMX_PKO_PDM_ISRD_DBG (0x0001540000800090ull) |
| #define CVMX_PKO_PDM_ISRD_DBG_DQ (0x0001540000800290ull) |
| #define CVMX_PKO_PDM_ISRM_DBG (0x0001540000800098ull) |
| #define CVMX_PKO_PDM_ISRM_DBG_DQ (0x0001540000800298ull) |
| #define CVMX_PKO_PDM_MEM_ADDR (0x0001540000800018ull) |
| #define CVMX_PKO_PDM_MEM_DATA (0x0001540000800010ull) |
| #define CVMX_PKO_PDM_MEM_RW_CTL (0x0001540000800020ull) |
| #define CVMX_PKO_PDM_MEM_RW_STS (0x0001540000800028ull) |
| #define CVMX_PKO_PDM_MWPBUF_DBG (0x00015400008000A0ull) |
| #define CVMX_PKO_PDM_STS (0x0001540000800008ull) |
| #define CVMX_PKO_PEB_BIST_STATUS (0x0001540000900D00ull) |
| #define CVMX_PKO_PEB_ECC_CTL0 (0x00015400009FFFD0ull) |
| #define CVMX_PKO_PEB_ECC_CTL1 (0x00015400009FFFA8ull) |
| #define CVMX_PKO_PEB_ECC_DBE_STS0 (0x00015400009FFFF0ull) |
| #define CVMX_PKO_PEB_ECC_DBE_STS_CMB0 (0x00015400009FFFD8ull) |
| #define CVMX_PKO_PEB_ECC_SBE_STS0 (0x00015400009FFFF8ull) |
| #define CVMX_PKO_PEB_ECC_SBE_STS_CMB0 (0x00015400009FFFE8ull) |
| #define CVMX_PKO_PEB_ECO (0x0001540000901000ull) |
| #define CVMX_PKO_PEB_ERR_INT (0x0001540000900C00ull) |
| #define CVMX_PKO_PEB_EXT_HDR_DEF_ERR_INFO (0x0001540000900C08ull) |
| #define CVMX_PKO_PEB_FCS_SOP_ERR_INFO (0x0001540000900C18ull) |
| #define CVMX_PKO_PEB_JUMP_DEF_ERR_INFO (0x0001540000900C10ull) |
| #define CVMX_PKO_PEB_MACX_CFG_WR_ERR_INFO (0x0001540000900C50ull) |
| #define CVMX_PKO_PEB_MAX_LINK_ERR_INFO (0x0001540000900C48ull) |
| #define CVMX_PKO_PEB_NCB_CFG (0x0001540000900308ull) |
| #define CVMX_PKO_PEB_PAD_ERR_INFO (0x0001540000900C28ull) |
| #define CVMX_PKO_PEB_PSE_FIFO_ERR_INFO (0x0001540000900C20ull) |
| #define CVMX_PKO_PEB_SUBD_ADDR_ERR_INFO (0x0001540000900C38ull) |
| #define CVMX_PKO_PEB_SUBD_SIZE_ERR_INFO (0x0001540000900C40ull) |
| #define CVMX_PKO_PEB_TRUNC_ERR_INFO (0x0001540000900C30ull) |
| #define CVMX_PKO_PEB_TSO_CFG (0x0001540000900310ull) |
| #define CVMX_PKO_PQA_DEBUG (0x0001540000000128ull) |
| #define CVMX_PKO_PQB_DEBUG (0x0001540000000130ull) |
| #define CVMX_PKO_PQ_CSR_BUS_DEBUG (0x00015400000001F8ull) |
| #define CVMX_PKO_PQ_DEBUG_GREEN (0x0001540000000058ull) |
| #define CVMX_PKO_PQ_DEBUG_LINKS (0x0001540000000068ull) |
| #define CVMX_PKO_PQ_DEBUG_YELLOW (0x0001540000000060ull) |
| #define CVMX_PKO_PSE_DQ_BIST_STATUS (0x0001540000300138ull) |
| #define CVMX_PKO_PSE_DQ_ECC_CTL0 (0x0001540000300100ull) |
| #define CVMX_PKO_PSE_DQ_ECC_DBE_STS0 (0x0001540000300118ull) |
| #define CVMX_PKO_PSE_DQ_ECC_DBE_STS_CMB0 (0x0001540000300120ull) |
| #define CVMX_PKO_PSE_DQ_ECC_SBE_STS0 (0x0001540000300108ull) |
| #define CVMX_PKO_PSE_DQ_ECC_SBE_STS_CMB0 (0x0001540000300110ull) |
| #define CVMX_PKO_PSE_PQ_BIST_STATUS (0x0001540000000138ull) |
| #define CVMX_PKO_PSE_PQ_ECC_CTL0 (0x0001540000000100ull) |
| #define CVMX_PKO_PSE_PQ_ECC_DBE_STS0 (0x0001540000000118ull) |
| #define CVMX_PKO_PSE_PQ_ECC_DBE_STS_CMB0 (0x0001540000000120ull) |
| #define CVMX_PKO_PSE_PQ_ECC_SBE_STS0 (0x0001540000000108ull) |
| #define CVMX_PKO_PSE_PQ_ECC_SBE_STS_CMB0 (0x0001540000000110ull) |
| #define CVMX_PKO_PSE_SQ1_BIST_STATUS (0x0001540000080138ull) |
| #define CVMX_PKO_PSE_SQ1_ECC_CTL0 (0x0001540000080100ull) |
| #define CVMX_PKO_PSE_SQ1_ECC_DBE_STS0 (0x0001540000080118ull) |
| #define CVMX_PKO_PSE_SQ1_ECC_DBE_STS_CMB0 (0x0001540000080120ull) |
| #define CVMX_PKO_PSE_SQ1_ECC_SBE_STS0 (0x0001540000080108ull) |
| #define CVMX_PKO_PSE_SQ1_ECC_SBE_STS_CMB0 (0x0001540000080110ull) |
| #define CVMX_PKO_PSE_SQ2_BIST_STATUS (0x0001540000100138ull) |
| #define CVMX_PKO_PSE_SQ2_ECC_CTL0 (0x0001540000100100ull) |
| #define CVMX_PKO_PSE_SQ2_ECC_DBE_STS0 (0x0001540000100118ull) |
| #define CVMX_PKO_PSE_SQ2_ECC_DBE_STS_CMB0 (0x0001540000100120ull) |
| #define CVMX_PKO_PSE_SQ2_ECC_SBE_STS0 (0x0001540000100108ull) |
| #define CVMX_PKO_PSE_SQ2_ECC_SBE_STS_CMB0 (0x0001540000100110ull) |
| #define CVMX_PKO_PSE_SQ3_BIST_STATUS (0x0001540000180138ull) |
| #define CVMX_PKO_PSE_SQ3_ECC_CTL0 (0x0001540000180100ull) |
| #define CVMX_PKO_PSE_SQ3_ECC_DBE_STS0 (0x0001540000180118ull) |
| #define CVMX_PKO_PSE_SQ3_ECC_DBE_STS_CMB0 (0x0001540000180120ull) |
| #define CVMX_PKO_PSE_SQ3_ECC_SBE_STS0 (0x0001540000180108ull) |
| #define CVMX_PKO_PSE_SQ3_ECC_SBE_STS_CMB0 (0x0001540000180110ull) |
| #define CVMX_PKO_PSE_SQ4_BIST_STATUS (0x0001540000200138ull) |
| #define CVMX_PKO_PSE_SQ4_ECC_CTL0 (0x0001540000200100ull) |
| #define CVMX_PKO_PSE_SQ4_ECC_DBE_STS0 (0x0001540000200118ull) |
| #define CVMX_PKO_PSE_SQ4_ECC_DBE_STS_CMB0 (0x0001540000200120ull) |
| #define CVMX_PKO_PSE_SQ4_ECC_SBE_STS0 (0x0001540000200108ull) |
| #define CVMX_PKO_PSE_SQ4_ECC_SBE_STS_CMB0 (0x0001540000200110ull) |
| #define CVMX_PKO_PSE_SQ5_BIST_STATUS (0x0001540000280138ull) |
| #define CVMX_PKO_PSE_SQ5_ECC_CTL0 (0x0001540000280100ull) |
| #define CVMX_PKO_PSE_SQ5_ECC_DBE_STS0 (0x0001540000280118ull) |
| #define CVMX_PKO_PSE_SQ5_ECC_DBE_STS_CMB0 (0x0001540000280120ull) |
| #define CVMX_PKO_PSE_SQ5_ECC_SBE_STS0 (0x0001540000280108ull) |
| #define CVMX_PKO_PSE_SQ5_ECC_SBE_STS_CMB0 (0x0001540000280110ull) |
| #define CVMX_PKO_PTFX_STATUS(offset) (0x0001540000900100ull + ((offset) & 31) * 8) |
| #define CVMX_PKO_PTF_IOBP_CFG (0x0001540000900300ull) |
| #define CVMX_PKO_PTGFX_CFG(offset) (0x0001540000900200ull + ((offset) & 7) * 8) |
| #define CVMX_PKO_REG_BIST_RESULT (0x0001180050000080ull) |
| #define CVMX_PKO_REG_CMD_BUF (0x0001180050000010ull) |
| #define CVMX_PKO_REG_CRC_CTLX(offset) (0x0001180050000028ull + ((offset) & 1) * 8) |
| #define CVMX_PKO_REG_CRC_ENABLE (0x0001180050000020ull) |
| #define CVMX_PKO_REG_CRC_IVX(offset) (0x0001180050000038ull + ((offset) & 1) * 8) |
| #define CVMX_PKO_REG_DEBUG0 (0x0001180050000098ull) |
| #define CVMX_PKO_REG_DEBUG1 (0x00011800500000A0ull) |
| #define CVMX_PKO_REG_DEBUG2 (0x00011800500000A8ull) |
| #define CVMX_PKO_REG_DEBUG3 (0x00011800500000B0ull) |
| #define CVMX_PKO_REG_DEBUG4 (0x00011800500000B8ull) |
| #define CVMX_PKO_REG_ENGINE_INFLIGHT (0x0001180050000050ull) |
| #define CVMX_PKO_REG_ENGINE_INFLIGHT1 (0x0001180050000318ull) |
| #define CVMX_PKO_REG_ENGINE_STORAGEX(offset) (0x0001180050000300ull + ((offset) & 1) * 8) |
| #define CVMX_PKO_REG_ENGINE_THRESH (0x0001180050000058ull) |
| #define CVMX_PKO_REG_ERROR (0x0001180050000088ull) |
| #define CVMX_PKO_REG_FLAGS (0x0001180050000000ull) |
| #define CVMX_PKO_REG_GMX_PORT_MODE (0x0001180050000018ull) |
| #define CVMX_PKO_REG_INT_MASK (0x0001180050000090ull) |
| #define CVMX_PKO_REG_LOOPBACK_BPID (0x0001180050000118ull) |
| #define CVMX_PKO_REG_LOOPBACK_PKIND (0x0001180050000068ull) |
| #define CVMX_PKO_REG_MIN_PKT (0x0001180050000070ull) |
| #define CVMX_PKO_REG_PREEMPT (0x0001180050000110ull) |
| #define CVMX_PKO_REG_QUEUE_MODE (0x0001180050000048ull) |
| #define CVMX_PKO_REG_QUEUE_PREEMPT (0x0001180050000108ull) |
| #define CVMX_PKO_REG_QUEUE_PTRS1 (0x0001180050000100ull) |
| #define CVMX_PKO_REG_READ_IDX (0x0001180050000008ull) |
| #define CVMX_PKO_REG_THROTTLE (0x0001180050000078ull) |
| #define CVMX_PKO_REG_TIMESTAMP (0x0001180050000060ull) |
| #define CVMX_PKO_SHAPER_CFG (0x00015400000800F8ull) |
| #define CVMX_PKO_STATE_UID_IN_USEX_RD(offset) (0x0001540000900F00ull + ((offset) & 3) * 8) |
| #define CVMX_PKO_STATUS (0x0001540000D00000ull) |
| #define CVMX_PKO_TXFX_PKT_CNT_RD(offset) (0x0001540000900E00ull + ((offset) & 31) * 8) |
| |
| /** |
| * cvmx_pko_channel_level |
| */ |
| union cvmx_pko_channel_level { |
| u64 u64; |
| struct cvmx_pko_channel_level_s { |
| u64 reserved_1_63 : 63; |
| u64 cc_level : 1; |
| } s; |
| struct cvmx_pko_channel_level_s cn73xx; |
| struct cvmx_pko_channel_level_s cn78xx; |
| struct cvmx_pko_channel_level_s cn78xxp1; |
| struct cvmx_pko_channel_level_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_channel_level cvmx_pko_channel_level_t; |
| |
| /** |
| * cvmx_pko_dpfi_ena |
| */ |
| union cvmx_pko_dpfi_ena { |
| u64 u64; |
| struct cvmx_pko_dpfi_ena_s { |
| u64 reserved_1_63 : 63; |
| u64 enable : 1; |
| } s; |
| struct cvmx_pko_dpfi_ena_s cn73xx; |
| struct cvmx_pko_dpfi_ena_s cn78xx; |
| struct cvmx_pko_dpfi_ena_s cn78xxp1; |
| struct cvmx_pko_dpfi_ena_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dpfi_ena cvmx_pko_dpfi_ena_t; |
| |
| /** |
| * cvmx_pko_dpfi_flush |
| */ |
| union cvmx_pko_dpfi_flush { |
| u64 u64; |
| struct cvmx_pko_dpfi_flush_s { |
| u64 reserved_1_63 : 63; |
| u64 flush_en : 1; |
| } s; |
| struct cvmx_pko_dpfi_flush_s cn73xx; |
| struct cvmx_pko_dpfi_flush_s cn78xx; |
| struct cvmx_pko_dpfi_flush_s cn78xxp1; |
| struct cvmx_pko_dpfi_flush_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dpfi_flush cvmx_pko_dpfi_flush_t; |
| |
| /** |
| * cvmx_pko_dpfi_fpa_aura |
| */ |
| union cvmx_pko_dpfi_fpa_aura { |
| u64 u64; |
| struct cvmx_pko_dpfi_fpa_aura_s { |
| u64 reserved_12_63 : 52; |
| u64 node : 2; |
| u64 laura : 10; |
| } s; |
| struct cvmx_pko_dpfi_fpa_aura_s cn73xx; |
| struct cvmx_pko_dpfi_fpa_aura_s cn78xx; |
| struct cvmx_pko_dpfi_fpa_aura_s cn78xxp1; |
| struct cvmx_pko_dpfi_fpa_aura_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dpfi_fpa_aura cvmx_pko_dpfi_fpa_aura_t; |
| |
| /** |
| * cvmx_pko_dpfi_status |
| */ |
| union cvmx_pko_dpfi_status { |
| u64 u64; |
| struct cvmx_pko_dpfi_status_s { |
| u64 ptr_cnt : 32; |
| u64 reserved_27_31 : 5; |
| u64 xpd_fif_cnt : 4; |
| u64 dalc_fif_cnt : 4; |
| u64 alc_fif_cnt : 5; |
| u64 reserved_13_13 : 1; |
| u64 isrd_ptr1_rtn_full : 1; |
| u64 isrd_ptr0_rtn_full : 1; |
| u64 isrm_ptr1_rtn_full : 1; |
| u64 isrm_ptr0_rtn_full : 1; |
| u64 isrd_ptr1_val : 1; |
| u64 isrd_ptr0_val : 1; |
| u64 isrm_ptr1_val : 1; |
| u64 isrm_ptr0_val : 1; |
| u64 ptr_req_pend : 1; |
| u64 ptr_rtn_pend : 1; |
| u64 fpa_empty : 1; |
| u64 dpfi_empty : 1; |
| u64 cache_flushed : 1; |
| } s; |
| struct cvmx_pko_dpfi_status_s cn73xx; |
| struct cvmx_pko_dpfi_status_s cn78xx; |
| struct cvmx_pko_dpfi_status_cn78xxp1 { |
| u64 ptr_cnt : 32; |
| u64 reserved_13_31 : 19; |
| u64 isrd_ptr1_rtn_full : 1; |
| u64 isrd_ptr0_rtn_full : 1; |
| u64 isrm_ptr1_rtn_full : 1; |
| u64 isrm_ptr0_rtn_full : 1; |
| u64 isrd_ptr1_val : 1; |
| u64 isrd_ptr0_val : 1; |
| u64 isrm_ptr1_val : 1; |
| u64 isrm_ptr0_val : 1; |
| u64 ptr_req_pend : 1; |
| u64 ptr_rtn_pend : 1; |
| u64 fpa_empty : 1; |
| u64 dpfi_empty : 1; |
| u64 cache_flushed : 1; |
| } cn78xxp1; |
| struct cvmx_pko_dpfi_status_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dpfi_status cvmx_pko_dpfi_status_t; |
| |
| /** |
| * cvmx_pko_dq#_bytes |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_GREEN_BYTES. |
| * |
| */ |
| union cvmx_pko_dqx_bytes { |
| u64 u64; |
| struct cvmx_pko_dqx_bytes_s { |
| u64 reserved_48_63 : 16; |
| u64 count : 48; |
| } s; |
| struct cvmx_pko_dqx_bytes_s cn73xx; |
| struct cvmx_pko_dqx_bytes_s cn78xx; |
| struct cvmx_pko_dqx_bytes_s cn78xxp1; |
| struct cvmx_pko_dqx_bytes_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_bytes cvmx_pko_dqx_bytes_t; |
| |
| /** |
| * cvmx_pko_dq#_cir |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_CIR. |
| * |
| */ |
| union cvmx_pko_dqx_cir { |
| u64 u64; |
| struct cvmx_pko_dqx_cir_s { |
| u64 reserved_41_63 : 23; |
| u64 burst_exponent : 4; |
| u64 burst_mantissa : 8; |
| u64 reserved_17_28 : 12; |
| u64 rate_divider_exponent : 4; |
| u64 rate_exponent : 4; |
| u64 rate_mantissa : 8; |
| u64 enable : 1; |
| } s; |
| struct cvmx_pko_dqx_cir_s cn73xx; |
| struct cvmx_pko_dqx_cir_s cn78xx; |
| struct cvmx_pko_dqx_cir_s cn78xxp1; |
| struct cvmx_pko_dqx_cir_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_cir cvmx_pko_dqx_cir_t; |
| |
| /** |
| * cvmx_pko_dq#_dropped_bytes |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_GREEN_BYTES. |
| * |
| */ |
| union cvmx_pko_dqx_dropped_bytes { |
| u64 u64; |
| struct cvmx_pko_dqx_dropped_bytes_s { |
| u64 reserved_48_63 : 16; |
| u64 count : 48; |
| } s; |
| struct cvmx_pko_dqx_dropped_bytes_s cn73xx; |
| struct cvmx_pko_dqx_dropped_bytes_s cn78xx; |
| struct cvmx_pko_dqx_dropped_bytes_s cn78xxp1; |
| struct cvmx_pko_dqx_dropped_bytes_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_dropped_bytes cvmx_pko_dqx_dropped_bytes_t; |
| |
| /** |
| * cvmx_pko_dq#_dropped_packets |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_GREEN_PACKETS. |
| * |
| */ |
| union cvmx_pko_dqx_dropped_packets { |
| u64 u64; |
| struct cvmx_pko_dqx_dropped_packets_s { |
| u64 reserved_40_63 : 24; |
| u64 count : 40; |
| } s; |
| struct cvmx_pko_dqx_dropped_packets_s cn73xx; |
| struct cvmx_pko_dqx_dropped_packets_s cn78xx; |
| struct cvmx_pko_dqx_dropped_packets_s cn78xxp1; |
| struct cvmx_pko_dqx_dropped_packets_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_dropped_packets cvmx_pko_dqx_dropped_packets_t; |
| |
| /** |
| * cvmx_pko_dq#_fifo |
| */ |
| union cvmx_pko_dqx_fifo { |
| u64 u64; |
| struct cvmx_pko_dqx_fifo_s { |
| u64 reserved_15_63 : 49; |
| u64 p_con : 1; |
| u64 head : 7; |
| u64 tail : 7; |
| } s; |
| struct cvmx_pko_dqx_fifo_s cn73xx; |
| struct cvmx_pko_dqx_fifo_s cn78xx; |
| struct cvmx_pko_dqx_fifo_s cn78xxp1; |
| struct cvmx_pko_dqx_fifo_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_fifo cvmx_pko_dqx_fifo_t; |
| |
| /** |
| * cvmx_pko_dq#_packets |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_GREEN_PACKETS. |
| * |
| */ |
| union cvmx_pko_dqx_packets { |
| u64 u64; |
| struct cvmx_pko_dqx_packets_s { |
| u64 reserved_40_63 : 24; |
| u64 count : 40; |
| } s; |
| struct cvmx_pko_dqx_packets_s cn73xx; |
| struct cvmx_pko_dqx_packets_s cn78xx; |
| struct cvmx_pko_dqx_packets_s cn78xxp1; |
| struct cvmx_pko_dqx_packets_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_packets cvmx_pko_dqx_packets_t; |
| |
| /** |
| * cvmx_pko_dq#_pick |
| * |
| * This CSR contains the meta for the DQ, and is for debug and reconfiguration |
| * only and should never be written. See also PKO_META_DESC_S. |
| */ |
| union cvmx_pko_dqx_pick { |
| u64 u64; |
| struct cvmx_pko_dqx_pick_s { |
| u64 dq : 10; |
| u64 color : 2; |
| u64 child : 10; |
| u64 bubble : 1; |
| u64 p_con : 1; |
| u64 c_con : 1; |
| u64 uid : 7; |
| u64 jump : 1; |
| u64 fpd : 1; |
| u64 ds : 1; |
| u64 adjust : 9; |
| u64 pir_dis : 1; |
| u64 cir_dis : 1; |
| u64 red_algo_override : 2; |
| u64 length : 16; |
| } s; |
| struct cvmx_pko_dqx_pick_s cn73xx; |
| struct cvmx_pko_dqx_pick_s cn78xx; |
| struct cvmx_pko_dqx_pick_s cn78xxp1; |
| struct cvmx_pko_dqx_pick_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_pick cvmx_pko_dqx_pick_t; |
| |
| /** |
| * cvmx_pko_dq#_pir |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_CIR. |
| * |
| */ |
| union cvmx_pko_dqx_pir { |
| u64 u64; |
| struct cvmx_pko_dqx_pir_s { |
| u64 reserved_41_63 : 23; |
| u64 burst_exponent : 4; |
| u64 burst_mantissa : 8; |
| u64 reserved_17_28 : 12; |
| u64 rate_divider_exponent : 4; |
| u64 rate_exponent : 4; |
| u64 rate_mantissa : 8; |
| u64 enable : 1; |
| } s; |
| struct cvmx_pko_dqx_pir_s cn73xx; |
| struct cvmx_pko_dqx_pir_s cn78xx; |
| struct cvmx_pko_dqx_pir_s cn78xxp1; |
| struct cvmx_pko_dqx_pir_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_pir cvmx_pko_dqx_pir_t; |
| |
| /** |
| * cvmx_pko_dq#_pointers |
| * |
| * This register has the same bit fields as PKO_L3_SQ(0..255)_POINTERS. |
| * |
| */ |
| union cvmx_pko_dqx_pointers { |
| u64 u64; |
| struct cvmx_pko_dqx_pointers_s { |
| u64 reserved_26_63 : 38; |
| u64 prev : 10; |
| u64 reserved_10_15 : 6; |
| u64 next : 10; |
| } s; |
| struct cvmx_pko_dqx_pointers_cn73xx { |
| u64 reserved_24_63 : 40; |
| u64 prev : 8; |
| u64 reserved_8_15 : 8; |
| u64 next : 8; |
| } cn73xx; |
| struct cvmx_pko_dqx_pointers_s cn78xx; |
| struct cvmx_pko_dqx_pointers_s cn78xxp1; |
| struct cvmx_pko_dqx_pointers_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_pointers cvmx_pko_dqx_pointers_t; |
| |
| /** |
| * cvmx_pko_dq#_sched_state |
| * |
| * This register has the same bit fields as PKO_L2_SQ()_SCHED_STATE. |
| * |
| */ |
| union cvmx_pko_dqx_sched_state { |
| u64 u64; |
| struct cvmx_pko_dqx_sched_state_s { |
| u64 reserved_25_63 : 39; |
| u64 rr_count : 25; |
| } s; |
| struct cvmx_pko_dqx_sched_state_s cn73xx; |
| struct cvmx_pko_dqx_sched_state_s cn78xx; |
| struct cvmx_pko_dqx_sched_state_s cn78xxp1; |
| struct cvmx_pko_dqx_sched_state_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_sched_state cvmx_pko_dqx_sched_state_t; |
| |
| /** |
| * cvmx_pko_dq#_schedule |
| * |
| * This register has the same bit fields as PKO_L2_SQ()_SCHEDULE. |
| * |
| */ |
| union cvmx_pko_dqx_schedule { |
| u64 u64; |
| struct cvmx_pko_dqx_schedule_s { |
| u64 reserved_28_63 : 36; |
| u64 prio : 4; |
| u64 rr_quantum : 24; |
| } s; |
| struct cvmx_pko_dqx_schedule_s cn73xx; |
| struct cvmx_pko_dqx_schedule_s cn78xx; |
| struct cvmx_pko_dqx_schedule_s cn78xxp1; |
| struct cvmx_pko_dqx_schedule_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_schedule cvmx_pko_dqx_schedule_t; |
| |
| /** |
| * cvmx_pko_dq#_shape |
| * |
| * This register has the same bit fields as PKO_L3_SQ()_SHAPE. |
| * |
| */ |
| union cvmx_pko_dqx_shape { |
| u64 u64; |
| struct cvmx_pko_dqx_shape_s { |
| u64 reserved_27_63 : 37; |
| u64 schedule_list : 2; |
| u64 length_disable : 1; |
| u64 reserved_13_23 : 11; |
| u64 yellow_disable : 1; |
| u64 red_disable : 1; |
| u64 red_algo : 2; |
| u64 adjust : 9; |
| } s; |
| struct cvmx_pko_dqx_shape_s cn73xx; |
| struct cvmx_pko_dqx_shape_cn78xx { |
| u64 reserved_25_63 : 39; |
| u64 length_disable : 1; |
| u64 reserved_13_23 : 11; |
| u64 yellow_disable : 1; |
| u64 red_disable : 1; |
| u64 red_algo : 2; |
| u64 adjust : 9; |
| } cn78xx; |
| struct cvmx_pko_dqx_shape_cn78xx cn78xxp1; |
| struct cvmx_pko_dqx_shape_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_shape cvmx_pko_dqx_shape_t; |
| |
| /** |
| * cvmx_pko_dq#_shape_state |
| * |
| * This register has the same bit fields as PKO_L2_SQ()_SHAPE_STATE. |
| * This register must not be written during normal operation. |
| */ |
| union cvmx_pko_dqx_shape_state { |
| u64 u64; |
| struct cvmx_pko_dqx_shape_state_s { |
| u64 reserved_60_63 : 4; |
| u64 tw_timestamp : 6; |
| u64 color : 2; |
| u64 pir_accum : 26; |
| u64 cir_accum : 26; |
| } s; |
| struct cvmx_pko_dqx_shape_state_s cn73xx; |
| struct cvmx_pko_dqx_shape_state_s cn78xx; |
| struct cvmx_pko_dqx_shape_state_s cn78xxp1; |
| struct cvmx_pko_dqx_shape_state_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_shape_state cvmx_pko_dqx_shape_state_t; |
| |
| /** |
| * cvmx_pko_dq#_sw_xoff |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_SW_XOFF. |
| * |
| */ |
| union cvmx_pko_dqx_sw_xoff { |
| u64 u64; |
| struct cvmx_pko_dqx_sw_xoff_s { |
| u64 reserved_4_63 : 60; |
| u64 drain_irq : 1; |
| u64 drain_null_link : 1; |
| u64 drain : 1; |
| u64 xoff : 1; |
| } s; |
| struct cvmx_pko_dqx_sw_xoff_s cn73xx; |
| struct cvmx_pko_dqx_sw_xoff_s cn78xx; |
| struct cvmx_pko_dqx_sw_xoff_s cn78xxp1; |
| struct cvmx_pko_dqx_sw_xoff_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_sw_xoff cvmx_pko_dqx_sw_xoff_t; |
| |
| /** |
| * cvmx_pko_dq#_topology |
| */ |
| union cvmx_pko_dqx_topology { |
| u64 u64; |
| struct cvmx_pko_dqx_topology_s { |
| u64 reserved_26_63 : 38; |
| u64 parent : 10; |
| u64 reserved_0_15 : 16; |
| } s; |
| struct cvmx_pko_dqx_topology_cn73xx { |
| u64 reserved_24_63 : 40; |
| u64 parent : 8; |
| u64 reserved_0_15 : 16; |
| } cn73xx; |
| struct cvmx_pko_dqx_topology_s cn78xx; |
| struct cvmx_pko_dqx_topology_s cn78xxp1; |
| struct cvmx_pko_dqx_topology_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_topology cvmx_pko_dqx_topology_t; |
| |
| /** |
| * cvmx_pko_dq#_wm_buf_cnt |
| */ |
| union cvmx_pko_dqx_wm_buf_cnt { |
| u64 u64; |
| struct cvmx_pko_dqx_wm_buf_cnt_s { |
| u64 reserved_36_63 : 28; |
| u64 count : 36; |
| } s; |
| struct cvmx_pko_dqx_wm_buf_cnt_s cn73xx; |
| struct cvmx_pko_dqx_wm_buf_cnt_s cn78xx; |
| struct cvmx_pko_dqx_wm_buf_cnt_s cn78xxp1; |
| struct cvmx_pko_dqx_wm_buf_cnt_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_wm_buf_cnt cvmx_pko_dqx_wm_buf_cnt_t; |
| |
| /** |
| * cvmx_pko_dq#_wm_buf_ctl |
| */ |
| union cvmx_pko_dqx_wm_buf_ctl { |
| u64 u64; |
| struct cvmx_pko_dqx_wm_buf_ctl_s { |
| u64 reserved_51_63 : 13; |
| u64 enable : 1; |
| u64 reserved_49_49 : 1; |
| u64 intr : 1; |
| u64 reserved_36_47 : 12; |
| u64 threshold : 36; |
| } s; |
| struct cvmx_pko_dqx_wm_buf_ctl_s cn73xx; |
| struct cvmx_pko_dqx_wm_buf_ctl_s cn78xx; |
| struct cvmx_pko_dqx_wm_buf_ctl_s cn78xxp1; |
| struct cvmx_pko_dqx_wm_buf_ctl_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_wm_buf_ctl cvmx_pko_dqx_wm_buf_ctl_t; |
| |
| /** |
| * cvmx_pko_dq#_wm_buf_ctl_w1c |
| */ |
| union cvmx_pko_dqx_wm_buf_ctl_w1c { |
| u64 u64; |
| struct cvmx_pko_dqx_wm_buf_ctl_w1c_s { |
| u64 reserved_49_63 : 15; |
| u64 intr : 1; |
| u64 reserved_0_47 : 48; |
| } s; |
| struct cvmx_pko_dqx_wm_buf_ctl_w1c_s cn73xx; |
| struct cvmx_pko_dqx_wm_buf_ctl_w1c_s cn78xx; |
| struct cvmx_pko_dqx_wm_buf_ctl_w1c_s cn78xxp1; |
| struct cvmx_pko_dqx_wm_buf_ctl_w1c_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_wm_buf_ctl_w1c cvmx_pko_dqx_wm_buf_ctl_w1c_t; |
| |
| /** |
| * cvmx_pko_dq#_wm_cnt |
| */ |
| union cvmx_pko_dqx_wm_cnt { |
| u64 u64; |
| struct cvmx_pko_dqx_wm_cnt_s { |
| u64 reserved_48_63 : 16; |
| u64 count : 48; |
| } s; |
| struct cvmx_pko_dqx_wm_cnt_s cn73xx; |
| struct cvmx_pko_dqx_wm_cnt_s cn78xx; |
| struct cvmx_pko_dqx_wm_cnt_s cn78xxp1; |
| struct cvmx_pko_dqx_wm_cnt_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_wm_cnt cvmx_pko_dqx_wm_cnt_t; |
| |
| /** |
| * cvmx_pko_dq#_wm_ctl |
| */ |
| union cvmx_pko_dqx_wm_ctl { |
| u64 u64; |
| struct cvmx_pko_dqx_wm_ctl_s { |
| u64 reserved_52_63 : 12; |
| u64 ncb_query_rsp : 1; |
| u64 enable : 1; |
| u64 kind : 1; |
| u64 intr : 1; |
| u64 threshold : 48; |
| } s; |
| struct cvmx_pko_dqx_wm_ctl_s cn73xx; |
| struct cvmx_pko_dqx_wm_ctl_s cn78xx; |
| struct cvmx_pko_dqx_wm_ctl_s cn78xxp1; |
| struct cvmx_pko_dqx_wm_ctl_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_wm_ctl cvmx_pko_dqx_wm_ctl_t; |
| |
| /** |
| * cvmx_pko_dq#_wm_ctl_w1c |
| */ |
| union cvmx_pko_dqx_wm_ctl_w1c { |
| u64 u64; |
| struct cvmx_pko_dqx_wm_ctl_w1c_s { |
| u64 reserved_49_63 : 15; |
| u64 intr : 1; |
| u64 reserved_0_47 : 48; |
| } s; |
| struct cvmx_pko_dqx_wm_ctl_w1c_s cn73xx; |
| struct cvmx_pko_dqx_wm_ctl_w1c_s cn78xx; |
| struct cvmx_pko_dqx_wm_ctl_w1c_s cn78xxp1; |
| struct cvmx_pko_dqx_wm_ctl_w1c_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dqx_wm_ctl_w1c cvmx_pko_dqx_wm_ctl_w1c_t; |
| |
| /** |
| * cvmx_pko_dq_csr_bus_debug |
| */ |
| union cvmx_pko_dq_csr_bus_debug { |
| u64 u64; |
| struct cvmx_pko_dq_csr_bus_debug_s { |
| u64 csr_bus_debug : 64; |
| } s; |
| struct cvmx_pko_dq_csr_bus_debug_s cn73xx; |
| struct cvmx_pko_dq_csr_bus_debug_s cn78xx; |
| struct cvmx_pko_dq_csr_bus_debug_s cn78xxp1; |
| struct cvmx_pko_dq_csr_bus_debug_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dq_csr_bus_debug cvmx_pko_dq_csr_bus_debug_t; |
| |
| /** |
| * cvmx_pko_dq_debug |
| */ |
| union cvmx_pko_dq_debug { |
| u64 u64; |
| struct cvmx_pko_dq_debug_s { |
| u64 dbg_vec : 64; |
| } s; |
| struct cvmx_pko_dq_debug_s cn73xx; |
| struct cvmx_pko_dq_debug_s cn78xx; |
| struct cvmx_pko_dq_debug_s cn78xxp1; |
| struct cvmx_pko_dq_debug_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_dq_debug cvmx_pko_dq_debug_t; |
| |
| /** |
| * cvmx_pko_drain_irq |
| */ |
| union cvmx_pko_drain_irq { |
| u64 u64; |
| struct cvmx_pko_drain_irq_s { |
| u64 reserved_1_63 : 63; |
| u64 intr : 1; |
| } s; |
| struct cvmx_pko_drain_irq_s cn73xx; |
| struct cvmx_pko_drain_irq_s cn78xx; |
| struct cvmx_pko_drain_irq_s cn78xxp1; |
| struct cvmx_pko_drain_irq_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_drain_irq cvmx_pko_drain_irq_t; |
| |
| /** |
| * cvmx_pko_enable |
| */ |
| union cvmx_pko_enable { |
| u64 u64; |
| struct cvmx_pko_enable_s { |
| u64 reserved_1_63 : 63; |
| u64 enable : 1; |
| } s; |
| struct cvmx_pko_enable_s cn73xx; |
| struct cvmx_pko_enable_s cn78xx; |
| struct cvmx_pko_enable_s cn78xxp1; |
| struct cvmx_pko_enable_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_enable cvmx_pko_enable_t; |
| |
| /** |
| * cvmx_pko_format#_ctl |
| * |
| * Describes packet marking calculations for YELLOW and for RED_SEND packets. |
| * PKO_SEND_HDR_S[FORMAT] selects the CSR used for the packet descriptor. |
| * |
| * All the packet marking calculations assume big-endian bits within a byte. |
| * |
| * For example, if MARKPTR is 3 and [OFFSET] is 5 and the packet is YELLOW, |
| * the PKO marking hardware would do this: |
| * |
| * _ byte[3]<2:0> |= Y_VAL<3:1> |
| * _ byte[3]<2:0> &= ~Y_MASK<3:1> |
| * _ byte[4]<7> |= Y_VAL<0> |
| * _ byte[4]<7> &= ~Y_MASK<0> |
| * |
| * where byte[3] is the 3rd byte in the packet, and byte[4] the 4th. |
| * |
| * For another example, if MARKPTR is 3 and [OFFSET] is 0 and the packet is RED_SEND, |
| * |
| * _ byte[3]<7:4> |= R_VAL<3:0> |
| * _ byte[3]<7:4> &= ~R_MASK<3:0> |
| */ |
| union cvmx_pko_formatx_ctl { |
| u64 u64; |
| struct cvmx_pko_formatx_ctl_s { |
| u64 reserved_27_63 : 37; |
| u64 offset : 11; |
| u64 y_mask : 4; |
| u64 y_val : 4; |
| u64 r_mask : 4; |
| u64 r_val : 4; |
| } s; |
| struct cvmx_pko_formatx_ctl_s cn73xx; |
| struct cvmx_pko_formatx_ctl_s cn78xx; |
| struct cvmx_pko_formatx_ctl_s cn78xxp1; |
| struct cvmx_pko_formatx_ctl_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_formatx_ctl cvmx_pko_formatx_ctl_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_cir |
| */ |
| union cvmx_pko_l1_sqx_cir { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_cir_s { |
| u64 reserved_41_63 : 23; |
| u64 burst_exponent : 4; |
| u64 burst_mantissa : 8; |
| u64 reserved_17_28 : 12; |
| u64 rate_divider_exponent : 4; |
| u64 rate_exponent : 4; |
| u64 rate_mantissa : 8; |
| u64 enable : 1; |
| } s; |
| struct cvmx_pko_l1_sqx_cir_s cn73xx; |
| struct cvmx_pko_l1_sqx_cir_s cn78xx; |
| struct cvmx_pko_l1_sqx_cir_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_cir_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_cir cvmx_pko_l1_sqx_cir_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_dropped_bytes |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_GREEN_BYTES. |
| * |
| */ |
| union cvmx_pko_l1_sqx_dropped_bytes { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_dropped_bytes_s { |
| u64 reserved_48_63 : 16; |
| u64 count : 48; |
| } s; |
| struct cvmx_pko_l1_sqx_dropped_bytes_s cn73xx; |
| struct cvmx_pko_l1_sqx_dropped_bytes_s cn78xx; |
| struct cvmx_pko_l1_sqx_dropped_bytes_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_dropped_bytes_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_dropped_bytes cvmx_pko_l1_sqx_dropped_bytes_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_dropped_packets |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_GREEN_PACKETS. |
| * |
| */ |
| union cvmx_pko_l1_sqx_dropped_packets { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_dropped_packets_s { |
| u64 reserved_40_63 : 24; |
| u64 count : 40; |
| } s; |
| struct cvmx_pko_l1_sqx_dropped_packets_s cn73xx; |
| struct cvmx_pko_l1_sqx_dropped_packets_s cn78xx; |
| struct cvmx_pko_l1_sqx_dropped_packets_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_dropped_packets_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_dropped_packets cvmx_pko_l1_sqx_dropped_packets_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_green |
| */ |
| union cvmx_pko_l1_sqx_green { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_green_s { |
| u64 reserved_41_63 : 23; |
| u64 rr_active : 1; |
| u64 active_vec : 20; |
| u64 reserved_19_19 : 1; |
| u64 head : 9; |
| u64 reserved_9_9 : 1; |
| u64 tail : 9; |
| } s; |
| struct cvmx_pko_l1_sqx_green_s cn73xx; |
| struct cvmx_pko_l1_sqx_green_s cn78xx; |
| struct cvmx_pko_l1_sqx_green_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_green_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_green cvmx_pko_l1_sqx_green_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_green_bytes |
| */ |
| union cvmx_pko_l1_sqx_green_bytes { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_green_bytes_s { |
| u64 reserved_48_63 : 16; |
| u64 count : 48; |
| } s; |
| struct cvmx_pko_l1_sqx_green_bytes_s cn73xx; |
| struct cvmx_pko_l1_sqx_green_bytes_s cn78xx; |
| struct cvmx_pko_l1_sqx_green_bytes_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_green_bytes_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_green_bytes cvmx_pko_l1_sqx_green_bytes_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_green_packets |
| */ |
| union cvmx_pko_l1_sqx_green_packets { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_green_packets_s { |
| u64 reserved_40_63 : 24; |
| u64 count : 40; |
| } s; |
| struct cvmx_pko_l1_sqx_green_packets_s cn73xx; |
| struct cvmx_pko_l1_sqx_green_packets_s cn78xx; |
| struct cvmx_pko_l1_sqx_green_packets_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_green_packets_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_green_packets cvmx_pko_l1_sqx_green_packets_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_link |
| */ |
| union cvmx_pko_l1_sqx_link { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_link_s { |
| u64 reserved_49_63 : 15; |
| u64 link : 5; |
| u64 reserved_32_43 : 12; |
| u64 cc_word_cnt : 20; |
| u64 cc_packet_cnt : 10; |
| u64 cc_enable : 1; |
| u64 reserved_0_0 : 1; |
| } s; |
| struct cvmx_pko_l1_sqx_link_cn73xx { |
| u64 reserved_48_63 : 16; |
| u64 link : 4; |
| u64 reserved_32_43 : 12; |
| u64 cc_word_cnt : 20; |
| u64 cc_packet_cnt : 10; |
| u64 cc_enable : 1; |
| u64 reserved_0_0 : 1; |
| } cn73xx; |
| struct cvmx_pko_l1_sqx_link_s cn78xx; |
| struct cvmx_pko_l1_sqx_link_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_link_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_link cvmx_pko_l1_sqx_link_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_pick |
| * |
| * This CSR contains the meta for the L1 SQ, and is for debug and reconfiguration |
| * only and should never be written. See also PKO_META_DESC_S. |
| */ |
| union cvmx_pko_l1_sqx_pick { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_pick_s { |
| u64 dq : 10; |
| u64 color : 2; |
| u64 child : 10; |
| u64 bubble : 1; |
| u64 p_con : 1; |
| u64 c_con : 1; |
| u64 uid : 7; |
| u64 jump : 1; |
| u64 fpd : 1; |
| u64 ds : 1; |
| u64 adjust : 9; |
| u64 pir_dis : 1; |
| u64 cir_dis : 1; |
| u64 red_algo_override : 2; |
| u64 length : 16; |
| } s; |
| struct cvmx_pko_l1_sqx_pick_s cn73xx; |
| struct cvmx_pko_l1_sqx_pick_s cn78xx; |
| struct cvmx_pko_l1_sqx_pick_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_pick_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_pick cvmx_pko_l1_sqx_pick_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_red |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_YELLOW. |
| * |
| */ |
| union cvmx_pko_l1_sqx_red { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_red_s { |
| u64 reserved_19_63 : 45; |
| u64 head : 9; |
| u64 reserved_9_9 : 1; |
| u64 tail : 9; |
| } s; |
| struct cvmx_pko_l1_sqx_red_s cn73xx; |
| struct cvmx_pko_l1_sqx_red_s cn78xx; |
| struct cvmx_pko_l1_sqx_red_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_red_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_red cvmx_pko_l1_sqx_red_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_red_bytes |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_GREEN_BYTES. |
| * |
| */ |
| union cvmx_pko_l1_sqx_red_bytes { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_red_bytes_s { |
| u64 reserved_48_63 : 16; |
| u64 count : 48; |
| } s; |
| struct cvmx_pko_l1_sqx_red_bytes_s cn73xx; |
| struct cvmx_pko_l1_sqx_red_bytes_s cn78xx; |
| struct cvmx_pko_l1_sqx_red_bytes_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_red_bytes_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_red_bytes cvmx_pko_l1_sqx_red_bytes_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_red_packets |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_GREEN_PACKETS. |
| * |
| */ |
| union cvmx_pko_l1_sqx_red_packets { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_red_packets_s { |
| u64 reserved_40_63 : 24; |
| u64 count : 40; |
| } s; |
| struct cvmx_pko_l1_sqx_red_packets_s cn73xx; |
| struct cvmx_pko_l1_sqx_red_packets_s cn78xx; |
| struct cvmx_pko_l1_sqx_red_packets_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_red_packets_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_red_packets cvmx_pko_l1_sqx_red_packets_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_schedule |
| */ |
| union cvmx_pko_l1_sqx_schedule { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_schedule_s { |
| u64 dummy : 40; |
| u64 rr_quantum : 24; |
| } s; |
| struct cvmx_pko_l1_sqx_schedule_cn73xx { |
| u64 reserved_24_63 : 40; |
| u64 rr_quantum : 24; |
| } cn73xx; |
| struct cvmx_pko_l1_sqx_schedule_cn73xx cn78xx; |
| struct cvmx_pko_l1_sqx_schedule_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_schedule_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_schedule cvmx_pko_l1_sqx_schedule_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_shape |
| */ |
| union cvmx_pko_l1_sqx_shape { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_shape_s { |
| u64 reserved_25_63 : 39; |
| u64 length_disable : 1; |
| u64 reserved_18_23 : 6; |
| u64 link : 5; |
| u64 reserved_9_12 : 4; |
| u64 adjust : 9; |
| } s; |
| struct cvmx_pko_l1_sqx_shape_cn73xx { |
| u64 reserved_25_63 : 39; |
| u64 length_disable : 1; |
| u64 reserved_17_23 : 7; |
| u64 link : 4; |
| u64 reserved_9_12 : 4; |
| u64 adjust : 9; |
| } cn73xx; |
| struct cvmx_pko_l1_sqx_shape_s cn78xx; |
| struct cvmx_pko_l1_sqx_shape_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_shape_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_shape cvmx_pko_l1_sqx_shape_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_shape_state |
| * |
| * This register must not be written during normal operation. |
| * |
| */ |
| union cvmx_pko_l1_sqx_shape_state { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_shape_state_s { |
| u64 reserved_60_63 : 4; |
| u64 tw_timestamp : 6; |
| u64 color2 : 1; |
| u64 color : 1; |
| u64 reserved_26_51 : 26; |
| u64 cir_accum : 26; |
| } s; |
| struct cvmx_pko_l1_sqx_shape_state_cn73xx { |
| u64 reserved_60_63 : 4; |
| u64 tw_timestamp : 6; |
| u64 reserved_53_53 : 1; |
| u64 color : 1; |
| u64 reserved_26_51 : 26; |
| u64 cir_accum : 26; |
| } cn73xx; |
| struct cvmx_pko_l1_sqx_shape_state_cn73xx cn78xx; |
| struct cvmx_pko_l1_sqx_shape_state_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_shape_state_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_shape_state cvmx_pko_l1_sqx_shape_state_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_sw_xoff |
| */ |
| union cvmx_pko_l1_sqx_sw_xoff { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_sw_xoff_s { |
| u64 reserved_4_63 : 60; |
| u64 drain_irq : 1; |
| u64 drain_null_link : 1; |
| u64 drain : 1; |
| u64 xoff : 1; |
| } s; |
| struct cvmx_pko_l1_sqx_sw_xoff_s cn73xx; |
| struct cvmx_pko_l1_sqx_sw_xoff_s cn78xx; |
| struct cvmx_pko_l1_sqx_sw_xoff_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_sw_xoff_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_sw_xoff cvmx_pko_l1_sqx_sw_xoff_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_topology |
| */ |
| union cvmx_pko_l1_sqx_topology { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_topology_s { |
| u64 reserved_41_63 : 23; |
| u64 prio_anchor : 9; |
| u64 reserved_21_31 : 11; |
| u64 link : 5; |
| u64 reserved_5_15 : 11; |
| u64 rr_prio : 4; |
| u64 reserved_0_0 : 1; |
| } s; |
| struct cvmx_pko_l1_sqx_topology_cn73xx { |
| u64 reserved_40_63 : 24; |
| u64 prio_anchor : 8; |
| u64 reserved_20_31 : 12; |
| u64 link : 4; |
| u64 reserved_5_15 : 11; |
| u64 rr_prio : 4; |
| u64 reserved_0_0 : 1; |
| } cn73xx; |
| struct cvmx_pko_l1_sqx_topology_s cn78xx; |
| struct cvmx_pko_l1_sqx_topology_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_topology_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_topology cvmx_pko_l1_sqx_topology_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_yellow |
| */ |
| union cvmx_pko_l1_sqx_yellow { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_yellow_s { |
| u64 reserved_19_63 : 45; |
| u64 head : 9; |
| u64 reserved_9_9 : 1; |
| u64 tail : 9; |
| } s; |
| struct cvmx_pko_l1_sqx_yellow_s cn73xx; |
| struct cvmx_pko_l1_sqx_yellow_s cn78xx; |
| struct cvmx_pko_l1_sqx_yellow_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_yellow_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_yellow cvmx_pko_l1_sqx_yellow_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_yellow_bytes |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_GREEN_BYTES. |
| * |
| */ |
| union cvmx_pko_l1_sqx_yellow_bytes { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_yellow_bytes_s { |
| u64 reserved_48_63 : 16; |
| u64 count : 48; |
| } s; |
| struct cvmx_pko_l1_sqx_yellow_bytes_s cn73xx; |
| struct cvmx_pko_l1_sqx_yellow_bytes_s cn78xx; |
| struct cvmx_pko_l1_sqx_yellow_bytes_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_yellow_bytes_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_yellow_bytes cvmx_pko_l1_sqx_yellow_bytes_t; |
| |
| /** |
| * cvmx_pko_l1_sq#_yellow_packets |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_GREEN_PACKETS. |
| * |
| */ |
| union cvmx_pko_l1_sqx_yellow_packets { |
| u64 u64; |
| struct cvmx_pko_l1_sqx_yellow_packets_s { |
| u64 reserved_40_63 : 24; |
| u64 count : 40; |
| } s; |
| struct cvmx_pko_l1_sqx_yellow_packets_s cn73xx; |
| struct cvmx_pko_l1_sqx_yellow_packets_s cn78xx; |
| struct cvmx_pko_l1_sqx_yellow_packets_s cn78xxp1; |
| struct cvmx_pko_l1_sqx_yellow_packets_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqx_yellow_packets cvmx_pko_l1_sqx_yellow_packets_t; |
| |
| /** |
| * cvmx_pko_l1_sq_csr_bus_debug |
| */ |
| union cvmx_pko_l1_sq_csr_bus_debug { |
| u64 u64; |
| struct cvmx_pko_l1_sq_csr_bus_debug_s { |
| u64 csr_bus_debug : 64; |
| } s; |
| struct cvmx_pko_l1_sq_csr_bus_debug_s cn73xx; |
| struct cvmx_pko_l1_sq_csr_bus_debug_s cn78xx; |
| struct cvmx_pko_l1_sq_csr_bus_debug_s cn78xxp1; |
| struct cvmx_pko_l1_sq_csr_bus_debug_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sq_csr_bus_debug cvmx_pko_l1_sq_csr_bus_debug_t; |
| |
| /** |
| * cvmx_pko_l1_sqa_debug |
| * |
| * This register has the same bit fields as PKO_PQA_DEBUG. |
| * |
| */ |
| union cvmx_pko_l1_sqa_debug { |
| u64 u64; |
| struct cvmx_pko_l1_sqa_debug_s { |
| u64 dbg_vec : 64; |
| } s; |
| struct cvmx_pko_l1_sqa_debug_s cn73xx; |
| struct cvmx_pko_l1_sqa_debug_s cn78xx; |
| struct cvmx_pko_l1_sqa_debug_s cn78xxp1; |
| struct cvmx_pko_l1_sqa_debug_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqa_debug cvmx_pko_l1_sqa_debug_t; |
| |
| /** |
| * cvmx_pko_l1_sqb_debug |
| * |
| * This register has the same bit fields as PKO_PQA_DEBUG. |
| * |
| */ |
| union cvmx_pko_l1_sqb_debug { |
| u64 u64; |
| struct cvmx_pko_l1_sqb_debug_s { |
| u64 dbg_vec : 64; |
| } s; |
| struct cvmx_pko_l1_sqb_debug_s cn73xx; |
| struct cvmx_pko_l1_sqb_debug_s cn78xx; |
| struct cvmx_pko_l1_sqb_debug_s cn78xxp1; |
| struct cvmx_pko_l1_sqb_debug_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l1_sqb_debug cvmx_pko_l1_sqb_debug_t; |
| |
| /** |
| * cvmx_pko_l2_sq#_cir |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_CIR. |
| * |
| */ |
| union cvmx_pko_l2_sqx_cir { |
| u64 u64; |
| struct cvmx_pko_l2_sqx_cir_s { |
| u64 reserved_41_63 : 23; |
| u64 burst_exponent : 4; |
| u64 burst_mantissa : 8; |
| u64 reserved_17_28 : 12; |
| u64 rate_divider_exponent : 4; |
| u64 rate_exponent : 4; |
| u64 rate_mantissa : 8; |
| u64 enable : 1; |
| } s; |
| struct cvmx_pko_l2_sqx_cir_s cn73xx; |
| struct cvmx_pko_l2_sqx_cir_s cn78xx; |
| struct cvmx_pko_l2_sqx_cir_s cn78xxp1; |
| struct cvmx_pko_l2_sqx_cir_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqx_cir cvmx_pko_l2_sqx_cir_t; |
| |
| /** |
| * cvmx_pko_l2_sq#_green |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_GREEN. |
| * |
| */ |
| union cvmx_pko_l2_sqx_green { |
| u64 u64; |
| struct cvmx_pko_l2_sqx_green_s { |
| u64 reserved_41_63 : 23; |
| u64 rr_active : 1; |
| u64 active_vec : 20; |
| u64 reserved_19_19 : 1; |
| u64 head : 9; |
| u64 reserved_9_9 : 1; |
| u64 tail : 9; |
| } s; |
| struct cvmx_pko_l2_sqx_green_s cn73xx; |
| struct cvmx_pko_l2_sqx_green_s cn78xx; |
| struct cvmx_pko_l2_sqx_green_s cn78xxp1; |
| struct cvmx_pko_l2_sqx_green_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqx_green cvmx_pko_l2_sqx_green_t; |
| |
| /** |
| * cvmx_pko_l2_sq#_pick |
| * |
| * This CSR contains the meta for the L2 SQ, and is for debug and reconfiguration |
| * only and should never be written. See also PKO_META_DESC_S. |
| */ |
| union cvmx_pko_l2_sqx_pick { |
| u64 u64; |
| struct cvmx_pko_l2_sqx_pick_s { |
| u64 dq : 10; |
| u64 color : 2; |
| u64 child : 10; |
| u64 bubble : 1; |
| u64 p_con : 1; |
| u64 c_con : 1; |
| u64 uid : 7; |
| u64 jump : 1; |
| u64 fpd : 1; |
| u64 ds : 1; |
| u64 adjust : 9; |
| u64 pir_dis : 1; |
| u64 cir_dis : 1; |
| u64 red_algo_override : 2; |
| u64 length : 16; |
| } s; |
| struct cvmx_pko_l2_sqx_pick_s cn73xx; |
| struct cvmx_pko_l2_sqx_pick_s cn78xx; |
| struct cvmx_pko_l2_sqx_pick_s cn78xxp1; |
| struct cvmx_pko_l2_sqx_pick_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqx_pick cvmx_pko_l2_sqx_pick_t; |
| |
| /** |
| * cvmx_pko_l2_sq#_pir |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_CIR. |
| * |
| */ |
| union cvmx_pko_l2_sqx_pir { |
| u64 u64; |
| struct cvmx_pko_l2_sqx_pir_s { |
| u64 reserved_41_63 : 23; |
| u64 burst_exponent : 4; |
| u64 burst_mantissa : 8; |
| u64 reserved_17_28 : 12; |
| u64 rate_divider_exponent : 4; |
| u64 rate_exponent : 4; |
| u64 rate_mantissa : 8; |
| u64 enable : 1; |
| } s; |
| struct cvmx_pko_l2_sqx_pir_s cn73xx; |
| struct cvmx_pko_l2_sqx_pir_s cn78xx; |
| struct cvmx_pko_l2_sqx_pir_s cn78xxp1; |
| struct cvmx_pko_l2_sqx_pir_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqx_pir cvmx_pko_l2_sqx_pir_t; |
| |
| /** |
| * cvmx_pko_l2_sq#_pointers |
| */ |
| union cvmx_pko_l2_sqx_pointers { |
| u64 u64; |
| struct cvmx_pko_l2_sqx_pointers_s { |
| u64 reserved_25_63 : 39; |
| u64 prev : 9; |
| u64 reserved_9_15 : 7; |
| u64 next : 9; |
| } s; |
| struct cvmx_pko_l2_sqx_pointers_cn73xx { |
| u64 reserved_24_63 : 40; |
| u64 prev : 8; |
| u64 reserved_8_15 : 8; |
| u64 next : 8; |
| } cn73xx; |
| struct cvmx_pko_l2_sqx_pointers_s cn78xx; |
| struct cvmx_pko_l2_sqx_pointers_s cn78xxp1; |
| struct cvmx_pko_l2_sqx_pointers_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqx_pointers cvmx_pko_l2_sqx_pointers_t; |
| |
| /** |
| * cvmx_pko_l2_sq#_red |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_RED. |
| * |
| */ |
| union cvmx_pko_l2_sqx_red { |
| u64 u64; |
| struct cvmx_pko_l2_sqx_red_s { |
| u64 reserved_19_63 : 45; |
| u64 head : 9; |
| u64 reserved_9_9 : 1; |
| u64 tail : 9; |
| } s; |
| struct cvmx_pko_l2_sqx_red_s cn73xx; |
| struct cvmx_pko_l2_sqx_red_s cn78xx; |
| struct cvmx_pko_l2_sqx_red_s cn78xxp1; |
| struct cvmx_pko_l2_sqx_red_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqx_red cvmx_pko_l2_sqx_red_t; |
| |
| /** |
| * cvmx_pko_l2_sq#_sched_state |
| */ |
| union cvmx_pko_l2_sqx_sched_state { |
| u64 u64; |
| struct cvmx_pko_l2_sqx_sched_state_s { |
| u64 reserved_25_63 : 39; |
| u64 rr_count : 25; |
| } s; |
| struct cvmx_pko_l2_sqx_sched_state_s cn73xx; |
| struct cvmx_pko_l2_sqx_sched_state_s cn78xx; |
| struct cvmx_pko_l2_sqx_sched_state_s cn78xxp1; |
| struct cvmx_pko_l2_sqx_sched_state_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqx_sched_state cvmx_pko_l2_sqx_sched_state_t; |
| |
| /** |
| * cvmx_pko_l2_sq#_schedule |
| */ |
| union cvmx_pko_l2_sqx_schedule { |
| u64 u64; |
| struct cvmx_pko_l2_sqx_schedule_s { |
| u64 reserved_28_63 : 36; |
| u64 prio : 4; |
| u64 rr_quantum : 24; |
| } s; |
| struct cvmx_pko_l2_sqx_schedule_s cn73xx; |
| struct cvmx_pko_l2_sqx_schedule_s cn78xx; |
| struct cvmx_pko_l2_sqx_schedule_s cn78xxp1; |
| struct cvmx_pko_l2_sqx_schedule_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqx_schedule cvmx_pko_l2_sqx_schedule_t; |
| |
| /** |
| * cvmx_pko_l2_sq#_shape |
| */ |
| union cvmx_pko_l2_sqx_shape { |
| u64 u64; |
| struct cvmx_pko_l2_sqx_shape_s { |
| u64 reserved_27_63 : 37; |
| u64 schedule_list : 2; |
| u64 length_disable : 1; |
| u64 reserved_13_23 : 11; |
| u64 yellow_disable : 1; |
| u64 red_disable : 1; |
| u64 red_algo : 2; |
| u64 adjust : 9; |
| } s; |
| struct cvmx_pko_l2_sqx_shape_s cn73xx; |
| struct cvmx_pko_l2_sqx_shape_cn78xx { |
| u64 reserved_25_63 : 39; |
| u64 length_disable : 1; |
| u64 reserved_13_23 : 11; |
| u64 yellow_disable : 1; |
| u64 red_disable : 1; |
| u64 red_algo : 2; |
| u64 adjust : 9; |
| } cn78xx; |
| struct cvmx_pko_l2_sqx_shape_cn78xx cn78xxp1; |
| struct cvmx_pko_l2_sqx_shape_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqx_shape cvmx_pko_l2_sqx_shape_t; |
| |
| /** |
| * cvmx_pko_l2_sq#_shape_state |
| * |
| * This register must not be written during normal operation. |
| * |
| */ |
| union cvmx_pko_l2_sqx_shape_state { |
| u64 u64; |
| struct cvmx_pko_l2_sqx_shape_state_s { |
| u64 reserved_60_63 : 4; |
| u64 tw_timestamp : 6; |
| u64 color : 2; |
| u64 pir_accum : 26; |
| u64 cir_accum : 26; |
| } s; |
| struct cvmx_pko_l2_sqx_shape_state_s cn73xx; |
| struct cvmx_pko_l2_sqx_shape_state_s cn78xx; |
| struct cvmx_pko_l2_sqx_shape_state_s cn78xxp1; |
| struct cvmx_pko_l2_sqx_shape_state_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqx_shape_state cvmx_pko_l2_sqx_shape_state_t; |
| |
| /** |
| * cvmx_pko_l2_sq#_sw_xoff |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_SW_XOFF. |
| * |
| */ |
| union cvmx_pko_l2_sqx_sw_xoff { |
| u64 u64; |
| struct cvmx_pko_l2_sqx_sw_xoff_s { |
| u64 reserved_4_63 : 60; |
| u64 drain_irq : 1; |
| u64 drain_null_link : 1; |
| u64 drain : 1; |
| u64 xoff : 1; |
| } s; |
| struct cvmx_pko_l2_sqx_sw_xoff_s cn73xx; |
| struct cvmx_pko_l2_sqx_sw_xoff_s cn78xx; |
| struct cvmx_pko_l2_sqx_sw_xoff_s cn78xxp1; |
| struct cvmx_pko_l2_sqx_sw_xoff_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqx_sw_xoff cvmx_pko_l2_sqx_sw_xoff_t; |
| |
| /** |
| * cvmx_pko_l2_sq#_topology |
| */ |
| union cvmx_pko_l2_sqx_topology { |
| u64 u64; |
| struct cvmx_pko_l2_sqx_topology_s { |
| u64 reserved_41_63 : 23; |
| u64 prio_anchor : 9; |
| u64 reserved_21_31 : 11; |
| u64 parent : 5; |
| u64 reserved_5_15 : 11; |
| u64 rr_prio : 4; |
| u64 reserved_0_0 : 1; |
| } s; |
| struct cvmx_pko_l2_sqx_topology_cn73xx { |
| u64 reserved_40_63 : 24; |
| u64 prio_anchor : 8; |
| u64 reserved_20_31 : 12; |
| u64 parent : 4; |
| u64 reserved_5_15 : 11; |
| u64 rr_prio : 4; |
| u64 reserved_0_0 : 1; |
| } cn73xx; |
| struct cvmx_pko_l2_sqx_topology_s cn78xx; |
| struct cvmx_pko_l2_sqx_topology_s cn78xxp1; |
| struct cvmx_pko_l2_sqx_topology_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqx_topology cvmx_pko_l2_sqx_topology_t; |
| |
| /** |
| * cvmx_pko_l2_sq#_yellow |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_YELLOW. |
| * |
| */ |
| union cvmx_pko_l2_sqx_yellow { |
| u64 u64; |
| struct cvmx_pko_l2_sqx_yellow_s { |
| u64 reserved_19_63 : 45; |
| u64 head : 9; |
| u64 reserved_9_9 : 1; |
| u64 tail : 9; |
| } s; |
| struct cvmx_pko_l2_sqx_yellow_s cn73xx; |
| struct cvmx_pko_l2_sqx_yellow_s cn78xx; |
| struct cvmx_pko_l2_sqx_yellow_s cn78xxp1; |
| struct cvmx_pko_l2_sqx_yellow_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqx_yellow cvmx_pko_l2_sqx_yellow_t; |
| |
| /** |
| * cvmx_pko_l2_sq_csr_bus_debug |
| */ |
| union cvmx_pko_l2_sq_csr_bus_debug { |
| u64 u64; |
| struct cvmx_pko_l2_sq_csr_bus_debug_s { |
| u64 csr_bus_debug : 64; |
| } s; |
| struct cvmx_pko_l2_sq_csr_bus_debug_s cn73xx; |
| struct cvmx_pko_l2_sq_csr_bus_debug_s cn78xx; |
| struct cvmx_pko_l2_sq_csr_bus_debug_s cn78xxp1; |
| struct cvmx_pko_l2_sq_csr_bus_debug_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sq_csr_bus_debug cvmx_pko_l2_sq_csr_bus_debug_t; |
| |
| /** |
| * cvmx_pko_l2_sqa_debug |
| * |
| * This register has the same bit fields as PKO_PQA_DEBUG. |
| * |
| */ |
| union cvmx_pko_l2_sqa_debug { |
| u64 u64; |
| struct cvmx_pko_l2_sqa_debug_s { |
| u64 dbg_vec : 64; |
| } s; |
| struct cvmx_pko_l2_sqa_debug_s cn73xx; |
| struct cvmx_pko_l2_sqa_debug_s cn78xx; |
| struct cvmx_pko_l2_sqa_debug_s cn78xxp1; |
| struct cvmx_pko_l2_sqa_debug_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqa_debug cvmx_pko_l2_sqa_debug_t; |
| |
| /** |
| * cvmx_pko_l2_sqb_debug |
| * |
| * This register has the same bit fields as PKO_PQA_DEBUG. |
| * |
| */ |
| union cvmx_pko_l2_sqb_debug { |
| u64 u64; |
| struct cvmx_pko_l2_sqb_debug_s { |
| u64 dbg_vec : 64; |
| } s; |
| struct cvmx_pko_l2_sqb_debug_s cn73xx; |
| struct cvmx_pko_l2_sqb_debug_s cn78xx; |
| struct cvmx_pko_l2_sqb_debug_s cn78xxp1; |
| struct cvmx_pko_l2_sqb_debug_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l2_sqb_debug cvmx_pko_l2_sqb_debug_t; |
| |
| /** |
| * cvmx_pko_l3_l2_sq#_channel |
| * |
| * PKO_CHANNEL_LEVEL[CC_LEVEL] determines whether this CSR array is associated to |
| * the L2 SQs or the L3 SQs. |
| */ |
| union cvmx_pko_l3_l2_sqx_channel { |
| u64 u64; |
| struct cvmx_pko_l3_l2_sqx_channel_s { |
| u64 reserved_44_63 : 20; |
| u64 cc_channel : 12; |
| u64 cc_word_cnt : 20; |
| u64 cc_packet_cnt : 10; |
| u64 cc_enable : 1; |
| u64 hw_xoff : 1; |
| } s; |
| struct cvmx_pko_l3_l2_sqx_channel_s cn73xx; |
| struct cvmx_pko_l3_l2_sqx_channel_s cn78xx; |
| struct cvmx_pko_l3_l2_sqx_channel_s cn78xxp1; |
| struct cvmx_pko_l3_l2_sqx_channel_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_l2_sqx_channel cvmx_pko_l3_l2_sqx_channel_t; |
| |
| /** |
| * cvmx_pko_l3_sq#_cir |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_CIR. |
| * |
| */ |
| union cvmx_pko_l3_sqx_cir { |
| u64 u64; |
| struct cvmx_pko_l3_sqx_cir_s { |
| u64 reserved_41_63 : 23; |
| u64 burst_exponent : 4; |
| u64 burst_mantissa : 8; |
| u64 reserved_17_28 : 12; |
| u64 rate_divider_exponent : 4; |
| u64 rate_exponent : 4; |
| u64 rate_mantissa : 8; |
| u64 enable : 1; |
| } s; |
| struct cvmx_pko_l3_sqx_cir_s cn73xx; |
| struct cvmx_pko_l3_sqx_cir_s cn78xx; |
| struct cvmx_pko_l3_sqx_cir_s cn78xxp1; |
| struct cvmx_pko_l3_sqx_cir_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqx_cir cvmx_pko_l3_sqx_cir_t; |
| |
| /** |
| * cvmx_pko_l3_sq#_green |
| */ |
| union cvmx_pko_l3_sqx_green { |
| u64 u64; |
| struct cvmx_pko_l3_sqx_green_s { |
| u64 reserved_41_63 : 23; |
| u64 rr_active : 1; |
| u64 active_vec : 20; |
| u64 head : 10; |
| u64 tail : 10; |
| } s; |
| struct cvmx_pko_l3_sqx_green_cn73xx { |
| u64 reserved_41_63 : 23; |
| u64 rr_active : 1; |
| u64 active_vec : 20; |
| u64 reserved_18_19 : 2; |
| u64 head : 8; |
| u64 reserved_8_9 : 2; |
| u64 tail : 8; |
| } cn73xx; |
| struct cvmx_pko_l3_sqx_green_s cn78xx; |
| struct cvmx_pko_l3_sqx_green_s cn78xxp1; |
| struct cvmx_pko_l3_sqx_green_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqx_green cvmx_pko_l3_sqx_green_t; |
| |
| /** |
| * cvmx_pko_l3_sq#_pick |
| * |
| * This CSR contains the meta for the L3 SQ, and is for debug and reconfiguration |
| * only and should never be written. See also PKO_META_DESC_S. |
| */ |
| union cvmx_pko_l3_sqx_pick { |
| u64 u64; |
| struct cvmx_pko_l3_sqx_pick_s { |
| u64 dq : 10; |
| u64 color : 2; |
| u64 child : 10; |
| u64 bubble : 1; |
| u64 p_con : 1; |
| u64 c_con : 1; |
| u64 uid : 7; |
| u64 jump : 1; |
| u64 fpd : 1; |
| u64 ds : 1; |
| u64 adjust : 9; |
| u64 pir_dis : 1; |
| u64 cir_dis : 1; |
| u64 red_algo_override : 2; |
| u64 length : 16; |
| } s; |
| struct cvmx_pko_l3_sqx_pick_s cn73xx; |
| struct cvmx_pko_l3_sqx_pick_s cn78xx; |
| struct cvmx_pko_l3_sqx_pick_s cn78xxp1; |
| struct cvmx_pko_l3_sqx_pick_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqx_pick cvmx_pko_l3_sqx_pick_t; |
| |
| /** |
| * cvmx_pko_l3_sq#_pir |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_CIR. |
| * |
| */ |
| union cvmx_pko_l3_sqx_pir { |
| u64 u64; |
| struct cvmx_pko_l3_sqx_pir_s { |
| u64 reserved_41_63 : 23; |
| u64 burst_exponent : 4; |
| u64 burst_mantissa : 8; |
| u64 reserved_17_28 : 12; |
| u64 rate_divider_exponent : 4; |
| u64 rate_exponent : 4; |
| u64 rate_mantissa : 8; |
| u64 enable : 1; |
| } s; |
| struct cvmx_pko_l3_sqx_pir_s cn73xx; |
| struct cvmx_pko_l3_sqx_pir_s cn78xx; |
| struct cvmx_pko_l3_sqx_pir_s cn78xxp1; |
| struct cvmx_pko_l3_sqx_pir_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqx_pir cvmx_pko_l3_sqx_pir_t; |
| |
| /** |
| * cvmx_pko_l3_sq#_pointers |
| * |
| * This register has the same bit fields as PKO_L2_SQ()_POINTERS. |
| * |
| */ |
| union cvmx_pko_l3_sqx_pointers { |
| u64 u64; |
| struct cvmx_pko_l3_sqx_pointers_s { |
| u64 reserved_25_63 : 39; |
| u64 prev : 9; |
| u64 reserved_9_15 : 7; |
| u64 next : 9; |
| } s; |
| struct cvmx_pko_l3_sqx_pointers_cn73xx { |
| u64 reserved_24_63 : 40; |
| u64 prev : 8; |
| u64 reserved_8_15 : 8; |
| u64 next : 8; |
| } cn73xx; |
| struct cvmx_pko_l3_sqx_pointers_s cn78xx; |
| struct cvmx_pko_l3_sqx_pointers_s cn78xxp1; |
| struct cvmx_pko_l3_sqx_pointers_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqx_pointers cvmx_pko_l3_sqx_pointers_t; |
| |
| /** |
| * cvmx_pko_l3_sq#_red |
| * |
| * This register has the same bit fields as PKO_L3_SQ()_YELLOW. |
| * |
| */ |
| union cvmx_pko_l3_sqx_red { |
| u64 u64; |
| struct cvmx_pko_l3_sqx_red_s { |
| u64 reserved_20_63 : 44; |
| u64 head : 10; |
| u64 tail : 10; |
| } s; |
| struct cvmx_pko_l3_sqx_red_cn73xx { |
| u64 reserved_18_63 : 46; |
| u64 head : 8; |
| u64 reserved_8_9 : 2; |
| u64 tail : 8; |
| } cn73xx; |
| struct cvmx_pko_l3_sqx_red_s cn78xx; |
| struct cvmx_pko_l3_sqx_red_s cn78xxp1; |
| struct cvmx_pko_l3_sqx_red_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqx_red cvmx_pko_l3_sqx_red_t; |
| |
| /** |
| * cvmx_pko_l3_sq#_sched_state |
| * |
| * This register has the same bit fields as PKO_L2_SQ()_SCHED_STATE. |
| * |
| */ |
| union cvmx_pko_l3_sqx_sched_state { |
| u64 u64; |
| struct cvmx_pko_l3_sqx_sched_state_s { |
| u64 reserved_25_63 : 39; |
| u64 rr_count : 25; |
| } s; |
| struct cvmx_pko_l3_sqx_sched_state_s cn73xx; |
| struct cvmx_pko_l3_sqx_sched_state_s cn78xx; |
| struct cvmx_pko_l3_sqx_sched_state_s cn78xxp1; |
| struct cvmx_pko_l3_sqx_sched_state_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqx_sched_state cvmx_pko_l3_sqx_sched_state_t; |
| |
| /** |
| * cvmx_pko_l3_sq#_schedule |
| * |
| * This register has the same bit fields as PKO_L2_SQ()_SCHEDULE. |
| * |
| */ |
| union cvmx_pko_l3_sqx_schedule { |
| u64 u64; |
| struct cvmx_pko_l3_sqx_schedule_s { |
| u64 reserved_28_63 : 36; |
| u64 prio : 4; |
| u64 rr_quantum : 24; |
| } s; |
| struct cvmx_pko_l3_sqx_schedule_s cn73xx; |
| struct cvmx_pko_l3_sqx_schedule_s cn78xx; |
| struct cvmx_pko_l3_sqx_schedule_s cn78xxp1; |
| struct cvmx_pko_l3_sqx_schedule_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqx_schedule cvmx_pko_l3_sqx_schedule_t; |
| |
| /** |
| * cvmx_pko_l3_sq#_shape |
| */ |
| union cvmx_pko_l3_sqx_shape { |
| u64 u64; |
| struct cvmx_pko_l3_sqx_shape_s { |
| u64 reserved_27_63 : 37; |
| u64 schedule_list : 2; |
| u64 length_disable : 1; |
| u64 reserved_13_23 : 11; |
| u64 yellow_disable : 1; |
| u64 red_disable : 1; |
| u64 red_algo : 2; |
| u64 adjust : 9; |
| } s; |
| struct cvmx_pko_l3_sqx_shape_s cn73xx; |
| struct cvmx_pko_l3_sqx_shape_cn78xx { |
| u64 reserved_25_63 : 39; |
| u64 length_disable : 1; |
| u64 reserved_13_23 : 11; |
| u64 yellow_disable : 1; |
| u64 red_disable : 1; |
| u64 red_algo : 2; |
| u64 adjust : 9; |
| } cn78xx; |
| struct cvmx_pko_l3_sqx_shape_cn78xx cn78xxp1; |
| struct cvmx_pko_l3_sqx_shape_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqx_shape cvmx_pko_l3_sqx_shape_t; |
| |
| /** |
| * cvmx_pko_l3_sq#_shape_state |
| * |
| * This register has the same bit fields as PKO_L2_SQ()_SHAPE_STATE. |
| * This register must not be written during normal operation. |
| */ |
| union cvmx_pko_l3_sqx_shape_state { |
| u64 u64; |
| struct cvmx_pko_l3_sqx_shape_state_s { |
| u64 reserved_60_63 : 4; |
| u64 tw_timestamp : 6; |
| u64 color : 2; |
| u64 pir_accum : 26; |
| u64 cir_accum : 26; |
| } s; |
| struct cvmx_pko_l3_sqx_shape_state_s cn73xx; |
| struct cvmx_pko_l3_sqx_shape_state_s cn78xx; |
| struct cvmx_pko_l3_sqx_shape_state_s cn78xxp1; |
| struct cvmx_pko_l3_sqx_shape_state_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqx_shape_state cvmx_pko_l3_sqx_shape_state_t; |
| |
| /** |
| * cvmx_pko_l3_sq#_sw_xoff |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_SW_XOFF |
| * |
| */ |
| union cvmx_pko_l3_sqx_sw_xoff { |
| u64 u64; |
| struct cvmx_pko_l3_sqx_sw_xoff_s { |
| u64 reserved_4_63 : 60; |
| u64 drain_irq : 1; |
| u64 drain_null_link : 1; |
| u64 drain : 1; |
| u64 xoff : 1; |
| } s; |
| struct cvmx_pko_l3_sqx_sw_xoff_s cn73xx; |
| struct cvmx_pko_l3_sqx_sw_xoff_s cn78xx; |
| struct cvmx_pko_l3_sqx_sw_xoff_s cn78xxp1; |
| struct cvmx_pko_l3_sqx_sw_xoff_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqx_sw_xoff cvmx_pko_l3_sqx_sw_xoff_t; |
| |
| /** |
| * cvmx_pko_l3_sq#_topology |
| */ |
| union cvmx_pko_l3_sqx_topology { |
| u64 u64; |
| struct cvmx_pko_l3_sqx_topology_s { |
| u64 reserved_42_63 : 22; |
| u64 prio_anchor : 10; |
| u64 reserved_25_31 : 7; |
| u64 parent : 9; |
| u64 reserved_5_15 : 11; |
| u64 rr_prio : 4; |
| u64 reserved_0_0 : 1; |
| } s; |
| struct cvmx_pko_l3_sqx_topology_cn73xx { |
| u64 reserved_40_63 : 24; |
| u64 prio_anchor : 8; |
| u64 reserved_24_31 : 8; |
| u64 parent : 8; |
| u64 reserved_5_15 : 11; |
| u64 rr_prio : 4; |
| u64 reserved_0_0 : 1; |
| } cn73xx; |
| struct cvmx_pko_l3_sqx_topology_s cn78xx; |
| struct cvmx_pko_l3_sqx_topology_s cn78xxp1; |
| struct cvmx_pko_l3_sqx_topology_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqx_topology cvmx_pko_l3_sqx_topology_t; |
| |
| /** |
| * cvmx_pko_l3_sq#_yellow |
| */ |
| union cvmx_pko_l3_sqx_yellow { |
| u64 u64; |
| struct cvmx_pko_l3_sqx_yellow_s { |
| u64 reserved_20_63 : 44; |
| u64 head : 10; |
| u64 tail : 10; |
| } s; |
| struct cvmx_pko_l3_sqx_yellow_cn73xx { |
| u64 reserved_18_63 : 46; |
| u64 head : 8; |
| u64 reserved_8_9 : 2; |
| u64 tail : 8; |
| } cn73xx; |
| struct cvmx_pko_l3_sqx_yellow_s cn78xx; |
| struct cvmx_pko_l3_sqx_yellow_s cn78xxp1; |
| struct cvmx_pko_l3_sqx_yellow_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqx_yellow cvmx_pko_l3_sqx_yellow_t; |
| |
| /** |
| * cvmx_pko_l3_sq_csr_bus_debug |
| */ |
| union cvmx_pko_l3_sq_csr_bus_debug { |
| u64 u64; |
| struct cvmx_pko_l3_sq_csr_bus_debug_s { |
| u64 csr_bus_debug : 64; |
| } s; |
| struct cvmx_pko_l3_sq_csr_bus_debug_s cn73xx; |
| struct cvmx_pko_l3_sq_csr_bus_debug_s cn78xx; |
| struct cvmx_pko_l3_sq_csr_bus_debug_s cn78xxp1; |
| struct cvmx_pko_l3_sq_csr_bus_debug_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sq_csr_bus_debug cvmx_pko_l3_sq_csr_bus_debug_t; |
| |
| /** |
| * cvmx_pko_l3_sqa_debug |
| * |
| * This register has the same bit fields as PKO_PQA_DEBUG. |
| * |
| */ |
| union cvmx_pko_l3_sqa_debug { |
| u64 u64; |
| struct cvmx_pko_l3_sqa_debug_s { |
| u64 dbg_vec : 64; |
| } s; |
| struct cvmx_pko_l3_sqa_debug_s cn73xx; |
| struct cvmx_pko_l3_sqa_debug_s cn78xx; |
| struct cvmx_pko_l3_sqa_debug_s cn78xxp1; |
| struct cvmx_pko_l3_sqa_debug_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqa_debug cvmx_pko_l3_sqa_debug_t; |
| |
| /** |
| * cvmx_pko_l3_sqb_debug |
| * |
| * This register has the same bit fields as PKO_PQA_DEBUG. |
| * |
| */ |
| union cvmx_pko_l3_sqb_debug { |
| u64 u64; |
| struct cvmx_pko_l3_sqb_debug_s { |
| u64 dbg_vec : 64; |
| } s; |
| struct cvmx_pko_l3_sqb_debug_s cn73xx; |
| struct cvmx_pko_l3_sqb_debug_s cn78xx; |
| struct cvmx_pko_l3_sqb_debug_s cn78xxp1; |
| struct cvmx_pko_l3_sqb_debug_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_l3_sqb_debug cvmx_pko_l3_sqb_debug_t; |
| |
| /** |
| * cvmx_pko_l4_sq#_cir |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_CIR. |
| * |
| */ |
| union cvmx_pko_l4_sqx_cir { |
| u64 u64; |
| struct cvmx_pko_l4_sqx_cir_s { |
| u64 reserved_41_63 : 23; |
| u64 burst_exponent : 4; |
| u64 burst_mantissa : 8; |
| u64 reserved_17_28 : 12; |
| u64 rate_divider_exponent : 4; |
| u64 rate_exponent : 4; |
| u64 rate_mantissa : 8; |
| u64 enable : 1; |
| } s; |
| struct cvmx_pko_l4_sqx_cir_s cn78xx; |
| struct cvmx_pko_l4_sqx_cir_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqx_cir cvmx_pko_l4_sqx_cir_t; |
| |
| /** |
| * cvmx_pko_l4_sq#_green |
| * |
| * This register has the same bit fields as PKO_L3_SQ()_GREEN. |
| * |
| */ |
| union cvmx_pko_l4_sqx_green { |
| u64 u64; |
| struct cvmx_pko_l4_sqx_green_s { |
| u64 reserved_41_63 : 23; |
| u64 rr_active : 1; |
| u64 active_vec : 20; |
| u64 head : 10; |
| u64 tail : 10; |
| } s; |
| struct cvmx_pko_l4_sqx_green_s cn78xx; |
| struct cvmx_pko_l4_sqx_green_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqx_green cvmx_pko_l4_sqx_green_t; |
| |
| /** |
| * cvmx_pko_l4_sq#_pick |
| * |
| * This CSR contains the meta for the L4 SQ, and is for debug and reconfiguration |
| * only and should never be written. See also PKO_META_DESC_S. |
| */ |
| union cvmx_pko_l4_sqx_pick { |
| u64 u64; |
| struct cvmx_pko_l4_sqx_pick_s { |
| u64 dq : 10; |
| u64 color : 2; |
| u64 child : 10; |
| u64 bubble : 1; |
| u64 p_con : 1; |
| u64 c_con : 1; |
| u64 uid : 7; |
| u64 jump : 1; |
| u64 fpd : 1; |
| u64 ds : 1; |
| u64 adjust : 9; |
| u64 pir_dis : 1; |
| u64 cir_dis : 1; |
| u64 red_algo_override : 2; |
| u64 length : 16; |
| } s; |
| struct cvmx_pko_l4_sqx_pick_s cn78xx; |
| struct cvmx_pko_l4_sqx_pick_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqx_pick cvmx_pko_l4_sqx_pick_t; |
| |
| /** |
| * cvmx_pko_l4_sq#_pir |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_CIR. |
| * |
| */ |
| union cvmx_pko_l4_sqx_pir { |
| u64 u64; |
| struct cvmx_pko_l4_sqx_pir_s { |
| u64 reserved_41_63 : 23; |
| u64 burst_exponent : 4; |
| u64 burst_mantissa : 8; |
| u64 reserved_17_28 : 12; |
| u64 rate_divider_exponent : 4; |
| u64 rate_exponent : 4; |
| u64 rate_mantissa : 8; |
| u64 enable : 1; |
| } s; |
| struct cvmx_pko_l4_sqx_pir_s cn78xx; |
| struct cvmx_pko_l4_sqx_pir_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqx_pir cvmx_pko_l4_sqx_pir_t; |
| |
| /** |
| * cvmx_pko_l4_sq#_pointers |
| */ |
| union cvmx_pko_l4_sqx_pointers { |
| u64 u64; |
| struct cvmx_pko_l4_sqx_pointers_s { |
| u64 reserved_26_63 : 38; |
| u64 prev : 10; |
| u64 reserved_10_15 : 6; |
| u64 next : 10; |
| } s; |
| struct cvmx_pko_l4_sqx_pointers_s cn78xx; |
| struct cvmx_pko_l4_sqx_pointers_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqx_pointers cvmx_pko_l4_sqx_pointers_t; |
| |
| /** |
| * cvmx_pko_l4_sq#_red |
| * |
| * This register has the same bit fields as PKO_L3_SQ()_YELLOW. |
| * |
| */ |
| union cvmx_pko_l4_sqx_red { |
| u64 u64; |
| struct cvmx_pko_l4_sqx_red_s { |
| u64 reserved_20_63 : 44; |
| u64 head : 10; |
| u64 tail : 10; |
| } s; |
| struct cvmx_pko_l4_sqx_red_s cn78xx; |
| struct cvmx_pko_l4_sqx_red_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqx_red cvmx_pko_l4_sqx_red_t; |
| |
| /** |
| * cvmx_pko_l4_sq#_sched_state |
| * |
| * This register has the same bit fields as PKO_L2_SQ()_SCHED_STATE. |
| * |
| */ |
| union cvmx_pko_l4_sqx_sched_state { |
| u64 u64; |
| struct cvmx_pko_l4_sqx_sched_state_s { |
| u64 reserved_25_63 : 39; |
| u64 rr_count : 25; |
| } s; |
| struct cvmx_pko_l4_sqx_sched_state_s cn78xx; |
| struct cvmx_pko_l4_sqx_sched_state_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqx_sched_state cvmx_pko_l4_sqx_sched_state_t; |
| |
| /** |
| * cvmx_pko_l4_sq#_schedule |
| * |
| * This register has the same bit fields as PKO_L2_SQ()_SCHEDULE. |
| * |
| */ |
| union cvmx_pko_l4_sqx_schedule { |
| u64 u64; |
| struct cvmx_pko_l4_sqx_schedule_s { |
| u64 reserved_28_63 : 36; |
| u64 prio : 4; |
| u64 rr_quantum : 24; |
| } s; |
| struct cvmx_pko_l4_sqx_schedule_s cn78xx; |
| struct cvmx_pko_l4_sqx_schedule_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqx_schedule cvmx_pko_l4_sqx_schedule_t; |
| |
| /** |
| * cvmx_pko_l4_sq#_shape |
| * |
| * This register has the same bit fields as PKO_L3_SQ()_SHAPE. |
| * |
| */ |
| union cvmx_pko_l4_sqx_shape { |
| u64 u64; |
| struct cvmx_pko_l4_sqx_shape_s { |
| u64 reserved_25_63 : 39; |
| u64 length_disable : 1; |
| u64 reserved_13_23 : 11; |
| u64 yellow_disable : 1; |
| u64 red_disable : 1; |
| u64 red_algo : 2; |
| u64 adjust : 9; |
| } s; |
| struct cvmx_pko_l4_sqx_shape_s cn78xx; |
| struct cvmx_pko_l4_sqx_shape_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqx_shape cvmx_pko_l4_sqx_shape_t; |
| |
| /** |
| * cvmx_pko_l4_sq#_shape_state |
| * |
| * This register has the same bit fields as PKO_L2_SQ()_SHAPE_STATE. |
| * This register must not be written during normal operation. |
| */ |
| union cvmx_pko_l4_sqx_shape_state { |
| u64 u64; |
| struct cvmx_pko_l4_sqx_shape_state_s { |
| u64 reserved_60_63 : 4; |
| u64 tw_timestamp : 6; |
| u64 color : 2; |
| u64 pir_accum : 26; |
| u64 cir_accum : 26; |
| } s; |
| struct cvmx_pko_l4_sqx_shape_state_s cn78xx; |
| struct cvmx_pko_l4_sqx_shape_state_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqx_shape_state cvmx_pko_l4_sqx_shape_state_t; |
| |
| /** |
| * cvmx_pko_l4_sq#_sw_xoff |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_SW_XOFF. |
| * |
| */ |
| union cvmx_pko_l4_sqx_sw_xoff { |
| u64 u64; |
| struct cvmx_pko_l4_sqx_sw_xoff_s { |
| u64 reserved_4_63 : 60; |
| u64 drain_irq : 1; |
| u64 drain_null_link : 1; |
| u64 drain : 1; |
| u64 xoff : 1; |
| } s; |
| struct cvmx_pko_l4_sqx_sw_xoff_s cn78xx; |
| struct cvmx_pko_l4_sqx_sw_xoff_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqx_sw_xoff cvmx_pko_l4_sqx_sw_xoff_t; |
| |
| /** |
| * cvmx_pko_l4_sq#_topology |
| */ |
| union cvmx_pko_l4_sqx_topology { |
| u64 u64; |
| struct cvmx_pko_l4_sqx_topology_s { |
| u64 reserved_42_63 : 22; |
| u64 prio_anchor : 10; |
| u64 reserved_25_31 : 7; |
| u64 parent : 9; |
| u64 reserved_5_15 : 11; |
| u64 rr_prio : 4; |
| u64 reserved_0_0 : 1; |
| } s; |
| struct cvmx_pko_l4_sqx_topology_s cn78xx; |
| struct cvmx_pko_l4_sqx_topology_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqx_topology cvmx_pko_l4_sqx_topology_t; |
| |
| /** |
| * cvmx_pko_l4_sq#_yellow |
| * |
| * This register has the same bit fields as PKO_L3_SQ()_YELLOW. |
| * |
| */ |
| union cvmx_pko_l4_sqx_yellow { |
| u64 u64; |
| struct cvmx_pko_l4_sqx_yellow_s { |
| u64 reserved_20_63 : 44; |
| u64 head : 10; |
| u64 tail : 10; |
| } s; |
| struct cvmx_pko_l4_sqx_yellow_s cn78xx; |
| struct cvmx_pko_l4_sqx_yellow_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqx_yellow cvmx_pko_l4_sqx_yellow_t; |
| |
| /** |
| * cvmx_pko_l4_sq_csr_bus_debug |
| */ |
| union cvmx_pko_l4_sq_csr_bus_debug { |
| u64 u64; |
| struct cvmx_pko_l4_sq_csr_bus_debug_s { |
| u64 csr_bus_debug : 64; |
| } s; |
| struct cvmx_pko_l4_sq_csr_bus_debug_s cn78xx; |
| struct cvmx_pko_l4_sq_csr_bus_debug_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sq_csr_bus_debug cvmx_pko_l4_sq_csr_bus_debug_t; |
| |
| /** |
| * cvmx_pko_l4_sqa_debug |
| * |
| * This register has the same bit fields as PKO_PQA_DEBUG. |
| * |
| */ |
| union cvmx_pko_l4_sqa_debug { |
| u64 u64; |
| struct cvmx_pko_l4_sqa_debug_s { |
| u64 dbg_vec : 64; |
| } s; |
| struct cvmx_pko_l4_sqa_debug_s cn78xx; |
| struct cvmx_pko_l4_sqa_debug_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqa_debug cvmx_pko_l4_sqa_debug_t; |
| |
| /** |
| * cvmx_pko_l4_sqb_debug |
| * |
| * This register has the same bit fields as PKO_PQA_DEBUG. |
| * |
| */ |
| union cvmx_pko_l4_sqb_debug { |
| u64 u64; |
| struct cvmx_pko_l4_sqb_debug_s { |
| u64 dbg_vec : 64; |
| } s; |
| struct cvmx_pko_l4_sqb_debug_s cn78xx; |
| struct cvmx_pko_l4_sqb_debug_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l4_sqb_debug cvmx_pko_l4_sqb_debug_t; |
| |
| /** |
| * cvmx_pko_l5_sq#_cir |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_CIR. |
| * |
| */ |
| union cvmx_pko_l5_sqx_cir { |
| u64 u64; |
| struct cvmx_pko_l5_sqx_cir_s { |
| u64 reserved_41_63 : 23; |
| u64 burst_exponent : 4; |
| u64 burst_mantissa : 8; |
| u64 reserved_17_28 : 12; |
| u64 rate_divider_exponent : 4; |
| u64 rate_exponent : 4; |
| u64 rate_mantissa : 8; |
| u64 enable : 1; |
| } s; |
| struct cvmx_pko_l5_sqx_cir_s cn78xx; |
| struct cvmx_pko_l5_sqx_cir_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqx_cir cvmx_pko_l5_sqx_cir_t; |
| |
| /** |
| * cvmx_pko_l5_sq#_green |
| * |
| * This register has the same bit fields as PKO_L3_SQ()_GREEN. |
| * |
| */ |
| union cvmx_pko_l5_sqx_green { |
| u64 u64; |
| struct cvmx_pko_l5_sqx_green_s { |
| u64 reserved_41_63 : 23; |
| u64 rr_active : 1; |
| u64 active_vec : 20; |
| u64 head : 10; |
| u64 tail : 10; |
| } s; |
| struct cvmx_pko_l5_sqx_green_s cn78xx; |
| struct cvmx_pko_l5_sqx_green_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqx_green cvmx_pko_l5_sqx_green_t; |
| |
| /** |
| * cvmx_pko_l5_sq#_pick |
| * |
| * This CSR contains the meta for the L5 SQ, and is for debug and reconfiguration |
| * only and should never be written. See also PKO_META_DESC_S. |
| */ |
| union cvmx_pko_l5_sqx_pick { |
| u64 u64; |
| struct cvmx_pko_l5_sqx_pick_s { |
| u64 dq : 10; |
| u64 color : 2; |
| u64 child : 10; |
| u64 bubble : 1; |
| u64 p_con : 1; |
| u64 c_con : 1; |
| u64 uid : 7; |
| u64 jump : 1; |
| u64 fpd : 1; |
| u64 ds : 1; |
| u64 adjust : 9; |
| u64 pir_dis : 1; |
| u64 cir_dis : 1; |
| u64 red_algo_override : 2; |
| u64 length : 16; |
| } s; |
| struct cvmx_pko_l5_sqx_pick_s cn78xx; |
| struct cvmx_pko_l5_sqx_pick_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqx_pick cvmx_pko_l5_sqx_pick_t; |
| |
| /** |
| * cvmx_pko_l5_sq#_pir |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_CIR. |
| * |
| */ |
| union cvmx_pko_l5_sqx_pir { |
| u64 u64; |
| struct cvmx_pko_l5_sqx_pir_s { |
| u64 reserved_41_63 : 23; |
| u64 burst_exponent : 4; |
| u64 burst_mantissa : 8; |
| u64 reserved_17_28 : 12; |
| u64 rate_divider_exponent : 4; |
| u64 rate_exponent : 4; |
| u64 rate_mantissa : 8; |
| u64 enable : 1; |
| } s; |
| struct cvmx_pko_l5_sqx_pir_s cn78xx; |
| struct cvmx_pko_l5_sqx_pir_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqx_pir cvmx_pko_l5_sqx_pir_t; |
| |
| /** |
| * cvmx_pko_l5_sq#_pointers |
| * |
| * This register has the same bit fields as PKO_L4_SQ()_POINTERS. |
| * |
| */ |
| union cvmx_pko_l5_sqx_pointers { |
| u64 u64; |
| struct cvmx_pko_l5_sqx_pointers_s { |
| u64 reserved_26_63 : 38; |
| u64 prev : 10; |
| u64 reserved_10_15 : 6; |
| u64 next : 10; |
| } s; |
| struct cvmx_pko_l5_sqx_pointers_s cn78xx; |
| struct cvmx_pko_l5_sqx_pointers_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqx_pointers cvmx_pko_l5_sqx_pointers_t; |
| |
| /** |
| * cvmx_pko_l5_sq#_red |
| * |
| * This register has the same bit fields as PKO_L3_SQ()_YELLOW. |
| * |
| */ |
| union cvmx_pko_l5_sqx_red { |
| u64 u64; |
| struct cvmx_pko_l5_sqx_red_s { |
| u64 reserved_20_63 : 44; |
| u64 head : 10; |
| u64 tail : 10; |
| } s; |
| struct cvmx_pko_l5_sqx_red_s cn78xx; |
| struct cvmx_pko_l5_sqx_red_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqx_red cvmx_pko_l5_sqx_red_t; |
| |
| /** |
| * cvmx_pko_l5_sq#_sched_state |
| * |
| * This register has the same bit fields as PKO_L2_SQ()_SCHED_STATE. |
| * |
| */ |
| union cvmx_pko_l5_sqx_sched_state { |
| u64 u64; |
| struct cvmx_pko_l5_sqx_sched_state_s { |
| u64 reserved_25_63 : 39; |
| u64 rr_count : 25; |
| } s; |
| struct cvmx_pko_l5_sqx_sched_state_s cn78xx; |
| struct cvmx_pko_l5_sqx_sched_state_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqx_sched_state cvmx_pko_l5_sqx_sched_state_t; |
| |
| /** |
| * cvmx_pko_l5_sq#_schedule |
| * |
| * This register has the same bit fields as PKO_L2_SQ()_SCHEDULE. |
| * |
| */ |
| union cvmx_pko_l5_sqx_schedule { |
| u64 u64; |
| struct cvmx_pko_l5_sqx_schedule_s { |
| u64 reserved_28_63 : 36; |
| u64 prio : 4; |
| u64 rr_quantum : 24; |
| } s; |
| struct cvmx_pko_l5_sqx_schedule_s cn78xx; |
| struct cvmx_pko_l5_sqx_schedule_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqx_schedule cvmx_pko_l5_sqx_schedule_t; |
| |
| /** |
| * cvmx_pko_l5_sq#_shape |
| */ |
| union cvmx_pko_l5_sqx_shape { |
| u64 u64; |
| struct cvmx_pko_l5_sqx_shape_s { |
| u64 reserved_25_63 : 39; |
| u64 length_disable : 1; |
| u64 reserved_13_23 : 11; |
| u64 yellow_disable : 1; |
| u64 red_disable : 1; |
| u64 red_algo : 2; |
| u64 adjust : 9; |
| } s; |
| struct cvmx_pko_l5_sqx_shape_s cn78xx; |
| struct cvmx_pko_l5_sqx_shape_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqx_shape cvmx_pko_l5_sqx_shape_t; |
| |
| /** |
| * cvmx_pko_l5_sq#_shape_state |
| * |
| * This register has the same bit fields as PKO_L2_SQ()_SHAPE_STATE. |
| * This register must not be written during normal operation. |
| */ |
| union cvmx_pko_l5_sqx_shape_state { |
| u64 u64; |
| struct cvmx_pko_l5_sqx_shape_state_s { |
| u64 reserved_60_63 : 4; |
| u64 tw_timestamp : 6; |
| u64 color : 2; |
| u64 pir_accum : 26; |
| u64 cir_accum : 26; |
| } s; |
| struct cvmx_pko_l5_sqx_shape_state_s cn78xx; |
| struct cvmx_pko_l5_sqx_shape_state_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqx_shape_state cvmx_pko_l5_sqx_shape_state_t; |
| |
| /** |
| * cvmx_pko_l5_sq#_sw_xoff |
| * |
| * This register has the same bit fields as PKO_L1_SQ()_SW_XOFF. |
| * |
| */ |
| union cvmx_pko_l5_sqx_sw_xoff { |
| u64 u64; |
| struct cvmx_pko_l5_sqx_sw_xoff_s { |
| u64 reserved_4_63 : 60; |
| u64 drain_irq : 1; |
| u64 drain_null_link : 1; |
| u64 drain : 1; |
| u64 xoff : 1; |
| } s; |
| struct cvmx_pko_l5_sqx_sw_xoff_s cn78xx; |
| struct cvmx_pko_l5_sqx_sw_xoff_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqx_sw_xoff cvmx_pko_l5_sqx_sw_xoff_t; |
| |
| /** |
| * cvmx_pko_l5_sq#_topology |
| */ |
| union cvmx_pko_l5_sqx_topology { |
| u64 u64; |
| struct cvmx_pko_l5_sqx_topology_s { |
| u64 reserved_42_63 : 22; |
| u64 prio_anchor : 10; |
| u64 reserved_26_31 : 6; |
| u64 parent : 10; |
| u64 reserved_5_15 : 11; |
| u64 rr_prio : 4; |
| u64 reserved_0_0 : 1; |
| } s; |
| struct cvmx_pko_l5_sqx_topology_s cn78xx; |
| struct cvmx_pko_l5_sqx_topology_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqx_topology cvmx_pko_l5_sqx_topology_t; |
| |
| /** |
| * cvmx_pko_l5_sq#_yellow |
| * |
| * This register has the same bit fields as PKO_L3_SQ()_YELLOW. |
| * |
| */ |
| union cvmx_pko_l5_sqx_yellow { |
| u64 u64; |
| struct cvmx_pko_l5_sqx_yellow_s { |
| u64 reserved_20_63 : 44; |
| u64 head : 10; |
| u64 tail : 10; |
| } s; |
| struct cvmx_pko_l5_sqx_yellow_s cn78xx; |
| struct cvmx_pko_l5_sqx_yellow_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqx_yellow cvmx_pko_l5_sqx_yellow_t; |
| |
| /** |
| * cvmx_pko_l5_sq_csr_bus_debug |
| */ |
| union cvmx_pko_l5_sq_csr_bus_debug { |
| u64 u64; |
| struct cvmx_pko_l5_sq_csr_bus_debug_s { |
| u64 csr_bus_debug : 64; |
| } s; |
| struct cvmx_pko_l5_sq_csr_bus_debug_s cn78xx; |
| struct cvmx_pko_l5_sq_csr_bus_debug_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sq_csr_bus_debug cvmx_pko_l5_sq_csr_bus_debug_t; |
| |
| /** |
| * cvmx_pko_l5_sqa_debug |
| * |
| * This register has the same bit fields as PKO_PQA_DEBUG. |
| * |
| */ |
| union cvmx_pko_l5_sqa_debug { |
| u64 u64; |
| struct cvmx_pko_l5_sqa_debug_s { |
| u64 dbg_vec : 64; |
| } s; |
| struct cvmx_pko_l5_sqa_debug_s cn78xx; |
| struct cvmx_pko_l5_sqa_debug_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqa_debug cvmx_pko_l5_sqa_debug_t; |
| |
| /** |
| * cvmx_pko_l5_sqb_debug |
| * |
| * This register has the same bit fields as PKO_PQA_DEBUG. |
| * |
| */ |
| union cvmx_pko_l5_sqb_debug { |
| u64 u64; |
| struct cvmx_pko_l5_sqb_debug_s { |
| u64 dbg_vec : 64; |
| } s; |
| struct cvmx_pko_l5_sqb_debug_s cn78xx; |
| struct cvmx_pko_l5_sqb_debug_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_l5_sqb_debug cvmx_pko_l5_sqb_debug_t; |
| |
| /** |
| * cvmx_pko_lut# |
| * |
| * PKO_LUT has a location for each used PKI_CHAN_E. The following table |
| * shows the mapping between LINK/MAC_NUM's, PKI_CHAN_E channels, and |
| * PKO_LUT indices. |
| * |
| * <pre> |
| * LINK/ PKI_CHAN_E Corresponding |
| * MAC_NUM Range PKO_LUT index Description |
| * ------- ----------- ------------- ----------------- |
| * 0 0x000-0x03F 0x040-0x07F LBK Loopback |
| * 1 0x100-0x13F 0x080-0x0BF DPI packet output |
| * 2 0x800-0x80F 0x000-0x00F BGX0 Logical MAC 0 |
| * 3 0x810-0x81F 0x010-0x01F BGX0 Logical MAC 1 |
| * 4 0x820-0x82F 0x020-0x02F BGX0 Logical MAC 2 |
| * 5 0x830-0x83F 0x030-0x03F BGX0 Logical MAC 3 |
| * </pre> |
| */ |
| union cvmx_pko_lutx { |
| u64 u64; |
| struct cvmx_pko_lutx_s { |
| u64 reserved_16_63 : 48; |
| u64 valid : 1; |
| u64 reserved_14_14 : 1; |
| u64 pq_idx : 5; |
| u64 queue_number : 9; |
| } s; |
| struct cvmx_pko_lutx_cn73xx { |
| u64 reserved_16_63 : 48; |
| u64 valid : 1; |
| u64 reserved_13_14 : 2; |
| u64 pq_idx : 4; |
| u64 reserved_8_8 : 1; |
| u64 queue_number : 8; |
| } cn73xx; |
| struct cvmx_pko_lutx_s cn78xx; |
| struct cvmx_pko_lutx_s cn78xxp1; |
| struct cvmx_pko_lutx_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_lutx cvmx_pko_lutx_t; |
| |
| /** |
| * cvmx_pko_lut_bist_status |
| */ |
| union cvmx_pko_lut_bist_status { |
| u64 u64; |
| struct cvmx_pko_lut_bist_status_s { |
| u64 reserved_1_63 : 63; |
| u64 bist_status : 1; |
| } s; |
| struct cvmx_pko_lut_bist_status_s cn73xx; |
| struct cvmx_pko_lut_bist_status_s cn78xx; |
| struct cvmx_pko_lut_bist_status_s cn78xxp1; |
| struct cvmx_pko_lut_bist_status_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_lut_bist_status cvmx_pko_lut_bist_status_t; |
| |
| /** |
| * cvmx_pko_lut_ecc_ctl0 |
| */ |
| union cvmx_pko_lut_ecc_ctl0 { |
| u64 u64; |
| struct cvmx_pko_lut_ecc_ctl0_s { |
| u64 c2q_lut_ram_flip : 2; |
| u64 c2q_lut_ram_cdis : 1; |
| u64 reserved_0_60 : 61; |
| } s; |
| struct cvmx_pko_lut_ecc_ctl0_s cn73xx; |
| struct cvmx_pko_lut_ecc_ctl0_s cn78xx; |
| struct cvmx_pko_lut_ecc_ctl0_s cn78xxp1; |
| struct cvmx_pko_lut_ecc_ctl0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_lut_ecc_ctl0 cvmx_pko_lut_ecc_ctl0_t; |
| |
| /** |
| * cvmx_pko_lut_ecc_dbe_sts0 |
| */ |
| union cvmx_pko_lut_ecc_dbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_lut_ecc_dbe_sts0_s { |
| u64 c2q_lut_ram_dbe : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_lut_ecc_dbe_sts0_s cn73xx; |
| struct cvmx_pko_lut_ecc_dbe_sts0_s cn78xx; |
| struct cvmx_pko_lut_ecc_dbe_sts0_s cn78xxp1; |
| struct cvmx_pko_lut_ecc_dbe_sts0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_lut_ecc_dbe_sts0 cvmx_pko_lut_ecc_dbe_sts0_t; |
| |
| /** |
| * cvmx_pko_lut_ecc_dbe_sts_cmb0 |
| */ |
| union cvmx_pko_lut_ecc_dbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_lut_ecc_dbe_sts_cmb0_s { |
| u64 lut_dbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_lut_ecc_dbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_lut_ecc_dbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_lut_ecc_dbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_lut_ecc_dbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_lut_ecc_dbe_sts_cmb0 cvmx_pko_lut_ecc_dbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_lut_ecc_sbe_sts0 |
| */ |
| union cvmx_pko_lut_ecc_sbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_lut_ecc_sbe_sts0_s { |
| u64 c2q_lut_ram_sbe : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_lut_ecc_sbe_sts0_s cn73xx; |
| struct cvmx_pko_lut_ecc_sbe_sts0_s cn78xx; |
| struct cvmx_pko_lut_ecc_sbe_sts0_s cn78xxp1; |
| struct cvmx_pko_lut_ecc_sbe_sts0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_lut_ecc_sbe_sts0 cvmx_pko_lut_ecc_sbe_sts0_t; |
| |
| /** |
| * cvmx_pko_lut_ecc_sbe_sts_cmb0 |
| */ |
| union cvmx_pko_lut_ecc_sbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_lut_ecc_sbe_sts_cmb0_s { |
| u64 lut_sbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_lut_ecc_sbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_lut_ecc_sbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_lut_ecc_sbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_lut_ecc_sbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_lut_ecc_sbe_sts_cmb0 cvmx_pko_lut_ecc_sbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_mac#_cfg |
| * |
| * These registers create the links between the MACs and the TxFIFO used to store the data, |
| * and hold the per-MAC configuration bits. These registers must be disabled (FIFO_NUM set |
| * to 31) prior to reconfiguration of any of the other bits. |
| * |
| * <pre> |
| * CSR Name Associated MAC |
| * ------------ ------------------- |
| * PKO_MAC0_CFG LBK loopback |
| * PKO_MAC1_CFG DPI packet output |
| * PKO_MAC2_CFG BGX0 logical MAC 0 |
| * PKO_MAC3_CFG BGX0 logical MAC 1 |
| * PKO_MAC4_CFG BGX0 logical MAC 2 |
| * PKO_MAC5_CFG BGX0 logical MAC 3 |
| * PKO_MAC6_CFG SRIO0 logical MAC 0 |
| * PKO_MAC7_CFG SRIO0 logical MAC 1 |
| * PKO_MAC8_CFG SRIO1 logical MAC 0 |
| * PKO_MAC9_CFG SRIO1 logical MAC 1 |
| * </pre> |
| */ |
| union cvmx_pko_macx_cfg { |
| u64 u64; |
| struct cvmx_pko_macx_cfg_s { |
| u64 reserved_17_63 : 47; |
| u64 min_pad_ena : 1; |
| u64 fcs_ena : 1; |
| u64 fcs_sop_off : 8; |
| u64 skid_max_cnt : 2; |
| u64 fifo_num : 5; |
| } s; |
| struct cvmx_pko_macx_cfg_s cn73xx; |
| struct cvmx_pko_macx_cfg_s cn78xx; |
| struct cvmx_pko_macx_cfg_s cn78xxp1; |
| struct cvmx_pko_macx_cfg_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_macx_cfg cvmx_pko_macx_cfg_t; |
| |
| /** |
| * cvmx_pko_mci0_cred_cnt# |
| */ |
| union cvmx_pko_mci0_cred_cntx { |
| u64 u64; |
| struct cvmx_pko_mci0_cred_cntx_s { |
| u64 reserved_13_63 : 51; |
| u64 cred_cnt : 13; |
| } s; |
| struct cvmx_pko_mci0_cred_cntx_s cn78xx; |
| struct cvmx_pko_mci0_cred_cntx_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_mci0_cred_cntx cvmx_pko_mci0_cred_cntx_t; |
| |
| /** |
| * cvmx_pko_mci0_max_cred# |
| */ |
| union cvmx_pko_mci0_max_credx { |
| u64 u64; |
| struct cvmx_pko_mci0_max_credx_s { |
| u64 reserved_12_63 : 52; |
| u64 max_cred_lim : 12; |
| } s; |
| struct cvmx_pko_mci0_max_credx_s cn78xx; |
| struct cvmx_pko_mci0_max_credx_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_mci0_max_credx cvmx_pko_mci0_max_credx_t; |
| |
| /** |
| * cvmx_pko_mci1_cred_cnt# |
| */ |
| union cvmx_pko_mci1_cred_cntx { |
| u64 u64; |
| struct cvmx_pko_mci1_cred_cntx_s { |
| u64 reserved_13_63 : 51; |
| u64 cred_cnt : 13; |
| } s; |
| struct cvmx_pko_mci1_cred_cntx_s cn73xx; |
| struct cvmx_pko_mci1_cred_cntx_s cn78xx; |
| struct cvmx_pko_mci1_cred_cntx_s cn78xxp1; |
| struct cvmx_pko_mci1_cred_cntx_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_mci1_cred_cntx cvmx_pko_mci1_cred_cntx_t; |
| |
| /** |
| * cvmx_pko_mci1_max_cred# |
| */ |
| union cvmx_pko_mci1_max_credx { |
| u64 u64; |
| struct cvmx_pko_mci1_max_credx_s { |
| u64 reserved_12_63 : 52; |
| u64 max_cred_lim : 12; |
| } s; |
| struct cvmx_pko_mci1_max_credx_s cn73xx; |
| struct cvmx_pko_mci1_max_credx_s cn78xx; |
| struct cvmx_pko_mci1_max_credx_s cn78xxp1; |
| struct cvmx_pko_mci1_max_credx_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_mci1_max_credx cvmx_pko_mci1_max_credx_t; |
| |
| /** |
| * cvmx_pko_mem_count0 |
| * |
| * Notes: |
| * Total number of packets seen by PKO, per port |
| * A write to this address will clear the entry whose index is specified as COUNT[5:0]. |
| * This CSR is a memory of 44 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. A read of any entry that has not been |
| * previously written is illegal and will result in unpredictable CSR read data. |
| */ |
| union cvmx_pko_mem_count0 { |
| u64 u64; |
| struct cvmx_pko_mem_count0_s { |
| u64 reserved_32_63 : 32; |
| u64 count : 32; |
| } s; |
| struct cvmx_pko_mem_count0_s cn30xx; |
| struct cvmx_pko_mem_count0_s cn31xx; |
| struct cvmx_pko_mem_count0_s cn38xx; |
| struct cvmx_pko_mem_count0_s cn38xxp2; |
| struct cvmx_pko_mem_count0_s cn50xx; |
| struct cvmx_pko_mem_count0_s cn52xx; |
| struct cvmx_pko_mem_count0_s cn52xxp1; |
| struct cvmx_pko_mem_count0_s cn56xx; |
| struct cvmx_pko_mem_count0_s cn56xxp1; |
| struct cvmx_pko_mem_count0_s cn58xx; |
| struct cvmx_pko_mem_count0_s cn58xxp1; |
| struct cvmx_pko_mem_count0_s cn61xx; |
| struct cvmx_pko_mem_count0_s cn63xx; |
| struct cvmx_pko_mem_count0_s cn63xxp1; |
| struct cvmx_pko_mem_count0_s cn66xx; |
| struct cvmx_pko_mem_count0_s cn68xx; |
| struct cvmx_pko_mem_count0_s cn68xxp1; |
| struct cvmx_pko_mem_count0_s cn70xx; |
| struct cvmx_pko_mem_count0_s cn70xxp1; |
| struct cvmx_pko_mem_count0_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_count0 cvmx_pko_mem_count0_t; |
| |
| /** |
| * cvmx_pko_mem_count1 |
| * |
| * Notes: |
| * Total number of bytes seen by PKO, per port |
| * A write to this address will clear the entry whose index is specified as COUNT[5:0]. |
| * This CSR is a memory of 44 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. A read of any entry that has not been |
| * previously written is illegal and will result in unpredictable CSR read data. |
| */ |
| union cvmx_pko_mem_count1 { |
| u64 u64; |
| struct cvmx_pko_mem_count1_s { |
| u64 reserved_48_63 : 16; |
| u64 count : 48; |
| } s; |
| struct cvmx_pko_mem_count1_s cn30xx; |
| struct cvmx_pko_mem_count1_s cn31xx; |
| struct cvmx_pko_mem_count1_s cn38xx; |
| struct cvmx_pko_mem_count1_s cn38xxp2; |
| struct cvmx_pko_mem_count1_s cn50xx; |
| struct cvmx_pko_mem_count1_s cn52xx; |
| struct cvmx_pko_mem_count1_s cn52xxp1; |
| struct cvmx_pko_mem_count1_s cn56xx; |
| struct cvmx_pko_mem_count1_s cn56xxp1; |
| struct cvmx_pko_mem_count1_s cn58xx; |
| struct cvmx_pko_mem_count1_s cn58xxp1; |
| struct cvmx_pko_mem_count1_s cn61xx; |
| struct cvmx_pko_mem_count1_s cn63xx; |
| struct cvmx_pko_mem_count1_s cn63xxp1; |
| struct cvmx_pko_mem_count1_s cn66xx; |
| struct cvmx_pko_mem_count1_s cn68xx; |
| struct cvmx_pko_mem_count1_s cn68xxp1; |
| struct cvmx_pko_mem_count1_s cn70xx; |
| struct cvmx_pko_mem_count1_s cn70xxp1; |
| struct cvmx_pko_mem_count1_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_count1 cvmx_pko_mem_count1_t; |
| |
| /** |
| * cvmx_pko_mem_debug0 |
| * |
| * Notes: |
| * Internal per-port state intended for debug use only - pko_prt_psb.cmnd[63:0] |
| * This CSR is a memory of 12 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug0 { |
| u64 u64; |
| struct cvmx_pko_mem_debug0_s { |
| u64 fau : 28; |
| u64 cmd : 14; |
| u64 segs : 6; |
| u64 size : 16; |
| } s; |
| struct cvmx_pko_mem_debug0_s cn30xx; |
| struct cvmx_pko_mem_debug0_s cn31xx; |
| struct cvmx_pko_mem_debug0_s cn38xx; |
| struct cvmx_pko_mem_debug0_s cn38xxp2; |
| struct cvmx_pko_mem_debug0_s cn50xx; |
| struct cvmx_pko_mem_debug0_s cn52xx; |
| struct cvmx_pko_mem_debug0_s cn52xxp1; |
| struct cvmx_pko_mem_debug0_s cn56xx; |
| struct cvmx_pko_mem_debug0_s cn56xxp1; |
| struct cvmx_pko_mem_debug0_s cn58xx; |
| struct cvmx_pko_mem_debug0_s cn58xxp1; |
| struct cvmx_pko_mem_debug0_s cn61xx; |
| struct cvmx_pko_mem_debug0_s cn63xx; |
| struct cvmx_pko_mem_debug0_s cn63xxp1; |
| struct cvmx_pko_mem_debug0_s cn66xx; |
| struct cvmx_pko_mem_debug0_s cn68xx; |
| struct cvmx_pko_mem_debug0_s cn68xxp1; |
| struct cvmx_pko_mem_debug0_s cn70xx; |
| struct cvmx_pko_mem_debug0_s cn70xxp1; |
| struct cvmx_pko_mem_debug0_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug0 cvmx_pko_mem_debug0_t; |
| |
| /** |
| * cvmx_pko_mem_debug1 |
| * |
| * Notes: |
| * Internal per-port state intended for debug use only - pko_prt_psb.curr[63:0] |
| * This CSR is a memory of 12 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug1 { |
| u64 u64; |
| struct cvmx_pko_mem_debug1_s { |
| u64 i : 1; |
| u64 back : 4; |
| u64 pool : 3; |
| u64 size : 16; |
| u64 ptr : 40; |
| } s; |
| struct cvmx_pko_mem_debug1_s cn30xx; |
| struct cvmx_pko_mem_debug1_s cn31xx; |
| struct cvmx_pko_mem_debug1_s cn38xx; |
| struct cvmx_pko_mem_debug1_s cn38xxp2; |
| struct cvmx_pko_mem_debug1_s cn50xx; |
| struct cvmx_pko_mem_debug1_s cn52xx; |
| struct cvmx_pko_mem_debug1_s cn52xxp1; |
| struct cvmx_pko_mem_debug1_s cn56xx; |
| struct cvmx_pko_mem_debug1_s cn56xxp1; |
| struct cvmx_pko_mem_debug1_s cn58xx; |
| struct cvmx_pko_mem_debug1_s cn58xxp1; |
| struct cvmx_pko_mem_debug1_s cn61xx; |
| struct cvmx_pko_mem_debug1_s cn63xx; |
| struct cvmx_pko_mem_debug1_s cn63xxp1; |
| struct cvmx_pko_mem_debug1_s cn66xx; |
| struct cvmx_pko_mem_debug1_s cn68xx; |
| struct cvmx_pko_mem_debug1_s cn68xxp1; |
| struct cvmx_pko_mem_debug1_s cn70xx; |
| struct cvmx_pko_mem_debug1_s cn70xxp1; |
| struct cvmx_pko_mem_debug1_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug1 cvmx_pko_mem_debug1_t; |
| |
| /** |
| * cvmx_pko_mem_debug10 |
| * |
| * Notes: |
| * Internal per-engine state intended for debug use only - pko.dat.ptr.ptrs1, pko.dat.ptr.ptrs2 |
| * This CSR is a memory of 10 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug10 { |
| u64 u64; |
| struct cvmx_pko_mem_debug10_s { |
| u64 reserved_0_63 : 64; |
| } s; |
| struct cvmx_pko_mem_debug10_cn30xx { |
| u64 fau : 28; |
| u64 cmd : 14; |
| u64 segs : 6; |
| u64 size : 16; |
| } cn30xx; |
| struct cvmx_pko_mem_debug10_cn30xx cn31xx; |
| struct cvmx_pko_mem_debug10_cn30xx cn38xx; |
| struct cvmx_pko_mem_debug10_cn30xx cn38xxp2; |
| struct cvmx_pko_mem_debug10_cn50xx { |
| u64 reserved_49_63 : 15; |
| u64 ptrs1 : 17; |
| u64 reserved_17_31 : 15; |
| u64 ptrs2 : 17; |
| } cn50xx; |
| struct cvmx_pko_mem_debug10_cn50xx cn52xx; |
| struct cvmx_pko_mem_debug10_cn50xx cn52xxp1; |
| struct cvmx_pko_mem_debug10_cn50xx cn56xx; |
| struct cvmx_pko_mem_debug10_cn50xx cn56xxp1; |
| struct cvmx_pko_mem_debug10_cn50xx cn58xx; |
| struct cvmx_pko_mem_debug10_cn50xx cn58xxp1; |
| struct cvmx_pko_mem_debug10_cn50xx cn61xx; |
| struct cvmx_pko_mem_debug10_cn50xx cn63xx; |
| struct cvmx_pko_mem_debug10_cn50xx cn63xxp1; |
| struct cvmx_pko_mem_debug10_cn50xx cn66xx; |
| struct cvmx_pko_mem_debug10_cn50xx cn68xx; |
| struct cvmx_pko_mem_debug10_cn50xx cn68xxp1; |
| struct cvmx_pko_mem_debug10_cn50xx cn70xx; |
| struct cvmx_pko_mem_debug10_cn50xx cn70xxp1; |
| struct cvmx_pko_mem_debug10_cn50xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug10 cvmx_pko_mem_debug10_t; |
| |
| /** |
| * cvmx_pko_mem_debug11 |
| * |
| * Notes: |
| * Internal per-engine state intended for debug use only - pko.out.sta.state[22:0] |
| * This CSR is a memory of 10 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug11 { |
| u64 u64; |
| struct cvmx_pko_mem_debug11_s { |
| u64 i : 1; |
| u64 back : 4; |
| u64 pool : 3; |
| u64 size : 16; |
| u64 reserved_0_39 : 40; |
| } s; |
| struct cvmx_pko_mem_debug11_cn30xx { |
| u64 i : 1; |
| u64 back : 4; |
| u64 pool : 3; |
| u64 size : 16; |
| u64 ptr : 40; |
| } cn30xx; |
| struct cvmx_pko_mem_debug11_cn30xx cn31xx; |
| struct cvmx_pko_mem_debug11_cn30xx cn38xx; |
| struct cvmx_pko_mem_debug11_cn30xx cn38xxp2; |
| struct cvmx_pko_mem_debug11_cn50xx { |
| u64 reserved_23_63 : 41; |
| u64 maj : 1; |
| u64 uid : 3; |
| u64 sop : 1; |
| u64 len : 1; |
| u64 chk : 1; |
| u64 cnt : 13; |
| u64 mod : 3; |
| } cn50xx; |
| struct cvmx_pko_mem_debug11_cn50xx cn52xx; |
| struct cvmx_pko_mem_debug11_cn50xx cn52xxp1; |
| struct cvmx_pko_mem_debug11_cn50xx cn56xx; |
| struct cvmx_pko_mem_debug11_cn50xx cn56xxp1; |
| struct cvmx_pko_mem_debug11_cn50xx cn58xx; |
| struct cvmx_pko_mem_debug11_cn50xx cn58xxp1; |
| struct cvmx_pko_mem_debug11_cn50xx cn61xx; |
| struct cvmx_pko_mem_debug11_cn50xx cn63xx; |
| struct cvmx_pko_mem_debug11_cn50xx cn63xxp1; |
| struct cvmx_pko_mem_debug11_cn50xx cn66xx; |
| struct cvmx_pko_mem_debug11_cn50xx cn68xx; |
| struct cvmx_pko_mem_debug11_cn50xx cn68xxp1; |
| struct cvmx_pko_mem_debug11_cn50xx cn70xx; |
| struct cvmx_pko_mem_debug11_cn50xx cn70xxp1; |
| struct cvmx_pko_mem_debug11_cn50xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug11 cvmx_pko_mem_debug11_t; |
| |
| /** |
| * cvmx_pko_mem_debug12 |
| * |
| * Notes: |
| * Internal per-engine x4 state intended for debug use only - pko.out.ctl.cmnd[63:0] |
| * This CSR is a memory of 40 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug12 { |
| u64 u64; |
| struct cvmx_pko_mem_debug12_s { |
| u64 reserved_0_63 : 64; |
| } s; |
| struct cvmx_pko_mem_debug12_cn30xx { |
| u64 data : 64; |
| } cn30xx; |
| struct cvmx_pko_mem_debug12_cn30xx cn31xx; |
| struct cvmx_pko_mem_debug12_cn30xx cn38xx; |
| struct cvmx_pko_mem_debug12_cn30xx cn38xxp2; |
| struct cvmx_pko_mem_debug12_cn50xx { |
| u64 fau : 28; |
| u64 cmd : 14; |
| u64 segs : 6; |
| u64 size : 16; |
| } cn50xx; |
| struct cvmx_pko_mem_debug12_cn50xx cn52xx; |
| struct cvmx_pko_mem_debug12_cn50xx cn52xxp1; |
| struct cvmx_pko_mem_debug12_cn50xx cn56xx; |
| struct cvmx_pko_mem_debug12_cn50xx cn56xxp1; |
| struct cvmx_pko_mem_debug12_cn50xx cn58xx; |
| struct cvmx_pko_mem_debug12_cn50xx cn58xxp1; |
| struct cvmx_pko_mem_debug12_cn50xx cn61xx; |
| struct cvmx_pko_mem_debug12_cn50xx cn63xx; |
| struct cvmx_pko_mem_debug12_cn50xx cn63xxp1; |
| struct cvmx_pko_mem_debug12_cn50xx cn66xx; |
| struct cvmx_pko_mem_debug12_cn68xx { |
| u64 state : 64; |
| } cn68xx; |
| struct cvmx_pko_mem_debug12_cn68xx cn68xxp1; |
| struct cvmx_pko_mem_debug12_cn50xx cn70xx; |
| struct cvmx_pko_mem_debug12_cn50xx cn70xxp1; |
| struct cvmx_pko_mem_debug12_cn50xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug12 cvmx_pko_mem_debug12_t; |
| |
| /** |
| * cvmx_pko_mem_debug13 |
| * |
| * Notes: |
| * Internal per-engine x4 state intended for debug use only - pko.out.ctl.head[63:0] |
| * This CSR is a memory of 40 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug13 { |
| u64 u64; |
| struct cvmx_pko_mem_debug13_s { |
| u64 reserved_0_63 : 64; |
| } s; |
| struct cvmx_pko_mem_debug13_cn30xx { |
| u64 reserved_51_63 : 13; |
| u64 widx : 17; |
| u64 ridx2 : 17; |
| u64 widx2 : 17; |
| } cn30xx; |
| struct cvmx_pko_mem_debug13_cn30xx cn31xx; |
| struct cvmx_pko_mem_debug13_cn30xx cn38xx; |
| struct cvmx_pko_mem_debug13_cn30xx cn38xxp2; |
| struct cvmx_pko_mem_debug13_cn50xx { |
| u64 i : 1; |
| u64 back : 4; |
| u64 pool : 3; |
| u64 size : 16; |
| u64 ptr : 40; |
| } cn50xx; |
| struct cvmx_pko_mem_debug13_cn50xx cn52xx; |
| struct cvmx_pko_mem_debug13_cn50xx cn52xxp1; |
| struct cvmx_pko_mem_debug13_cn50xx cn56xx; |
| struct cvmx_pko_mem_debug13_cn50xx cn56xxp1; |
| struct cvmx_pko_mem_debug13_cn50xx cn58xx; |
| struct cvmx_pko_mem_debug13_cn50xx cn58xxp1; |
| struct cvmx_pko_mem_debug13_cn50xx cn61xx; |
| struct cvmx_pko_mem_debug13_cn50xx cn63xx; |
| struct cvmx_pko_mem_debug13_cn50xx cn63xxp1; |
| struct cvmx_pko_mem_debug13_cn50xx cn66xx; |
| struct cvmx_pko_mem_debug13_cn68xx { |
| u64 state : 64; |
| } cn68xx; |
| struct cvmx_pko_mem_debug13_cn68xx cn68xxp1; |
| struct cvmx_pko_mem_debug13_cn50xx cn70xx; |
| struct cvmx_pko_mem_debug13_cn50xx cn70xxp1; |
| struct cvmx_pko_mem_debug13_cn50xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug13 cvmx_pko_mem_debug13_t; |
| |
| /** |
| * cvmx_pko_mem_debug14 |
| * |
| * Notes: |
| * Internal per-port state intended for debug use only - pko.prt.psb.save[63:0] |
| * This CSR is a memory of 132 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug14 { |
| u64 u64; |
| struct cvmx_pko_mem_debug14_s { |
| u64 reserved_0_63 : 64; |
| } s; |
| struct cvmx_pko_mem_debug14_cn30xx { |
| u64 reserved_17_63 : 47; |
| u64 ridx : 17; |
| } cn30xx; |
| struct cvmx_pko_mem_debug14_cn30xx cn31xx; |
| struct cvmx_pko_mem_debug14_cn30xx cn38xx; |
| struct cvmx_pko_mem_debug14_cn30xx cn38xxp2; |
| struct cvmx_pko_mem_debug14_cn52xx { |
| u64 data : 64; |
| } cn52xx; |
| struct cvmx_pko_mem_debug14_cn52xx cn52xxp1; |
| struct cvmx_pko_mem_debug14_cn52xx cn56xx; |
| struct cvmx_pko_mem_debug14_cn52xx cn56xxp1; |
| struct cvmx_pko_mem_debug14_cn52xx cn61xx; |
| struct cvmx_pko_mem_debug14_cn52xx cn63xx; |
| struct cvmx_pko_mem_debug14_cn52xx cn63xxp1; |
| struct cvmx_pko_mem_debug14_cn52xx cn66xx; |
| struct cvmx_pko_mem_debug14_cn52xx cn70xx; |
| struct cvmx_pko_mem_debug14_cn52xx cn70xxp1; |
| struct cvmx_pko_mem_debug14_cn52xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug14 cvmx_pko_mem_debug14_t; |
| |
| /** |
| * cvmx_pko_mem_debug2 |
| * |
| * Notes: |
| * Internal per-port state intended for debug use only - pko_prt_psb.head[63:0] |
| * This CSR is a memory of 12 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug2 { |
| u64 u64; |
| struct cvmx_pko_mem_debug2_s { |
| u64 i : 1; |
| u64 back : 4; |
| u64 pool : 3; |
| u64 size : 16; |
| u64 ptr : 40; |
| } s; |
| struct cvmx_pko_mem_debug2_s cn30xx; |
| struct cvmx_pko_mem_debug2_s cn31xx; |
| struct cvmx_pko_mem_debug2_s cn38xx; |
| struct cvmx_pko_mem_debug2_s cn38xxp2; |
| struct cvmx_pko_mem_debug2_s cn50xx; |
| struct cvmx_pko_mem_debug2_s cn52xx; |
| struct cvmx_pko_mem_debug2_s cn52xxp1; |
| struct cvmx_pko_mem_debug2_s cn56xx; |
| struct cvmx_pko_mem_debug2_s cn56xxp1; |
| struct cvmx_pko_mem_debug2_s cn58xx; |
| struct cvmx_pko_mem_debug2_s cn58xxp1; |
| struct cvmx_pko_mem_debug2_s cn61xx; |
| struct cvmx_pko_mem_debug2_s cn63xx; |
| struct cvmx_pko_mem_debug2_s cn63xxp1; |
| struct cvmx_pko_mem_debug2_s cn66xx; |
| struct cvmx_pko_mem_debug2_s cn68xx; |
| struct cvmx_pko_mem_debug2_s cn68xxp1; |
| struct cvmx_pko_mem_debug2_s cn70xx; |
| struct cvmx_pko_mem_debug2_s cn70xxp1; |
| struct cvmx_pko_mem_debug2_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug2 cvmx_pko_mem_debug2_t; |
| |
| /** |
| * cvmx_pko_mem_debug3 |
| * |
| * Notes: |
| * Internal per-port state intended for debug use only - pko_prt_psb.resp[63:0] |
| * This CSR is a memory of 12 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug3 { |
| u64 u64; |
| struct cvmx_pko_mem_debug3_s { |
| u64 reserved_0_63 : 64; |
| } s; |
| struct cvmx_pko_mem_debug3_cn30xx { |
| u64 i : 1; |
| u64 back : 4; |
| u64 pool : 3; |
| u64 size : 16; |
| u64 ptr : 40; |
| } cn30xx; |
| struct cvmx_pko_mem_debug3_cn30xx cn31xx; |
| struct cvmx_pko_mem_debug3_cn30xx cn38xx; |
| struct cvmx_pko_mem_debug3_cn30xx cn38xxp2; |
| struct cvmx_pko_mem_debug3_cn50xx { |
| u64 data : 64; |
| } cn50xx; |
| struct cvmx_pko_mem_debug3_cn50xx cn52xx; |
| struct cvmx_pko_mem_debug3_cn50xx cn52xxp1; |
| struct cvmx_pko_mem_debug3_cn50xx cn56xx; |
| struct cvmx_pko_mem_debug3_cn50xx cn56xxp1; |
| struct cvmx_pko_mem_debug3_cn50xx cn58xx; |
| struct cvmx_pko_mem_debug3_cn50xx cn58xxp1; |
| struct cvmx_pko_mem_debug3_cn50xx cn61xx; |
| struct cvmx_pko_mem_debug3_cn50xx cn63xx; |
| struct cvmx_pko_mem_debug3_cn50xx cn63xxp1; |
| struct cvmx_pko_mem_debug3_cn50xx cn66xx; |
| struct cvmx_pko_mem_debug3_cn50xx cn68xx; |
| struct cvmx_pko_mem_debug3_cn50xx cn68xxp1; |
| struct cvmx_pko_mem_debug3_cn50xx cn70xx; |
| struct cvmx_pko_mem_debug3_cn50xx cn70xxp1; |
| struct cvmx_pko_mem_debug3_cn50xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug3 cvmx_pko_mem_debug3_t; |
| |
| /** |
| * cvmx_pko_mem_debug4 |
| * |
| * Notes: |
| * Internal per-port state intended for debug use only - pko_prt_psb.state[63:0] |
| * This CSR is a memory of 12 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug4 { |
| u64 u64; |
| struct cvmx_pko_mem_debug4_s { |
| u64 reserved_0_63 : 64; |
| } s; |
| struct cvmx_pko_mem_debug4_cn30xx { |
| u64 data : 64; |
| } cn30xx; |
| struct cvmx_pko_mem_debug4_cn30xx cn31xx; |
| struct cvmx_pko_mem_debug4_cn30xx cn38xx; |
| struct cvmx_pko_mem_debug4_cn30xx cn38xxp2; |
| struct cvmx_pko_mem_debug4_cn50xx { |
| u64 cmnd_segs : 3; |
| u64 cmnd_siz : 16; |
| u64 cmnd_off : 6; |
| u64 uid : 3; |
| u64 dread_sop : 1; |
| u64 init_dwrite : 1; |
| u64 chk_once : 1; |
| u64 chk_mode : 1; |
| u64 active : 1; |
| u64 static_p : 1; |
| u64 qos : 3; |
| u64 qcb_ridx : 5; |
| u64 qid_off_max : 4; |
| u64 qid_off : 4; |
| u64 qid_base : 8; |
| u64 wait : 1; |
| u64 minor : 2; |
| u64 major : 3; |
| } cn50xx; |
| struct cvmx_pko_mem_debug4_cn52xx { |
| u64 curr_siz : 8; |
| u64 curr_off : 16; |
| u64 cmnd_segs : 6; |
| u64 cmnd_siz : 16; |
| u64 cmnd_off : 6; |
| u64 uid : 2; |
| u64 dread_sop : 1; |
| u64 init_dwrite : 1; |
| u64 chk_once : 1; |
| u64 chk_mode : 1; |
| u64 wait : 1; |
| u64 minor : 2; |
| u64 major : 3; |
| } cn52xx; |
| struct cvmx_pko_mem_debug4_cn52xx cn52xxp1; |
| struct cvmx_pko_mem_debug4_cn52xx cn56xx; |
| struct cvmx_pko_mem_debug4_cn52xx cn56xxp1; |
| struct cvmx_pko_mem_debug4_cn50xx cn58xx; |
| struct cvmx_pko_mem_debug4_cn50xx cn58xxp1; |
| struct cvmx_pko_mem_debug4_cn52xx cn61xx; |
| struct cvmx_pko_mem_debug4_cn52xx cn63xx; |
| struct cvmx_pko_mem_debug4_cn52xx cn63xxp1; |
| struct cvmx_pko_mem_debug4_cn52xx cn66xx; |
| struct cvmx_pko_mem_debug4_cn68xx { |
| u64 curr_siz : 9; |
| u64 curr_off : 16; |
| u64 cmnd_segs : 6; |
| u64 cmnd_siz : 16; |
| u64 cmnd_off : 6; |
| u64 dread_sop : 1; |
| u64 init_dwrite : 1; |
| u64 chk_once : 1; |
| u64 chk_mode : 1; |
| u64 reserved_6_6 : 1; |
| u64 minor : 2; |
| u64 major : 4; |
| } cn68xx; |
| struct cvmx_pko_mem_debug4_cn68xx cn68xxp1; |
| struct cvmx_pko_mem_debug4_cn52xx cn70xx; |
| struct cvmx_pko_mem_debug4_cn52xx cn70xxp1; |
| struct cvmx_pko_mem_debug4_cn52xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug4 cvmx_pko_mem_debug4_t; |
| |
| /** |
| * cvmx_pko_mem_debug5 |
| * |
| * Notes: |
| * Internal per-port state intended for debug use only - pko_prt_psb.state[127:64] |
| * This CSR is a memory of 12 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug5 { |
| u64 u64; |
| struct cvmx_pko_mem_debug5_s { |
| u64 reserved_0_63 : 64; |
| } s; |
| struct cvmx_pko_mem_debug5_cn30xx { |
| u64 dwri_mod : 1; |
| u64 dwri_sop : 1; |
| u64 dwri_len : 1; |
| u64 dwri_cnt : 13; |
| u64 cmnd_siz : 16; |
| u64 uid : 1; |
| u64 xfer_wor : 1; |
| u64 xfer_dwr : 1; |
| u64 cbuf_fre : 1; |
| u64 reserved_27_27 : 1; |
| u64 chk_mode : 1; |
| u64 active : 1; |
| u64 qos : 3; |
| u64 qcb_ridx : 5; |
| u64 qid_off : 3; |
| u64 qid_base : 7; |
| u64 wait : 1; |
| u64 minor : 2; |
| u64 major : 4; |
| } cn30xx; |
| struct cvmx_pko_mem_debug5_cn30xx cn31xx; |
| struct cvmx_pko_mem_debug5_cn30xx cn38xx; |
| struct cvmx_pko_mem_debug5_cn30xx cn38xxp2; |
| struct cvmx_pko_mem_debug5_cn50xx { |
| u64 curr_ptr : 29; |
| u64 curr_siz : 16; |
| u64 curr_off : 16; |
| u64 cmnd_segs : 3; |
| } cn50xx; |
| struct cvmx_pko_mem_debug5_cn52xx { |
| u64 reserved_54_63 : 10; |
| u64 nxt_inflt : 6; |
| u64 curr_ptr : 40; |
| u64 curr_siz : 8; |
| } cn52xx; |
| struct cvmx_pko_mem_debug5_cn52xx cn52xxp1; |
| struct cvmx_pko_mem_debug5_cn52xx cn56xx; |
| struct cvmx_pko_mem_debug5_cn52xx cn56xxp1; |
| struct cvmx_pko_mem_debug5_cn50xx cn58xx; |
| struct cvmx_pko_mem_debug5_cn50xx cn58xxp1; |
| struct cvmx_pko_mem_debug5_cn61xx { |
| u64 reserved_56_63 : 8; |
| u64 ptp : 1; |
| u64 major_3 : 1; |
| u64 nxt_inflt : 6; |
| u64 curr_ptr : 40; |
| u64 curr_siz : 8; |
| } cn61xx; |
| struct cvmx_pko_mem_debug5_cn61xx cn63xx; |
| struct cvmx_pko_mem_debug5_cn61xx cn63xxp1; |
| struct cvmx_pko_mem_debug5_cn61xx cn66xx; |
| struct cvmx_pko_mem_debug5_cn68xx { |
| u64 reserved_57_63 : 7; |
| u64 uid : 3; |
| u64 ptp : 1; |
| u64 nxt_inflt : 6; |
| u64 curr_ptr : 40; |
| u64 curr_siz : 7; |
| } cn68xx; |
| struct cvmx_pko_mem_debug5_cn68xx cn68xxp1; |
| struct cvmx_pko_mem_debug5_cn61xx cn70xx; |
| struct cvmx_pko_mem_debug5_cn61xx cn70xxp1; |
| struct cvmx_pko_mem_debug5_cn61xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug5 cvmx_pko_mem_debug5_t; |
| |
| /** |
| * cvmx_pko_mem_debug6 |
| * |
| * Notes: |
| * Internal per-port state intended for debug use only - pko_prt_psb.port[63:0] |
| * This CSR is a memory of 44 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug6 { |
| u64 u64; |
| struct cvmx_pko_mem_debug6_s { |
| u64 reserved_38_63 : 26; |
| u64 qos_active : 1; |
| u64 reserved_0_36 : 37; |
| } s; |
| struct cvmx_pko_mem_debug6_cn30xx { |
| u64 reserved_11_63 : 53; |
| u64 qid_offm : 3; |
| u64 static_p : 1; |
| u64 work_min : 3; |
| u64 dwri_chk : 1; |
| u64 dwri_uid : 1; |
| u64 dwri_mod : 2; |
| } cn30xx; |
| struct cvmx_pko_mem_debug6_cn30xx cn31xx; |
| struct cvmx_pko_mem_debug6_cn30xx cn38xx; |
| struct cvmx_pko_mem_debug6_cn30xx cn38xxp2; |
| struct cvmx_pko_mem_debug6_cn50xx { |
| u64 reserved_11_63 : 53; |
| u64 curr_ptr : 11; |
| } cn50xx; |
| struct cvmx_pko_mem_debug6_cn52xx { |
| u64 reserved_37_63 : 27; |
| u64 qid_offres : 4; |
| u64 qid_offths : 4; |
| u64 preempter : 1; |
| u64 preemptee : 1; |
| u64 preempted : 1; |
| u64 active : 1; |
| u64 statc : 1; |
| u64 qos : 3; |
| u64 qcb_ridx : 5; |
| u64 qid_offmax : 4; |
| u64 qid_off : 4; |
| u64 qid_base : 8; |
| } cn52xx; |
| struct cvmx_pko_mem_debug6_cn52xx cn52xxp1; |
| struct cvmx_pko_mem_debug6_cn52xx cn56xx; |
| struct cvmx_pko_mem_debug6_cn52xx cn56xxp1; |
| struct cvmx_pko_mem_debug6_cn50xx cn58xx; |
| struct cvmx_pko_mem_debug6_cn50xx cn58xxp1; |
| struct cvmx_pko_mem_debug6_cn52xx cn61xx; |
| struct cvmx_pko_mem_debug6_cn52xx cn63xx; |
| struct cvmx_pko_mem_debug6_cn52xx cn63xxp1; |
| struct cvmx_pko_mem_debug6_cn52xx cn66xx; |
| struct cvmx_pko_mem_debug6_cn68xx { |
| u64 reserved_38_63 : 26; |
| u64 qos_active : 1; |
| u64 qid_offths : 5; |
| u64 preempter : 1; |
| u64 preemptee : 1; |
| u64 active : 1; |
| u64 static_p : 1; |
| u64 qos : 3; |
| u64 qcb_ridx : 7; |
| u64 qid_offmax : 5; |
| u64 qid_off : 5; |
| u64 qid_base : 8; |
| } cn68xx; |
| struct cvmx_pko_mem_debug6_cn68xx cn68xxp1; |
| struct cvmx_pko_mem_debug6_cn70xx { |
| u64 reserved_63_37 : 27; |
| u64 qid_offres : 4; |
| u64 qid_offths : 4; |
| u64 preempter : 1; |
| u64 preemptee : 1; |
| u64 preempted : 1; |
| u64 active : 1; |
| u64 staticb : 1; |
| u64 qos : 3; |
| u64 qcb_ridx : 5; |
| u64 qid_offmax : 4; |
| u64 qid_off : 4; |
| u64 qid_base : 8; |
| } cn70xx; |
| struct cvmx_pko_mem_debug6_cn70xx cn70xxp1; |
| struct cvmx_pko_mem_debug6_cn52xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug6 cvmx_pko_mem_debug6_t; |
| |
| /** |
| * cvmx_pko_mem_debug7 |
| * |
| * Notes: |
| * Internal per-queue state intended for debug use only - pko_prt_qsb.state[63:0] |
| * This CSR is a memory of 256 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug7 { |
| u64 u64; |
| struct cvmx_pko_mem_debug7_s { |
| u64 reserved_0_63 : 64; |
| } s; |
| struct cvmx_pko_mem_debug7_cn30xx { |
| u64 reserved_58_63 : 6; |
| u64 dwb : 9; |
| u64 start : 33; |
| u64 size : 16; |
| } cn30xx; |
| struct cvmx_pko_mem_debug7_cn30xx cn31xx; |
| struct cvmx_pko_mem_debug7_cn30xx cn38xx; |
| struct cvmx_pko_mem_debug7_cn30xx cn38xxp2; |
| struct cvmx_pko_mem_debug7_cn50xx { |
| u64 qos : 5; |
| u64 tail : 1; |
| u64 buf_siz : 13; |
| u64 buf_ptr : 33; |
| u64 qcb_widx : 6; |
| u64 qcb_ridx : 6; |
| } cn50xx; |
| struct cvmx_pko_mem_debug7_cn50xx cn52xx; |
| struct cvmx_pko_mem_debug7_cn50xx cn52xxp1; |
| struct cvmx_pko_mem_debug7_cn50xx cn56xx; |
| struct cvmx_pko_mem_debug7_cn50xx cn56xxp1; |
| struct cvmx_pko_mem_debug7_cn50xx cn58xx; |
| struct cvmx_pko_mem_debug7_cn50xx cn58xxp1; |
| struct cvmx_pko_mem_debug7_cn50xx cn61xx; |
| struct cvmx_pko_mem_debug7_cn50xx cn63xx; |
| struct cvmx_pko_mem_debug7_cn50xx cn63xxp1; |
| struct cvmx_pko_mem_debug7_cn50xx cn66xx; |
| struct cvmx_pko_mem_debug7_cn68xx { |
| u64 buf_siz : 11; |
| u64 buf_ptr : 37; |
| u64 qcb_widx : 8; |
| u64 qcb_ridx : 8; |
| } cn68xx; |
| struct cvmx_pko_mem_debug7_cn68xx cn68xxp1; |
| struct cvmx_pko_mem_debug7_cn50xx cn70xx; |
| struct cvmx_pko_mem_debug7_cn50xx cn70xxp1; |
| struct cvmx_pko_mem_debug7_cn50xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug7 cvmx_pko_mem_debug7_t; |
| |
| /** |
| * cvmx_pko_mem_debug8 |
| * |
| * Notes: |
| * Internal per-queue state intended for debug use only - pko_prt_qsb.state[91:64] |
| * This CSR is a memory of 256 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug8 { |
| u64 u64; |
| struct cvmx_pko_mem_debug8_s { |
| u64 reserved_59_63 : 5; |
| u64 tail : 1; |
| u64 reserved_0_57 : 58; |
| } s; |
| struct cvmx_pko_mem_debug8_cn30xx { |
| u64 qos : 5; |
| u64 tail : 1; |
| u64 buf_siz : 13; |
| u64 buf_ptr : 33; |
| u64 qcb_widx : 6; |
| u64 qcb_ridx : 6; |
| } cn30xx; |
| struct cvmx_pko_mem_debug8_cn30xx cn31xx; |
| struct cvmx_pko_mem_debug8_cn30xx cn38xx; |
| struct cvmx_pko_mem_debug8_cn30xx cn38xxp2; |
| struct cvmx_pko_mem_debug8_cn50xx { |
| u64 reserved_28_63 : 36; |
| u64 doorbell : 20; |
| u64 reserved_6_7 : 2; |
| u64 static_p : 1; |
| u64 s_tail : 1; |
| u64 static_q : 1; |
| u64 qos : 3; |
| } cn50xx; |
| struct cvmx_pko_mem_debug8_cn52xx { |
| u64 reserved_29_63 : 35; |
| u64 preempter : 1; |
| u64 doorbell : 20; |
| u64 reserved_7_7 : 1; |
| u64 preemptee : 1; |
| u64 static_p : 1; |
| u64 s_tail : 1; |
| u64 static_q : 1; |
| u64 qos : 3; |
| } cn52xx; |
| struct cvmx_pko_mem_debug8_cn52xx cn52xxp1; |
| struct cvmx_pko_mem_debug8_cn52xx cn56xx; |
| struct cvmx_pko_mem_debug8_cn52xx cn56xxp1; |
| struct cvmx_pko_mem_debug8_cn50xx cn58xx; |
| struct cvmx_pko_mem_debug8_cn50xx cn58xxp1; |
| struct cvmx_pko_mem_debug8_cn61xx { |
| u64 reserved_42_63 : 22; |
| u64 qid_qqos : 8; |
| u64 reserved_33_33 : 1; |
| u64 qid_idx : 4; |
| u64 preempter : 1; |
| u64 doorbell : 20; |
| u64 reserved_7_7 : 1; |
| u64 preemptee : 1; |
| u64 static_p : 1; |
| u64 s_tail : 1; |
| u64 static_q : 1; |
| u64 qos : 3; |
| } cn61xx; |
| struct cvmx_pko_mem_debug8_cn52xx cn63xx; |
| struct cvmx_pko_mem_debug8_cn52xx cn63xxp1; |
| struct cvmx_pko_mem_debug8_cn61xx cn66xx; |
| struct cvmx_pko_mem_debug8_cn68xx { |
| u64 reserved_50_63 : 14; |
| u64 qid_qqos : 8; |
| u64 qid_idx : 5; |
| u64 preempter : 1; |
| u64 doorbell : 20; |
| u64 reserved_9_15 : 7; |
| u64 qid_qos : 6; |
| u64 qid_tail : 1; |
| u64 buf_siz : 2; |
| } cn68xx; |
| struct cvmx_pko_mem_debug8_cn68xx cn68xxp1; |
| struct cvmx_pko_mem_debug8_cn61xx cn70xx; |
| struct cvmx_pko_mem_debug8_cn61xx cn70xxp1; |
| struct cvmx_pko_mem_debug8_cn61xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug8 cvmx_pko_mem_debug8_t; |
| |
| /** |
| * cvmx_pko_mem_debug9 |
| * |
| * Notes: |
| * Internal per-engine state intended for debug use only - pko.dat.ptr.ptrs0, pko.dat.ptr.ptrs3 |
| * This CSR is a memory of 10 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. |
| */ |
| union cvmx_pko_mem_debug9 { |
| u64 u64; |
| struct cvmx_pko_mem_debug9_s { |
| u64 reserved_49_63 : 15; |
| u64 ptrs0 : 17; |
| u64 reserved_0_31 : 32; |
| } s; |
| struct cvmx_pko_mem_debug9_cn30xx { |
| u64 reserved_28_63 : 36; |
| u64 doorbell : 20; |
| u64 reserved_5_7 : 3; |
| u64 s_tail : 1; |
| u64 static_q : 1; |
| u64 qos : 3; |
| } cn30xx; |
| struct cvmx_pko_mem_debug9_cn30xx cn31xx; |
| struct cvmx_pko_mem_debug9_cn38xx { |
| u64 reserved_28_63 : 36; |
| u64 doorbell : 20; |
| u64 reserved_6_7 : 2; |
| u64 static_p : 1; |
| u64 s_tail : 1; |
| u64 static_q : 1; |
| u64 qos : 3; |
| } cn38xx; |
| struct cvmx_pko_mem_debug9_cn38xx cn38xxp2; |
| struct cvmx_pko_mem_debug9_cn50xx { |
| u64 reserved_49_63 : 15; |
| u64 ptrs0 : 17; |
| u64 reserved_17_31 : 15; |
| u64 ptrs3 : 17; |
| } cn50xx; |
| struct cvmx_pko_mem_debug9_cn50xx cn52xx; |
| struct cvmx_pko_mem_debug9_cn50xx cn52xxp1; |
| struct cvmx_pko_mem_debug9_cn50xx cn56xx; |
| struct cvmx_pko_mem_debug9_cn50xx cn56xxp1; |
| struct cvmx_pko_mem_debug9_cn50xx cn58xx; |
| struct cvmx_pko_mem_debug9_cn50xx cn58xxp1; |
| struct cvmx_pko_mem_debug9_cn50xx cn61xx; |
| struct cvmx_pko_mem_debug9_cn50xx cn63xx; |
| struct cvmx_pko_mem_debug9_cn50xx cn63xxp1; |
| struct cvmx_pko_mem_debug9_cn50xx cn66xx; |
| struct cvmx_pko_mem_debug9_cn50xx cn68xx; |
| struct cvmx_pko_mem_debug9_cn50xx cn68xxp1; |
| struct cvmx_pko_mem_debug9_cn50xx cn70xx; |
| struct cvmx_pko_mem_debug9_cn50xx cn70xxp1; |
| struct cvmx_pko_mem_debug9_cn50xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_debug9 cvmx_pko_mem_debug9_t; |
| |
| /** |
| * cvmx_pko_mem_iport_ptrs |
| * |
| * Notes: |
| * This CSR is a memory of 128 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. The index to this CSR is an IPORT. A read of any |
| * entry that has not been previously written is illegal and will result in unpredictable CSR read data. |
| */ |
| union cvmx_pko_mem_iport_ptrs { |
| u64 u64; |
| struct cvmx_pko_mem_iport_ptrs_s { |
| u64 reserved_63_63 : 1; |
| u64 crc : 1; |
| u64 static_p : 1; |
| u64 qos_mask : 8; |
| u64 min_pkt : 3; |
| u64 reserved_31_49 : 19; |
| u64 pipe : 7; |
| u64 reserved_21_23 : 3; |
| u64 intr : 5; |
| u64 reserved_13_15 : 3; |
| u64 eid : 5; |
| u64 reserved_7_7 : 1; |
| u64 ipid : 7; |
| } s; |
| struct cvmx_pko_mem_iport_ptrs_s cn68xx; |
| struct cvmx_pko_mem_iport_ptrs_s cn68xxp1; |
| }; |
| |
| typedef union cvmx_pko_mem_iport_ptrs cvmx_pko_mem_iport_ptrs_t; |
| |
| /** |
| * cvmx_pko_mem_iport_qos |
| * |
| * Notes: |
| * Sets the QOS mask, per port. These QOS_MASK bits are logically and physically the same QOS_MASK |
| * bits in PKO_MEM_IPORT_PTRS. This CSR address allows the QOS_MASK bits to be written during PKO |
| * operation without affecting any other port state. The engine to which port PID is mapped is engine |
| * EID. Note that the port to engine mapping must be the same as was previously programmed via the |
| * PKO_MEM_IPORT_PTRS CSR. |
| * This CSR is a memory of 128 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. The index to this CSR is an IPORT. A read of |
| * any entry that has not been previously written is illegal and will result in unpredictable CSR read data. |
| */ |
| union cvmx_pko_mem_iport_qos { |
| u64 u64; |
| struct cvmx_pko_mem_iport_qos_s { |
| u64 reserved_61_63 : 3; |
| u64 qos_mask : 8; |
| u64 reserved_13_52 : 40; |
| u64 eid : 5; |
| u64 reserved_7_7 : 1; |
| u64 ipid : 7; |
| } s; |
| struct cvmx_pko_mem_iport_qos_s cn68xx; |
| struct cvmx_pko_mem_iport_qos_s cn68xxp1; |
| }; |
| |
| typedef union cvmx_pko_mem_iport_qos cvmx_pko_mem_iport_qos_t; |
| |
| /** |
| * cvmx_pko_mem_iqueue_ptrs |
| * |
| * Notes: |
| * Sets the queue to port mapping and the initial command buffer pointer, per queue. Unused queues must |
| * set BUF_PTR=0. Each queue may map to at most one port. No more than 32 queues may map to a port. |
| * The set of queues that is mapped to a port must be a contiguous array of queues. The port to which |
| * queue QID is mapped is port IPID. The index of queue QID in port IPID's queue list is IDX. The last |
| * queue in port IPID's queue array must have its TAIL bit set. |
| * STATIC_Q marks queue QID as having static priority. STATIC_P marks the port IPID to which QID is |
| * mapped as having at least one queue with static priority. If any QID that maps to IPID has static |
| * priority, then all QID that map to IPID must have STATIC_P set. Queues marked as static priority |
| * must be contiguous and begin at IDX 0. The last queue that is marked as having static priority |
| * must have its S_TAIL bit set. |
| * This CSR is a memory of 256 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. The index to this CSR is an IQUEUE. A read of any |
| * entry that has not been previously written is illegal and will result in unpredictable CSR read data. |
| */ |
| union cvmx_pko_mem_iqueue_ptrs { |
| u64 u64; |
| struct cvmx_pko_mem_iqueue_ptrs_s { |
| u64 s_tail : 1; |
| u64 static_p : 1; |
| u64 static_q : 1; |
| u64 qos_mask : 8; |
| u64 buf_ptr : 31; |
| u64 tail : 1; |
| u64 index : 5; |
| u64 reserved_15_15 : 1; |
| u64 ipid : 7; |
| u64 qid : 8; |
| } s; |
| struct cvmx_pko_mem_iqueue_ptrs_s cn68xx; |
| struct cvmx_pko_mem_iqueue_ptrs_s cn68xxp1; |
| }; |
| |
| typedef union cvmx_pko_mem_iqueue_ptrs cvmx_pko_mem_iqueue_ptrs_t; |
| |
| /** |
| * cvmx_pko_mem_iqueue_qos |
| * |
| * Notes: |
| * Sets the QOS mask, per queue. These QOS_MASK bits are logically and physically the same QOS_MASK |
| * bits in PKO_MEM_IQUEUE_PTRS. This CSR address allows the QOS_MASK bits to be written during PKO |
| * operation without affecting any other queue state. The port to which queue QID is mapped is port |
| * IPID. Note that the queue to port mapping must be the same as was previously programmed via the |
| * PKO_MEM_IQUEUE_PTRS CSR. |
| * This CSR is a memory of 256 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. The index to this CSR is an IQUEUE. A read of any |
| * entry that has not been previously written is illegal and will result in unpredictable CSR read data. |
| */ |
| union cvmx_pko_mem_iqueue_qos { |
| u64 u64; |
| struct cvmx_pko_mem_iqueue_qos_s { |
| u64 reserved_61_63 : 3; |
| u64 qos_mask : 8; |
| u64 reserved_15_52 : 38; |
| u64 ipid : 7; |
| u64 qid : 8; |
| } s; |
| struct cvmx_pko_mem_iqueue_qos_s cn68xx; |
| struct cvmx_pko_mem_iqueue_qos_s cn68xxp1; |
| }; |
| |
| typedef union cvmx_pko_mem_iqueue_qos cvmx_pko_mem_iqueue_qos_t; |
| |
| /** |
| * cvmx_pko_mem_port_ptrs |
| * |
| * Notes: |
| * Sets the port to engine mapping, per port. Ports marked as static priority need not be contiguous, |
| * but they must be the lowest numbered PIDs mapped to this EID and must have QOS_MASK=0xff. If EID==8 |
| * or EID==9, then PID[1:0] is used to direct the packet to the correct port on that interface. |
| * EID==15 can be used for unused PKO-internal ports. |
| * The reset configuration is the following: |
| * PID EID(ext port) BP_PORT QOS_MASK STATIC_P |
| * ------------------------------------------- |
| * 0 0( 0) 0 0xff 0 |
| * 1 1( 1) 1 0xff 0 |
| * 2 2( 2) 2 0xff 0 |
| * 3 3( 3) 3 0xff 0 |
| * 4 0( 0) 4 0xff 0 |
| * 5 1( 1) 5 0xff 0 |
| * 6 2( 2) 6 0xff 0 |
| * 7 3( 3) 7 0xff 0 |
| * 8 0( 0) 8 0xff 0 |
| * 9 1( 1) 9 0xff 0 |
| * 10 2( 2) 10 0xff 0 |
| * 11 3( 3) 11 0xff 0 |
| * 12 0( 0) 12 0xff 0 |
| * 13 1( 1) 13 0xff 0 |
| * 14 2( 2) 14 0xff 0 |
| * 15 3( 3) 15 0xff 0 |
| * ------------------------------------------- |
| * 16 4(16) 16 0xff 0 |
| * 17 5(17) 17 0xff 0 |
| * 18 6(18) 18 0xff 0 |
| * 19 7(19) 19 0xff 0 |
| * 20 4(16) 20 0xff 0 |
| * 21 5(17) 21 0xff 0 |
| * 22 6(18) 22 0xff 0 |
| * 23 7(19) 23 0xff 0 |
| * 24 4(16) 24 0xff 0 |
| * 25 5(17) 25 0xff 0 |
| * 26 6(18) 26 0xff 0 |
| * 27 7(19) 27 0xff 0 |
| * 28 4(16) 28 0xff 0 |
| * 29 5(17) 29 0xff 0 |
| * 30 6(18) 30 0xff 0 |
| * 31 7(19) 31 0xff 0 |
| * ------------------------------------------- |
| * 32 8(32) 32 0xff 0 |
| * 33 8(33) 33 0xff 0 |
| * 34 8(34) 34 0xff 0 |
| * 35 8(35) 35 0xff 0 |
| * ------------------------------------------- |
| * 36 9(36) 36 0xff 0 |
| * 37 9(37) 37 0xff 0 |
| * 38 9(38) 38 0xff 0 |
| * 39 9(39) 39 0xff 0 |
| * |
| * This CSR is a memory of 48 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. A read of any entry that has not been |
| * previously written is illegal and will result in unpredictable CSR read data. |
| */ |
| union cvmx_pko_mem_port_ptrs { |
| u64 u64; |
| struct cvmx_pko_mem_port_ptrs_s { |
| u64 reserved_62_63 : 2; |
| u64 static_p : 1; |
| u64 qos_mask : 8; |
| u64 reserved_16_52 : 37; |
| u64 bp_port : 6; |
| u64 eid : 4; |
| u64 pid : 6; |
| } s; |
| struct cvmx_pko_mem_port_ptrs_s cn52xx; |
| struct cvmx_pko_mem_port_ptrs_s cn52xxp1; |
| struct cvmx_pko_mem_port_ptrs_s cn56xx; |
| struct cvmx_pko_mem_port_ptrs_s cn56xxp1; |
| struct cvmx_pko_mem_port_ptrs_s cn61xx; |
| struct cvmx_pko_mem_port_ptrs_s cn63xx; |
| struct cvmx_pko_mem_port_ptrs_s cn63xxp1; |
| struct cvmx_pko_mem_port_ptrs_s cn66xx; |
| struct cvmx_pko_mem_port_ptrs_s cn70xx; |
| struct cvmx_pko_mem_port_ptrs_s cn70xxp1; |
| struct cvmx_pko_mem_port_ptrs_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_port_ptrs cvmx_pko_mem_port_ptrs_t; |
| |
| /** |
| * cvmx_pko_mem_port_qos |
| * |
| * Notes: |
| * Sets the QOS mask, per port. These QOS_MASK bits are logically and physically the same QOS_MASK |
| * bits in PKO_MEM_PORT_PTRS. This CSR address allows the QOS_MASK bits to be written during PKO |
| * operation without affecting any other port state. The engine to which port PID is mapped is engine |
| * EID. Note that the port to engine mapping must be the same as was previously programmed via the |
| * PKO_MEM_PORT_PTRS CSR. |
| * This CSR is a memory of 44 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. A read of any entry that has not been |
| * previously written is illegal and will result in unpredictable CSR read data. |
| */ |
| union cvmx_pko_mem_port_qos { |
| u64 u64; |
| struct cvmx_pko_mem_port_qos_s { |
| u64 reserved_61_63 : 3; |
| u64 qos_mask : 8; |
| u64 reserved_10_52 : 43; |
| u64 eid : 4; |
| u64 pid : 6; |
| } s; |
| struct cvmx_pko_mem_port_qos_s cn52xx; |
| struct cvmx_pko_mem_port_qos_s cn52xxp1; |
| struct cvmx_pko_mem_port_qos_s cn56xx; |
| struct cvmx_pko_mem_port_qos_s cn56xxp1; |
| struct cvmx_pko_mem_port_qos_s cn61xx; |
| struct cvmx_pko_mem_port_qos_s cn63xx; |
| struct cvmx_pko_mem_port_qos_s cn63xxp1; |
| struct cvmx_pko_mem_port_qos_s cn66xx; |
| struct cvmx_pko_mem_port_qos_s cn70xx; |
| struct cvmx_pko_mem_port_qos_s cn70xxp1; |
| struct cvmx_pko_mem_port_qos_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_port_qos cvmx_pko_mem_port_qos_t; |
| |
| /** |
| * cvmx_pko_mem_port_rate0 |
| * |
| * Notes: |
| * This CSR is a memory of 44 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. A read of any entry that has not been |
| * previously written is illegal and will result in unpredictable CSR read data. |
| */ |
| union cvmx_pko_mem_port_rate0 { |
| u64 u64; |
| struct cvmx_pko_mem_port_rate0_s { |
| u64 reserved_51_63 : 13; |
| u64 rate_word : 19; |
| u64 rate_pkt : 24; |
| u64 reserved_7_7 : 1; |
| u64 pid : 7; |
| } s; |
| struct cvmx_pko_mem_port_rate0_cn52xx { |
| u64 reserved_51_63 : 13; |
| u64 rate_word : 19; |
| u64 rate_pkt : 24; |
| u64 reserved_6_7 : 2; |
| u64 pid : 6; |
| } cn52xx; |
| struct cvmx_pko_mem_port_rate0_cn52xx cn52xxp1; |
| struct cvmx_pko_mem_port_rate0_cn52xx cn56xx; |
| struct cvmx_pko_mem_port_rate0_cn52xx cn56xxp1; |
| struct cvmx_pko_mem_port_rate0_cn52xx cn61xx; |
| struct cvmx_pko_mem_port_rate0_cn52xx cn63xx; |
| struct cvmx_pko_mem_port_rate0_cn52xx cn63xxp1; |
| struct cvmx_pko_mem_port_rate0_cn52xx cn66xx; |
| struct cvmx_pko_mem_port_rate0_s cn68xx; |
| struct cvmx_pko_mem_port_rate0_s cn68xxp1; |
| struct cvmx_pko_mem_port_rate0_cn52xx cn70xx; |
| struct cvmx_pko_mem_port_rate0_cn52xx cn70xxp1; |
| struct cvmx_pko_mem_port_rate0_cn52xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_port_rate0 cvmx_pko_mem_port_rate0_t; |
| |
| /** |
| * cvmx_pko_mem_port_rate1 |
| * |
| * Notes: |
| * Writing PKO_MEM_PORT_RATE1[PID,RATE_LIM] has the side effect of setting the corresponding |
| * accumulator to zero. |
| * This CSR is a memory of 44 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. A read of any entry that has not been |
| * previously written is illegal and will result in unpredictable CSR read data. |
| */ |
| union cvmx_pko_mem_port_rate1 { |
| u64 u64; |
| struct cvmx_pko_mem_port_rate1_s { |
| u64 reserved_32_63 : 32; |
| u64 rate_lim : 24; |
| u64 reserved_7_7 : 1; |
| u64 pid : 7; |
| } s; |
| struct cvmx_pko_mem_port_rate1_cn52xx { |
| u64 reserved_32_63 : 32; |
| u64 rate_lim : 24; |
| u64 reserved_6_7 : 2; |
| u64 pid : 6; |
| } cn52xx; |
| struct cvmx_pko_mem_port_rate1_cn52xx cn52xxp1; |
| struct cvmx_pko_mem_port_rate1_cn52xx cn56xx; |
| struct cvmx_pko_mem_port_rate1_cn52xx cn56xxp1; |
| struct cvmx_pko_mem_port_rate1_cn52xx cn61xx; |
| struct cvmx_pko_mem_port_rate1_cn52xx cn63xx; |
| struct cvmx_pko_mem_port_rate1_cn52xx cn63xxp1; |
| struct cvmx_pko_mem_port_rate1_cn52xx cn66xx; |
| struct cvmx_pko_mem_port_rate1_s cn68xx; |
| struct cvmx_pko_mem_port_rate1_s cn68xxp1; |
| struct cvmx_pko_mem_port_rate1_cn52xx cn70xx; |
| struct cvmx_pko_mem_port_rate1_cn52xx cn70xxp1; |
| struct cvmx_pko_mem_port_rate1_cn52xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_port_rate1 cvmx_pko_mem_port_rate1_t; |
| |
| /** |
| * cvmx_pko_mem_queue_ptrs |
| * |
| * Notes: |
| * Sets the queue to port mapping and the initial command buffer pointer, per queue |
| * Each queue may map to at most one port. No more than 16 queues may map to a port. The set of |
| * queues that is mapped to a port must be a contiguous array of queues. The port to which queue QID |
| * is mapped is port PID. The index of queue QID in port PID's queue list is IDX. The last queue in |
| * port PID's queue array must have its TAIL bit set. Unused queues must be mapped to port 63. |
| * STATIC_Q marks queue QID as having static priority. STATIC_P marks the port PID to which QID is |
| * mapped as having at least one queue with static priority. If any QID that maps to PID has static |
| * priority, then all QID that map to PID must have STATIC_P set. Queues marked as static priority |
| * must be contiguous and begin at IDX 0. The last queue that is marked as having static priority |
| * must have its S_TAIL bit set. |
| * This CSR is a memory of 256 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. A read of any entry that has not been |
| * previously written is illegal and will result in unpredictable CSR read data. |
| */ |
| union cvmx_pko_mem_queue_ptrs { |
| u64 u64; |
| struct cvmx_pko_mem_queue_ptrs_s { |
| u64 s_tail : 1; |
| u64 static_p : 1; |
| u64 static_q : 1; |
| u64 qos_mask : 8; |
| u64 buf_ptr : 36; |
| u64 tail : 1; |
| u64 index : 3; |
| u64 port : 6; |
| u64 queue : 7; |
| } s; |
| struct cvmx_pko_mem_queue_ptrs_s cn30xx; |
| struct cvmx_pko_mem_queue_ptrs_s cn31xx; |
| struct cvmx_pko_mem_queue_ptrs_s cn38xx; |
| struct cvmx_pko_mem_queue_ptrs_s cn38xxp2; |
| struct cvmx_pko_mem_queue_ptrs_s cn50xx; |
| struct cvmx_pko_mem_queue_ptrs_s cn52xx; |
| struct cvmx_pko_mem_queue_ptrs_s cn52xxp1; |
| struct cvmx_pko_mem_queue_ptrs_s cn56xx; |
| struct cvmx_pko_mem_queue_ptrs_s cn56xxp1; |
| struct cvmx_pko_mem_queue_ptrs_s cn58xx; |
| struct cvmx_pko_mem_queue_ptrs_s cn58xxp1; |
| struct cvmx_pko_mem_queue_ptrs_s cn61xx; |
| struct cvmx_pko_mem_queue_ptrs_s cn63xx; |
| struct cvmx_pko_mem_queue_ptrs_s cn63xxp1; |
| struct cvmx_pko_mem_queue_ptrs_s cn66xx; |
| struct cvmx_pko_mem_queue_ptrs_s cn70xx; |
| struct cvmx_pko_mem_queue_ptrs_s cn70xxp1; |
| struct cvmx_pko_mem_queue_ptrs_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_queue_ptrs cvmx_pko_mem_queue_ptrs_t; |
| |
| /** |
| * cvmx_pko_mem_queue_qos |
| * |
| * Notes: |
| * Sets the QOS mask, per queue. These QOS_MASK bits are logically and physically the same QOS_MASK |
| * bits in PKO_MEM_QUEUE_PTRS. This CSR address allows the QOS_MASK bits to be written during PKO |
| * operation without affecting any other queue state. The port to which queue QID is mapped is port |
| * PID. Note that the queue to port mapping must be the same as was previously programmed via the |
| * PKO_MEM_QUEUE_PTRS CSR. |
| * This CSR is a memory of 256 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. A read of any entry that has not been |
| * previously written is illegal and will result in unpredictable CSR read data. |
| */ |
| union cvmx_pko_mem_queue_qos { |
| u64 u64; |
| struct cvmx_pko_mem_queue_qos_s { |
| u64 reserved_61_63 : 3; |
| u64 qos_mask : 8; |
| u64 reserved_13_52 : 40; |
| u64 pid : 6; |
| u64 qid : 7; |
| } s; |
| struct cvmx_pko_mem_queue_qos_s cn30xx; |
| struct cvmx_pko_mem_queue_qos_s cn31xx; |
| struct cvmx_pko_mem_queue_qos_s cn38xx; |
| struct cvmx_pko_mem_queue_qos_s cn38xxp2; |
| struct cvmx_pko_mem_queue_qos_s cn50xx; |
| struct cvmx_pko_mem_queue_qos_s cn52xx; |
| struct cvmx_pko_mem_queue_qos_s cn52xxp1; |
| struct cvmx_pko_mem_queue_qos_s cn56xx; |
| struct cvmx_pko_mem_queue_qos_s cn56xxp1; |
| struct cvmx_pko_mem_queue_qos_s cn58xx; |
| struct cvmx_pko_mem_queue_qos_s cn58xxp1; |
| struct cvmx_pko_mem_queue_qos_s cn61xx; |
| struct cvmx_pko_mem_queue_qos_s cn63xx; |
| struct cvmx_pko_mem_queue_qos_s cn63xxp1; |
| struct cvmx_pko_mem_queue_qos_s cn66xx; |
| struct cvmx_pko_mem_queue_qos_s cn70xx; |
| struct cvmx_pko_mem_queue_qos_s cn70xxp1; |
| struct cvmx_pko_mem_queue_qos_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_mem_queue_qos cvmx_pko_mem_queue_qos_t; |
| |
| /** |
| * cvmx_pko_mem_throttle_int |
| * |
| * Notes: |
| * Writing PACKET and WORD with 0 resets both counts for INT to 0 rather than add 0. |
| * Otherwise, writes to this CSR add to the existing WORD/PACKET counts for the interface INT. |
| * |
| * PKO tracks the number of (8-byte) WORD's and PACKET's in-flight (sum total in both PKO |
| * and the interface MAC) on the interface. (When PKO first selects a packet from a PKO queue, it |
| * increments the counts appropriately. When the interface MAC has (largely) completed sending |
| * the words/packet, PKO decrements the count appropriately.) When PKO_REG_FLAGS[ENA_THROTTLE] |
| * is set and the most-significant bit of the WORD or packet count for a interface is set, |
| * PKO will not transfer any packets over the interface. Software can limit the amount of |
| * packet data and/or the number of packets that OCTEON can send out the chip after receiving backpressure |
| * from the interface/pipe via these per-pipe throttle counts when PKO_REG_FLAGS[ENA_THROTTLE]=1. |
| * For example, to limit the number of packets outstanding in the interface to N, preset PACKET for |
| * the pipe to the value 0x20-N (0x20 is the smallest PACKET value with the most-significant bit set). |
| * |
| * This CSR is a memory of 32 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. The index to this CSR is an INTERFACE. A read of any |
| * entry that has not been previously written is illegal and will result in unpredictable CSR read data. |
| */ |
| union cvmx_pko_mem_throttle_int { |
| u64 u64; |
| struct cvmx_pko_mem_throttle_int_s { |
| u64 reserved_47_63 : 17; |
| u64 word : 15; |
| u64 reserved_14_31 : 18; |
| u64 packet : 6; |
| u64 reserved_5_7 : 3; |
| u64 intr : 5; |
| } s; |
| struct cvmx_pko_mem_throttle_int_s cn68xx; |
| struct cvmx_pko_mem_throttle_int_s cn68xxp1; |
| }; |
| |
| typedef union cvmx_pko_mem_throttle_int cvmx_pko_mem_throttle_int_t; |
| |
| /** |
| * cvmx_pko_mem_throttle_pipe |
| * |
| * Notes: |
| * Writing PACKET and WORD with 0 resets both counts for PIPE to 0 rather than add 0. |
| * Otherwise, writes to this CSR add to the existing WORD/PACKET counts for the PKO pipe PIPE. |
| * |
| * PKO tracks the number of (8-byte) WORD's and PACKET's in-flight (sum total in both PKO |
| * and the interface MAC) on the pipe. (When PKO first selects a packet from a PKO queue, it |
| * increments the counts appropriately. When the interface MAC has (largely) completed sending |
| * the words/packet, PKO decrements the count appropriately.) When PKO_REG_FLAGS[ENA_THROTTLE] |
| * is set and the most-significant bit of the WORD or packet count for a PKO pipe is set, |
| * PKO will not transfer any packets over the PKO pipe. Software can limit the amount of |
| * packet data and/or the number of packets that OCTEON can send out the chip after receiving backpressure |
| * from the interface/pipe via these per-pipe throttle counts when PKO_REG_FLAGS[ENA_THROTTLE]=1. |
| * For example, to limit the number of packets outstanding in the pipe to N, preset PACKET for |
| * the pipe to the value 0x20-N (0x20 is the smallest PACKET value with the most-significant bit set). |
| * |
| * This CSR is a memory of 128 entries, and thus, the PKO_REG_READ_IDX CSR must be written before any |
| * CSR read operations to this address can be performed. The index to this CSR is a PIPE. A read of any |
| * entry that has not been previously written is illegal and will result in unpredictable CSR read data. |
| */ |
| union cvmx_pko_mem_throttle_pipe { |
| u64 u64; |
| struct cvmx_pko_mem_throttle_pipe_s { |
| u64 reserved_47_63 : 17; |
| u64 word : 15; |
| u64 reserved_14_31 : 18; |
| u64 packet : 6; |
| u64 reserved_7_7 : 1; |
| u64 pipe : 7; |
| } s; |
| struct cvmx_pko_mem_throttle_pipe_s cn68xx; |
| struct cvmx_pko_mem_throttle_pipe_s cn68xxp1; |
| }; |
| |
| typedef union cvmx_pko_mem_throttle_pipe cvmx_pko_mem_throttle_pipe_t; |
| |
| /** |
| * cvmx_pko_ncb_bist_status |
| * |
| * Each bit is the BIST result of an individual memory (per bit, 0 = pass and 1 = fail). |
| * |
| */ |
| union cvmx_pko_ncb_bist_status { |
| u64 u64; |
| struct cvmx_pko_ncb_bist_status_s { |
| u64 ncbi_l2_out_ram_bist_status : 1; |
| u64 ncbi_pp_out_ram_bist_status : 1; |
| u64 ncbo_pdm_cmd_dat_ram_bist_status : 1; |
| u64 ncbi_l2_pdm_pref_ram_bist_status : 1; |
| u64 ncbo_pp_fif_ram_bist_status : 1; |
| u64 ncbo_skid_fif_ram_bist_status : 1; |
| u64 reserved_0_57 : 58; |
| } s; |
| struct cvmx_pko_ncb_bist_status_s cn73xx; |
| struct cvmx_pko_ncb_bist_status_s cn78xx; |
| struct cvmx_pko_ncb_bist_status_s cn78xxp1; |
| struct cvmx_pko_ncb_bist_status_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_ncb_bist_status cvmx_pko_ncb_bist_status_t; |
| |
| /** |
| * cvmx_pko_ncb_ecc_ctl0 |
| */ |
| union cvmx_pko_ncb_ecc_ctl0 { |
| u64 u64; |
| struct cvmx_pko_ncb_ecc_ctl0_s { |
| u64 ncbi_l2_out_ram_flip : 2; |
| u64 ncbi_l2_out_ram_cdis : 1; |
| u64 ncbi_pp_out_ram_flip : 2; |
| u64 ncbi_pp_out_ram_cdis : 1; |
| u64 ncbo_pdm_cmd_dat_ram_flip : 2; |
| u64 ncbo_pdm_cmd_dat_ram_cdis : 1; |
| u64 ncbi_l2_pdm_pref_ram_flip : 2; |
| u64 ncbi_l2_pdm_pref_ram_cdis : 1; |
| u64 ncbo_pp_fif_ram_flip : 2; |
| u64 ncbo_pp_fif_ram_cdis : 1; |
| u64 ncbo_skid_fif_ram_flip : 2; |
| u64 ncbo_skid_fif_ram_cdis : 1; |
| u64 reserved_0_45 : 46; |
| } s; |
| struct cvmx_pko_ncb_ecc_ctl0_s cn73xx; |
| struct cvmx_pko_ncb_ecc_ctl0_s cn78xx; |
| struct cvmx_pko_ncb_ecc_ctl0_s cn78xxp1; |
| struct cvmx_pko_ncb_ecc_ctl0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_ncb_ecc_ctl0 cvmx_pko_ncb_ecc_ctl0_t; |
| |
| /** |
| * cvmx_pko_ncb_ecc_dbe_sts0 |
| */ |
| union cvmx_pko_ncb_ecc_dbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_ncb_ecc_dbe_sts0_s { |
| u64 ncbi_l2_out_ram_dbe : 1; |
| u64 ncbi_pp_out_ram_dbe : 1; |
| u64 ncbo_pdm_cmd_dat_ram_dbe : 1; |
| u64 ncbi_l2_pdm_pref_ram_dbe : 1; |
| u64 ncbo_pp_fif_ram_dbe : 1; |
| u64 ncbo_skid_fif_ram_dbe : 1; |
| u64 reserved_0_57 : 58; |
| } s; |
| struct cvmx_pko_ncb_ecc_dbe_sts0_s cn73xx; |
| struct cvmx_pko_ncb_ecc_dbe_sts0_s cn78xx; |
| struct cvmx_pko_ncb_ecc_dbe_sts0_s cn78xxp1; |
| struct cvmx_pko_ncb_ecc_dbe_sts0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_ncb_ecc_dbe_sts0 cvmx_pko_ncb_ecc_dbe_sts0_t; |
| |
| /** |
| * cvmx_pko_ncb_ecc_dbe_sts_cmb0 |
| */ |
| union cvmx_pko_ncb_ecc_dbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_ncb_ecc_dbe_sts_cmb0_s { |
| u64 ncb_dbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_ncb_ecc_dbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_ncb_ecc_dbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_ncb_ecc_dbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_ncb_ecc_dbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_ncb_ecc_dbe_sts_cmb0 cvmx_pko_ncb_ecc_dbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_ncb_ecc_sbe_sts0 |
| */ |
| union cvmx_pko_ncb_ecc_sbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_ncb_ecc_sbe_sts0_s { |
| u64 ncbi_l2_out_ram_sbe : 1; |
| u64 ncbi_pp_out_ram_sbe : 1; |
| u64 ncbo_pdm_cmd_dat_ram_sbe : 1; |
| u64 ncbi_l2_pdm_pref_ram_sbe : 1; |
| u64 ncbo_pp_fif_ram_sbe : 1; |
| u64 ncbo_skid_fif_ram_sbe : 1; |
| u64 reserved_0_57 : 58; |
| } s; |
| struct cvmx_pko_ncb_ecc_sbe_sts0_s cn73xx; |
| struct cvmx_pko_ncb_ecc_sbe_sts0_s cn78xx; |
| struct cvmx_pko_ncb_ecc_sbe_sts0_s cn78xxp1; |
| struct cvmx_pko_ncb_ecc_sbe_sts0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_ncb_ecc_sbe_sts0 cvmx_pko_ncb_ecc_sbe_sts0_t; |
| |
| /** |
| * cvmx_pko_ncb_ecc_sbe_sts_cmb0 |
| */ |
| union cvmx_pko_ncb_ecc_sbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_ncb_ecc_sbe_sts_cmb0_s { |
| u64 ncb_sbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_ncb_ecc_sbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_ncb_ecc_sbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_ncb_ecc_sbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_ncb_ecc_sbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_ncb_ecc_sbe_sts_cmb0 cvmx_pko_ncb_ecc_sbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_ncb_int |
| */ |
| union cvmx_pko_ncb_int { |
| u64 u64; |
| struct cvmx_pko_ncb_int_s { |
| u64 reserved_2_63 : 62; |
| u64 tso_segment_cnt : 1; |
| u64 ncb_tx_error : 1; |
| } s; |
| struct cvmx_pko_ncb_int_s cn73xx; |
| struct cvmx_pko_ncb_int_s cn78xx; |
| struct cvmx_pko_ncb_int_s cn78xxp1; |
| struct cvmx_pko_ncb_int_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_ncb_int cvmx_pko_ncb_int_t; |
| |
| /** |
| * cvmx_pko_ncb_tx_err_info |
| */ |
| union cvmx_pko_ncb_tx_err_info { |
| u64 u64; |
| struct cvmx_pko_ncb_tx_err_info_s { |
| u64 reserved_32_63 : 32; |
| u64 wcnt : 5; |
| u64 src : 12; |
| u64 dst : 8; |
| u64 tag : 4; |
| u64 eot : 1; |
| u64 sot : 1; |
| u64 valid : 1; |
| } s; |
| struct cvmx_pko_ncb_tx_err_info_s cn73xx; |
| struct cvmx_pko_ncb_tx_err_info_s cn78xx; |
| struct cvmx_pko_ncb_tx_err_info_s cn78xxp1; |
| struct cvmx_pko_ncb_tx_err_info_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_ncb_tx_err_info cvmx_pko_ncb_tx_err_info_t; |
| |
| /** |
| * cvmx_pko_ncb_tx_err_word |
| */ |
| union cvmx_pko_ncb_tx_err_word { |
| u64 u64; |
| struct cvmx_pko_ncb_tx_err_word_s { |
| u64 err_word : 64; |
| } s; |
| struct cvmx_pko_ncb_tx_err_word_s cn73xx; |
| struct cvmx_pko_ncb_tx_err_word_s cn78xx; |
| struct cvmx_pko_ncb_tx_err_word_s cn78xxp1; |
| struct cvmx_pko_ncb_tx_err_word_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_ncb_tx_err_word cvmx_pko_ncb_tx_err_word_t; |
| |
| /** |
| * cvmx_pko_pdm_bist_status |
| * |
| * Each bit is the BIST result of an individual memory (per bit, 0 = pass and 1 = fail). |
| * |
| */ |
| union cvmx_pko_pdm_bist_status { |
| u64 u64; |
| struct cvmx_pko_pdm_bist_status_s { |
| u64 flshb_cache_lo_ram_bist_status : 1; |
| u64 flshb_cache_hi_ram_bist_status : 1; |
| u64 isrm_ca_iinst_ram_bist_status : 1; |
| u64 isrm_ca_cm_ram_bist_status : 1; |
| u64 isrm_st_ram2_bist_status : 1; |
| u64 isrm_st_ram1_bist_status : 1; |
| u64 isrm_st_ram0_bist_status : 1; |
| u64 isrd_st_ram3_bist_status : 1; |
| u64 isrd_st_ram2_bist_status : 1; |
| u64 isrd_st_ram1_bist_status : 1; |
| u64 isrd_st_ram0_bist_status : 1; |
| u64 drp_hi_ram_bist_status : 1; |
| u64 drp_lo_ram_bist_status : 1; |
| u64 dwp_hi_ram_bist_status : 1; |
| u64 dwp_lo_ram_bist_status : 1; |
| u64 mwp_hi_ram_bist_status : 1; |
| u64 mwp_lo_ram_bist_status : 1; |
| u64 fillb_m_rsp_ram_hi_bist_status : 1; |
| u64 fillb_m_rsp_ram_lo_bist_status : 1; |
| u64 fillb_d_rsp_ram_hi_bist_status : 1; |
| u64 fillb_d_rsp_ram_lo_bist_status : 1; |
| u64 fillb_d_rsp_dat_fifo_bist_status : 1; |
| u64 fillb_m_rsp_dat_fifo_bist_status : 1; |
| u64 flshb_m_dat_ram_bist_status : 1; |
| u64 flshb_d_dat_ram_bist_status : 1; |
| u64 minpad_ram_bist_status : 1; |
| u64 mwp_hi_spt_ram_bist_status : 1; |
| u64 mwp_lo_spt_ram_bist_status : 1; |
| u64 buf_wm_ram_bist_status : 1; |
| u64 reserved_0_34 : 35; |
| } s; |
| struct cvmx_pko_pdm_bist_status_s cn73xx; |
| struct cvmx_pko_pdm_bist_status_s cn78xx; |
| struct cvmx_pko_pdm_bist_status_s cn78xxp1; |
| struct cvmx_pko_pdm_bist_status_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_bist_status cvmx_pko_pdm_bist_status_t; |
| |
| /** |
| * cvmx_pko_pdm_cfg |
| */ |
| union cvmx_pko_pdm_cfg { |
| u64 u64; |
| struct cvmx_pko_pdm_cfg_s { |
| u64 reserved_13_63 : 51; |
| u64 dis_lpd_w2r_fill : 1; |
| u64 en_fr_w2r_ptr_swp : 1; |
| u64 dis_flsh_cache : 1; |
| u64 pko_pad_minlen : 7; |
| u64 diag_mode : 1; |
| u64 alloc_lds : 1; |
| u64 alloc_sts : 1; |
| } s; |
| struct cvmx_pko_pdm_cfg_s cn73xx; |
| struct cvmx_pko_pdm_cfg_s cn78xx; |
| struct cvmx_pko_pdm_cfg_s cn78xxp1; |
| struct cvmx_pko_pdm_cfg_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_cfg cvmx_pko_pdm_cfg_t; |
| |
| /** |
| * cvmx_pko_pdm_cfg_dbg |
| */ |
| union cvmx_pko_pdm_cfg_dbg { |
| u64 u64; |
| struct cvmx_pko_pdm_cfg_dbg_s { |
| u64 reserved_32_63 : 32; |
| u64 cp_stall_thrshld : 32; |
| } s; |
| struct cvmx_pko_pdm_cfg_dbg_s cn73xx; |
| struct cvmx_pko_pdm_cfg_dbg_s cn78xx; |
| struct cvmx_pko_pdm_cfg_dbg_s cn78xxp1; |
| struct cvmx_pko_pdm_cfg_dbg_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_cfg_dbg cvmx_pko_pdm_cfg_dbg_t; |
| |
| /** |
| * cvmx_pko_pdm_cp_dbg |
| */ |
| union cvmx_pko_pdm_cp_dbg { |
| u64 u64; |
| struct cvmx_pko_pdm_cp_dbg_s { |
| u64 reserved_16_63 : 48; |
| u64 stateless_fif_cnt : 6; |
| u64 reserved_5_9 : 5; |
| u64 op_fif_not_full : 5; |
| } s; |
| struct cvmx_pko_pdm_cp_dbg_s cn73xx; |
| struct cvmx_pko_pdm_cp_dbg_s cn78xx; |
| struct cvmx_pko_pdm_cp_dbg_s cn78xxp1; |
| struct cvmx_pko_pdm_cp_dbg_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_cp_dbg cvmx_pko_pdm_cp_dbg_t; |
| |
| /** |
| * cvmx_pko_pdm_dq#_minpad |
| */ |
| union cvmx_pko_pdm_dqx_minpad { |
| u64 u64; |
| struct cvmx_pko_pdm_dqx_minpad_s { |
| u64 reserved_1_63 : 63; |
| u64 minpad : 1; |
| } s; |
| struct cvmx_pko_pdm_dqx_minpad_s cn73xx; |
| struct cvmx_pko_pdm_dqx_minpad_s cn78xx; |
| struct cvmx_pko_pdm_dqx_minpad_s cn78xxp1; |
| struct cvmx_pko_pdm_dqx_minpad_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_dqx_minpad cvmx_pko_pdm_dqx_minpad_t; |
| |
| /** |
| * cvmx_pko_pdm_drpbuf_dbg |
| */ |
| union cvmx_pko_pdm_drpbuf_dbg { |
| u64 u64; |
| struct cvmx_pko_pdm_drpbuf_dbg_s { |
| u64 reserved_43_63 : 21; |
| u64 sel_nxt_ptr : 1; |
| u64 load_val : 1; |
| u64 rdy : 1; |
| u64 cur_state : 3; |
| u64 reserved_33_36 : 4; |
| u64 track_rd_cnt : 6; |
| u64 track_wr_cnt : 6; |
| u64 reserved_17_20 : 4; |
| u64 mem_addr : 13; |
| u64 mem_en : 4; |
| } s; |
| struct cvmx_pko_pdm_drpbuf_dbg_s cn73xx; |
| struct cvmx_pko_pdm_drpbuf_dbg_s cn78xx; |
| struct cvmx_pko_pdm_drpbuf_dbg_s cn78xxp1; |
| struct cvmx_pko_pdm_drpbuf_dbg_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_drpbuf_dbg cvmx_pko_pdm_drpbuf_dbg_t; |
| |
| /** |
| * cvmx_pko_pdm_dwpbuf_dbg |
| */ |
| union cvmx_pko_pdm_dwpbuf_dbg { |
| u64 u64; |
| struct cvmx_pko_pdm_dwpbuf_dbg_s { |
| u64 reserved_48_63 : 16; |
| u64 cmd_proc : 1; |
| u64 reserved_46_46 : 1; |
| u64 mem_data_val : 1; |
| u64 insert_np : 1; |
| u64 reserved_43_43 : 1; |
| u64 sel_nxt_ptr : 1; |
| u64 load_val : 1; |
| u64 rdy : 1; |
| u64 cur_state : 3; |
| u64 mem_rdy : 1; |
| u64 reserved_33_35 : 3; |
| u64 track_rd_cnt : 6; |
| u64 track_wr_cnt : 6; |
| u64 reserved_19_20 : 2; |
| u64 insert_dp : 2; |
| u64 mem_addr : 13; |
| u64 mem_en : 4; |
| } s; |
| struct cvmx_pko_pdm_dwpbuf_dbg_cn73xx { |
| u64 reserved_48_63 : 16; |
| u64 cmd_proc : 1; |
| u64 reserved_46_46 : 1; |
| u64 mem_data_val : 1; |
| u64 insert_np : 1; |
| u64 reserved_43_43 : 1; |
| u64 sel_nxt_ptr : 1; |
| u64 load_val : 1; |
| u64 rdy : 1; |
| u64 reserved_37_39 : 3; |
| u64 mem_rdy : 1; |
| u64 reserved_19_35 : 17; |
| u64 insert_dp : 2; |
| u64 reserved_15_16 : 2; |
| u64 mem_addr : 11; |
| u64 mem_en : 4; |
| } cn73xx; |
| struct cvmx_pko_pdm_dwpbuf_dbg_s cn78xx; |
| struct cvmx_pko_pdm_dwpbuf_dbg_s cn78xxp1; |
| struct cvmx_pko_pdm_dwpbuf_dbg_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_dwpbuf_dbg cvmx_pko_pdm_dwpbuf_dbg_t; |
| |
| /** |
| * cvmx_pko_pdm_ecc_ctl0 |
| */ |
| union cvmx_pko_pdm_ecc_ctl0 { |
| u64 u64; |
| struct cvmx_pko_pdm_ecc_ctl0_s { |
| u64 flshb_cache_lo_ram_flip : 2; |
| u64 flshb_cache_lo_ram_cdis : 1; |
| u64 flshb_cache_hi_ram_flip : 2; |
| u64 flshb_cache_hi_ram_cdis : 1; |
| u64 isrm_ca_iinst_ram_flip : 2; |
| u64 isrm_ca_iinst_ram_cdis : 1; |
| u64 isrm_ca_cm_ram_flip : 2; |
| u64 isrm_ca_cm_ram_cdis : 1; |
| u64 isrm_st_ram2_flip : 2; |
| u64 isrm_st_ram2_cdis : 1; |
| u64 isrm_st_ram1_flip : 2; |
| u64 isrm_st_ram1_cdis : 1; |
| u64 isrm_st_ram0_flip : 2; |
| u64 isrm_st_ram0_cdis : 1; |
| u64 isrd_st_ram3_flip : 2; |
| u64 isrd_st_ram3_cdis : 1; |
| u64 isrd_st_ram2_flip : 2; |
| u64 isrd_st_ram2_cdis : 1; |
| u64 isrd_st_ram1_flip : 2; |
| u64 isrd_st_ram1_cdis : 1; |
| u64 isrd_st_ram0_flip : 2; |
| u64 isrd_st_ram0_cdis : 1; |
| u64 drp_hi_ram_flip : 2; |
| u64 drp_hi_ram_cdis : 1; |
| u64 drp_lo_ram_flip : 2; |
| u64 drp_lo_ram_cdis : 1; |
| u64 dwp_hi_ram_flip : 2; |
| u64 dwp_hi_ram_cdis : 1; |
| u64 dwp_lo_ram_flip : 2; |
| u64 dwp_lo_ram_cdis : 1; |
| u64 mwp_hi_ram_flip : 2; |
| u64 mwp_hi_ram_cdis : 1; |
| u64 mwp_lo_ram_flip : 2; |
| u64 mwp_lo_ram_cdis : 1; |
| u64 fillb_m_rsp_ram_hi_flip : 2; |
| u64 fillb_m_rsp_ram_hi_cdis : 1; |
| u64 fillb_m_rsp_ram_lo_flip : 2; |
| u64 fillb_m_rsp_ram_lo_cdis : 1; |
| u64 fillb_d_rsp_ram_hi_flip : 2; |
| u64 fillb_d_rsp_ram_hi_cdis : 1; |
| u64 fillb_d_rsp_ram_lo_flip : 2; |
| u64 fillb_d_rsp_ram_lo_cdis : 1; |
| u64 reserved_0_0 : 1; |
| } s; |
| struct cvmx_pko_pdm_ecc_ctl0_cn73xx { |
| u64 flshb_cache_lo_ram_flip : 2; |
| u64 flshb_cache_lo_ram_cdis : 1; |
| u64 flshb_cache_hi_ram_flip : 2; |
| u64 flshb_cache_hi_ram_cdis : 1; |
| u64 isrm_ca_iinst_ram_flip : 2; |
| u64 isrm_ca_iinst_ram_cdis : 1; |
| u64 isrm_ca_cm_ram_flip : 2; |
| u64 isrm_ca_cm_ram_cdis : 1; |
| u64 isrm_st_ram2_flip : 2; |
| u64 isrm_st_ram2_cdis : 1; |
| u64 isrm_st_ram1_flip : 2; |
| u64 isrm_st_ram1_cdis : 1; |
| u64 isrm_st_ram0_flip : 2; |
| u64 isrm_st_ram0_cdis : 1; |
| u64 isrd_st_ram3_flip : 2; |
| u64 isrd_st_ram3_cdis : 1; |
| u64 isrd_st_ram2_flip : 2; |
| u64 isrd_st_ram2_cdis : 1; |
| u64 isrd_st_ram1_flip : 2; |
| u64 isrd_st_ram1_cdis : 1; |
| u64 isrd_st_ram0_flip : 2; |
| u64 isrd_st_ram0_cdis : 1; |
| u64 drp_hi_ram_flip : 2; |
| u64 drp_hi_ram_cdis : 1; |
| u64 drp_lo_ram_flip : 2; |
| u64 drp_lo_ram_cdis : 1; |
| u64 dwp_hi_ram_flip : 2; |
| u64 dwp_hi_ram_cdis : 1; |
| u64 dwp_lo_ram_flip : 2; |
| u64 dwp_lo_ram_cdis : 1; |
| u64 reserved_13_18 : 6; |
| u64 fillb_m_rsp_ram_hi_flip : 2; |
| u64 fillb_m_rsp_ram_hi_cdis : 1; |
| u64 fillb_m_rsp_ram_lo_flip : 2; |
| u64 fillb_m_rsp_ram_lo_cdis : 1; |
| u64 fillb_d_rsp_ram_hi_flip : 2; |
| u64 fillb_d_rsp_ram_hi_cdis : 1; |
| u64 fillb_d_rsp_ram_lo_flip : 2; |
| u64 fillb_d_rsp_ram_lo_cdis : 1; |
| u64 reserved_0_0 : 1; |
| } cn73xx; |
| struct cvmx_pko_pdm_ecc_ctl0_s cn78xx; |
| struct cvmx_pko_pdm_ecc_ctl0_s cn78xxp1; |
| struct cvmx_pko_pdm_ecc_ctl0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_ecc_ctl0 cvmx_pko_pdm_ecc_ctl0_t; |
| |
| /** |
| * cvmx_pko_pdm_ecc_ctl1 |
| */ |
| union cvmx_pko_pdm_ecc_ctl1 { |
| u64 u64; |
| struct cvmx_pko_pdm_ecc_ctl1_s { |
| u64 reserved_15_63 : 49; |
| u64 buf_wm_ram_flip : 2; |
| u64 buf_wm_ram_cdis : 1; |
| u64 mwp_mem0_ram_flip : 2; |
| u64 mwp_mem1_ram_flip : 2; |
| u64 mwp_mem2_ram_flip : 2; |
| u64 mwp_mem3_ram_flip : 2; |
| u64 mwp_ram_cdis : 1; |
| u64 minpad_ram_flip : 2; |
| u64 minpad_ram_cdis : 1; |
| } s; |
| struct cvmx_pko_pdm_ecc_ctl1_s cn73xx; |
| struct cvmx_pko_pdm_ecc_ctl1_s cn78xx; |
| struct cvmx_pko_pdm_ecc_ctl1_s cn78xxp1; |
| struct cvmx_pko_pdm_ecc_ctl1_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_ecc_ctl1 cvmx_pko_pdm_ecc_ctl1_t; |
| |
| /** |
| * cvmx_pko_pdm_ecc_dbe_sts0 |
| */ |
| union cvmx_pko_pdm_ecc_dbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pdm_ecc_dbe_sts0_s { |
| u64 flshb_cache_lo_ram_dbe : 1; |
| u64 flshb_cache_hi_ram_dbe : 1; |
| u64 isrm_ca_iinst_ram_dbe : 1; |
| u64 isrm_ca_cm_ram_dbe : 1; |
| u64 isrm_st_ram2_dbe : 1; |
| u64 isrm_st_ram1_dbe : 1; |
| u64 isrm_st_ram0_dbe : 1; |
| u64 isrd_st_ram3_dbe : 1; |
| u64 isrd_st_ram2_dbe : 1; |
| u64 isrd_st_ram1_dbe : 1; |
| u64 isrd_st_ram0_dbe : 1; |
| u64 drp_hi_ram_dbe : 1; |
| u64 drp_lo_ram_dbe : 1; |
| u64 dwp_hi_ram_dbe : 1; |
| u64 dwp_lo_ram_dbe : 1; |
| u64 mwp_hi_ram_dbe : 1; |
| u64 mwp_lo_ram_dbe : 1; |
| u64 fillb_m_rsp_ram_hi_dbe : 1; |
| u64 fillb_m_rsp_ram_lo_dbe : 1; |
| u64 fillb_d_rsp_ram_hi_dbe : 1; |
| u64 fillb_d_rsp_ram_lo_dbe : 1; |
| u64 minpad_ram_dbe : 1; |
| u64 mwp_hi_spt_ram_dbe : 1; |
| u64 mwp_lo_spt_ram_dbe : 1; |
| u64 buf_wm_ram_dbe : 1; |
| u64 reserved_0_38 : 39; |
| } s; |
| struct cvmx_pko_pdm_ecc_dbe_sts0_s cn73xx; |
| struct cvmx_pko_pdm_ecc_dbe_sts0_s cn78xx; |
| struct cvmx_pko_pdm_ecc_dbe_sts0_s cn78xxp1; |
| struct cvmx_pko_pdm_ecc_dbe_sts0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_ecc_dbe_sts0 cvmx_pko_pdm_ecc_dbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pdm_ecc_dbe_sts_cmb0 |
| */ |
| union cvmx_pko_pdm_ecc_dbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pdm_ecc_dbe_sts_cmb0_s { |
| u64 pdm_dbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pdm_ecc_dbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_pdm_ecc_dbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pdm_ecc_dbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_pdm_ecc_dbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_ecc_dbe_sts_cmb0 cvmx_pko_pdm_ecc_dbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pdm_ecc_sbe_sts0 |
| */ |
| union cvmx_pko_pdm_ecc_sbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pdm_ecc_sbe_sts0_s { |
| u64 flshb_cache_lo_ram_sbe : 1; |
| u64 flshb_cache_hi_ram_sbe : 1; |
| u64 isrm_ca_iinst_ram_sbe : 1; |
| u64 isrm_ca_cm_ram_sbe : 1; |
| u64 isrm_st_ram2_sbe : 1; |
| u64 isrm_st_ram1_sbe : 1; |
| u64 isrm_st_ram0_sbe : 1; |
| u64 isrd_st_ram3_sbe : 1; |
| u64 isrd_st_ram2_sbe : 1; |
| u64 isrd_st_ram1_sbe : 1; |
| u64 isrd_st_ram0_sbe : 1; |
| u64 drp_hi_ram_sbe : 1; |
| u64 drp_lo_ram_sbe : 1; |
| u64 dwp_hi_ram_sbe : 1; |
| u64 dwp_lo_ram_sbe : 1; |
| u64 mwp_hi_ram_sbe : 1; |
| u64 mwp_lo_ram_sbe : 1; |
| u64 fillb_m_rsp_ram_hi_sbe : 1; |
| u64 fillb_m_rsp_ram_lo_sbe : 1; |
| u64 fillb_d_rsp_ram_hi_sbe : 1; |
| u64 fillb_d_rsp_ram_lo_sbe : 1; |
| u64 minpad_ram_sbe : 1; |
| u64 mwp_hi_spt_ram_sbe : 1; |
| u64 mwp_lo_spt_ram_sbe : 1; |
| u64 buf_wm_ram_sbe : 1; |
| u64 reserved_0_38 : 39; |
| } s; |
| struct cvmx_pko_pdm_ecc_sbe_sts0_s cn73xx; |
| struct cvmx_pko_pdm_ecc_sbe_sts0_s cn78xx; |
| struct cvmx_pko_pdm_ecc_sbe_sts0_s cn78xxp1; |
| struct cvmx_pko_pdm_ecc_sbe_sts0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_ecc_sbe_sts0 cvmx_pko_pdm_ecc_sbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pdm_ecc_sbe_sts_cmb0 |
| */ |
| union cvmx_pko_pdm_ecc_sbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pdm_ecc_sbe_sts_cmb0_s { |
| u64 pdm_sbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pdm_ecc_sbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_pdm_ecc_sbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pdm_ecc_sbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_pdm_ecc_sbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_ecc_sbe_sts_cmb0 cvmx_pko_pdm_ecc_sbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pdm_fillb_dbg0 |
| */ |
| union cvmx_pko_pdm_fillb_dbg0 { |
| u64 u64; |
| struct cvmx_pko_pdm_fillb_dbg0_s { |
| u64 reserved_57_63 : 7; |
| u64 pd_seq : 5; |
| u64 resp_pd_seq : 5; |
| u64 d_rsp_lo_ram_addr_sel : 2; |
| u64 d_rsp_hi_ram_addr_sel : 2; |
| u64 d_rsp_rd_seq : 5; |
| u64 d_rsp_fifo_rd_seq : 5; |
| u64 d_fill_req_fifo_val : 1; |
| u64 d_rsp_ram_valid : 32; |
| } s; |
| struct cvmx_pko_pdm_fillb_dbg0_s cn73xx; |
| struct cvmx_pko_pdm_fillb_dbg0_s cn78xx; |
| struct cvmx_pko_pdm_fillb_dbg0_s cn78xxp1; |
| struct cvmx_pko_pdm_fillb_dbg0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_fillb_dbg0 cvmx_pko_pdm_fillb_dbg0_t; |
| |
| /** |
| * cvmx_pko_pdm_fillb_dbg1 |
| */ |
| union cvmx_pko_pdm_fillb_dbg1 { |
| u64 u64; |
| struct cvmx_pko_pdm_fillb_dbg1_s { |
| u64 reserved_57_63 : 7; |
| u64 mp_seq : 5; |
| u64 resp_mp_seq : 5; |
| u64 m_rsp_lo_ram_addr_sel : 2; |
| u64 m_rsp_hi_ram_addr_sel : 2; |
| u64 m_rsp_rd_seq : 5; |
| u64 m_rsp_fifo_rd_seq : 5; |
| u64 m_fill_req_fifo_val : 1; |
| u64 m_rsp_ram_valid : 32; |
| } s; |
| struct cvmx_pko_pdm_fillb_dbg1_s cn73xx; |
| struct cvmx_pko_pdm_fillb_dbg1_s cn78xx; |
| struct cvmx_pko_pdm_fillb_dbg1_s cn78xxp1; |
| struct cvmx_pko_pdm_fillb_dbg1_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_fillb_dbg1 cvmx_pko_pdm_fillb_dbg1_t; |
| |
| /** |
| * cvmx_pko_pdm_fillb_dbg2 |
| */ |
| union cvmx_pko_pdm_fillb_dbg2 { |
| u64 u64; |
| struct cvmx_pko_pdm_fillb_dbg2_s { |
| u64 reserved_9_63 : 55; |
| u64 fillb_sm : 5; |
| u64 reserved_3_3 : 1; |
| u64 iobp0_credit_cntr : 3; |
| } s; |
| struct cvmx_pko_pdm_fillb_dbg2_s cn73xx; |
| struct cvmx_pko_pdm_fillb_dbg2_s cn78xx; |
| struct cvmx_pko_pdm_fillb_dbg2_s cn78xxp1; |
| struct cvmx_pko_pdm_fillb_dbg2_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_fillb_dbg2 cvmx_pko_pdm_fillb_dbg2_t; |
| |
| /** |
| * cvmx_pko_pdm_flshb_dbg0 |
| */ |
| union cvmx_pko_pdm_flshb_dbg0 { |
| u64 u64; |
| struct cvmx_pko_pdm_flshb_dbg0_s { |
| u64 reserved_44_63 : 20; |
| u64 flshb_sm : 7; |
| u64 flshb_ctl_sm : 9; |
| u64 cam_hptr : 5; |
| u64 cam_tptr : 5; |
| u64 expected_stdns : 6; |
| u64 d_flshb_eot_cntr : 3; |
| u64 m_flshb_eot_cntr : 3; |
| u64 ncbi_credit_cntr : 6; |
| } s; |
| struct cvmx_pko_pdm_flshb_dbg0_s cn73xx; |
| struct cvmx_pko_pdm_flshb_dbg0_s cn78xx; |
| struct cvmx_pko_pdm_flshb_dbg0_s cn78xxp1; |
| struct cvmx_pko_pdm_flshb_dbg0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_flshb_dbg0 cvmx_pko_pdm_flshb_dbg0_t; |
| |
| /** |
| * cvmx_pko_pdm_flshb_dbg1 |
| */ |
| union cvmx_pko_pdm_flshb_dbg1 { |
| u64 u64; |
| struct cvmx_pko_pdm_flshb_dbg1_s { |
| u64 cam_stdn : 32; |
| u64 cam_valid : 32; |
| } s; |
| struct cvmx_pko_pdm_flshb_dbg1_s cn73xx; |
| struct cvmx_pko_pdm_flshb_dbg1_s cn78xx; |
| struct cvmx_pko_pdm_flshb_dbg1_s cn78xxp1; |
| struct cvmx_pko_pdm_flshb_dbg1_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_flshb_dbg1 cvmx_pko_pdm_flshb_dbg1_t; |
| |
| /** |
| * cvmx_pko_pdm_intf_dbg_rd |
| * |
| * For diagnostic use only. |
| * |
| */ |
| union cvmx_pko_pdm_intf_dbg_rd { |
| u64 u64; |
| struct cvmx_pko_pdm_intf_dbg_rd_s { |
| u64 reserved_48_63 : 16; |
| u64 in_flight : 8; |
| u64 pdm_req_cred_cnt : 8; |
| u64 pse_buf_waddr : 8; |
| u64 pse_buf_raddr : 8; |
| u64 resp_buf_waddr : 8; |
| u64 resp_buf_raddr : 8; |
| } s; |
| struct cvmx_pko_pdm_intf_dbg_rd_s cn73xx; |
| struct cvmx_pko_pdm_intf_dbg_rd_s cn78xx; |
| struct cvmx_pko_pdm_intf_dbg_rd_s cn78xxp1; |
| struct cvmx_pko_pdm_intf_dbg_rd_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_intf_dbg_rd cvmx_pko_pdm_intf_dbg_rd_t; |
| |
| /** |
| * cvmx_pko_pdm_isrd_dbg |
| */ |
| union cvmx_pko_pdm_isrd_dbg { |
| u64 u64; |
| struct cvmx_pko_pdm_isrd_dbg_s { |
| u64 isrd_vals_in : 4; |
| u64 reserved_59_59 : 1; |
| u64 req_hptr : 6; |
| u64 rdy_hptr : 6; |
| u64 reserved_44_46 : 3; |
| u64 in_arb_reqs : 8; |
| u64 in_arb_gnts : 7; |
| u64 cmt_arb_reqs : 7; |
| u64 cmt_arb_gnts : 7; |
| u64 in_use : 4; |
| u64 has_cred : 4; |
| u64 val_exec : 7; |
| } s; |
| struct cvmx_pko_pdm_isrd_dbg_s cn73xx; |
| struct cvmx_pko_pdm_isrd_dbg_s cn78xx; |
| struct cvmx_pko_pdm_isrd_dbg_cn78xxp1 { |
| u64 reserved_44_63 : 20; |
| u64 in_arb_reqs : 8; |
| u64 in_arb_gnts : 7; |
| u64 cmt_arb_reqs : 7; |
| u64 cmt_arb_gnts : 7; |
| u64 in_use : 4; |
| u64 has_cred : 4; |
| u64 val_exec : 7; |
| } cn78xxp1; |
| struct cvmx_pko_pdm_isrd_dbg_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_isrd_dbg cvmx_pko_pdm_isrd_dbg_t; |
| |
| /** |
| * cvmx_pko_pdm_isrd_dbg_dq |
| */ |
| union cvmx_pko_pdm_isrd_dbg_dq { |
| u64 u64; |
| struct cvmx_pko_pdm_isrd_dbg_dq_s { |
| u64 reserved_46_63 : 18; |
| u64 pebrd_sic_dq : 10; |
| u64 reserved_34_35 : 2; |
| u64 pebfill_sic_dq : 10; |
| u64 reserved_22_23 : 2; |
| u64 fr_sic_dq : 10; |
| u64 reserved_10_11 : 2; |
| u64 cp_sic_dq : 10; |
| } s; |
| struct cvmx_pko_pdm_isrd_dbg_dq_s cn73xx; |
| struct cvmx_pko_pdm_isrd_dbg_dq_s cn78xx; |
| struct cvmx_pko_pdm_isrd_dbg_dq_s cn78xxp1; |
| struct cvmx_pko_pdm_isrd_dbg_dq_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_isrd_dbg_dq cvmx_pko_pdm_isrd_dbg_dq_t; |
| |
| /** |
| * cvmx_pko_pdm_isrm_dbg |
| */ |
| union cvmx_pko_pdm_isrm_dbg { |
| u64 u64; |
| struct cvmx_pko_pdm_isrm_dbg_s { |
| u64 val_in : 3; |
| u64 reserved_34_60 : 27; |
| u64 in_arb_reqs : 7; |
| u64 in_arb_gnts : 6; |
| u64 cmt_arb_reqs : 6; |
| u64 cmt_arb_gnts : 6; |
| u64 in_use : 3; |
| u64 has_cred : 3; |
| u64 val_exec : 3; |
| } s; |
| struct cvmx_pko_pdm_isrm_dbg_s cn73xx; |
| struct cvmx_pko_pdm_isrm_dbg_s cn78xx; |
| struct cvmx_pko_pdm_isrm_dbg_cn78xxp1 { |
| u64 reserved_34_63 : 30; |
| u64 in_arb_reqs : 7; |
| u64 in_arb_gnts : 6; |
| u64 cmt_arb_reqs : 6; |
| u64 cmt_arb_gnts : 6; |
| u64 in_use : 3; |
| u64 has_cred : 3; |
| u64 val_exec : 3; |
| } cn78xxp1; |
| struct cvmx_pko_pdm_isrm_dbg_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_isrm_dbg cvmx_pko_pdm_isrm_dbg_t; |
| |
| /** |
| * cvmx_pko_pdm_isrm_dbg_dq |
| */ |
| union cvmx_pko_pdm_isrm_dbg_dq { |
| u64 u64; |
| struct cvmx_pko_pdm_isrm_dbg_dq_s { |
| u64 reserved_34_63 : 30; |
| u64 ack_sic_dq : 10; |
| u64 reserved_22_23 : 2; |
| u64 fr_sic_dq : 10; |
| u64 reserved_10_11 : 2; |
| u64 cp_sic_dq : 10; |
| } s; |
| struct cvmx_pko_pdm_isrm_dbg_dq_s cn73xx; |
| struct cvmx_pko_pdm_isrm_dbg_dq_s cn78xx; |
| struct cvmx_pko_pdm_isrm_dbg_dq_s cn78xxp1; |
| struct cvmx_pko_pdm_isrm_dbg_dq_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_isrm_dbg_dq cvmx_pko_pdm_isrm_dbg_dq_t; |
| |
| /** |
| * cvmx_pko_pdm_mem_addr |
| */ |
| union cvmx_pko_pdm_mem_addr { |
| u64 u64; |
| struct cvmx_pko_pdm_mem_addr_s { |
| u64 memsel : 3; |
| u64 reserved_17_60 : 44; |
| u64 memaddr : 14; |
| u64 reserved_2_2 : 1; |
| u64 membanksel : 2; |
| } s; |
| struct cvmx_pko_pdm_mem_addr_s cn73xx; |
| struct cvmx_pko_pdm_mem_addr_s cn78xx; |
| struct cvmx_pko_pdm_mem_addr_s cn78xxp1; |
| struct cvmx_pko_pdm_mem_addr_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_mem_addr cvmx_pko_pdm_mem_addr_t; |
| |
| /** |
| * cvmx_pko_pdm_mem_data |
| */ |
| union cvmx_pko_pdm_mem_data { |
| u64 u64; |
| struct cvmx_pko_pdm_mem_data_s { |
| u64 data : 64; |
| } s; |
| struct cvmx_pko_pdm_mem_data_s cn73xx; |
| struct cvmx_pko_pdm_mem_data_s cn78xx; |
| struct cvmx_pko_pdm_mem_data_s cn78xxp1; |
| struct cvmx_pko_pdm_mem_data_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_mem_data cvmx_pko_pdm_mem_data_t; |
| |
| /** |
| * cvmx_pko_pdm_mem_rw_ctl |
| */ |
| union cvmx_pko_pdm_mem_rw_ctl { |
| u64 u64; |
| struct cvmx_pko_pdm_mem_rw_ctl_s { |
| u64 reserved_2_63 : 62; |
| u64 read : 1; |
| u64 write : 1; |
| } s; |
| struct cvmx_pko_pdm_mem_rw_ctl_s cn73xx; |
| struct cvmx_pko_pdm_mem_rw_ctl_s cn78xx; |
| struct cvmx_pko_pdm_mem_rw_ctl_s cn78xxp1; |
| struct cvmx_pko_pdm_mem_rw_ctl_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_mem_rw_ctl cvmx_pko_pdm_mem_rw_ctl_t; |
| |
| /** |
| * cvmx_pko_pdm_mem_rw_sts |
| */ |
| union cvmx_pko_pdm_mem_rw_sts { |
| u64 u64; |
| struct cvmx_pko_pdm_mem_rw_sts_s { |
| u64 reserved_1_63 : 63; |
| u64 readdone : 1; |
| } s; |
| struct cvmx_pko_pdm_mem_rw_sts_s cn73xx; |
| struct cvmx_pko_pdm_mem_rw_sts_s cn78xx; |
| struct cvmx_pko_pdm_mem_rw_sts_s cn78xxp1; |
| struct cvmx_pko_pdm_mem_rw_sts_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_mem_rw_sts cvmx_pko_pdm_mem_rw_sts_t; |
| |
| /** |
| * cvmx_pko_pdm_mwpbuf_dbg |
| */ |
| union cvmx_pko_pdm_mwpbuf_dbg { |
| u64 u64; |
| struct cvmx_pko_pdm_mwpbuf_dbg_s { |
| u64 reserved_49_63 : 15; |
| u64 str_proc : 1; |
| u64 cmd_proc : 1; |
| u64 str_val : 1; |
| u64 mem_data_val : 1; |
| u64 insert_np : 1; |
| u64 insert_mp : 1; |
| u64 sel_nxt_ptr : 1; |
| u64 load_val : 1; |
| u64 rdy : 1; |
| u64 cur_state : 3; |
| u64 mem_rdy : 1; |
| u64 str_rdy : 1; |
| u64 contention_type : 2; |
| u64 track_rd_cnt : 6; |
| u64 track_wr_cnt : 6; |
| u64 mem_wen : 4; |
| u64 mem_addr : 13; |
| u64 mem_en : 4; |
| } s; |
| struct cvmx_pko_pdm_mwpbuf_dbg_cn73xx { |
| u64 reserved_49_63 : 15; |
| u64 str_proc : 1; |
| u64 cmd_proc : 1; |
| u64 str_val : 1; |
| u64 mem_data_val : 1; |
| u64 insert_np : 1; |
| u64 insert_mp : 1; |
| u64 sel_nxt_ptr : 1; |
| u64 load_val : 1; |
| u64 rdy : 1; |
| u64 cur_state : 3; |
| u64 mem_rdy : 1; |
| u64 str_rdy : 1; |
| u64 contention_type : 2; |
| u64 reserved_21_32 : 12; |
| u64 mem_wen : 4; |
| u64 reserved_15_16 : 2; |
| u64 mem_addr : 11; |
| u64 mem_en : 4; |
| } cn73xx; |
| struct cvmx_pko_pdm_mwpbuf_dbg_s cn78xx; |
| struct cvmx_pko_pdm_mwpbuf_dbg_s cn78xxp1; |
| struct cvmx_pko_pdm_mwpbuf_dbg_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_mwpbuf_dbg cvmx_pko_pdm_mwpbuf_dbg_t; |
| |
| /** |
| * cvmx_pko_pdm_sts |
| */ |
| union cvmx_pko_pdm_sts { |
| u64 u64; |
| struct cvmx_pko_pdm_sts_s { |
| u64 reserved_38_63 : 26; |
| u64 cp_stalled_thrshld_hit : 1; |
| u64 reserved_35_36 : 2; |
| u64 mwpbuf_data_val_err : 1; |
| u64 drpbuf_data_val_err : 1; |
| u64 dwpbuf_data_val_err : 1; |
| u64 reserved_30_31 : 2; |
| u64 qcmd_iobx_err_sts : 4; |
| u64 qcmd_iobx_err : 1; |
| u64 sendpkt_lmtdma_err_sts : 4; |
| u64 sendpkt_lmtdma_err : 1; |
| u64 sendpkt_lmtst_err_sts : 4; |
| u64 sendpkt_lmtst_err : 1; |
| u64 fpa_no_ptrs : 1; |
| u64 reserved_12_13 : 2; |
| u64 cp_sendpkt_err_no_drp_code : 2; |
| u64 cp_sendpkt_err_no_drp : 1; |
| u64 reserved_7_8 : 2; |
| u64 cp_sendpkt_err_drop_code : 3; |
| u64 cp_sendpkt_err_drop : 1; |
| u64 reserved_1_2 : 2; |
| u64 desc_crc_err : 1; |
| } s; |
| struct cvmx_pko_pdm_sts_s cn73xx; |
| struct cvmx_pko_pdm_sts_s cn78xx; |
| struct cvmx_pko_pdm_sts_s cn78xxp1; |
| struct cvmx_pko_pdm_sts_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pdm_sts cvmx_pko_pdm_sts_t; |
| |
| /** |
| * cvmx_pko_peb_bist_status |
| * |
| * Each bit is the BIST result of an individual memory (per bit, 0 = pass and 1 = fail). |
| * |
| */ |
| union cvmx_pko_peb_bist_status { |
| u64 u64; |
| struct cvmx_pko_peb_bist_status_s { |
| u64 reserved_26_63 : 38; |
| u64 add_work_fifo : 1; |
| u64 pdm_pse_buf_ram : 1; |
| u64 iobp0_fifo_ram : 1; |
| u64 iobp1_fifo_ram : 1; |
| u64 state_mem0 : 1; |
| u64 reserved_19_20 : 2; |
| u64 state_mem3 : 1; |
| u64 iobp1_uid_fifo_ram : 1; |
| u64 nxt_link_ptr_ram : 1; |
| u64 pd_bank0_ram : 1; |
| u64 pd_bank1_ram : 1; |
| u64 pd_bank2_ram : 1; |
| u64 pd_bank3_ram : 1; |
| u64 pd_var_bank_ram : 1; |
| u64 pdm_resp_buf_ram : 1; |
| u64 tx_fifo_pkt_ram : 1; |
| u64 tx_fifo_hdr_ram : 1; |
| u64 tx_fifo_crc_ram : 1; |
| u64 ts_addwork_ram : 1; |
| u64 send_mem_ts_fifo : 1; |
| u64 send_mem_stdn_fifo : 1; |
| u64 send_mem_fifo : 1; |
| u64 pkt_mrk_ram : 1; |
| u64 peb_st_inf_ram : 1; |
| u64 peb_sm_jmp_ram : 1; |
| } s; |
| struct cvmx_pko_peb_bist_status_cn73xx { |
| u64 reserved_26_63 : 38; |
| u64 add_work_fifo : 1; |
| u64 pdm_pse_buf_ram : 1; |
| u64 iobp0_fifo_ram : 1; |
| u64 iobp1_fifo_ram : 1; |
| u64 state_mem0 : 1; |
| u64 reserved_19_20 : 2; |
| u64 state_mem3 : 1; |
| u64 iobp1_uid_fifo_ram : 1; |
| u64 nxt_link_ptr_ram : 1; |
| u64 pd_bank0_ram : 1; |
| u64 reserved_13_14 : 2; |
| u64 pd_bank3_ram : 1; |
| u64 pd_var_bank_ram : 1; |
| u64 pdm_resp_buf_ram : 1; |
| u64 tx_fifo_pkt_ram : 1; |
| u64 tx_fifo_hdr_ram : 1; |
| u64 tx_fifo_crc_ram : 1; |
| u64 ts_addwork_ram : 1; |
| u64 send_mem_ts_fifo : 1; |
| u64 send_mem_stdn_fifo : 1; |
| u64 send_mem_fifo : 1; |
| u64 pkt_mrk_ram : 1; |
| u64 peb_st_inf_ram : 1; |
| u64 reserved_0_0 : 1; |
| } cn73xx; |
| struct cvmx_pko_peb_bist_status_cn73xx cn78xx; |
| struct cvmx_pko_peb_bist_status_s cn78xxp1; |
| struct cvmx_pko_peb_bist_status_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_bist_status cvmx_pko_peb_bist_status_t; |
| |
| /** |
| * cvmx_pko_peb_ecc_ctl0 |
| */ |
| union cvmx_pko_peb_ecc_ctl0 { |
| u64 u64; |
| struct cvmx_pko_peb_ecc_ctl0_s { |
| u64 iobp1_uid_fifo_ram_flip : 2; |
| u64 iobp1_uid_fifo_ram_cdis : 1; |
| u64 iobp0_fifo_ram_flip : 2; |
| u64 iobp0_fifo_ram_cdis : 1; |
| u64 iobp1_fifo_ram_flip : 2; |
| u64 iobp1_fifo_ram_cdis : 1; |
| u64 pdm_resp_buf_ram_flip : 2; |
| u64 pdm_resp_buf_ram_cdis : 1; |
| u64 pdm_pse_buf_ram_flip : 2; |
| u64 pdm_pse_buf_ram_cdis : 1; |
| u64 peb_sm_jmp_ram_flip : 2; |
| u64 peb_sm_jmp_ram_cdis : 1; |
| u64 peb_st_inf_ram_flip : 2; |
| u64 peb_st_inf_ram_cdis : 1; |
| u64 pd_bank3_ram_flip : 2; |
| u64 pd_bank3_ram_cdis : 1; |
| u64 pd_bank2_ram_flip : 2; |
| u64 pd_bank2_ram_cdis : 1; |
| u64 pd_bank1_ram_flip : 2; |
| u64 pd_bank1_ram_cdis : 1; |
| u64 pd_bank0_ram_flip : 2; |
| u64 pd_bank0_ram_cdis : 1; |
| u64 pd_var_bank_ram_flip : 2; |
| u64 pd_var_bank_ram_cdis : 1; |
| u64 tx_fifo_crc_ram_flip : 2; |
| u64 tx_fifo_crc_ram_cdis : 1; |
| u64 tx_fifo_hdr_ram_flip : 2; |
| u64 tx_fifo_hdr_ram_cdis : 1; |
| u64 tx_fifo_pkt_ram_flip : 2; |
| u64 tx_fifo_pkt_ram_cdis : 1; |
| u64 add_work_fifo_flip : 2; |
| u64 add_work_fifo_cdis : 1; |
| u64 send_mem_fifo_flip : 2; |
| u64 send_mem_fifo_cdis : 1; |
| u64 send_mem_stdn_fifo_flip : 2; |
| u64 send_mem_stdn_fifo_cdis : 1; |
| u64 send_mem_ts_fifo_flip : 2; |
| u64 send_mem_ts_fifo_cdis : 1; |
| u64 nxt_link_ptr_ram_flip : 2; |
| u64 nxt_link_ptr_ram_cdis : 1; |
| u64 pkt_mrk_ram_flip : 2; |
| u64 pkt_mrk_ram_cdis : 1; |
| u64 reserved_0_0 : 1; |
| } s; |
| struct cvmx_pko_peb_ecc_ctl0_cn73xx { |
| u64 iobp1_uid_fifo_ram_flip : 2; |
| u64 iobp1_uid_fifo_ram_cdis : 1; |
| u64 iobp0_fifo_ram_flip : 2; |
| u64 iobp0_fifo_ram_cdis : 1; |
| u64 iobp1_fifo_ram_flip : 2; |
| u64 iobp1_fifo_ram_cdis : 1; |
| u64 pdm_resp_buf_ram_flip : 2; |
| u64 pdm_resp_buf_ram_cdis : 1; |
| u64 pdm_pse_buf_ram_flip : 2; |
| u64 pdm_pse_buf_ram_cdis : 1; |
| u64 reserved_46_48 : 3; |
| u64 peb_st_inf_ram_flip : 2; |
| u64 peb_st_inf_ram_cdis : 1; |
| u64 pd_bank3_ram_flip : 2; |
| u64 pd_bank3_ram_cdis : 1; |
| u64 reserved_34_39 : 6; |
| u64 pd_bank0_ram_flip : 2; |
| u64 pd_bank0_ram_cdis : 1; |
| u64 pd_var_bank_ram_flip : 2; |
| u64 pd_var_bank_ram_cdis : 1; |
| u64 tx_fifo_crc_ram_flip : 2; |
| u64 tx_fifo_crc_ram_cdis : 1; |
| u64 tx_fifo_hdr_ram_flip : 2; |
| u64 tx_fifo_hdr_ram_cdis : 1; |
| u64 tx_fifo_pkt_ram_flip : 2; |
| u64 tx_fifo_pkt_ram_cdis : 1; |
| u64 add_work_fifo_flip : 2; |
| u64 add_work_fifo_cdis : 1; |
| u64 send_mem_fifo_flip : 2; |
| u64 send_mem_fifo_cdis : 1; |
| u64 send_mem_stdn_fifo_flip : 2; |
| u64 send_mem_stdn_fifo_cdis : 1; |
| u64 send_mem_ts_fifo_flip : 2; |
| u64 send_mem_ts_fifo_cdis : 1; |
| u64 nxt_link_ptr_ram_flip : 2; |
| u64 nxt_link_ptr_ram_cdis : 1; |
| u64 pkt_mrk_ram_flip : 2; |
| u64 pkt_mrk_ram_cdis : 1; |
| u64 reserved_0_0 : 1; |
| } cn73xx; |
| struct cvmx_pko_peb_ecc_ctl0_cn73xx cn78xx; |
| struct cvmx_pko_peb_ecc_ctl0_s cn78xxp1; |
| struct cvmx_pko_peb_ecc_ctl0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_ecc_ctl0 cvmx_pko_peb_ecc_ctl0_t; |
| |
| /** |
| * cvmx_pko_peb_ecc_ctl1 |
| */ |
| union cvmx_pko_peb_ecc_ctl1 { |
| u64 u64; |
| struct cvmx_pko_peb_ecc_ctl1_s { |
| u64 ts_addwork_ram_flip : 2; |
| u64 ts_addwork_ram_cdis : 1; |
| u64 state_mem0_flip : 2; |
| u64 state_mem0_cdis : 1; |
| u64 reserved_52_57 : 6; |
| u64 state_mem3_flip : 2; |
| u64 state_mem3_cdis : 1; |
| u64 reserved_0_48 : 49; |
| } s; |
| struct cvmx_pko_peb_ecc_ctl1_s cn73xx; |
| struct cvmx_pko_peb_ecc_ctl1_cn78xx { |
| u64 ts_addwork_ram_flip : 2; |
| u64 ts_addwork_ram_cdis : 1; |
| u64 reserved_0_60 : 61; |
| } cn78xx; |
| struct cvmx_pko_peb_ecc_ctl1_cn78xx cn78xxp1; |
| struct cvmx_pko_peb_ecc_ctl1_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_ecc_ctl1 cvmx_pko_peb_ecc_ctl1_t; |
| |
| /** |
| * cvmx_pko_peb_ecc_dbe_sts0 |
| */ |
| union cvmx_pko_peb_ecc_dbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_peb_ecc_dbe_sts0_s { |
| u64 iobp1_uid_fifo_ram_dbe : 1; |
| u64 iobp0_fifo_ram_dbe : 1; |
| u64 iobp1_fifo_ram_dbe : 1; |
| u64 pdm_resp_buf_ram_dbe : 1; |
| u64 pdm_pse_buf_ram_dbe : 1; |
| u64 peb_sm_jmp_ram_dbe : 1; |
| u64 peb_st_inf_ram_dbe : 1; |
| u64 pd_bank3_ram_dbe : 1; |
| u64 pd_bank2_ram_dbe : 1; |
| u64 pd_bank1_ram_dbe : 1; |
| u64 pd_bank0_ram_dbe : 1; |
| u64 pd_var_bank_ram_dbe : 1; |
| u64 tx_fifo_crc_ram_dbe : 1; |
| u64 tx_fifo_hdr_ram_dbe : 1; |
| u64 tx_fifo_pkt_ram_dbe : 1; |
| u64 add_work_fifo_dbe : 1; |
| u64 send_mem_fifo_dbe : 1; |
| u64 send_mem_stdn_fifo_dbe : 1; |
| u64 send_mem_ts_fifo_dbe : 1; |
| u64 nxt_link_ptr_ram_dbe : 1; |
| u64 pkt_mrk_ram_dbe : 1; |
| u64 ts_addwork_ram_dbe : 1; |
| u64 state_mem0_dbe : 1; |
| u64 reserved_39_40 : 2; |
| u64 state_mem3_dbe : 1; |
| u64 reserved_0_37 : 38; |
| } s; |
| struct cvmx_pko_peb_ecc_dbe_sts0_cn73xx { |
| u64 iobp1_uid_fifo_ram_dbe : 1; |
| u64 iobp0_fifo_ram_dbe : 1; |
| u64 iobp1_fifo_ram_dbe : 1; |
| u64 pdm_resp_buf_ram_dbe : 1; |
| u64 pdm_pse_buf_ram_dbe : 1; |
| u64 reserved_58_58 : 1; |
| u64 peb_st_inf_ram_dbe : 1; |
| u64 pd_bank3_ram_dbe : 1; |
| u64 reserved_54_55 : 2; |
| u64 pd_bank0_ram_dbe : 1; |
| u64 pd_var_bank_ram_dbe : 1; |
| u64 tx_fifo_crc_ram_dbe : 1; |
| u64 tx_fifo_hdr_ram_dbe : 1; |
| u64 tx_fifo_pkt_ram_dbe : 1; |
| u64 add_work_fifo_dbe : 1; |
| u64 send_mem_fifo_dbe : 1; |
| u64 send_mem_stdn_fifo_dbe : 1; |
| u64 send_mem_ts_fifo_dbe : 1; |
| u64 nxt_link_ptr_ram_dbe : 1; |
| u64 pkt_mrk_ram_dbe : 1; |
| u64 ts_addwork_ram_dbe : 1; |
| u64 state_mem0_dbe : 1; |
| u64 reserved_39_40 : 2; |
| u64 state_mem3_dbe : 1; |
| u64 reserved_0_37 : 38; |
| } cn73xx; |
| struct cvmx_pko_peb_ecc_dbe_sts0_cn78xx { |
| u64 iobp1_uid_fifo_ram_dbe : 1; |
| u64 iobp0_fifo_ram_dbe : 1; |
| u64 iobp1_fifo_ram_dbe : 1; |
| u64 pdm_resp_buf_ram_dbe : 1; |
| u64 pdm_pse_buf_ram_dbe : 1; |
| u64 reserved_58_58 : 1; |
| u64 peb_st_inf_ram_dbe : 1; |
| u64 pd_bank3_ram_dbe : 1; |
| u64 reserved_54_55 : 2; |
| u64 pd_bank0_ram_dbe : 1; |
| u64 pd_var_bank_ram_dbe : 1; |
| u64 tx_fifo_crc_ram_dbe : 1; |
| u64 tx_fifo_hdr_ram_dbe : 1; |
| u64 tx_fifo_pkt_ram_dbe : 1; |
| u64 add_work_fifo_dbe : 1; |
| u64 send_mem_fifo_dbe : 1; |
| u64 send_mem_stdn_fifo_dbe : 1; |
| u64 send_mem_ts_fifo_dbe : 1; |
| u64 nxt_link_ptr_ram_dbe : 1; |
| u64 pkt_mrk_ram_dbe : 1; |
| u64 ts_addwork_ram_dbe : 1; |
| u64 reserved_0_41 : 42; |
| } cn78xx; |
| struct cvmx_pko_peb_ecc_dbe_sts0_cn78xxp1 { |
| u64 iobp1_uid_fifo_ram_dbe : 1; |
| u64 iobp0_fifo_ram_dbe : 1; |
| u64 iobp1_fifo_ram_dbe : 1; |
| u64 pdm_resp_buf_ram_dbe : 1; |
| u64 pdm_pse_buf_ram_dbe : 1; |
| u64 peb_sm_jmp_ram_dbe : 1; |
| u64 peb_st_inf_ram_dbe : 1; |
| u64 pd_bank3_ram_dbe : 1; |
| u64 pd_bank2_ram_dbe : 1; |
| u64 pd_bank1_ram_dbe : 1; |
| u64 pd_bank0_ram_dbe : 1; |
| u64 pd_var_bank_ram_dbe : 1; |
| u64 tx_fifo_crc_ram_dbe : 1; |
| u64 tx_fifo_hdr_ram_dbe : 1; |
| u64 tx_fifo_pkt_ram_dbe : 1; |
| u64 add_work_fifo_dbe : 1; |
| u64 send_mem_fifo_dbe : 1; |
| u64 send_mem_stdn_fifo_dbe : 1; |
| u64 send_mem_ts_fifo_dbe : 1; |
| u64 nxt_link_ptr_ram_dbe : 1; |
| u64 pkt_mrk_ram_dbe : 1; |
| u64 ts_addwork_ram_dbe : 1; |
| u64 reserved_0_41 : 42; |
| } cn78xxp1; |
| struct cvmx_pko_peb_ecc_dbe_sts0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_ecc_dbe_sts0 cvmx_pko_peb_ecc_dbe_sts0_t; |
| |
| /** |
| * cvmx_pko_peb_ecc_dbe_sts_cmb0 |
| */ |
| union cvmx_pko_peb_ecc_dbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_peb_ecc_dbe_sts_cmb0_s { |
| u64 peb_dbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_peb_ecc_dbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_peb_ecc_dbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_peb_ecc_dbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_peb_ecc_dbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_ecc_dbe_sts_cmb0 cvmx_pko_peb_ecc_dbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_peb_ecc_sbe_sts0 |
| */ |
| union cvmx_pko_peb_ecc_sbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_peb_ecc_sbe_sts0_s { |
| u64 iobp1_uid_fifo_ram_sbe : 1; |
| u64 iobp0_fifo_ram_sbe : 1; |
| u64 iobp1_fifo_ram_sbe : 1; |
| u64 pdm_resp_buf_ram_sbe : 1; |
| u64 pdm_pse_buf_ram_sbe : 1; |
| u64 peb_sm_jmp_ram_sbe : 1; |
| u64 peb_st_inf_ram_sbe : 1; |
| u64 pd_bank3_ram_sbe : 1; |
| u64 pd_bank2_ram_sbe : 1; |
| u64 pd_bank1_ram_sbe : 1; |
| u64 pd_bank0_ram_sbe : 1; |
| u64 pd_var_bank_ram_sbe : 1; |
| u64 tx_fifo_crc_ram_sbe : 1; |
| u64 tx_fifo_hdr_ram_sbe : 1; |
| u64 tx_fifo_pkt_ram_sbe : 1; |
| u64 add_work_fifo_sbe : 1; |
| u64 send_mem_fifo_sbe : 1; |
| u64 send_mem_stdn_fifo_sbe : 1; |
| u64 send_mem_ts_fifo_sbe : 1; |
| u64 nxt_link_ptr_ram_sbe : 1; |
| u64 pkt_mrk_ram_sbe : 1; |
| u64 ts_addwork_ram_sbe : 1; |
| u64 state_mem0_sbe : 1; |
| u64 reserved_39_40 : 2; |
| u64 state_mem3_sbe : 1; |
| u64 reserved_0_37 : 38; |
| } s; |
| struct cvmx_pko_peb_ecc_sbe_sts0_cn73xx { |
| u64 iobp1_uid_fifo_ram_sbe : 1; |
| u64 iobp0_fifo_ram_sbe : 1; |
| u64 iobp1_fifo_ram_sbe : 1; |
| u64 pdm_resp_buf_ram_sbe : 1; |
| u64 pdm_pse_buf_ram_sbe : 1; |
| u64 reserved_58_58 : 1; |
| u64 peb_st_inf_ram_sbe : 1; |
| u64 pd_bank3_ram_sbe : 1; |
| u64 reserved_54_55 : 2; |
| u64 pd_bank0_ram_sbe : 1; |
| u64 pd_var_bank_ram_sbe : 1; |
| u64 tx_fifo_crc_ram_sbe : 1; |
| u64 tx_fifo_hdr_ram_sbe : 1; |
| u64 tx_fifo_pkt_ram_sbe : 1; |
| u64 add_work_fifo_sbe : 1; |
| u64 send_mem_fifo_sbe : 1; |
| u64 send_mem_stdn_fifo_sbe : 1; |
| u64 send_mem_ts_fifo_sbe : 1; |
| u64 nxt_link_ptr_ram_sbe : 1; |
| u64 pkt_mrk_ram_sbe : 1; |
| u64 ts_addwork_ram_sbe : 1; |
| u64 state_mem0_sbe : 1; |
| u64 reserved_39_40 : 2; |
| u64 state_mem3_sbe : 1; |
| u64 reserved_0_37 : 38; |
| } cn73xx; |
| struct cvmx_pko_peb_ecc_sbe_sts0_cn78xx { |
| u64 iobp1_uid_fifo_ram_sbe : 1; |
| u64 iobp0_fifo_ram_sbe : 1; |
| u64 iobp1_fifo_ram_sbe : 1; |
| u64 pdm_resp_buf_ram_sbe : 1; |
| u64 pdm_pse_buf_ram_sbe : 1; |
| u64 reserved_58_58 : 1; |
| u64 peb_st_inf_ram_sbe : 1; |
| u64 pd_bank3_ram_sbe : 1; |
| u64 reserved_54_55 : 2; |
| u64 pd_bank0_ram_sbe : 1; |
| u64 pd_var_bank_ram_sbe : 1; |
| u64 tx_fifo_crc_ram_sbe : 1; |
| u64 tx_fifo_hdr_ram_sbe : 1; |
| u64 tx_fifo_pkt_ram_sbe : 1; |
| u64 add_work_fifo_sbe : 1; |
| u64 send_mem_fifo_sbe : 1; |
| u64 send_mem_stdn_fifo_sbe : 1; |
| u64 send_mem_ts_fifo_sbe : 1; |
| u64 nxt_link_ptr_ram_sbe : 1; |
| u64 pkt_mrk_ram_sbe : 1; |
| u64 ts_addwork_ram_sbe : 1; |
| u64 reserved_0_41 : 42; |
| } cn78xx; |
| struct cvmx_pko_peb_ecc_sbe_sts0_cn78xxp1 { |
| u64 iobp1_uid_fifo_ram_sbe : 1; |
| u64 iobp0_fifo_ram_sbe : 1; |
| u64 iobp1_fifo_ram_sbe : 1; |
| u64 pdm_resp_buf_ram_sbe : 1; |
| u64 pdm_pse_buf_ram_sbe : 1; |
| u64 peb_sm_jmp_ram_sbe : 1; |
| u64 peb_st_inf_ram_sbe : 1; |
| u64 pd_bank3_ram_sbe : 1; |
| u64 pd_bank2_ram_sbe : 1; |
| u64 pd_bank1_ram_sbe : 1; |
| u64 pd_bank0_ram_sbe : 1; |
| u64 pd_var_bank_ram_sbe : 1; |
| u64 tx_fifo_crc_ram_sbe : 1; |
| u64 tx_fifo_hdr_ram_sbe : 1; |
| u64 tx_fifo_pkt_ram_sbe : 1; |
| u64 add_work_fifo_sbe : 1; |
| u64 send_mem_fifo_sbe : 1; |
| u64 send_mem_stdn_fifo_sbe : 1; |
| u64 send_mem_ts_fifo_sbe : 1; |
| u64 nxt_link_ptr_ram_sbe : 1; |
| u64 pkt_mrk_ram_sbe : 1; |
| u64 ts_addwork_ram_sbe : 1; |
| u64 reserved_0_41 : 42; |
| } cn78xxp1; |
| struct cvmx_pko_peb_ecc_sbe_sts0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_ecc_sbe_sts0 cvmx_pko_peb_ecc_sbe_sts0_t; |
| |
| /** |
| * cvmx_pko_peb_ecc_sbe_sts_cmb0 |
| */ |
| union cvmx_pko_peb_ecc_sbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_peb_ecc_sbe_sts_cmb0_s { |
| u64 peb_sbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_peb_ecc_sbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_peb_ecc_sbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_peb_ecc_sbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_peb_ecc_sbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_ecc_sbe_sts_cmb0 cvmx_pko_peb_ecc_sbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_peb_eco |
| */ |
| union cvmx_pko_peb_eco { |
| u64 u64; |
| struct cvmx_pko_peb_eco_s { |
| u64 reserved_32_63 : 32; |
| u64 eco_rw : 32; |
| } s; |
| struct cvmx_pko_peb_eco_s cn73xx; |
| struct cvmx_pko_peb_eco_s cn78xx; |
| struct cvmx_pko_peb_eco_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_eco cvmx_pko_peb_eco_t; |
| |
| /** |
| * cvmx_pko_peb_err_int |
| */ |
| union cvmx_pko_peb_err_int { |
| u64 u64; |
| struct cvmx_pko_peb_err_int_s { |
| u64 reserved_10_63 : 54; |
| u64 peb_macx_cfg_wr_err : 1; |
| u64 peb_max_link_err : 1; |
| u64 peb_subd_size_err : 1; |
| u64 peb_subd_addr_err : 1; |
| u64 peb_trunc_err : 1; |
| u64 peb_pad_err : 1; |
| u64 peb_pse_fifo_err : 1; |
| u64 peb_fcs_sop_err : 1; |
| u64 peb_jump_def_err : 1; |
| u64 peb_ext_hdr_def_err : 1; |
| } s; |
| struct cvmx_pko_peb_err_int_s cn73xx; |
| struct cvmx_pko_peb_err_int_s cn78xx; |
| struct cvmx_pko_peb_err_int_s cn78xxp1; |
| struct cvmx_pko_peb_err_int_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_err_int cvmx_pko_peb_err_int_t; |
| |
| /** |
| * cvmx_pko_peb_ext_hdr_def_err_info |
| */ |
| union cvmx_pko_peb_ext_hdr_def_err_info { |
| u64 u64; |
| struct cvmx_pko_peb_ext_hdr_def_err_info_s { |
| u64 reserved_20_63 : 44; |
| u64 val : 1; |
| u64 fifo : 7; |
| u64 chan : 12; |
| } s; |
| struct cvmx_pko_peb_ext_hdr_def_err_info_s cn73xx; |
| struct cvmx_pko_peb_ext_hdr_def_err_info_s cn78xx; |
| struct cvmx_pko_peb_ext_hdr_def_err_info_s cn78xxp1; |
| struct cvmx_pko_peb_ext_hdr_def_err_info_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_ext_hdr_def_err_info cvmx_pko_peb_ext_hdr_def_err_info_t; |
| |
| /** |
| * cvmx_pko_peb_fcs_sop_err_info |
| */ |
| union cvmx_pko_peb_fcs_sop_err_info { |
| u64 u64; |
| struct cvmx_pko_peb_fcs_sop_err_info_s { |
| u64 reserved_20_63 : 44; |
| u64 val : 1; |
| u64 fifo : 7; |
| u64 chan : 12; |
| } s; |
| struct cvmx_pko_peb_fcs_sop_err_info_s cn73xx; |
| struct cvmx_pko_peb_fcs_sop_err_info_s cn78xx; |
| struct cvmx_pko_peb_fcs_sop_err_info_s cn78xxp1; |
| struct cvmx_pko_peb_fcs_sop_err_info_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_fcs_sop_err_info cvmx_pko_peb_fcs_sop_err_info_t; |
| |
| /** |
| * cvmx_pko_peb_jump_def_err_info |
| */ |
| union cvmx_pko_peb_jump_def_err_info { |
| u64 u64; |
| struct cvmx_pko_peb_jump_def_err_info_s { |
| u64 reserved_20_63 : 44; |
| u64 val : 1; |
| u64 fifo : 7; |
| u64 chan : 12; |
| } s; |
| struct cvmx_pko_peb_jump_def_err_info_s cn73xx; |
| struct cvmx_pko_peb_jump_def_err_info_s cn78xx; |
| struct cvmx_pko_peb_jump_def_err_info_s cn78xxp1; |
| struct cvmx_pko_peb_jump_def_err_info_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_jump_def_err_info cvmx_pko_peb_jump_def_err_info_t; |
| |
| /** |
| * cvmx_pko_peb_macx_cfg_wr_err_info |
| */ |
| union cvmx_pko_peb_macx_cfg_wr_err_info { |
| u64 u64; |
| struct cvmx_pko_peb_macx_cfg_wr_err_info_s { |
| u64 reserved_8_63 : 56; |
| u64 val : 1; |
| u64 mac : 7; |
| } s; |
| struct cvmx_pko_peb_macx_cfg_wr_err_info_s cn73xx; |
| struct cvmx_pko_peb_macx_cfg_wr_err_info_s cn78xx; |
| struct cvmx_pko_peb_macx_cfg_wr_err_info_s cn78xxp1; |
| struct cvmx_pko_peb_macx_cfg_wr_err_info_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_macx_cfg_wr_err_info cvmx_pko_peb_macx_cfg_wr_err_info_t; |
| |
| /** |
| * cvmx_pko_peb_max_link_err_info |
| */ |
| union cvmx_pko_peb_max_link_err_info { |
| u64 u64; |
| struct cvmx_pko_peb_max_link_err_info_s { |
| u64 reserved_20_63 : 44; |
| u64 val : 1; |
| u64 fifo : 7; |
| u64 chan : 12; |
| } s; |
| struct cvmx_pko_peb_max_link_err_info_s cn73xx; |
| struct cvmx_pko_peb_max_link_err_info_s cn78xx; |
| struct cvmx_pko_peb_max_link_err_info_s cn78xxp1; |
| struct cvmx_pko_peb_max_link_err_info_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_max_link_err_info cvmx_pko_peb_max_link_err_info_t; |
| |
| /** |
| * cvmx_pko_peb_ncb_cfg |
| */ |
| union cvmx_pko_peb_ncb_cfg { |
| u64 u64; |
| struct cvmx_pko_peb_ncb_cfg_s { |
| u64 reserved_1_63 : 63; |
| u64 rstp : 1; |
| } s; |
| struct cvmx_pko_peb_ncb_cfg_s cn73xx; |
| struct cvmx_pko_peb_ncb_cfg_s cn78xx; |
| struct cvmx_pko_peb_ncb_cfg_s cn78xxp1; |
| struct cvmx_pko_peb_ncb_cfg_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_ncb_cfg cvmx_pko_peb_ncb_cfg_t; |
| |
| /** |
| * cvmx_pko_peb_pad_err_info |
| */ |
| union cvmx_pko_peb_pad_err_info { |
| u64 u64; |
| struct cvmx_pko_peb_pad_err_info_s { |
| u64 reserved_20_63 : 44; |
| u64 val : 1; |
| u64 fifo : 7; |
| u64 chan : 12; |
| } s; |
| struct cvmx_pko_peb_pad_err_info_s cn73xx; |
| struct cvmx_pko_peb_pad_err_info_s cn78xx; |
| struct cvmx_pko_peb_pad_err_info_s cn78xxp1; |
| struct cvmx_pko_peb_pad_err_info_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_pad_err_info cvmx_pko_peb_pad_err_info_t; |
| |
| /** |
| * cvmx_pko_peb_pse_fifo_err_info |
| */ |
| union cvmx_pko_peb_pse_fifo_err_info { |
| u64 u64; |
| struct cvmx_pko_peb_pse_fifo_err_info_s { |
| u64 reserved_25_63 : 39; |
| u64 link : 5; |
| u64 val : 1; |
| u64 fifo : 7; |
| u64 chan : 12; |
| } s; |
| struct cvmx_pko_peb_pse_fifo_err_info_cn73xx { |
| u64 reserved_20_63 : 44; |
| u64 val : 1; |
| u64 fifo : 7; |
| u64 chan : 12; |
| } cn73xx; |
| struct cvmx_pko_peb_pse_fifo_err_info_s cn78xx; |
| struct cvmx_pko_peb_pse_fifo_err_info_cn73xx cn78xxp1; |
| struct cvmx_pko_peb_pse_fifo_err_info_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_pse_fifo_err_info cvmx_pko_peb_pse_fifo_err_info_t; |
| |
| /** |
| * cvmx_pko_peb_subd_addr_err_info |
| */ |
| union cvmx_pko_peb_subd_addr_err_info { |
| u64 u64; |
| struct cvmx_pko_peb_subd_addr_err_info_s { |
| u64 reserved_20_63 : 44; |
| u64 val : 1; |
| u64 fifo : 7; |
| u64 chan : 12; |
| } s; |
| struct cvmx_pko_peb_subd_addr_err_info_s cn73xx; |
| struct cvmx_pko_peb_subd_addr_err_info_s cn78xx; |
| struct cvmx_pko_peb_subd_addr_err_info_s cn78xxp1; |
| struct cvmx_pko_peb_subd_addr_err_info_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_subd_addr_err_info cvmx_pko_peb_subd_addr_err_info_t; |
| |
| /** |
| * cvmx_pko_peb_subd_size_err_info |
| */ |
| union cvmx_pko_peb_subd_size_err_info { |
| u64 u64; |
| struct cvmx_pko_peb_subd_size_err_info_s { |
| u64 reserved_20_63 : 44; |
| u64 val : 1; |
| u64 fifo : 7; |
| u64 chan : 12; |
| } s; |
| struct cvmx_pko_peb_subd_size_err_info_s cn73xx; |
| struct cvmx_pko_peb_subd_size_err_info_s cn78xx; |
| struct cvmx_pko_peb_subd_size_err_info_s cn78xxp1; |
| struct cvmx_pko_peb_subd_size_err_info_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_subd_size_err_info cvmx_pko_peb_subd_size_err_info_t; |
| |
| /** |
| * cvmx_pko_peb_trunc_err_info |
| */ |
| union cvmx_pko_peb_trunc_err_info { |
| u64 u64; |
| struct cvmx_pko_peb_trunc_err_info_s { |
| u64 reserved_20_63 : 44; |
| u64 val : 1; |
| u64 fifo : 7; |
| u64 chan : 12; |
| } s; |
| struct cvmx_pko_peb_trunc_err_info_s cn73xx; |
| struct cvmx_pko_peb_trunc_err_info_s cn78xx; |
| struct cvmx_pko_peb_trunc_err_info_s cn78xxp1; |
| struct cvmx_pko_peb_trunc_err_info_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_trunc_err_info cvmx_pko_peb_trunc_err_info_t; |
| |
| /** |
| * cvmx_pko_peb_tso_cfg |
| */ |
| union cvmx_pko_peb_tso_cfg { |
| u64 u64; |
| struct cvmx_pko_peb_tso_cfg_s { |
| u64 reserved_44_63 : 20; |
| u64 fsf : 12; |
| u64 reserved_28_31 : 4; |
| u64 msf : 12; |
| u64 reserved_12_15 : 4; |
| u64 lsf : 12; |
| } s; |
| struct cvmx_pko_peb_tso_cfg_s cn73xx; |
| struct cvmx_pko_peb_tso_cfg_s cn78xx; |
| struct cvmx_pko_peb_tso_cfg_s cn78xxp1; |
| struct cvmx_pko_peb_tso_cfg_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_peb_tso_cfg cvmx_pko_peb_tso_cfg_t; |
| |
| /** |
| * cvmx_pko_pq_csr_bus_debug |
| */ |
| union cvmx_pko_pq_csr_bus_debug { |
| u64 u64; |
| struct cvmx_pko_pq_csr_bus_debug_s { |
| u64 csr_bus_debug : 64; |
| } s; |
| struct cvmx_pko_pq_csr_bus_debug_s cn73xx; |
| struct cvmx_pko_pq_csr_bus_debug_s cn78xx; |
| struct cvmx_pko_pq_csr_bus_debug_s cn78xxp1; |
| struct cvmx_pko_pq_csr_bus_debug_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pq_csr_bus_debug cvmx_pko_pq_csr_bus_debug_t; |
| |
| /** |
| * cvmx_pko_pq_debug_green |
| */ |
| union cvmx_pko_pq_debug_green { |
| u64 u64; |
| struct cvmx_pko_pq_debug_green_s { |
| u64 g_valid : 32; |
| u64 cred_ok_n : 32; |
| } s; |
| struct cvmx_pko_pq_debug_green_s cn73xx; |
| struct cvmx_pko_pq_debug_green_s cn78xx; |
| struct cvmx_pko_pq_debug_green_s cn78xxp1; |
| struct cvmx_pko_pq_debug_green_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pq_debug_green cvmx_pko_pq_debug_green_t; |
| |
| /** |
| * cvmx_pko_pq_debug_links |
| */ |
| union cvmx_pko_pq_debug_links { |
| u64 u64; |
| struct cvmx_pko_pq_debug_links_s { |
| u64 links_ready : 32; |
| u64 peb_lnk_rdy_ir : 32; |
| } s; |
| struct cvmx_pko_pq_debug_links_s cn73xx; |
| struct cvmx_pko_pq_debug_links_s cn78xx; |
| struct cvmx_pko_pq_debug_links_s cn78xxp1; |
| struct cvmx_pko_pq_debug_links_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pq_debug_links cvmx_pko_pq_debug_links_t; |
| |
| /** |
| * cvmx_pko_pq_debug_yellow |
| */ |
| union cvmx_pko_pq_debug_yellow { |
| u64 u64; |
| struct cvmx_pko_pq_debug_yellow_s { |
| u64 y_valid : 32; |
| u64 reserved_28_31 : 4; |
| u64 link_vv : 28; |
| } s; |
| struct cvmx_pko_pq_debug_yellow_s cn73xx; |
| struct cvmx_pko_pq_debug_yellow_s cn78xx; |
| struct cvmx_pko_pq_debug_yellow_s cn78xxp1; |
| struct cvmx_pko_pq_debug_yellow_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pq_debug_yellow cvmx_pko_pq_debug_yellow_t; |
| |
| /** |
| * cvmx_pko_pqa_debug |
| */ |
| union cvmx_pko_pqa_debug { |
| u64 u64; |
| struct cvmx_pko_pqa_debug_s { |
| u64 dbg_vec : 64; |
| } s; |
| struct cvmx_pko_pqa_debug_s cn73xx; |
| struct cvmx_pko_pqa_debug_s cn78xx; |
| struct cvmx_pko_pqa_debug_s cn78xxp1; |
| struct cvmx_pko_pqa_debug_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pqa_debug cvmx_pko_pqa_debug_t; |
| |
| /** |
| * cvmx_pko_pqb_debug |
| * |
| * This register has the same bit fields as PKO_PQA_DEBUG. |
| * |
| */ |
| union cvmx_pko_pqb_debug { |
| u64 u64; |
| struct cvmx_pko_pqb_debug_s { |
| u64 dbg_vec : 64; |
| } s; |
| struct cvmx_pko_pqb_debug_s cn73xx; |
| struct cvmx_pko_pqb_debug_s cn78xx; |
| struct cvmx_pko_pqb_debug_s cn78xxp1; |
| struct cvmx_pko_pqb_debug_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pqb_debug cvmx_pko_pqb_debug_t; |
| |
| /** |
| * cvmx_pko_pse_dq_bist_status |
| * |
| * Each bit is the BIST result of an individual memory (per bit, 0 = pass and 1 = fail). |
| * |
| */ |
| union cvmx_pko_pse_dq_bist_status { |
| u64 u64; |
| struct cvmx_pko_pse_dq_bist_status_s { |
| u64 reserved_8_63 : 56; |
| u64 rt7_sram : 1; |
| u64 rt6_sram : 1; |
| u64 rt5_sram : 1; |
| u64 reserved_4_4 : 1; |
| u64 rt3_sram : 1; |
| u64 rt2_sram : 1; |
| u64 rt1_sram : 1; |
| u64 rt0_sram : 1; |
| } s; |
| struct cvmx_pko_pse_dq_bist_status_cn73xx { |
| u64 reserved_5_63 : 59; |
| u64 wt_sram : 1; |
| u64 reserved_2_3 : 2; |
| u64 rt1_sram : 1; |
| u64 rt0_sram : 1; |
| } cn73xx; |
| struct cvmx_pko_pse_dq_bist_status_cn78xx { |
| u64 reserved_9_63 : 55; |
| u64 wt_sram : 1; |
| u64 rt7_sram : 1; |
| u64 rt6_sram : 1; |
| u64 rt5_sram : 1; |
| u64 rt4_sram : 1; |
| u64 rt3_sram : 1; |
| u64 rt2_sram : 1; |
| u64 rt1_sram : 1; |
| u64 rt0_sram : 1; |
| } cn78xx; |
| struct cvmx_pko_pse_dq_bist_status_cn78xx cn78xxp1; |
| struct cvmx_pko_pse_dq_bist_status_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_dq_bist_status cvmx_pko_pse_dq_bist_status_t; |
| |
| /** |
| * cvmx_pko_pse_dq_ecc_ctl0 |
| */ |
| union cvmx_pko_pse_dq_ecc_ctl0 { |
| u64 u64; |
| struct cvmx_pko_pse_dq_ecc_ctl0_s { |
| u64 dq_wt_ram_flip : 2; |
| u64 dq_wt_ram_cdis : 1; |
| u64 dq_rt7_flip : 2; |
| u64 dq_rt7_cdis : 1; |
| u64 dq_rt6_flip : 2; |
| u64 dq_rt6_cdis : 1; |
| u64 dq_rt5_flip : 2; |
| u64 dq_rt5_cdis : 1; |
| u64 dq_rt4_flip : 2; |
| u64 dq_rt4_cdis : 1; |
| u64 dq_rt3_flip : 2; |
| u64 dq_rt3_cdis : 1; |
| u64 dq_rt2_flip : 2; |
| u64 dq_rt2_cdis : 1; |
| u64 dq_rt1_flip : 2; |
| u64 dq_rt1_cdis : 1; |
| u64 dq_rt0_flip : 2; |
| u64 dq_rt0_cdis : 1; |
| u64 reserved_0_36 : 37; |
| } s; |
| struct cvmx_pko_pse_dq_ecc_ctl0_cn73xx { |
| u64 dq_wt_ram_flip : 2; |
| u64 dq_wt_ram_cdis : 1; |
| u64 reserved_43_60 : 18; |
| u64 dq_rt1_flip : 2; |
| u64 dq_rt1_cdis : 1; |
| u64 dq_rt0_flip : 2; |
| u64 dq_rt0_cdis : 1; |
| u64 reserved_0_36 : 37; |
| } cn73xx; |
| struct cvmx_pko_pse_dq_ecc_ctl0_s cn78xx; |
| struct cvmx_pko_pse_dq_ecc_ctl0_s cn78xxp1; |
| struct cvmx_pko_pse_dq_ecc_ctl0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_dq_ecc_ctl0 cvmx_pko_pse_dq_ecc_ctl0_t; |
| |
| /** |
| * cvmx_pko_pse_dq_ecc_dbe_sts0 |
| */ |
| union cvmx_pko_pse_dq_ecc_dbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pse_dq_ecc_dbe_sts0_s { |
| u64 dq_wt_ram_dbe : 1; |
| u64 dq_rt7_dbe : 1; |
| u64 dq_rt6_dbe : 1; |
| u64 dq_rt5_dbe : 1; |
| u64 dq_rt4_dbe : 1; |
| u64 dq_rt3_dbe : 1; |
| u64 dq_rt2_dbe : 1; |
| u64 dq_rt1_dbe : 1; |
| u64 dq_rt0_dbe : 1; |
| u64 reserved_0_54 : 55; |
| } s; |
| struct cvmx_pko_pse_dq_ecc_dbe_sts0_cn73xx { |
| u64 dq_wt_ram_dbe : 1; |
| u64 reserved_57_62 : 6; |
| u64 dq_rt1_dbe : 1; |
| u64 dq_rt0_dbe : 1; |
| u64 reserved_0_54 : 55; |
| } cn73xx; |
| struct cvmx_pko_pse_dq_ecc_dbe_sts0_s cn78xx; |
| struct cvmx_pko_pse_dq_ecc_dbe_sts0_s cn78xxp1; |
| struct cvmx_pko_pse_dq_ecc_dbe_sts0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_dq_ecc_dbe_sts0 cvmx_pko_pse_dq_ecc_dbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pse_dq_ecc_dbe_sts_cmb0 |
| */ |
| union cvmx_pko_pse_dq_ecc_dbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pse_dq_ecc_dbe_sts_cmb0_s { |
| u64 pse_dq_dbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pse_dq_ecc_dbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_pse_dq_ecc_dbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pse_dq_ecc_dbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_pse_dq_ecc_dbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_dq_ecc_dbe_sts_cmb0 cvmx_pko_pse_dq_ecc_dbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pse_dq_ecc_sbe_sts0 |
| */ |
| union cvmx_pko_pse_dq_ecc_sbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pse_dq_ecc_sbe_sts0_s { |
| u64 dq_wt_ram_sbe : 1; |
| u64 dq_rt7_sbe : 1; |
| u64 dq_rt6_sbe : 1; |
| u64 dq_rt5_sbe : 1; |
| u64 dq_rt4_sbe : 1; |
| u64 dq_rt3_sbe : 1; |
| u64 dq_rt2_sbe : 1; |
| u64 dq_rt1_sbe : 1; |
| u64 dq_rt0_sbe : 1; |
| u64 reserved_0_54 : 55; |
| } s; |
| struct cvmx_pko_pse_dq_ecc_sbe_sts0_cn73xx { |
| u64 dq_wt_ram_sbe : 1; |
| u64 reserved_57_62 : 6; |
| u64 dq_rt1_sbe : 1; |
| u64 dq_rt0_sbe : 1; |
| u64 reserved_0_54 : 55; |
| } cn73xx; |
| struct cvmx_pko_pse_dq_ecc_sbe_sts0_s cn78xx; |
| struct cvmx_pko_pse_dq_ecc_sbe_sts0_s cn78xxp1; |
| struct cvmx_pko_pse_dq_ecc_sbe_sts0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_dq_ecc_sbe_sts0 cvmx_pko_pse_dq_ecc_sbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pse_dq_ecc_sbe_sts_cmb0 |
| */ |
| union cvmx_pko_pse_dq_ecc_sbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pse_dq_ecc_sbe_sts_cmb0_s { |
| u64 pse_dq_sbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pse_dq_ecc_sbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_pse_dq_ecc_sbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pse_dq_ecc_sbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_pse_dq_ecc_sbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_dq_ecc_sbe_sts_cmb0 cvmx_pko_pse_dq_ecc_sbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pse_pq_bist_status |
| * |
| * Each bit is the BIST result of an individual memory (per bit, 0 = pass and 1 = fail). |
| * |
| */ |
| union cvmx_pko_pse_pq_bist_status { |
| u64 u64; |
| struct cvmx_pko_pse_pq_bist_status_s { |
| u64 reserved_15_63 : 49; |
| u64 tp_sram : 1; |
| u64 irq_fifo_sram : 1; |
| u64 wmd_sram : 1; |
| u64 wms_sram : 1; |
| u64 cxd_sram : 1; |
| u64 dqd_sram : 1; |
| u64 dqs_sram : 1; |
| u64 pqd_sram : 1; |
| u64 pqr_sram : 1; |
| u64 pqy_sram : 1; |
| u64 pqg_sram : 1; |
| u64 std_sram : 1; |
| u64 st_sram : 1; |
| u64 reserved_1_1 : 1; |
| u64 cxs_sram : 1; |
| } s; |
| struct cvmx_pko_pse_pq_bist_status_cn73xx { |
| u64 reserved_15_63 : 49; |
| u64 tp_sram : 1; |
| u64 reserved_13_13 : 1; |
| u64 wmd_sram : 1; |
| u64 reserved_11_11 : 1; |
| u64 cxd_sram : 1; |
| u64 dqd_sram : 1; |
| u64 dqs_sram : 1; |
| u64 pqd_sram : 1; |
| u64 pqr_sram : 1; |
| u64 pqy_sram : 1; |
| u64 pqg_sram : 1; |
| u64 std_sram : 1; |
| u64 st_sram : 1; |
| u64 reserved_1_1 : 1; |
| u64 cxs_sram : 1; |
| } cn73xx; |
| struct cvmx_pko_pse_pq_bist_status_s cn78xx; |
| struct cvmx_pko_pse_pq_bist_status_s cn78xxp1; |
| struct cvmx_pko_pse_pq_bist_status_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_pq_bist_status cvmx_pko_pse_pq_bist_status_t; |
| |
| /** |
| * cvmx_pko_pse_pq_ecc_ctl0 |
| */ |
| union cvmx_pko_pse_pq_ecc_ctl0 { |
| u64 u64; |
| struct cvmx_pko_pse_pq_ecc_ctl0_s { |
| u64 pq_cxs_ram_flip : 2; |
| u64 pq_cxs_ram_cdis : 1; |
| u64 pq_cxd_ram_flip : 2; |
| u64 pq_cxd_ram_cdis : 1; |
| u64 irq_fifo_sram_flip : 2; |
| u64 irq_fifo_sram_cdis : 1; |
| u64 tp_sram_flip : 2; |
| u64 tp_sram_cdis : 1; |
| u64 pq_std_ram_flip : 2; |
| u64 pq_std_ram_cdis : 1; |
| u64 pq_st_ram_flip : 2; |
| u64 pq_st_ram_cdis : 1; |
| u64 pq_wmd_ram_flip : 2; |
| u64 pq_wmd_ram_cdis : 1; |
| u64 pq_wms_ram_flip : 2; |
| u64 pq_wms_ram_cdis : 1; |
| u64 reserved_0_39 : 40; |
| } s; |
| struct cvmx_pko_pse_pq_ecc_ctl0_cn73xx { |
| u64 pq_cxs_ram_flip : 2; |
| u64 pq_cxs_ram_cdis : 1; |
| u64 pq_cxd_ram_flip : 2; |
| u64 pq_cxd_ram_cdis : 1; |
| u64 reserved_55_57 : 3; |
| u64 tp_sram_flip : 2; |
| u64 tp_sram_cdis : 1; |
| u64 pq_std_ram_flip : 2; |
| u64 pq_std_ram_cdis : 1; |
| u64 pq_st_ram_flip : 2; |
| u64 pq_st_ram_cdis : 1; |
| u64 pq_wmd_ram_flip : 2; |
| u64 pq_wmd_ram_cdis : 1; |
| u64 reserved_0_42 : 43; |
| } cn73xx; |
| struct cvmx_pko_pse_pq_ecc_ctl0_s cn78xx; |
| struct cvmx_pko_pse_pq_ecc_ctl0_s cn78xxp1; |
| struct cvmx_pko_pse_pq_ecc_ctl0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_pq_ecc_ctl0 cvmx_pko_pse_pq_ecc_ctl0_t; |
| |
| /** |
| * cvmx_pko_pse_pq_ecc_dbe_sts0 |
| */ |
| union cvmx_pko_pse_pq_ecc_dbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pse_pq_ecc_dbe_sts0_s { |
| u64 pq_cxs_ram_dbe : 1; |
| u64 pq_cxd_ram_dbe : 1; |
| u64 irq_fifo_sram_dbe : 1; |
| u64 tp_sram_dbe : 1; |
| u64 pq_std_ram_dbe : 1; |
| u64 pq_st_ram_dbe : 1; |
| u64 pq_wmd_ram_dbe : 1; |
| u64 pq_wms_ram_dbe : 1; |
| u64 reserved_0_55 : 56; |
| } s; |
| struct cvmx_pko_pse_pq_ecc_dbe_sts0_cn73xx { |
| u64 pq_cxs_ram_dbe : 1; |
| u64 pq_cxd_ram_dbe : 1; |
| u64 reserved_61_61 : 1; |
| u64 tp_sram_dbe : 1; |
| u64 pq_std_ram_dbe : 1; |
| u64 pq_st_ram_dbe : 1; |
| u64 pq_wmd_ram_dbe : 1; |
| u64 reserved_0_56 : 57; |
| } cn73xx; |
| struct cvmx_pko_pse_pq_ecc_dbe_sts0_s cn78xx; |
| struct cvmx_pko_pse_pq_ecc_dbe_sts0_s cn78xxp1; |
| struct cvmx_pko_pse_pq_ecc_dbe_sts0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_pq_ecc_dbe_sts0 cvmx_pko_pse_pq_ecc_dbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pse_pq_ecc_dbe_sts_cmb0 |
| */ |
| union cvmx_pko_pse_pq_ecc_dbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pse_pq_ecc_dbe_sts_cmb0_s { |
| u64 pse_pq_dbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pse_pq_ecc_dbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_pse_pq_ecc_dbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pse_pq_ecc_dbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_pse_pq_ecc_dbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_pq_ecc_dbe_sts_cmb0 cvmx_pko_pse_pq_ecc_dbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pse_pq_ecc_sbe_sts0 |
| */ |
| union cvmx_pko_pse_pq_ecc_sbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pse_pq_ecc_sbe_sts0_s { |
| u64 pq_cxs_ram_sbe : 1; |
| u64 pq_cxd_ram_sbe : 1; |
| u64 irq_fifo_sram_sbe : 1; |
| u64 tp_sram_sbe : 1; |
| u64 pq_std_ram_sbe : 1; |
| u64 pq_st_ram_sbe : 1; |
| u64 pq_wmd_ram_sbe : 1; |
| u64 pq_wms_ram_sbe : 1; |
| u64 reserved_0_55 : 56; |
| } s; |
| struct cvmx_pko_pse_pq_ecc_sbe_sts0_cn73xx { |
| u64 pq_cxs_ram_sbe : 1; |
| u64 pq_cxd_ram_sbe : 1; |
| u64 reserved_61_61 : 1; |
| u64 tp_sram_sbe : 1; |
| u64 pq_std_ram_sbe : 1; |
| u64 pq_st_ram_sbe : 1; |
| u64 pq_wmd_ram_sbe : 1; |
| u64 reserved_0_56 : 57; |
| } cn73xx; |
| struct cvmx_pko_pse_pq_ecc_sbe_sts0_s cn78xx; |
| struct cvmx_pko_pse_pq_ecc_sbe_sts0_s cn78xxp1; |
| struct cvmx_pko_pse_pq_ecc_sbe_sts0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_pq_ecc_sbe_sts0 cvmx_pko_pse_pq_ecc_sbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pse_pq_ecc_sbe_sts_cmb0 |
| */ |
| union cvmx_pko_pse_pq_ecc_sbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pse_pq_ecc_sbe_sts_cmb0_s { |
| u64 pse_pq_sbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pse_pq_ecc_sbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_pse_pq_ecc_sbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pse_pq_ecc_sbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_pse_pq_ecc_sbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_pq_ecc_sbe_sts_cmb0 cvmx_pko_pse_pq_ecc_sbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pse_sq1_bist_status |
| * |
| * Each bit is the BIST result of an individual memory (per bit, 0 = pass and 1 = fail). |
| * |
| */ |
| union cvmx_pko_pse_sq1_bist_status { |
| u64 u64; |
| struct cvmx_pko_pse_sq1_bist_status_s { |
| u64 reserved_29_63 : 35; |
| u64 sc_sram : 1; |
| u64 pc_sram : 1; |
| u64 xon_sram : 1; |
| u64 cc_sram : 1; |
| u64 vc1_sram : 1; |
| u64 vc0_sram : 1; |
| u64 reserved_21_22 : 2; |
| u64 tp1_sram : 1; |
| u64 tp0_sram : 1; |
| u64 xo_sram : 1; |
| u64 rt_sram : 1; |
| u64 reserved_9_16 : 8; |
| u64 tw1_cmd_fifo : 1; |
| u64 std_sram : 1; |
| u64 sts_sram : 1; |
| u64 tw0_cmd_fifo : 1; |
| u64 cxd_sram : 1; |
| u64 cxs_sram : 1; |
| u64 nt_sram : 1; |
| u64 pt_sram : 1; |
| u64 wt_sram : 1; |
| } s; |
| struct cvmx_pko_pse_sq1_bist_status_cn73xx { |
| u64 reserved_29_63 : 35; |
| u64 sc_sram : 1; |
| u64 pc_sram : 1; |
| u64 xon_sram : 1; |
| u64 cc_sram : 1; |
| u64 vc1_sram : 1; |
| u64 vc0_sram : 1; |
| u64 reserved_20_22 : 3; |
| u64 tp0_sram : 1; |
| u64 xo_sram : 1; |
| u64 rt_sram : 1; |
| u64 reserved_9_16 : 8; |
| u64 tw1_cmd_fifo : 1; |
| u64 std_sram : 1; |
| u64 sts_sram : 1; |
| u64 tw0_cmd_fifo : 1; |
| u64 cxd_sram : 1; |
| u64 cxs_sram : 1; |
| u64 nt_sram : 1; |
| u64 pt_sram : 1; |
| u64 wt_sram : 1; |
| } cn73xx; |
| struct cvmx_pko_pse_sq1_bist_status_s cn78xx; |
| struct cvmx_pko_pse_sq1_bist_status_s cn78xxp1; |
| struct cvmx_pko_pse_sq1_bist_status_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq1_bist_status cvmx_pko_pse_sq1_bist_status_t; |
| |
| /** |
| * cvmx_pko_pse_sq1_ecc_ctl0 |
| */ |
| union cvmx_pko_pse_sq1_ecc_ctl0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq1_ecc_ctl0_s { |
| u64 cxs_ram_flip : 2; |
| u64 cxs_ram_cdis : 1; |
| u64 cxd_ram_flip : 2; |
| u64 cxd_ram_cdis : 1; |
| u64 vc1_sram_flip : 2; |
| u64 vc1_sram_cdis : 1; |
| u64 vc0_sram_flip : 2; |
| u64 vc0_sram_cdis : 1; |
| u64 sq_pt_ram_flip : 2; |
| u64 sq_pt_ram_cdis : 1; |
| u64 sq_nt_ram_flip : 2; |
| u64 sq_nt_ram_cdis : 1; |
| u64 rt_ram_flip : 2; |
| u64 rt_ram_cdis : 1; |
| u64 pc_ram_flip : 2; |
| u64 pc_ram_cdis : 1; |
| u64 tw1_cmd_fifo_ram_flip : 2; |
| u64 tw1_cmd_fifo_ram_cdis : 1; |
| u64 tw0_cmd_fifo_ram_flip : 2; |
| u64 tw0_cmd_fifo_ram_cdis : 1; |
| u64 tp1_sram_flip : 2; |
| u64 tp1_sram_cdis : 1; |
| u64 tp0_sram_flip : 2; |
| u64 tp0_sram_cdis : 1; |
| u64 sts1_ram_flip : 2; |
| u64 sts1_ram_cdis : 1; |
| u64 sts0_ram_flip : 2; |
| u64 sts0_ram_cdis : 1; |
| u64 std1_ram_flip : 2; |
| u64 std1_ram_cdis : 1; |
| u64 std0_ram_flip : 2; |
| u64 std0_ram_cdis : 1; |
| u64 wt_ram_flip : 2; |
| u64 wt_ram_cdis : 1; |
| u64 sc_ram_flip : 2; |
| u64 sc_ram_cdis : 1; |
| u64 reserved_0_9 : 10; |
| } s; |
| struct cvmx_pko_pse_sq1_ecc_ctl0_cn73xx { |
| u64 cxs_ram_flip : 2; |
| u64 cxs_ram_cdis : 1; |
| u64 cxd_ram_flip : 2; |
| u64 cxd_ram_cdis : 1; |
| u64 reserved_55_57 : 3; |
| u64 vc0_sram_flip : 2; |
| u64 vc0_sram_cdis : 1; |
| u64 sq_pt_ram_flip : 2; |
| u64 sq_pt_ram_cdis : 1; |
| u64 sq_nt_ram_flip : 2; |
| u64 sq_nt_ram_cdis : 1; |
| u64 rt_ram_flip : 2; |
| u64 rt_ram_cdis : 1; |
| u64 pc_ram_flip : 2; |
| u64 pc_ram_cdis : 1; |
| u64 reserved_37_39 : 3; |
| u64 tw0_cmd_fifo_ram_flip : 2; |
| u64 tw0_cmd_fifo_ram_cdis : 1; |
| u64 reserved_31_33 : 3; |
| u64 tp0_sram_flip : 2; |
| u64 tp0_sram_cdis : 1; |
| u64 reserved_25_27 : 3; |
| u64 sts0_ram_flip : 2; |
| u64 sts0_ram_cdis : 1; |
| u64 reserved_19_21 : 3; |
| u64 std0_ram_flip : 2; |
| u64 std0_ram_cdis : 1; |
| u64 wt_ram_flip : 2; |
| u64 wt_ram_cdis : 1; |
| u64 sc_ram_flip : 2; |
| u64 sc_ram_cdis : 1; |
| u64 reserved_0_9 : 10; |
| } cn73xx; |
| struct cvmx_pko_pse_sq1_ecc_ctl0_s cn78xx; |
| struct cvmx_pko_pse_sq1_ecc_ctl0_s cn78xxp1; |
| struct cvmx_pko_pse_sq1_ecc_ctl0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq1_ecc_ctl0 cvmx_pko_pse_sq1_ecc_ctl0_t; |
| |
| /** |
| * cvmx_pko_pse_sq1_ecc_dbe_sts0 |
| */ |
| union cvmx_pko_pse_sq1_ecc_dbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq1_ecc_dbe_sts0_s { |
| u64 cxs_ram_dbe : 1; |
| u64 cxd_ram_dbe : 1; |
| u64 vc1_sram_dbe : 1; |
| u64 vc0_sram_dbe : 1; |
| u64 sq_pt_ram_dbe : 1; |
| u64 sq_nt_ram_dbe : 1; |
| u64 rt_ram_dbe : 1; |
| u64 pc_ram_dbe : 1; |
| u64 tw1_cmd_fifo_ram_dbe : 1; |
| u64 tw0_cmd_fifo_ram_dbe : 1; |
| u64 tp1_sram_dbe : 1; |
| u64 tp0_sram_dbe : 1; |
| u64 sts1_ram_dbe : 1; |
| u64 sts0_ram_dbe : 1; |
| u64 std1_ram_dbe : 1; |
| u64 std0_ram_dbe : 1; |
| u64 wt_ram_dbe : 1; |
| u64 sc_ram_dbe : 1; |
| u64 reserved_0_45 : 46; |
| } s; |
| struct cvmx_pko_pse_sq1_ecc_dbe_sts0_cn73xx { |
| u64 cxs_ram_dbe : 1; |
| u64 cxd_ram_dbe : 1; |
| u64 reserved_61_61 : 1; |
| u64 vc0_sram_dbe : 1; |
| u64 sq_pt_ram_dbe : 1; |
| u64 sq_nt_ram_dbe : 1; |
| u64 rt_ram_dbe : 1; |
| u64 pc_ram_dbe : 1; |
| u64 reserved_55_55 : 1; |
| u64 tw0_cmd_fifo_ram_dbe : 1; |
| u64 reserved_53_53 : 1; |
| u64 tp0_sram_dbe : 1; |
| u64 reserved_51_51 : 1; |
| u64 sts0_ram_dbe : 1; |
| u64 reserved_49_49 : 1; |
| u64 std0_ram_dbe : 1; |
| u64 wt_ram_dbe : 1; |
| u64 sc_ram_dbe : 1; |
| u64 reserved_0_45 : 46; |
| } cn73xx; |
| struct cvmx_pko_pse_sq1_ecc_dbe_sts0_s cn78xx; |
| struct cvmx_pko_pse_sq1_ecc_dbe_sts0_s cn78xxp1; |
| struct cvmx_pko_pse_sq1_ecc_dbe_sts0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq1_ecc_dbe_sts0 cvmx_pko_pse_sq1_ecc_dbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pse_sq1_ecc_dbe_sts_cmb0 |
| */ |
| union cvmx_pko_pse_sq1_ecc_dbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq1_ecc_dbe_sts_cmb0_s { |
| u64 pse_sq1_dbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pse_sq1_ecc_dbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_pse_sq1_ecc_dbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pse_sq1_ecc_dbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_pse_sq1_ecc_dbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq1_ecc_dbe_sts_cmb0 cvmx_pko_pse_sq1_ecc_dbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pse_sq1_ecc_sbe_sts0 |
| */ |
| union cvmx_pko_pse_sq1_ecc_sbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq1_ecc_sbe_sts0_s { |
| u64 cxs_ram_sbe : 1; |
| u64 cxd_ram_sbe : 1; |
| u64 vc1_sram_sbe : 1; |
| u64 vc0_sram_sbe : 1; |
| u64 sq_pt_ram_sbe : 1; |
| u64 sq_nt_ram_sbe : 1; |
| u64 rt_ram_sbe : 1; |
| u64 pc_ram_sbe : 1; |
| u64 tw1_cmd_fifo_ram_sbe : 1; |
| u64 tw0_cmd_fifo_ram_sbe : 1; |
| u64 tp1_sram_sbe : 1; |
| u64 tp0_sram_sbe : 1; |
| u64 sts1_ram_sbe : 1; |
| u64 sts0_ram_sbe : 1; |
| u64 std1_ram_sbe : 1; |
| u64 std0_ram_sbe : 1; |
| u64 wt_ram_sbe : 1; |
| u64 sc_ram_sbe : 1; |
| u64 reserved_0_45 : 46; |
| } s; |
| struct cvmx_pko_pse_sq1_ecc_sbe_sts0_cn73xx { |
| u64 cxs_ram_sbe : 1; |
| u64 cxd_ram_sbe : 1; |
| u64 reserved_61_61 : 1; |
| u64 vc0_sram_sbe : 1; |
| u64 sq_pt_ram_sbe : 1; |
| u64 sq_nt_ram_sbe : 1; |
| u64 rt_ram_sbe : 1; |
| u64 pc_ram_sbe : 1; |
| u64 reserved_55_55 : 1; |
| u64 tw0_cmd_fifo_ram_sbe : 1; |
| u64 reserved_53_53 : 1; |
| u64 tp0_sram_sbe : 1; |
| u64 reserved_51_51 : 1; |
| u64 sts0_ram_sbe : 1; |
| u64 reserved_49_49 : 1; |
| u64 std0_ram_sbe : 1; |
| u64 wt_ram_sbe : 1; |
| u64 sc_ram_sbe : 1; |
| u64 reserved_0_45 : 46; |
| } cn73xx; |
| struct cvmx_pko_pse_sq1_ecc_sbe_sts0_s cn78xx; |
| struct cvmx_pko_pse_sq1_ecc_sbe_sts0_s cn78xxp1; |
| struct cvmx_pko_pse_sq1_ecc_sbe_sts0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq1_ecc_sbe_sts0 cvmx_pko_pse_sq1_ecc_sbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pse_sq1_ecc_sbe_sts_cmb0 |
| */ |
| union cvmx_pko_pse_sq1_ecc_sbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq1_ecc_sbe_sts_cmb0_s { |
| u64 pse_sq1_sbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pse_sq1_ecc_sbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_pse_sq1_ecc_sbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pse_sq1_ecc_sbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_pse_sq1_ecc_sbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq1_ecc_sbe_sts_cmb0 cvmx_pko_pse_sq1_ecc_sbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pse_sq2_bist_status |
| * |
| * Each bit is the BIST result of an individual memory (per bit, 0 = pass and 1 = fail). |
| * |
| */ |
| union cvmx_pko_pse_sq2_bist_status { |
| u64 u64; |
| struct cvmx_pko_pse_sq2_bist_status_s { |
| u64 reserved_29_63 : 35; |
| u64 sc_sram : 1; |
| u64 reserved_21_27 : 7; |
| u64 tp1_sram : 1; |
| u64 tp0_sram : 1; |
| u64 reserved_18_18 : 1; |
| u64 rt_sram : 1; |
| u64 reserved_9_16 : 8; |
| u64 tw1_cmd_fifo : 1; |
| u64 std_sram : 1; |
| u64 sts_sram : 1; |
| u64 tw0_cmd_fifo : 1; |
| u64 reserved_3_4 : 2; |
| u64 nt_sram : 1; |
| u64 pt_sram : 1; |
| u64 wt_sram : 1; |
| } s; |
| struct cvmx_pko_pse_sq2_bist_status_cn73xx { |
| u64 reserved_29_63 : 35; |
| u64 sc_sram : 1; |
| u64 reserved_20_27 : 8; |
| u64 tp0_sram : 1; |
| u64 reserved_18_18 : 1; |
| u64 rt_sram : 1; |
| u64 reserved_8_16 : 9; |
| u64 std_sram : 1; |
| u64 sts_sram : 1; |
| u64 tw0_cmd_fifo : 1; |
| u64 reserved_3_4 : 2; |
| u64 nt_sram : 1; |
| u64 pt_sram : 1; |
| u64 wt_sram : 1; |
| } cn73xx; |
| struct cvmx_pko_pse_sq2_bist_status_s cn78xx; |
| struct cvmx_pko_pse_sq2_bist_status_s cn78xxp1; |
| struct cvmx_pko_pse_sq2_bist_status_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq2_bist_status cvmx_pko_pse_sq2_bist_status_t; |
| |
| /** |
| * cvmx_pko_pse_sq2_ecc_ctl0 |
| */ |
| union cvmx_pko_pse_sq2_ecc_ctl0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq2_ecc_ctl0_s { |
| u64 sq_pt_ram_flip : 2; |
| u64 sq_pt_ram_cdis : 1; |
| u64 sq_nt_ram_flip : 2; |
| u64 sq_nt_ram_cdis : 1; |
| u64 rt_ram_flip : 2; |
| u64 rt_ram_cdis : 1; |
| u64 tw1_cmd_fifo_ram_flip : 2; |
| u64 tw1_cmd_fifo_ram_cdis : 1; |
| u64 tw0_cmd_fifo_ram_flip : 2; |
| u64 tw0_cmd_fifo_ram_cdis : 1; |
| u64 tp1_sram_flip : 2; |
| u64 tp1_sram_cdis : 1; |
| u64 tp0_sram_flip : 2; |
| u64 tp0_sram_cdis : 1; |
| u64 sts1_ram_flip : 2; |
| u64 sts1_ram_cdis : 1; |
| u64 sts0_ram_flip : 2; |
| u64 sts0_ram_cdis : 1; |
| u64 std1_ram_flip : 2; |
| u64 std1_ram_cdis : 1; |
| u64 std0_ram_flip : 2; |
| u64 std0_ram_cdis : 1; |
| u64 wt_ram_flip : 2; |
| u64 wt_ram_cdis : 1; |
| u64 sc_ram_flip : 2; |
| u64 sc_ram_cdis : 1; |
| u64 reserved_0_24 : 25; |
| } s; |
| struct cvmx_pko_pse_sq2_ecc_ctl0_cn73xx { |
| u64 sq_pt_ram_flip : 2; |
| u64 sq_pt_ram_cdis : 1; |
| u64 sq_nt_ram_flip : 2; |
| u64 sq_nt_ram_cdis : 1; |
| u64 rt_ram_flip : 2; |
| u64 rt_ram_cdis : 1; |
| u64 reserved_52_54 : 3; |
| u64 tw0_cmd_fifo_ram_flip : 2; |
| u64 tw0_cmd_fifo_ram_cdis : 1; |
| u64 reserved_46_48 : 3; |
| u64 tp0_sram_flip : 2; |
| u64 tp0_sram_cdis : 1; |
| u64 reserved_40_42 : 3; |
| u64 sts0_ram_flip : 2; |
| u64 sts0_ram_cdis : 1; |
| u64 reserved_34_36 : 3; |
| u64 std0_ram_flip : 2; |
| u64 std0_ram_cdis : 1; |
| u64 wt_ram_flip : 2; |
| u64 wt_ram_cdis : 1; |
| u64 sc_ram_flip : 2; |
| u64 sc_ram_cdis : 1; |
| u64 reserved_0_24 : 25; |
| } cn73xx; |
| struct cvmx_pko_pse_sq2_ecc_ctl0_s cn78xx; |
| struct cvmx_pko_pse_sq2_ecc_ctl0_s cn78xxp1; |
| struct cvmx_pko_pse_sq2_ecc_ctl0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq2_ecc_ctl0 cvmx_pko_pse_sq2_ecc_ctl0_t; |
| |
| /** |
| * cvmx_pko_pse_sq2_ecc_dbe_sts0 |
| */ |
| union cvmx_pko_pse_sq2_ecc_dbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq2_ecc_dbe_sts0_s { |
| u64 sq_pt_ram_dbe : 1; |
| u64 sq_nt_ram_dbe : 1; |
| u64 rt_ram_dbe : 1; |
| u64 tw1_cmd_fifo_ram_dbe : 1; |
| u64 tw0_cmd_fifo_ram_dbe : 1; |
| u64 tp1_sram_dbe : 1; |
| u64 tp0_sram_dbe : 1; |
| u64 sts1_ram_dbe : 1; |
| u64 sts0_ram_dbe : 1; |
| u64 std1_ram_dbe : 1; |
| u64 std0_ram_dbe : 1; |
| u64 wt_ram_dbe : 1; |
| u64 sc_ram_dbe : 1; |
| u64 reserved_0_50 : 51; |
| } s; |
| struct cvmx_pko_pse_sq2_ecc_dbe_sts0_cn73xx { |
| u64 sq_pt_ram_dbe : 1; |
| u64 sq_nt_ram_dbe : 1; |
| u64 rt_ram_dbe : 1; |
| u64 reserved_60_60 : 1; |
| u64 tw0_cmd_fifo_ram_dbe : 1; |
| u64 reserved_58_58 : 1; |
| u64 tp0_sram_dbe : 1; |
| u64 reserved_56_56 : 1; |
| u64 sts0_ram_dbe : 1; |
| u64 reserved_54_54 : 1; |
| u64 std0_ram_dbe : 1; |
| u64 wt_ram_dbe : 1; |
| u64 sc_ram_dbe : 1; |
| u64 reserved_0_50 : 51; |
| } cn73xx; |
| struct cvmx_pko_pse_sq2_ecc_dbe_sts0_s cn78xx; |
| struct cvmx_pko_pse_sq2_ecc_dbe_sts0_s cn78xxp1; |
| struct cvmx_pko_pse_sq2_ecc_dbe_sts0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq2_ecc_dbe_sts0 cvmx_pko_pse_sq2_ecc_dbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pse_sq2_ecc_dbe_sts_cmb0 |
| */ |
| union cvmx_pko_pse_sq2_ecc_dbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq2_ecc_dbe_sts_cmb0_s { |
| u64 pse_sq2_dbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pse_sq2_ecc_dbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_pse_sq2_ecc_dbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pse_sq2_ecc_dbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_pse_sq2_ecc_dbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq2_ecc_dbe_sts_cmb0 cvmx_pko_pse_sq2_ecc_dbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pse_sq2_ecc_sbe_sts0 |
| */ |
| union cvmx_pko_pse_sq2_ecc_sbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq2_ecc_sbe_sts0_s { |
| u64 sq_pt_ram_sbe : 1; |
| u64 sq_nt_ram_sbe : 1; |
| u64 rt_ram_sbe : 1; |
| u64 tw1_cmd_fifo_ram_sbe : 1; |
| u64 tw0_cmd_fifo_ram_sbe : 1; |
| u64 tp1_sram_sbe : 1; |
| u64 tp0_sram_sbe : 1; |
| u64 sts1_ram_sbe : 1; |
| u64 sts0_ram_sbe : 1; |
| u64 std1_ram_sbe : 1; |
| u64 std0_ram_sbe : 1; |
| u64 wt_ram_sbe : 1; |
| u64 sc_ram_sbe : 1; |
| u64 reserved_0_50 : 51; |
| } s; |
| struct cvmx_pko_pse_sq2_ecc_sbe_sts0_cn73xx { |
| u64 sq_pt_ram_sbe : 1; |
| u64 sq_nt_ram_sbe : 1; |
| u64 rt_ram_sbe : 1; |
| u64 reserved_60_60 : 1; |
| u64 tw0_cmd_fifo_ram_sbe : 1; |
| u64 reserved_58_58 : 1; |
| u64 tp0_sram_sbe : 1; |
| u64 reserved_56_56 : 1; |
| u64 sts0_ram_sbe : 1; |
| u64 reserved_54_54 : 1; |
| u64 std0_ram_sbe : 1; |
| u64 wt_ram_sbe : 1; |
| u64 sc_ram_sbe : 1; |
| u64 reserved_0_50 : 51; |
| } cn73xx; |
| struct cvmx_pko_pse_sq2_ecc_sbe_sts0_s cn78xx; |
| struct cvmx_pko_pse_sq2_ecc_sbe_sts0_s cn78xxp1; |
| struct cvmx_pko_pse_sq2_ecc_sbe_sts0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq2_ecc_sbe_sts0 cvmx_pko_pse_sq2_ecc_sbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pse_sq2_ecc_sbe_sts_cmb0 |
| */ |
| union cvmx_pko_pse_sq2_ecc_sbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq2_ecc_sbe_sts_cmb0_s { |
| u64 pse_sq2_sbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pse_sq2_ecc_sbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_pse_sq2_ecc_sbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pse_sq2_ecc_sbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_pse_sq2_ecc_sbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq2_ecc_sbe_sts_cmb0 cvmx_pko_pse_sq2_ecc_sbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pse_sq3_bist_status |
| * |
| * Each bit is the BIST result of an individual memory (per bit, 0 = pass and 1 = fail). |
| * |
| */ |
| union cvmx_pko_pse_sq3_bist_status { |
| u64 u64; |
| struct cvmx_pko_pse_sq3_bist_status_s { |
| u64 reserved_29_63 : 35; |
| u64 sc_sram : 1; |
| u64 reserved_23_27 : 5; |
| u64 tp3_sram : 1; |
| u64 tp2_sram : 1; |
| u64 tp1_sram : 1; |
| u64 tp0_sram : 1; |
| u64 reserved_18_18 : 1; |
| u64 rt_sram : 1; |
| u64 reserved_15_16 : 2; |
| u64 tw3_cmd_fifo : 1; |
| u64 reserved_12_13 : 2; |
| u64 tw2_cmd_fifo : 1; |
| u64 reserved_9_10 : 2; |
| u64 tw1_cmd_fifo : 1; |
| u64 std_sram : 1; |
| u64 sts_sram : 1; |
| u64 tw0_cmd_fifo : 1; |
| u64 reserved_3_4 : 2; |
| u64 nt_sram : 1; |
| u64 pt_sram : 1; |
| u64 wt_sram : 1; |
| } s; |
| struct cvmx_pko_pse_sq3_bist_status_cn73xx { |
| u64 reserved_29_63 : 35; |
| u64 sc_sram : 1; |
| u64 reserved_20_27 : 8; |
| u64 tp0_sram : 1; |
| u64 reserved_18_18 : 1; |
| u64 rt_sram : 1; |
| u64 reserved_8_16 : 9; |
| u64 std_sram : 1; |
| u64 sts_sram : 1; |
| u64 tw0_cmd_fifo : 1; |
| u64 reserved_3_4 : 2; |
| u64 nt_sram : 1; |
| u64 pt_sram : 1; |
| u64 wt_sram : 1; |
| } cn73xx; |
| struct cvmx_pko_pse_sq3_bist_status_s cn78xx; |
| struct cvmx_pko_pse_sq3_bist_status_s cn78xxp1; |
| struct cvmx_pko_pse_sq3_bist_status_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq3_bist_status cvmx_pko_pse_sq3_bist_status_t; |
| |
| /** |
| * cvmx_pko_pse_sq3_ecc_ctl0 |
| */ |
| union cvmx_pko_pse_sq3_ecc_ctl0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq3_ecc_ctl0_s { |
| u64 sq_pt_ram_flip : 2; |
| u64 sq_pt_ram_cdis : 1; |
| u64 sq_nt_ram_flip : 2; |
| u64 sq_nt_ram_cdis : 1; |
| u64 rt_ram_flip : 2; |
| u64 rt_ram_cdis : 1; |
| u64 tw3_cmd_fifo_ram_flip : 2; |
| u64 tw3_cmd_fifo_ram_cdis : 1; |
| u64 tw2_cmd_fifo_ram_flip : 2; |
| u64 tw2_cmd_fifo_ram_cdis : 1; |
| u64 tw1_cmd_fifo_ram_flip : 2; |
| u64 tw1_cmd_fifo_ram_cdis : 1; |
| u64 tw0_cmd_fifo_ram_flip : 2; |
| u64 tw0_cmd_fifo_ram_cdis : 1; |
| u64 tp3_sram_flip : 2; |
| u64 tp3_sram_cdis : 1; |
| u64 tp2_sram_flip : 2; |
| u64 tp2_sram_cdis : 1; |
| u64 tp1_sram_flip : 2; |
| u64 tp1_sram_cdis : 1; |
| u64 tp0_sram_flip : 2; |
| u64 tp0_sram_cdis : 1; |
| u64 sts3_ram_flip : 2; |
| u64 sts3_ram_cdis : 1; |
| u64 sts2_ram_flip : 2; |
| u64 sts2_ram_cdis : 1; |
| u64 sts1_ram_flip : 2; |
| u64 sts1_ram_cdis : 1; |
| u64 sts0_ram_flip : 2; |
| u64 sts0_ram_cdis : 1; |
| u64 std3_ram_flip : 2; |
| u64 std3_ram_cdis : 1; |
| u64 std2_ram_flip : 2; |
| u64 std2_ram_cdis : 1; |
| u64 std1_ram_flip : 2; |
| u64 std1_ram_cdis : 1; |
| u64 std0_ram_flip : 2; |
| u64 std0_ram_cdis : 1; |
| u64 wt_ram_flip : 2; |
| u64 wt_ram_cdis : 1; |
| u64 sc_ram_flip : 2; |
| u64 sc_ram_cdis : 1; |
| u64 reserved_0_0 : 1; |
| } s; |
| struct cvmx_pko_pse_sq3_ecc_ctl0_cn73xx { |
| u64 sq_pt_ram_flip : 2; |
| u64 sq_pt_ram_cdis : 1; |
| u64 sq_nt_ram_flip : 2; |
| u64 sq_nt_ram_cdis : 1; |
| u64 rt_ram_flip : 2; |
| u64 rt_ram_cdis : 1; |
| u64 reserved_46_54 : 9; |
| u64 tw0_cmd_fifo_ram_flip : 2; |
| u64 tw0_cmd_fifo_ram_cdis : 1; |
| u64 reserved_34_42 : 9; |
| u64 tp0_sram_flip : 2; |
| u64 tp0_sram_cdis : 1; |
| u64 reserved_22_30 : 9; |
| u64 sts0_ram_flip : 2; |
| u64 sts0_ram_cdis : 1; |
| u64 reserved_10_18 : 9; |
| u64 std0_ram_flip : 2; |
| u64 std0_ram_cdis : 1; |
| u64 wt_ram_flip : 2; |
| u64 wt_ram_cdis : 1; |
| u64 sc_ram_flip : 2; |
| u64 sc_ram_cdis : 1; |
| u64 reserved_0_0 : 1; |
| } cn73xx; |
| struct cvmx_pko_pse_sq3_ecc_ctl0_s cn78xx; |
| struct cvmx_pko_pse_sq3_ecc_ctl0_s cn78xxp1; |
| struct cvmx_pko_pse_sq3_ecc_ctl0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq3_ecc_ctl0 cvmx_pko_pse_sq3_ecc_ctl0_t; |
| |
| /** |
| * cvmx_pko_pse_sq3_ecc_dbe_sts0 |
| */ |
| union cvmx_pko_pse_sq3_ecc_dbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq3_ecc_dbe_sts0_s { |
| u64 sq_pt_ram_dbe : 1; |
| u64 sq_nt_ram_dbe : 1; |
| u64 rt_ram_dbe : 1; |
| u64 tw3_cmd_fifo_ram_dbe : 1; |
| u64 tw2_cmd_fifo_ram_dbe : 1; |
| u64 tw1_cmd_fifo_ram_dbe : 1; |
| u64 tw0_cmd_fifo_ram_dbe : 1; |
| u64 tp3_sram_dbe : 1; |
| u64 tp2_sram_dbe : 1; |
| u64 tp1_sram_dbe : 1; |
| u64 tp0_sram_dbe : 1; |
| u64 sts3_ram_dbe : 1; |
| u64 sts2_ram_dbe : 1; |
| u64 sts1_ram_dbe : 1; |
| u64 sts0_ram_dbe : 1; |
| u64 std3_ram_dbe : 1; |
| u64 std2_ram_dbe : 1; |
| u64 std1_ram_dbe : 1; |
| u64 std0_ram_dbe : 1; |
| u64 wt_ram_dbe : 1; |
| u64 sc_ram_dbe : 1; |
| u64 reserved_0_42 : 43; |
| } s; |
| struct cvmx_pko_pse_sq3_ecc_dbe_sts0_cn73xx { |
| u64 sq_pt_ram_dbe : 1; |
| u64 sq_nt_ram_dbe : 1; |
| u64 rt_ram_dbe : 1; |
| u64 reserved_58_60 : 3; |
| u64 tw0_cmd_fifo_ram_dbe : 1; |
| u64 reserved_54_56 : 3; |
| u64 tp0_sram_dbe : 1; |
| u64 reserved_50_52 : 3; |
| u64 sts0_ram_dbe : 1; |
| u64 reserved_46_48 : 3; |
| u64 std0_ram_dbe : 1; |
| u64 wt_ram_dbe : 1; |
| u64 sc_ram_dbe : 1; |
| u64 reserved_0_42 : 43; |
| } cn73xx; |
| struct cvmx_pko_pse_sq3_ecc_dbe_sts0_s cn78xx; |
| struct cvmx_pko_pse_sq3_ecc_dbe_sts0_s cn78xxp1; |
| struct cvmx_pko_pse_sq3_ecc_dbe_sts0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq3_ecc_dbe_sts0 cvmx_pko_pse_sq3_ecc_dbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pse_sq3_ecc_dbe_sts_cmb0 |
| */ |
| union cvmx_pko_pse_sq3_ecc_dbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq3_ecc_dbe_sts_cmb0_s { |
| u64 pse_sq3_dbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pse_sq3_ecc_dbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_pse_sq3_ecc_dbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pse_sq3_ecc_dbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_pse_sq3_ecc_dbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq3_ecc_dbe_sts_cmb0 cvmx_pko_pse_sq3_ecc_dbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pse_sq3_ecc_sbe_sts0 |
| */ |
| union cvmx_pko_pse_sq3_ecc_sbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq3_ecc_sbe_sts0_s { |
| u64 sq_pt_ram_sbe : 1; |
| u64 sq_nt_ram_sbe : 1; |
| u64 rt_ram_sbe : 1; |
| u64 tw3_cmd_fifo_ram_sbe : 1; |
| u64 tw2_cmd_fifo_ram_sbe : 1; |
| u64 tw1_cmd_fifo_ram_sbe : 1; |
| u64 tw0_cmd_fifo_ram_sbe : 1; |
| u64 tp3_sram_sbe : 1; |
| u64 tp2_sram_sbe : 1; |
| u64 tp1_sram_sbe : 1; |
| u64 tp0_sram_sbe : 1; |
| u64 sts3_ram_sbe : 1; |
| u64 sts2_ram_sbe : 1; |
| u64 sts1_ram_sbe : 1; |
| u64 sts0_ram_sbe : 1; |
| u64 std3_ram_sbe : 1; |
| u64 std2_ram_sbe : 1; |
| u64 std1_ram_sbe : 1; |
| u64 std0_ram_sbe : 1; |
| u64 wt_ram_sbe : 1; |
| u64 sc_ram_sbe : 1; |
| u64 reserved_0_42 : 43; |
| } s; |
| struct cvmx_pko_pse_sq3_ecc_sbe_sts0_cn73xx { |
| u64 sq_pt_ram_sbe : 1; |
| u64 sq_nt_ram_sbe : 1; |
| u64 rt_ram_sbe : 1; |
| u64 reserved_58_60 : 3; |
| u64 tw0_cmd_fifo_ram_sbe : 1; |
| u64 reserved_54_56 : 3; |
| u64 tp0_sram_sbe : 1; |
| u64 reserved_50_52 : 3; |
| u64 sts0_ram_sbe : 1; |
| u64 reserved_46_48 : 3; |
| u64 std0_ram_sbe : 1; |
| u64 wt_ram_sbe : 1; |
| u64 sc_ram_sbe : 1; |
| u64 reserved_0_42 : 43; |
| } cn73xx; |
| struct cvmx_pko_pse_sq3_ecc_sbe_sts0_s cn78xx; |
| struct cvmx_pko_pse_sq3_ecc_sbe_sts0_s cn78xxp1; |
| struct cvmx_pko_pse_sq3_ecc_sbe_sts0_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq3_ecc_sbe_sts0 cvmx_pko_pse_sq3_ecc_sbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pse_sq3_ecc_sbe_sts_cmb0 |
| */ |
| union cvmx_pko_pse_sq3_ecc_sbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq3_ecc_sbe_sts_cmb0_s { |
| u64 pse_sq3_sbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pse_sq3_ecc_sbe_sts_cmb0_s cn73xx; |
| struct cvmx_pko_pse_sq3_ecc_sbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pse_sq3_ecc_sbe_sts_cmb0_s cn78xxp1; |
| struct cvmx_pko_pse_sq3_ecc_sbe_sts_cmb0_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_pse_sq3_ecc_sbe_sts_cmb0 cvmx_pko_pse_sq3_ecc_sbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pse_sq4_bist_status |
| * |
| * Each bit is the BIST result of an individual memory (per bit, 0 = pass and 1 = fail). |
| * |
| */ |
| union cvmx_pko_pse_sq4_bist_status { |
| u64 u64; |
| struct cvmx_pko_pse_sq4_bist_status_s { |
| u64 reserved_29_63 : 35; |
| u64 sc_sram : 1; |
| u64 reserved_23_27 : 5; |
| u64 tp3_sram : 1; |
| u64 tp2_sram : 1; |
| u64 tp1_sram : 1; |
| u64 tp0_sram : 1; |
| u64 reserved_18_18 : 1; |
| u64 rt_sram : 1; |
| u64 reserved_15_16 : 2; |
| u64 tw3_cmd_fifo : 1; |
| u64 reserved_12_13 : 2; |
| u64 tw2_cmd_fifo : 1; |
| u64 reserved_9_10 : 2; |
| u64 tw1_cmd_fifo : 1; |
| u64 std_sram : 1; |
| u64 sts_sram : 1; |
| u64 tw0_cmd_fifo : 1; |
| u64 reserved_3_4 : 2; |
| u64 nt_sram : 1; |
| u64 pt_sram : 1; |
| u64 wt_sram : 1; |
| } s; |
| struct cvmx_pko_pse_sq4_bist_status_s cn78xx; |
| struct cvmx_pko_pse_sq4_bist_status_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_pse_sq4_bist_status cvmx_pko_pse_sq4_bist_status_t; |
| |
| /** |
| * cvmx_pko_pse_sq4_ecc_ctl0 |
| */ |
| union cvmx_pko_pse_sq4_ecc_ctl0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq4_ecc_ctl0_s { |
| u64 sq_pt_ram_flip : 2; |
| u64 sq_pt_ram_cdis : 1; |
| u64 sq_nt_ram_flip : 2; |
| u64 sq_nt_ram_cdis : 1; |
| u64 rt_ram_flip : 2; |
| u64 rt_ram_cdis : 1; |
| u64 tw3_cmd_fifo_ram_flip : 2; |
| u64 tw3_cmd_fifo_ram_cdis : 1; |
| u64 tw2_cmd_fifo_ram_flip : 2; |
| u64 tw2_cmd_fifo_ram_cdis : 1; |
| u64 tw1_cmd_fifo_ram_flip : 2; |
| u64 tw1_cmd_fifo_ram_cdis : 1; |
| u64 tw0_cmd_fifo_ram_flip : 2; |
| u64 tw0_cmd_fifo_ram_cdis : 1; |
| u64 tp3_sram_flip : 2; |
| u64 tp3_sram_cdis : 1; |
| u64 tp2_sram_flip : 2; |
| u64 tp2_sram_cdis : 1; |
| u64 tp1_sram_flip : 2; |
| u64 tp1_sram_cdis : 1; |
| u64 tp0_sram_flip : 2; |
| u64 tp0_sram_cdis : 1; |
| u64 sts3_ram_flip : 2; |
| u64 sts3_ram_cdis : 1; |
| u64 sts2_ram_flip : 2; |
| u64 sts2_ram_cdis : 1; |
| u64 sts1_ram_flip : 2; |
| u64 sts1_ram_cdis : 1; |
| u64 sts0_ram_flip : 2; |
| u64 sts0_ram_cdis : 1; |
| u64 std3_ram_flip : 2; |
| u64 std3_ram_cdis : 1; |
| u64 std2_ram_flip : 2; |
| u64 std2_ram_cdis : 1; |
| u64 std1_ram_flip : 2; |
| u64 std1_ram_cdis : 1; |
| u64 std0_ram_flip : 2; |
| u64 std0_ram_cdis : 1; |
| u64 wt_ram_flip : 2; |
| u64 wt_ram_cdis : 1; |
| u64 sc_ram_flip : 2; |
| u64 sc_ram_cdis : 1; |
| u64 reserved_0_0 : 1; |
| } s; |
| struct cvmx_pko_pse_sq4_ecc_ctl0_s cn78xx; |
| struct cvmx_pko_pse_sq4_ecc_ctl0_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_pse_sq4_ecc_ctl0 cvmx_pko_pse_sq4_ecc_ctl0_t; |
| |
| /** |
| * cvmx_pko_pse_sq4_ecc_dbe_sts0 |
| */ |
| union cvmx_pko_pse_sq4_ecc_dbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq4_ecc_dbe_sts0_s { |
| u64 sq_pt_ram_dbe : 1; |
| u64 sq_nt_ram_dbe : 1; |
| u64 rt_ram_dbe : 1; |
| u64 tw3_cmd_fifo_ram_dbe : 1; |
| u64 tw2_cmd_fifo_ram_dbe : 1; |
| u64 tw1_cmd_fifo_ram_dbe : 1; |
| u64 tw0_cmd_fifo_ram_dbe : 1; |
| u64 tp3_sram_dbe : 1; |
| u64 tp2_sram_dbe : 1; |
| u64 tp1_sram_dbe : 1; |
| u64 tp0_sram_dbe : 1; |
| u64 sts3_ram_dbe : 1; |
| u64 sts2_ram_dbe : 1; |
| u64 sts1_ram_dbe : 1; |
| u64 sts0_ram_dbe : 1; |
| u64 std3_ram_dbe : 1; |
| u64 std2_ram_dbe : 1; |
| u64 std1_ram_dbe : 1; |
| u64 std0_ram_dbe : 1; |
| u64 wt_ram_dbe : 1; |
| u64 sc_ram_dbe : 1; |
| u64 reserved_0_42 : 43; |
| } s; |
| struct cvmx_pko_pse_sq4_ecc_dbe_sts0_s cn78xx; |
| struct cvmx_pko_pse_sq4_ecc_dbe_sts0_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_pse_sq4_ecc_dbe_sts0 cvmx_pko_pse_sq4_ecc_dbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pse_sq4_ecc_dbe_sts_cmb0 |
| */ |
| union cvmx_pko_pse_sq4_ecc_dbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq4_ecc_dbe_sts_cmb0_s { |
| u64 pse_sq4_dbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pse_sq4_ecc_dbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pse_sq4_ecc_dbe_sts_cmb0_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_pse_sq4_ecc_dbe_sts_cmb0 cvmx_pko_pse_sq4_ecc_dbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pse_sq4_ecc_sbe_sts0 |
| */ |
| union cvmx_pko_pse_sq4_ecc_sbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq4_ecc_sbe_sts0_s { |
| u64 sq_pt_ram_sbe : 1; |
| u64 sq_nt_ram_sbe : 1; |
| u64 rt_ram_sbe : 1; |
| u64 tw3_cmd_fifo_ram_sbe : 1; |
| u64 tw2_cmd_fifo_ram_sbe : 1; |
| u64 tw1_cmd_fifo_ram_sbe : 1; |
| u64 tw0_cmd_fifo_ram_sbe : 1; |
| u64 tp3_sram_sbe : 1; |
| u64 tp2_sram_sbe : 1; |
| u64 tp1_sram_sbe : 1; |
| u64 tp0_sram_sbe : 1; |
| u64 sts3_ram_sbe : 1; |
| u64 sts2_ram_sbe : 1; |
| u64 sts1_ram_sbe : 1; |
| u64 sts0_ram_sbe : 1; |
| u64 std3_ram_sbe : 1; |
| u64 std2_ram_sbe : 1; |
| u64 std1_ram_sbe : 1; |
| u64 std0_ram_sbe : 1; |
| u64 wt_ram_sbe : 1; |
| u64 sc_ram_sbe : 1; |
| u64 reserved_0_42 : 43; |
| } s; |
| struct cvmx_pko_pse_sq4_ecc_sbe_sts0_s cn78xx; |
| struct cvmx_pko_pse_sq4_ecc_sbe_sts0_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_pse_sq4_ecc_sbe_sts0 cvmx_pko_pse_sq4_ecc_sbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pse_sq4_ecc_sbe_sts_cmb0 |
| */ |
| union cvmx_pko_pse_sq4_ecc_sbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq4_ecc_sbe_sts_cmb0_s { |
| u64 pse_sq4_sbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pse_sq4_ecc_sbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pse_sq4_ecc_sbe_sts_cmb0_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_pse_sq4_ecc_sbe_sts_cmb0 cvmx_pko_pse_sq4_ecc_sbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pse_sq5_bist_status |
| * |
| * Each bit is the BIST result of an individual memory (per bit, 0 = pass and 1 = fail). |
| * |
| */ |
| union cvmx_pko_pse_sq5_bist_status { |
| u64 u64; |
| struct cvmx_pko_pse_sq5_bist_status_s { |
| u64 reserved_29_63 : 35; |
| u64 sc_sram : 1; |
| u64 reserved_23_27 : 5; |
| u64 tp3_sram : 1; |
| u64 tp2_sram : 1; |
| u64 tp1_sram : 1; |
| u64 tp0_sram : 1; |
| u64 reserved_18_18 : 1; |
| u64 rt_sram : 1; |
| u64 reserved_15_16 : 2; |
| u64 tw3_cmd_fifo : 1; |
| u64 reserved_12_13 : 2; |
| u64 tw2_cmd_fifo : 1; |
| u64 reserved_9_10 : 2; |
| u64 tw1_cmd_fifo : 1; |
| u64 std_sram : 1; |
| u64 sts_sram : 1; |
| u64 tw0_cmd_fifo : 1; |
| u64 reserved_3_4 : 2; |
| u64 nt_sram : 1; |
| u64 pt_sram : 1; |
| u64 wt_sram : 1; |
| } s; |
| struct cvmx_pko_pse_sq5_bist_status_s cn78xx; |
| struct cvmx_pko_pse_sq5_bist_status_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_pse_sq5_bist_status cvmx_pko_pse_sq5_bist_status_t; |
| |
| /** |
| * cvmx_pko_pse_sq5_ecc_ctl0 |
| */ |
| union cvmx_pko_pse_sq5_ecc_ctl0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq5_ecc_ctl0_s { |
| u64 sq_pt_ram_flip : 2; |
| u64 sq_pt_ram_cdis : 1; |
| u64 sq_nt_ram_flip : 2; |
| u64 sq_nt_ram_cdis : 1; |
| u64 rt_ram_flip : 2; |
| u64 rt_ram_cdis : 1; |
| u64 tw3_cmd_fifo_ram_flip : 2; |
| u64 tw3_cmd_fifo_ram_cdis : 1; |
| u64 tw2_cmd_fifo_ram_flip : 2; |
| u64 tw2_cmd_fifo_ram_cdis : 1; |
| u64 tw1_cmd_fifo_ram_flip : 2; |
| u64 tw1_cmd_fifo_ram_cdis : 1; |
| u64 tw0_cmd_fifo_ram_flip : 2; |
| u64 tw0_cmd_fifo_ram_cdis : 1; |
| u64 tp3_sram_flip : 2; |
| u64 tp3_sram_cdis : 1; |
| u64 tp2_sram_flip : 2; |
| u64 tp2_sram_cdis : 1; |
| u64 tp1_sram_flip : 2; |
| u64 tp1_sram_cdis : 1; |
| u64 tp0_sram_flip : 2; |
| u64 tp0_sram_cdis : 1; |
| u64 sts3_ram_flip : 2; |
| u64 sts3_ram_cdis : 1; |
| u64 sts2_ram_flip : 2; |
| u64 sts2_ram_cdis : 1; |
| u64 sts1_ram_flip : 2; |
| u64 sts1_ram_cdis : 1; |
| u64 sts0_ram_flip : 2; |
| u64 sts0_ram_cdis : 1; |
| u64 std3_ram_flip : 2; |
| u64 std3_ram_cdis : 1; |
| u64 std2_ram_flip : 2; |
| u64 std2_ram_cdis : 1; |
| u64 std1_ram_flip : 2; |
| u64 std1_ram_cdis : 1; |
| u64 std0_ram_flip : 2; |
| u64 std0_ram_cdis : 1; |
| u64 wt_ram_flip : 2; |
| u64 wt_ram_cdis : 1; |
| u64 sc_ram_flip : 2; |
| u64 sc_ram_cdis : 1; |
| u64 reserved_0_0 : 1; |
| } s; |
| struct cvmx_pko_pse_sq5_ecc_ctl0_s cn78xx; |
| struct cvmx_pko_pse_sq5_ecc_ctl0_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_pse_sq5_ecc_ctl0 cvmx_pko_pse_sq5_ecc_ctl0_t; |
| |
| /** |
| * cvmx_pko_pse_sq5_ecc_dbe_sts0 |
| */ |
| union cvmx_pko_pse_sq5_ecc_dbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq5_ecc_dbe_sts0_s { |
| u64 sq_pt_ram_dbe : 1; |
| u64 sq_nt_ram_dbe : 1; |
| u64 rt_ram_dbe : 1; |
| u64 tw3_cmd_fifo_ram_dbe : 1; |
| u64 tw2_cmd_fifo_ram_dbe : 1; |
| u64 tw1_cmd_fifo_ram_dbe : 1; |
| u64 tw0_cmd_fifo_ram_dbe : 1; |
| u64 tp3_sram_dbe : 1; |
| u64 tp2_sram_dbe : 1; |
| u64 tp1_sram_dbe : 1; |
| u64 tp0_sram_dbe : 1; |
| u64 sts3_ram_dbe : 1; |
| u64 sts2_ram_dbe : 1; |
| u64 sts1_ram_dbe : 1; |
| u64 sts0_ram_dbe : 1; |
| u64 std3_ram_dbe : 1; |
| u64 std2_ram_dbe : 1; |
| u64 std1_ram_dbe : 1; |
| u64 std0_ram_dbe : 1; |
| u64 wt_ram_dbe : 1; |
| u64 sc_ram_dbe : 1; |
| u64 reserved_0_42 : 43; |
| } s; |
| struct cvmx_pko_pse_sq5_ecc_dbe_sts0_s cn78xx; |
| struct cvmx_pko_pse_sq5_ecc_dbe_sts0_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_pse_sq5_ecc_dbe_sts0 cvmx_pko_pse_sq5_ecc_dbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pse_sq5_ecc_dbe_sts_cmb0 |
| */ |
| union cvmx_pko_pse_sq5_ecc_dbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq5_ecc_dbe_sts_cmb0_s { |
| u64 pse_sq5_dbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pse_sq5_ecc_dbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pse_sq5_ecc_dbe_sts_cmb0_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_pse_sq5_ecc_dbe_sts_cmb0 cvmx_pko_pse_sq5_ecc_dbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_pse_sq5_ecc_sbe_sts0 |
| */ |
| union cvmx_pko_pse_sq5_ecc_sbe_sts0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq5_ecc_sbe_sts0_s { |
| u64 sq_pt_ram_sbe : 1; |
| u64 sq_nt_ram_sbe : 1; |
| u64 rt_ram_sbe : 1; |
| u64 tw3_cmd_fifo_ram_sbe : 1; |
| u64 tw2_cmd_fifo_ram_sbe : 1; |
| u64 tw1_cmd_fifo_ram_sbe : 1; |
| u64 tw0_cmd_fifo_ram_sbe : 1; |
| u64 tp3_sram_sbe : 1; |
| u64 tp2_sram_sbe : 1; |
| u64 tp1_sram_sbe : 1; |
| u64 tp0_sram_sbe : 1; |
| u64 sts3_ram_sbe : 1; |
| u64 sts2_ram_sbe : 1; |
| u64 sts1_ram_sbe : 1; |
| u64 sts0_ram_sbe : 1; |
| u64 std3_ram_sbe : 1; |
| u64 std2_ram_sbe : 1; |
| u64 std1_ram_sbe : 1; |
| u64 std0_ram_sbe : 1; |
| u64 wt_ram_sbe : 1; |
| u64 sc_ram_sbe : 1; |
| u64 reserved_0_42 : 43; |
| } s; |
| struct cvmx_pko_pse_sq5_ecc_sbe_sts0_s cn78xx; |
| struct cvmx_pko_pse_sq5_ecc_sbe_sts0_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_pse_sq5_ecc_sbe_sts0 cvmx_pko_pse_sq5_ecc_sbe_sts0_t; |
| |
| /** |
| * cvmx_pko_pse_sq5_ecc_sbe_sts_cmb0 |
| */ |
| union cvmx_pko_pse_sq5_ecc_sbe_sts_cmb0 { |
| u64 u64; |
| struct cvmx_pko_pse_sq5_ecc_sbe_sts_cmb0_s { |
| u64 pse_sq5_sbe_cmb0 : 1; |
| u64 reserved_0_62 : 63; |
| } s; |
| struct cvmx_pko_pse_sq5_ecc_sbe_sts_cmb0_s cn78xx; |
| struct cvmx_pko_pse_sq5_ecc_sbe_sts_cmb0_s cn78xxp1; |
| }; |
| |
| typedef union cvmx_pko_pse_sq5_ecc_sbe_sts_cmb0 cvmx_pko_pse_sq5_ecc_sbe_sts_cmb0_t; |
| |
| /** |
| * cvmx_pko_ptf#_status |
| */ |
| union cvmx_pko_ptfx_status { |
| u64 u64; |
| struct cvmx_pko_ptfx_status_s { |
| u64 reserved_30_63 : 34; |
| u64 tx_fifo_pkt_credit_cnt : 10; |
| u64 total_in_flight_cnt : 8; |
| u64 in_flight_cnt : 7; |
| u64 mac_num : 5; |
| } s; |
| struct cvmx_pko_ptfx_status_s cn73xx; |
| struct cvmx_pko_ptfx_status_s cn78xx; |
| struct cvmx_pko_ptfx_status_s cn78xxp1; |
| struct cvmx_pko_ptfx_status_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_ptfx_status cvmx_pko_ptfx_status_t; |
| |
| /** |
| * cvmx_pko_ptf_iobp_cfg |
| */ |
| union cvmx_pko_ptf_iobp_cfg { |
| u64 u64; |
| struct cvmx_pko_ptf_iobp_cfg_s { |
| u64 reserved_44_63 : 20; |
| u64 iobp1_ds_opt : 1; |
| u64 iobp0_l2_allocate : 1; |
| u64 iobp1_magic_addr : 35; |
| u64 max_read_size : 7; |
| } s; |
| struct cvmx_pko_ptf_iobp_cfg_s cn73xx; |
| struct cvmx_pko_ptf_iobp_cfg_s cn78xx; |
| struct cvmx_pko_ptf_iobp_cfg_s cn78xxp1; |
| struct cvmx_pko_ptf_iobp_cfg_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_ptf_iobp_cfg cvmx_pko_ptf_iobp_cfg_t; |
| |
| /** |
| * cvmx_pko_ptgf#_cfg |
| * |
| * This register configures a PKO TX FIFO group. PKO supports up to 17 independent |
| * TX FIFOs, where 0-15 are physical and 16 is Virtual/NULL. (PKO drops packets |
| * targeting the NULL FIFO, returning their buffers to the FPA.) PKO puts each |
| * FIFO into one of five groups: |
| * |
| * <pre> |
| * CSR Name FIFO's in FIFO Group |
| * ------------------------------------ |
| * PKO_PTGF0_CFG 0, 1, 2, 3 |
| * PKO_PTGF1_CFG 4, 5, 6, 7 |
| * PKO_PTGF2_CFG 8, 9, 10, 11 |
| * PKO_PTGF3_CFG 12, 13, 14, 15 |
| * PKO_PTGF4_CFG Virtual/NULL |
| * </pre> |
| */ |
| union cvmx_pko_ptgfx_cfg { |
| u64 u64; |
| struct cvmx_pko_ptgfx_cfg_s { |
| u64 reserved_7_63 : 57; |
| u64 reset : 1; |
| u64 rate : 3; |
| u64 size : 3; |
| } s; |
| struct cvmx_pko_ptgfx_cfg_cn73xx { |
| u64 reserved_7_63 : 57; |
| u64 reset : 1; |
| u64 reserved_5_5 : 1; |
| u64 rate : 2; |
| u64 size : 3; |
| } cn73xx; |
| struct cvmx_pko_ptgfx_cfg_s cn78xx; |
| struct cvmx_pko_ptgfx_cfg_s cn78xxp1; |
| struct cvmx_pko_ptgfx_cfg_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_ptgfx_cfg cvmx_pko_ptgfx_cfg_t; |
| |
| /** |
| * cvmx_pko_reg_bist_result |
| * |
| * Notes: |
| * Access to the internal BiST results |
| * Each bit is the BiST result of an individual memory (per bit, 0=pass and 1=fail). |
| */ |
| union cvmx_pko_reg_bist_result { |
| u64 u64; |
| struct cvmx_pko_reg_bist_result_s { |
| u64 reserved_0_63 : 64; |
| } s; |
| struct cvmx_pko_reg_bist_result_cn30xx { |
| u64 reserved_27_63 : 37; |
| u64 psb2 : 5; |
| u64 count : 1; |
| u64 rif : 1; |
| u64 wif : 1; |
| u64 ncb : 1; |
| u64 out : 1; |
| u64 crc : 1; |
| u64 chk : 1; |
| u64 qsb : 2; |
| u64 qcb : 2; |
| u64 pdb : 4; |
| u64 psb : 7; |
| } cn30xx; |
| struct cvmx_pko_reg_bist_result_cn30xx cn31xx; |
| struct cvmx_pko_reg_bist_result_cn30xx cn38xx; |
| struct cvmx_pko_reg_bist_result_cn30xx cn38xxp2; |
| struct cvmx_pko_reg_bist_result_cn50xx { |
| u64 reserved_33_63 : 31; |
| u64 csr : 1; |
| u64 iob : 1; |
| u64 out_crc : 1; |
| u64 out_ctl : 3; |
| u64 out_sta : 1; |
| u64 out_wif : 1; |
| u64 prt_chk : 3; |
| u64 prt_nxt : 1; |
| u64 prt_psb : 6; |
| u64 ncb_inb : 2; |
| u64 prt_qcb : 2; |
| u64 prt_qsb : 3; |
| u64 dat_dat : 4; |
| u64 dat_ptr : 4; |
| } cn50xx; |
| struct cvmx_pko_reg_bist_result_cn52xx { |
| u64 reserved_35_63 : 29; |
| u64 csr : 1; |
| u64 iob : 1; |
| u64 out_dat : 1; |
| u64 out_ctl : 3; |
| u64 out_sta : 1; |
| u64 out_wif : 1; |
| u64 prt_chk : 3; |
| u64 prt_nxt : 1; |
| u64 prt_psb : 8; |
| u64 ncb_inb : 2; |
| u64 prt_qcb : 2; |
| u64 prt_qsb : 3; |
| u64 prt_ctl : 2; |
| u64 dat_dat : 2; |
| u64 dat_ptr : 4; |
| } cn52xx; |
| struct cvmx_pko_reg_bist_result_cn52xx cn52xxp1; |
| struct cvmx_pko_reg_bist_result_cn52xx cn56xx; |
| struct cvmx_pko_reg_bist_result_cn52xx cn56xxp1; |
| struct cvmx_pko_reg_bist_result_cn50xx cn58xx; |
| struct cvmx_pko_reg_bist_result_cn50xx cn58xxp1; |
| struct cvmx_pko_reg_bist_result_cn52xx cn61xx; |
| struct cvmx_pko_reg_bist_result_cn52xx cn63xx; |
| struct cvmx_pko_reg_bist_result_cn52xx cn63xxp1; |
| struct cvmx_pko_reg_bist_result_cn52xx cn66xx; |
| struct cvmx_pko_reg_bist_result_cn68xx { |
| u64 reserved_36_63 : 28; |
| u64 crc : 1; |
| u64 csr : 1; |
| u64 iob : 1; |
| u64 out_dat : 1; |
| u64 reserved_31_31 : 1; |
| u64 out_ctl : 2; |
| u64 out_sta : 1; |
| u64 out_wif : 1; |
| u64 prt_chk : 3; |
| u64 prt_nxt : 1; |
| u64 prt_psb7 : 1; |
| u64 reserved_21_21 : 1; |
| u64 prt_psb : 6; |
| u64 ncb_inb : 2; |
| u64 prt_qcb : 2; |
| u64 prt_qsb : 3; |
| u64 prt_ctl : 2; |
| u64 dat_dat : 2; |
| u64 dat_ptr : 4; |
| } cn68xx; |
| struct cvmx_pko_reg_bist_result_cn68xxp1 { |
| u64 reserved_35_63 : 29; |
| u64 csr : 1; |
| u64 iob : 1; |
| u64 out_dat : 1; |
| u64 reserved_31_31 : 1; |
| u64 out_ctl : 2; |
| u64 out_sta : 1; |
| u64 out_wif : 1; |
| u64 prt_chk : 3; |
| u64 prt_nxt : 1; |
| u64 prt_psb7 : 1; |
| u64 reserved_21_21 : 1; |
| u64 prt_psb : 6; |
| u64 ncb_inb : 2; |
| u64 prt_qcb : 2; |
| u64 prt_qsb : 3; |
| u64 prt_ctl : 2; |
| u64 dat_dat : 2; |
| u64 dat_ptr : 4; |
| } cn68xxp1; |
| struct cvmx_pko_reg_bist_result_cn70xx { |
| u64 reserved_30_63 : 34; |
| u64 csr : 1; |
| u64 iob : 1; |
| u64 out_dat : 1; |
| u64 out_ctl : 1; |
| u64 out_sta : 1; |
| u64 out_wif : 1; |
| u64 prt_chk : 3; |
| u64 prt_nxt : 1; |
| u64 prt_psb : 8; |
| u64 ncb_inb : 1; |
| u64 prt_qcb : 1; |
| u64 prt_qsb : 2; |
| u64 prt_ctl : 2; |
| u64 dat_dat : 2; |
| u64 dat_ptr : 4; |
| } cn70xx; |
| struct cvmx_pko_reg_bist_result_cn70xx cn70xxp1; |
| struct cvmx_pko_reg_bist_result_cn52xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_bist_result cvmx_pko_reg_bist_result_t; |
| |
| /** |
| * cvmx_pko_reg_cmd_buf |
| * |
| * Notes: |
| * Sets the command buffer parameters |
| * The size of the command buffer segments is measured in uint64s. The pool specifies (1 of 8 free |
| * lists to be used when freeing command buffer segments. |
| */ |
| union cvmx_pko_reg_cmd_buf { |
| u64 u64; |
| struct cvmx_pko_reg_cmd_buf_s { |
| u64 reserved_23_63 : 41; |
| u64 pool : 3; |
| u64 reserved_13_19 : 7; |
| u64 size : 13; |
| } s; |
| struct cvmx_pko_reg_cmd_buf_s cn30xx; |
| struct cvmx_pko_reg_cmd_buf_s cn31xx; |
| struct cvmx_pko_reg_cmd_buf_s cn38xx; |
| struct cvmx_pko_reg_cmd_buf_s cn38xxp2; |
| struct cvmx_pko_reg_cmd_buf_s cn50xx; |
| struct cvmx_pko_reg_cmd_buf_s cn52xx; |
| struct cvmx_pko_reg_cmd_buf_s cn52xxp1; |
| struct cvmx_pko_reg_cmd_buf_s cn56xx; |
| struct cvmx_pko_reg_cmd_buf_s cn56xxp1; |
| struct cvmx_pko_reg_cmd_buf_s cn58xx; |
| struct cvmx_pko_reg_cmd_buf_s cn58xxp1; |
| struct cvmx_pko_reg_cmd_buf_s cn61xx; |
| struct cvmx_pko_reg_cmd_buf_s cn63xx; |
| struct cvmx_pko_reg_cmd_buf_s cn63xxp1; |
| struct cvmx_pko_reg_cmd_buf_s cn66xx; |
| struct cvmx_pko_reg_cmd_buf_s cn68xx; |
| struct cvmx_pko_reg_cmd_buf_s cn68xxp1; |
| struct cvmx_pko_reg_cmd_buf_cn70xx { |
| u64 reserved_23_63 : 41; |
| u64 pool : 3; |
| u64 reserved_19_13 : 7; |
| u64 size : 13; |
| } cn70xx; |
| struct cvmx_pko_reg_cmd_buf_cn70xx cn70xxp1; |
| struct cvmx_pko_reg_cmd_buf_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_cmd_buf cvmx_pko_reg_cmd_buf_t; |
| |
| /** |
| * cvmx_pko_reg_crc_ctl# |
| * |
| * Notes: |
| * Controls datapath reflection when calculating CRC |
| * |
| */ |
| union cvmx_pko_reg_crc_ctlx { |
| u64 u64; |
| struct cvmx_pko_reg_crc_ctlx_s { |
| u64 reserved_2_63 : 62; |
| u64 invres : 1; |
| u64 refin : 1; |
| } s; |
| struct cvmx_pko_reg_crc_ctlx_s cn38xx; |
| struct cvmx_pko_reg_crc_ctlx_s cn38xxp2; |
| struct cvmx_pko_reg_crc_ctlx_s cn58xx; |
| struct cvmx_pko_reg_crc_ctlx_s cn58xxp1; |
| }; |
| |
| typedef union cvmx_pko_reg_crc_ctlx cvmx_pko_reg_crc_ctlx_t; |
| |
| /** |
| * cvmx_pko_reg_crc_enable |
| * |
| * Notes: |
| * Enables CRC for the GMX ports. |
| * |
| */ |
| union cvmx_pko_reg_crc_enable { |
| u64 u64; |
| struct cvmx_pko_reg_crc_enable_s { |
| u64 reserved_32_63 : 32; |
| u64 enable : 32; |
| } s; |
| struct cvmx_pko_reg_crc_enable_s cn38xx; |
| struct cvmx_pko_reg_crc_enable_s cn38xxp2; |
| struct cvmx_pko_reg_crc_enable_s cn58xx; |
| struct cvmx_pko_reg_crc_enable_s cn58xxp1; |
| }; |
| |
| typedef union cvmx_pko_reg_crc_enable cvmx_pko_reg_crc_enable_t; |
| |
| /** |
| * cvmx_pko_reg_crc_iv# |
| * |
| * Notes: |
| * Determines the IV used by the CRC algorithm |
| * * PKO_CRC_IV |
| * PKO_CRC_IV controls the initial state of the CRC algorithm. Octane can |
| * support a wide range of CRC algorithms and as such, the IV must be |
| * carefully constructed to meet the specific algorithm. The code below |
| * determines the value to program into Octane based on the algorthim's IV |
| * and width. In the case of Octane, the width should always be 32. |
| * |
| * PKO_CRC_IV0 sets the IV for ports 0-15 while PKO_CRC_IV1 sets the IV for |
| * ports 16-31. |
| * |
| * @verbatim |
| * unsigned octane_crc_iv(unsigned algorithm_iv, unsigned poly, unsigned w) |
| * [ |
| * int i; |
| * int doit; |
| * unsigned int current_val = algorithm_iv; |
| * |
| * for(i = 0; i < w; i++) [ |
| * doit = current_val & 0x1; |
| * |
| * if(doit) current_val ^= poly; |
| * assert(!(current_val & 0x1)); |
| * |
| * current_val = (current_val >> 1) | (doit << (w-1)); |
| * ] |
| * |
| * return current_val; |
| * ] |
| * @endverbatim |
| */ |
| union cvmx_pko_reg_crc_ivx { |
| u64 u64; |
| struct cvmx_pko_reg_crc_ivx_s { |
| u64 reserved_32_63 : 32; |
| u64 iv : 32; |
| } s; |
| struct cvmx_pko_reg_crc_ivx_s cn38xx; |
| struct cvmx_pko_reg_crc_ivx_s cn38xxp2; |
| struct cvmx_pko_reg_crc_ivx_s cn58xx; |
| struct cvmx_pko_reg_crc_ivx_s cn58xxp1; |
| }; |
| |
| typedef union cvmx_pko_reg_crc_ivx cvmx_pko_reg_crc_ivx_t; |
| |
| /** |
| * cvmx_pko_reg_debug0 |
| * |
| * Notes: |
| * Note that this CSR is present only in chip revisions beginning with pass2. |
| * |
| */ |
| union cvmx_pko_reg_debug0 { |
| u64 u64; |
| struct cvmx_pko_reg_debug0_s { |
| u64 asserts : 64; |
| } s; |
| struct cvmx_pko_reg_debug0_cn30xx { |
| u64 reserved_17_63 : 47; |
| u64 asserts : 17; |
| } cn30xx; |
| struct cvmx_pko_reg_debug0_cn30xx cn31xx; |
| struct cvmx_pko_reg_debug0_cn30xx cn38xx; |
| struct cvmx_pko_reg_debug0_cn30xx cn38xxp2; |
| struct cvmx_pko_reg_debug0_s cn50xx; |
| struct cvmx_pko_reg_debug0_s cn52xx; |
| struct cvmx_pko_reg_debug0_s cn52xxp1; |
| struct cvmx_pko_reg_debug0_s cn56xx; |
| struct cvmx_pko_reg_debug0_s cn56xxp1; |
| struct cvmx_pko_reg_debug0_s cn58xx; |
| struct cvmx_pko_reg_debug0_s cn58xxp1; |
| struct cvmx_pko_reg_debug0_s cn61xx; |
| struct cvmx_pko_reg_debug0_s cn63xx; |
| struct cvmx_pko_reg_debug0_s cn63xxp1; |
| struct cvmx_pko_reg_debug0_s cn66xx; |
| struct cvmx_pko_reg_debug0_s cn68xx; |
| struct cvmx_pko_reg_debug0_s cn68xxp1; |
| struct cvmx_pko_reg_debug0_s cn70xx; |
| struct cvmx_pko_reg_debug0_s cn70xxp1; |
| struct cvmx_pko_reg_debug0_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_debug0 cvmx_pko_reg_debug0_t; |
| |
| /** |
| * cvmx_pko_reg_debug1 |
| */ |
| union cvmx_pko_reg_debug1 { |
| u64 u64; |
| struct cvmx_pko_reg_debug1_s { |
| u64 asserts : 64; |
| } s; |
| struct cvmx_pko_reg_debug1_s cn50xx; |
| struct cvmx_pko_reg_debug1_s cn52xx; |
| struct cvmx_pko_reg_debug1_s cn52xxp1; |
| struct cvmx_pko_reg_debug1_s cn56xx; |
| struct cvmx_pko_reg_debug1_s cn56xxp1; |
| struct cvmx_pko_reg_debug1_s cn58xx; |
| struct cvmx_pko_reg_debug1_s cn58xxp1; |
| struct cvmx_pko_reg_debug1_s cn61xx; |
| struct cvmx_pko_reg_debug1_s cn63xx; |
| struct cvmx_pko_reg_debug1_s cn63xxp1; |
| struct cvmx_pko_reg_debug1_s cn66xx; |
| struct cvmx_pko_reg_debug1_s cn68xx; |
| struct cvmx_pko_reg_debug1_s cn68xxp1; |
| struct cvmx_pko_reg_debug1_s cn70xx; |
| struct cvmx_pko_reg_debug1_s cn70xxp1; |
| struct cvmx_pko_reg_debug1_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_debug1 cvmx_pko_reg_debug1_t; |
| |
| /** |
| * cvmx_pko_reg_debug2 |
| */ |
| union cvmx_pko_reg_debug2 { |
| u64 u64; |
| struct cvmx_pko_reg_debug2_s { |
| u64 asserts : 64; |
| } s; |
| struct cvmx_pko_reg_debug2_s cn50xx; |
| struct cvmx_pko_reg_debug2_s cn52xx; |
| struct cvmx_pko_reg_debug2_s cn52xxp1; |
| struct cvmx_pko_reg_debug2_s cn56xx; |
| struct cvmx_pko_reg_debug2_s cn56xxp1; |
| struct cvmx_pko_reg_debug2_s cn58xx; |
| struct cvmx_pko_reg_debug2_s cn58xxp1; |
| struct cvmx_pko_reg_debug2_s cn61xx; |
| struct cvmx_pko_reg_debug2_s cn63xx; |
| struct cvmx_pko_reg_debug2_s cn63xxp1; |
| struct cvmx_pko_reg_debug2_s cn66xx; |
| struct cvmx_pko_reg_debug2_s cn68xx; |
| struct cvmx_pko_reg_debug2_s cn68xxp1; |
| struct cvmx_pko_reg_debug2_s cn70xx; |
| struct cvmx_pko_reg_debug2_s cn70xxp1; |
| struct cvmx_pko_reg_debug2_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_debug2 cvmx_pko_reg_debug2_t; |
| |
| /** |
| * cvmx_pko_reg_debug3 |
| */ |
| union cvmx_pko_reg_debug3 { |
| u64 u64; |
| struct cvmx_pko_reg_debug3_s { |
| u64 asserts : 64; |
| } s; |
| struct cvmx_pko_reg_debug3_s cn50xx; |
| struct cvmx_pko_reg_debug3_s cn52xx; |
| struct cvmx_pko_reg_debug3_s cn52xxp1; |
| struct cvmx_pko_reg_debug3_s cn56xx; |
| struct cvmx_pko_reg_debug3_s cn56xxp1; |
| struct cvmx_pko_reg_debug3_s cn58xx; |
| struct cvmx_pko_reg_debug3_s cn58xxp1; |
| struct cvmx_pko_reg_debug3_s cn61xx; |
| struct cvmx_pko_reg_debug3_s cn63xx; |
| struct cvmx_pko_reg_debug3_s cn63xxp1; |
| struct cvmx_pko_reg_debug3_s cn66xx; |
| struct cvmx_pko_reg_debug3_s cn68xx; |
| struct cvmx_pko_reg_debug3_s cn68xxp1; |
| struct cvmx_pko_reg_debug3_s cn70xx; |
| struct cvmx_pko_reg_debug3_s cn70xxp1; |
| struct cvmx_pko_reg_debug3_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_debug3 cvmx_pko_reg_debug3_t; |
| |
| /** |
| * cvmx_pko_reg_debug4 |
| */ |
| union cvmx_pko_reg_debug4 { |
| u64 u64; |
| struct cvmx_pko_reg_debug4_s { |
| u64 asserts : 64; |
| } s; |
| struct cvmx_pko_reg_debug4_s cn68xx; |
| struct cvmx_pko_reg_debug4_s cn68xxp1; |
| }; |
| |
| typedef union cvmx_pko_reg_debug4 cvmx_pko_reg_debug4_t; |
| |
| /** |
| * cvmx_pko_reg_engine_inflight |
| * |
| * Notes: |
| * Sets the maximum number of inflight packets, per engine. Values greater than 4 are illegal. |
| * Setting an engine's value to 0 effectively stops the engine. |
| */ |
| union cvmx_pko_reg_engine_inflight { |
| u64 u64; |
| struct cvmx_pko_reg_engine_inflight_s { |
| u64 engine15 : 4; |
| u64 engine14 : 4; |
| u64 engine13 : 4; |
| u64 engine12 : 4; |
| u64 engine11 : 4; |
| u64 engine10 : 4; |
| u64 engine9 : 4; |
| u64 engine8 : 4; |
| u64 engine7 : 4; |
| u64 engine6 : 4; |
| u64 engine5 : 4; |
| u64 engine4 : 4; |
| u64 engine3 : 4; |
| u64 engine2 : 4; |
| u64 engine1 : 4; |
| u64 engine0 : 4; |
| } s; |
| struct cvmx_pko_reg_engine_inflight_cn52xx { |
| u64 reserved_40_63 : 24; |
| u64 engine9 : 4; |
| u64 engine8 : 4; |
| u64 engine7 : 4; |
| u64 engine6 : 4; |
| u64 engine5 : 4; |
| u64 engine4 : 4; |
| u64 engine3 : 4; |
| u64 engine2 : 4; |
| u64 engine1 : 4; |
| u64 engine0 : 4; |
| } cn52xx; |
| struct cvmx_pko_reg_engine_inflight_cn52xx cn52xxp1; |
| struct cvmx_pko_reg_engine_inflight_cn52xx cn56xx; |
| struct cvmx_pko_reg_engine_inflight_cn52xx cn56xxp1; |
| struct cvmx_pko_reg_engine_inflight_cn61xx { |
| u64 reserved_56_63 : 8; |
| u64 engine13 : 4; |
| u64 engine12 : 4; |
| u64 engine11 : 4; |
| u64 engine10 : 4; |
| u64 engine9 : 4; |
| u64 engine8 : 4; |
| u64 engine7 : 4; |
| u64 engine6 : 4; |
| u64 engine5 : 4; |
| u64 engine4 : 4; |
| u64 engine3 : 4; |
| u64 engine2 : 4; |
| u64 engine1 : 4; |
| u64 engine0 : 4; |
| } cn61xx; |
| struct cvmx_pko_reg_engine_inflight_cn63xx { |
| u64 reserved_48_63 : 16; |
| u64 engine11 : 4; |
| u64 engine10 : 4; |
| u64 engine9 : 4; |
| u64 engine8 : 4; |
| u64 engine7 : 4; |
| u64 engine6 : 4; |
| u64 engine5 : 4; |
| u64 engine4 : 4; |
| u64 engine3 : 4; |
| u64 engine2 : 4; |
| u64 engine1 : 4; |
| u64 engine0 : 4; |
| } cn63xx; |
| struct cvmx_pko_reg_engine_inflight_cn63xx cn63xxp1; |
| struct cvmx_pko_reg_engine_inflight_cn61xx cn66xx; |
| struct cvmx_pko_reg_engine_inflight_s cn68xx; |
| struct cvmx_pko_reg_engine_inflight_s cn68xxp1; |
| struct cvmx_pko_reg_engine_inflight_cn61xx cn70xx; |
| struct cvmx_pko_reg_engine_inflight_cn61xx cn70xxp1; |
| struct cvmx_pko_reg_engine_inflight_cn61xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_engine_inflight cvmx_pko_reg_engine_inflight_t; |
| |
| /** |
| * cvmx_pko_reg_engine_inflight1 |
| * |
| * Notes: |
| * Sets the maximum number of inflight packets, per engine. Values greater than 8 are illegal. |
| * Setting an engine's value to 0 effectively stops the engine. |
| */ |
| union cvmx_pko_reg_engine_inflight1 { |
| u64 u64; |
| struct cvmx_pko_reg_engine_inflight1_s { |
| u64 reserved_16_63 : 48; |
| u64 engine19 : 4; |
| u64 engine18 : 4; |
| u64 engine17 : 4; |
| u64 engine16 : 4; |
| } s; |
| struct cvmx_pko_reg_engine_inflight1_s cn68xx; |
| struct cvmx_pko_reg_engine_inflight1_s cn68xxp1; |
| }; |
| |
| typedef union cvmx_pko_reg_engine_inflight1 cvmx_pko_reg_engine_inflight1_t; |
| |
| /** |
| * cvmx_pko_reg_engine_storage# |
| * |
| * Notes: |
| * The PKO has 40KB of local storage, consisting of 20, 2KB chunks. Up to 15 contiguous chunks may be mapped per engine. |
| * The total of all mapped storage must not exceed 40KB. |
| */ |
| union cvmx_pko_reg_engine_storagex { |
| u64 u64; |
| struct cvmx_pko_reg_engine_storagex_s { |
| u64 engine15 : 4; |
| u64 engine14 : 4; |
| u64 engine13 : 4; |
| u64 engine12 : 4; |
| u64 engine11 : 4; |
| u64 engine10 : 4; |
| u64 engine9 : 4; |
| u64 engine8 : 4; |
| u64 engine7 : 4; |
| u64 engine6 : 4; |
| u64 engine5 : 4; |
| u64 engine4 : 4; |
| u64 engine3 : 4; |
| u64 engine2 : 4; |
| u64 engine1 : 4; |
| u64 engine0 : 4; |
| } s; |
| struct cvmx_pko_reg_engine_storagex_s cn68xx; |
| struct cvmx_pko_reg_engine_storagex_s cn68xxp1; |
| }; |
| |
| typedef union cvmx_pko_reg_engine_storagex cvmx_pko_reg_engine_storagex_t; |
| |
| /** |
| * cvmx_pko_reg_engine_thresh |
| * |
| * Notes: |
| * When not enabled, packet data may be sent as soon as it is written into PKO's internal buffers. |
| * When enabled and the packet fits entirely in the PKO's internal buffer, none of the packet data will |
| * be sent until all of it has been written into the PKO's internal buffer. Note that a packet is |
| * considered to fit entirely only if the packet's size is <= BUFFER_SIZE-8. When enabled and the |
| * packet does not fit entirely in the PKO's internal buffer, none of the packet data will be sent until |
| * at least BUFFER_SIZE-256 bytes of the packet have been written into the PKO's internal buffer |
| * (note that BUFFER_SIZE is a function of PKO_REG_GMX_PORT_MODE above) |
| */ |
| union cvmx_pko_reg_engine_thresh { |
| u64 u64; |
| struct cvmx_pko_reg_engine_thresh_s { |
| u64 reserved_20_63 : 44; |
| u64 mask : 20; |
| } s; |
| struct cvmx_pko_reg_engine_thresh_cn52xx { |
| u64 reserved_10_63 : 54; |
| u64 mask : 10; |
| } cn52xx; |
| struct cvmx_pko_reg_engine_thresh_cn52xx cn52xxp1; |
| struct cvmx_pko_reg_engine_thresh_cn52xx cn56xx; |
| struct cvmx_pko_reg_engine_thresh_cn52xx cn56xxp1; |
| struct cvmx_pko_reg_engine_thresh_cn61xx { |
| u64 reserved_14_63 : 50; |
| u64 mask : 14; |
| } cn61xx; |
| struct cvmx_pko_reg_engine_thresh_cn63xx { |
| u64 reserved_12_63 : 52; |
| u64 mask : 12; |
| } cn63xx; |
| struct cvmx_pko_reg_engine_thresh_cn63xx cn63xxp1; |
| struct cvmx_pko_reg_engine_thresh_cn61xx cn66xx; |
| struct cvmx_pko_reg_engine_thresh_s cn68xx; |
| struct cvmx_pko_reg_engine_thresh_s cn68xxp1; |
| struct cvmx_pko_reg_engine_thresh_cn61xx cn70xx; |
| struct cvmx_pko_reg_engine_thresh_cn61xx cn70xxp1; |
| struct cvmx_pko_reg_engine_thresh_cn61xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_engine_thresh cvmx_pko_reg_engine_thresh_t; |
| |
| /** |
| * cvmx_pko_reg_error |
| * |
| * Notes: |
| * Note that this CSR is present only in chip revisions beginning with pass2. |
| * |
| */ |
| union cvmx_pko_reg_error { |
| u64 u64; |
| struct cvmx_pko_reg_error_s { |
| u64 reserved_4_63 : 60; |
| u64 loopback : 1; |
| u64 currzero : 1; |
| u64 doorbell : 1; |
| u64 parity : 1; |
| } s; |
| struct cvmx_pko_reg_error_cn30xx { |
| u64 reserved_2_63 : 62; |
| u64 doorbell : 1; |
| u64 parity : 1; |
| } cn30xx; |
| struct cvmx_pko_reg_error_cn30xx cn31xx; |
| struct cvmx_pko_reg_error_cn30xx cn38xx; |
| struct cvmx_pko_reg_error_cn30xx cn38xxp2; |
| struct cvmx_pko_reg_error_cn50xx { |
| u64 reserved_3_63 : 61; |
| u64 currzero : 1; |
| u64 doorbell : 1; |
| u64 parity : 1; |
| } cn50xx; |
| struct cvmx_pko_reg_error_cn50xx cn52xx; |
| struct cvmx_pko_reg_error_cn50xx cn52xxp1; |
| struct cvmx_pko_reg_error_cn50xx cn56xx; |
| struct cvmx_pko_reg_error_cn50xx cn56xxp1; |
| struct cvmx_pko_reg_error_cn50xx cn58xx; |
| struct cvmx_pko_reg_error_cn50xx cn58xxp1; |
| struct cvmx_pko_reg_error_cn50xx cn61xx; |
| struct cvmx_pko_reg_error_cn50xx cn63xx; |
| struct cvmx_pko_reg_error_cn50xx cn63xxp1; |
| struct cvmx_pko_reg_error_cn50xx cn66xx; |
| struct cvmx_pko_reg_error_s cn68xx; |
| struct cvmx_pko_reg_error_s cn68xxp1; |
| struct cvmx_pko_reg_error_cn50xx cn70xx; |
| struct cvmx_pko_reg_error_cn50xx cn70xxp1; |
| struct cvmx_pko_reg_error_cn50xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_error cvmx_pko_reg_error_t; |
| |
| /** |
| * cvmx_pko_reg_flags |
| * |
| * Notes: |
| * When set, ENA_PKO enables the PKO picker and places the PKO in normal operation. When set, ENA_DWB |
| * enables the use of DontWriteBacks during the buffer freeing operations. When not set, STORE_BE inverts |
| * bits[2:0] of the STORE0 byte write address. When set, RESET causes a 4-cycle reset pulse to the |
| * entire box. |
| */ |
| union cvmx_pko_reg_flags { |
| u64 u64; |
| struct cvmx_pko_reg_flags_s { |
| u64 reserved_9_63 : 55; |
| u64 dis_perf3 : 1; |
| u64 dis_perf2 : 1; |
| u64 dis_perf1 : 1; |
| u64 dis_perf0 : 1; |
| u64 ena_throttle : 1; |
| u64 reset : 1; |
| u64 store_be : 1; |
| u64 ena_dwb : 1; |
| u64 ena_pko : 1; |
| } s; |
| struct cvmx_pko_reg_flags_cn30xx { |
| u64 reserved_4_63 : 60; |
| u64 reset : 1; |
| u64 store_be : 1; |
| u64 ena_dwb : 1; |
| u64 ena_pko : 1; |
| } cn30xx; |
| struct cvmx_pko_reg_flags_cn30xx cn31xx; |
| struct cvmx_pko_reg_flags_cn30xx cn38xx; |
| struct cvmx_pko_reg_flags_cn30xx cn38xxp2; |
| struct cvmx_pko_reg_flags_cn30xx cn50xx; |
| struct cvmx_pko_reg_flags_cn30xx cn52xx; |
| struct cvmx_pko_reg_flags_cn30xx cn52xxp1; |
| struct cvmx_pko_reg_flags_cn30xx cn56xx; |
| struct cvmx_pko_reg_flags_cn30xx cn56xxp1; |
| struct cvmx_pko_reg_flags_cn30xx cn58xx; |
| struct cvmx_pko_reg_flags_cn30xx cn58xxp1; |
| struct cvmx_pko_reg_flags_cn61xx { |
| u64 reserved_9_63 : 55; |
| u64 dis_perf3 : 1; |
| u64 dis_perf2 : 1; |
| u64 reserved_4_6 : 3; |
| u64 reset : 1; |
| u64 store_be : 1; |
| u64 ena_dwb : 1; |
| u64 ena_pko : 1; |
| } cn61xx; |
| struct cvmx_pko_reg_flags_cn30xx cn63xx; |
| struct cvmx_pko_reg_flags_cn30xx cn63xxp1; |
| struct cvmx_pko_reg_flags_cn61xx cn66xx; |
| struct cvmx_pko_reg_flags_s cn68xx; |
| struct cvmx_pko_reg_flags_cn68xxp1 { |
| u64 reserved_7_63 : 57; |
| u64 dis_perf1 : 1; |
| u64 dis_perf0 : 1; |
| u64 ena_throttle : 1; |
| u64 reset : 1; |
| u64 store_be : 1; |
| u64 ena_dwb : 1; |
| u64 ena_pko : 1; |
| } cn68xxp1; |
| struct cvmx_pko_reg_flags_cn61xx cn70xx; |
| struct cvmx_pko_reg_flags_cn61xx cn70xxp1; |
| struct cvmx_pko_reg_flags_cn61xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_flags cvmx_pko_reg_flags_t; |
| |
| /** |
| * cvmx_pko_reg_gmx_port_mode |
| * |
| * Notes: |
| * The system has a total of 2 + 4 + 4 ports and 2 + 1 + 1 engines (GM0 + PCI + LOOP). |
| * This CSR sets the number of GMX0 ports and amount of local storage per engine. |
| * It has no effect on the number of ports or amount of local storage per engine for PCI and LOOP. |
| * When both GMX ports are used (MODE0=3), each GMX engine has 10kB of local |
| * storage. Increasing MODE0 to 4 decreases the number of GMX ports to 1 and |
| * increases the local storage for the one remaining PKO GMX engine to 20kB. |
| * MODE0 value 0, 1, and 2, or greater than 4 are illegal. |
| * |
| * MODE0 GMX0 PCI LOOP GMX0 PCI LOOP |
| * ports ports ports storage/engine storage/engine storage/engine |
| * 3 2 4 4 10.0kB 2.5kB 2.5kB |
| * 4 1 4 4 20.0kB 2.5kB 2.5kB |
| */ |
| union cvmx_pko_reg_gmx_port_mode { |
| u64 u64; |
| struct cvmx_pko_reg_gmx_port_mode_s { |
| u64 reserved_6_63 : 58; |
| u64 mode1 : 3; |
| u64 mode0 : 3; |
| } s; |
| struct cvmx_pko_reg_gmx_port_mode_s cn30xx; |
| struct cvmx_pko_reg_gmx_port_mode_s cn31xx; |
| struct cvmx_pko_reg_gmx_port_mode_s cn38xx; |
| struct cvmx_pko_reg_gmx_port_mode_s cn38xxp2; |
| struct cvmx_pko_reg_gmx_port_mode_s cn50xx; |
| struct cvmx_pko_reg_gmx_port_mode_s cn52xx; |
| struct cvmx_pko_reg_gmx_port_mode_s cn52xxp1; |
| struct cvmx_pko_reg_gmx_port_mode_s cn56xx; |
| struct cvmx_pko_reg_gmx_port_mode_s cn56xxp1; |
| struct cvmx_pko_reg_gmx_port_mode_s cn58xx; |
| struct cvmx_pko_reg_gmx_port_mode_s cn58xxp1; |
| struct cvmx_pko_reg_gmx_port_mode_s cn61xx; |
| struct cvmx_pko_reg_gmx_port_mode_s cn63xx; |
| struct cvmx_pko_reg_gmx_port_mode_s cn63xxp1; |
| struct cvmx_pko_reg_gmx_port_mode_s cn66xx; |
| struct cvmx_pko_reg_gmx_port_mode_s cn70xx; |
| struct cvmx_pko_reg_gmx_port_mode_s cn70xxp1; |
| struct cvmx_pko_reg_gmx_port_mode_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_gmx_port_mode cvmx_pko_reg_gmx_port_mode_t; |
| |
| /** |
| * cvmx_pko_reg_int_mask |
| * |
| * Notes: |
| * When a mask bit is set, the corresponding interrupt is enabled. |
| * |
| */ |
| union cvmx_pko_reg_int_mask { |
| u64 u64; |
| struct cvmx_pko_reg_int_mask_s { |
| u64 reserved_4_63 : 60; |
| u64 loopback : 1; |
| u64 currzero : 1; |
| u64 doorbell : 1; |
| u64 parity : 1; |
| } s; |
| struct cvmx_pko_reg_int_mask_cn30xx { |
| u64 reserved_2_63 : 62; |
| u64 doorbell : 1; |
| u64 parity : 1; |
| } cn30xx; |
| struct cvmx_pko_reg_int_mask_cn30xx cn31xx; |
| struct cvmx_pko_reg_int_mask_cn30xx cn38xx; |
| struct cvmx_pko_reg_int_mask_cn30xx cn38xxp2; |
| struct cvmx_pko_reg_int_mask_cn50xx { |
| u64 reserved_3_63 : 61; |
| u64 currzero : 1; |
| u64 doorbell : 1; |
| u64 parity : 1; |
| } cn50xx; |
| struct cvmx_pko_reg_int_mask_cn50xx cn52xx; |
| struct cvmx_pko_reg_int_mask_cn50xx cn52xxp1; |
| struct cvmx_pko_reg_int_mask_cn50xx cn56xx; |
| struct cvmx_pko_reg_int_mask_cn50xx cn56xxp1; |
| struct cvmx_pko_reg_int_mask_cn50xx cn58xx; |
| struct cvmx_pko_reg_int_mask_cn50xx cn58xxp1; |
| struct cvmx_pko_reg_int_mask_cn50xx cn61xx; |
| struct cvmx_pko_reg_int_mask_cn50xx cn63xx; |
| struct cvmx_pko_reg_int_mask_cn50xx cn63xxp1; |
| struct cvmx_pko_reg_int_mask_cn50xx cn66xx; |
| struct cvmx_pko_reg_int_mask_s cn68xx; |
| struct cvmx_pko_reg_int_mask_s cn68xxp1; |
| struct cvmx_pko_reg_int_mask_cn50xx cn70xx; |
| struct cvmx_pko_reg_int_mask_cn50xx cn70xxp1; |
| struct cvmx_pko_reg_int_mask_cn50xx cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_int_mask cvmx_pko_reg_int_mask_t; |
| |
| /** |
| * cvmx_pko_reg_loopback_bpid |
| * |
| * Notes: |
| * None. |
| * |
| */ |
| union cvmx_pko_reg_loopback_bpid { |
| u64 u64; |
| struct cvmx_pko_reg_loopback_bpid_s { |
| u64 reserved_59_63 : 5; |
| u64 bpid7 : 6; |
| u64 reserved_52_52 : 1; |
| u64 bpid6 : 6; |
| u64 reserved_45_45 : 1; |
| u64 bpid5 : 6; |
| u64 reserved_38_38 : 1; |
| u64 bpid4 : 6; |
| u64 reserved_31_31 : 1; |
| u64 bpid3 : 6; |
| u64 reserved_24_24 : 1; |
| u64 bpid2 : 6; |
| u64 reserved_17_17 : 1; |
| u64 bpid1 : 6; |
| u64 reserved_10_10 : 1; |
| u64 bpid0 : 6; |
| u64 reserved_0_3 : 4; |
| } s; |
| struct cvmx_pko_reg_loopback_bpid_s cn68xx; |
| struct cvmx_pko_reg_loopback_bpid_s cn68xxp1; |
| }; |
| |
| typedef union cvmx_pko_reg_loopback_bpid cvmx_pko_reg_loopback_bpid_t; |
| |
| /** |
| * cvmx_pko_reg_loopback_pkind |
| * |
| * Notes: |
| * None. |
| * |
| */ |
| union cvmx_pko_reg_loopback_pkind { |
| u64 u64; |
| struct cvmx_pko_reg_loopback_pkind_s { |
| u64 reserved_59_63 : 5; |
| u64 pkind7 : 6; |
| u64 reserved_52_52 : 1; |
| u64 pkind6 : 6; |
| u64 reserved_45_45 : 1; |
| u64 pkind5 : 6; |
| u64 reserved_38_38 : 1; |
| u64 pkind4 : 6; |
| u64 reserved_31_31 : 1; |
| u64 pkind3 : 6; |
| u64 reserved_24_24 : 1; |
| u64 pkind2 : 6; |
| u64 reserved_17_17 : 1; |
| u64 pkind1 : 6; |
| u64 reserved_10_10 : 1; |
| u64 pkind0 : 6; |
| u64 num_ports : 4; |
| } s; |
| struct cvmx_pko_reg_loopback_pkind_s cn68xx; |
| struct cvmx_pko_reg_loopback_pkind_s cn68xxp1; |
| }; |
| |
| typedef union cvmx_pko_reg_loopback_pkind cvmx_pko_reg_loopback_pkind_t; |
| |
| /** |
| * cvmx_pko_reg_min_pkt |
| * |
| * Notes: |
| * This CSR is used with PKO_MEM_IPORT_PTRS[MIN_PKT] to select the minimum packet size. Packets whose |
| * size in bytes < (SIZEn+1) are zero-padded to (SIZEn+1) bytes. Note that this does not include CRC bytes. |
| * SIZE0=0 is read-only and is used when no padding is desired. |
| */ |
| union cvmx_pko_reg_min_pkt { |
| u64 u64; |
| struct cvmx_pko_reg_min_pkt_s { |
| u64 size7 : 8; |
| u64 size6 : 8; |
| u64 size5 : 8; |
| u64 size4 : 8; |
| u64 size3 : 8; |
| u64 size2 : 8; |
| u64 size1 : 8; |
| u64 size0 : 8; |
| } s; |
| struct cvmx_pko_reg_min_pkt_s cn68xx; |
| struct cvmx_pko_reg_min_pkt_s cn68xxp1; |
| }; |
| |
| typedef union cvmx_pko_reg_min_pkt cvmx_pko_reg_min_pkt_t; |
| |
| /** |
| * cvmx_pko_reg_preempt |
| */ |
| union cvmx_pko_reg_preempt { |
| u64 u64; |
| struct cvmx_pko_reg_preempt_s { |
| u64 reserved_16_63 : 48; |
| u64 min_size : 16; |
| } s; |
| struct cvmx_pko_reg_preempt_s cn52xx; |
| struct cvmx_pko_reg_preempt_s cn52xxp1; |
| struct cvmx_pko_reg_preempt_s cn56xx; |
| struct cvmx_pko_reg_preempt_s cn56xxp1; |
| struct cvmx_pko_reg_preempt_s cn61xx; |
| struct cvmx_pko_reg_preempt_s cn63xx; |
| struct cvmx_pko_reg_preempt_s cn63xxp1; |
| struct cvmx_pko_reg_preempt_s cn66xx; |
| struct cvmx_pko_reg_preempt_s cn68xx; |
| struct cvmx_pko_reg_preempt_s cn68xxp1; |
| struct cvmx_pko_reg_preempt_s cn70xx; |
| struct cvmx_pko_reg_preempt_s cn70xxp1; |
| struct cvmx_pko_reg_preempt_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_preempt cvmx_pko_reg_preempt_t; |
| |
| /** |
| * cvmx_pko_reg_queue_mode |
| * |
| * Notes: |
| * Sets the number of queues and amount of local storage per queue |
| * The system has a total of 256 queues and (256*8) words of local command storage. This CSR sets the |
| * number of queues that are used. Increasing the value of MODE by 1 decreases the number of queues |
| * by a power of 2 and increases the local storage per queue by a power of 2. |
| * MODEn queues storage/queue |
| * 0 256 64B ( 8 words) |
| * 1 128 128B (16 words) |
| * 2 64 256B (32 words) |
| */ |
| union cvmx_pko_reg_queue_mode { |
| u64 u64; |
| struct cvmx_pko_reg_queue_mode_s { |
| u64 reserved_2_63 : 62; |
| u64 mode : 2; |
| } s; |
| struct cvmx_pko_reg_queue_mode_s cn30xx; |
| struct cvmx_pko_reg_queue_mode_s cn31xx; |
| struct cvmx_pko_reg_queue_mode_s cn38xx; |
| struct cvmx_pko_reg_queue_mode_s cn38xxp2; |
| struct cvmx_pko_reg_queue_mode_s cn50xx; |
| struct cvmx_pko_reg_queue_mode_s cn52xx; |
| struct cvmx_pko_reg_queue_mode_s cn52xxp1; |
| struct cvmx_pko_reg_queue_mode_s cn56xx; |
| struct cvmx_pko_reg_queue_mode_s cn56xxp1; |
| struct cvmx_pko_reg_queue_mode_s cn58xx; |
| struct cvmx_pko_reg_queue_mode_s cn58xxp1; |
| struct cvmx_pko_reg_queue_mode_s cn61xx; |
| struct cvmx_pko_reg_queue_mode_s cn63xx; |
| struct cvmx_pko_reg_queue_mode_s cn63xxp1; |
| struct cvmx_pko_reg_queue_mode_s cn66xx; |
| struct cvmx_pko_reg_queue_mode_s cn68xx; |
| struct cvmx_pko_reg_queue_mode_s cn68xxp1; |
| struct cvmx_pko_reg_queue_mode_s cn70xx; |
| struct cvmx_pko_reg_queue_mode_s cn70xxp1; |
| struct cvmx_pko_reg_queue_mode_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_queue_mode cvmx_pko_reg_queue_mode_t; |
| |
| /** |
| * cvmx_pko_reg_queue_preempt |
| * |
| * Notes: |
| * Per QID, setting both PREEMPTER=1 and PREEMPTEE=1 is illegal and sets only PREEMPTER=1. |
| * This CSR is used with PKO_MEM_QUEUE_PTRS and PKO_REG_QUEUE_PTRS1. When programming queues, the |
| * programming sequence must first write PKO_REG_QUEUE_PREEMPT, then PKO_REG_QUEUE_PTRS1 and then |
| * PKO_MEM_QUEUE_PTRS for each queue. Preemption is supported only on queues that are ultimately |
| * mapped to engines 0-7. It is illegal to set preemptee or preempter for a queue that is ultimately |
| * mapped to engines 8-11. |
| * |
| * Also, PKO_REG_ENGINE_INFLIGHT must be at least 2 for any engine on which preemption is enabled. |
| * |
| * See the descriptions of PKO_MEM_QUEUE_PTRS for further explanation of queue programming. |
| */ |
| union cvmx_pko_reg_queue_preempt { |
| u64 u64; |
| struct cvmx_pko_reg_queue_preempt_s { |
| u64 reserved_2_63 : 62; |
| u64 preemptee : 1; |
| u64 preempter : 1; |
| } s; |
| struct cvmx_pko_reg_queue_preempt_s cn52xx; |
| struct cvmx_pko_reg_queue_preempt_s cn52xxp1; |
| struct cvmx_pko_reg_queue_preempt_s cn56xx; |
| struct cvmx_pko_reg_queue_preempt_s cn56xxp1; |
| struct cvmx_pko_reg_queue_preempt_s cn61xx; |
| struct cvmx_pko_reg_queue_preempt_s cn63xx; |
| struct cvmx_pko_reg_queue_preempt_s cn63xxp1; |
| struct cvmx_pko_reg_queue_preempt_s cn66xx; |
| struct cvmx_pko_reg_queue_preempt_s cn68xx; |
| struct cvmx_pko_reg_queue_preempt_s cn68xxp1; |
| struct cvmx_pko_reg_queue_preempt_s cn70xx; |
| struct cvmx_pko_reg_queue_preempt_s cn70xxp1; |
| struct cvmx_pko_reg_queue_preempt_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_queue_preempt cvmx_pko_reg_queue_preempt_t; |
| |
| /** |
| * cvmx_pko_reg_queue_ptrs1 |
| * |
| * Notes: |
| * This CSR is used with PKO_MEM_QUEUE_PTRS and PKO_MEM_QUEUE_QOS to allow access to queues 128-255 |
| * and to allow up mapping of up to 16 queues per port. When programming queues 128-255, the |
| * programming sequence must first write PKO_REG_QUEUE_PTRS1 and then write PKO_MEM_QUEUE_PTRS or |
| * PKO_MEM_QUEUE_QOS for each queue. |
| * See the descriptions of PKO_MEM_QUEUE_PTRS and PKO_MEM_QUEUE_QOS for further explanation of queue |
| * programming. |
| */ |
| union cvmx_pko_reg_queue_ptrs1 { |
| u64 u64; |
| struct cvmx_pko_reg_queue_ptrs1_s { |
| u64 reserved_2_63 : 62; |
| u64 idx3 : 1; |
| u64 qid7 : 1; |
| } s; |
| struct cvmx_pko_reg_queue_ptrs1_s cn50xx; |
| struct cvmx_pko_reg_queue_ptrs1_s cn52xx; |
| struct cvmx_pko_reg_queue_ptrs1_s cn52xxp1; |
| struct cvmx_pko_reg_queue_ptrs1_s cn56xx; |
| struct cvmx_pko_reg_queue_ptrs1_s cn56xxp1; |
| struct cvmx_pko_reg_queue_ptrs1_s cn58xx; |
| struct cvmx_pko_reg_queue_ptrs1_s cn58xxp1; |
| struct cvmx_pko_reg_queue_ptrs1_s cn61xx; |
| struct cvmx_pko_reg_queue_ptrs1_s cn63xx; |
| struct cvmx_pko_reg_queue_ptrs1_s cn63xxp1; |
| struct cvmx_pko_reg_queue_ptrs1_s cn66xx; |
| struct cvmx_pko_reg_queue_ptrs1_s cn70xx; |
| struct cvmx_pko_reg_queue_ptrs1_s cn70xxp1; |
| struct cvmx_pko_reg_queue_ptrs1_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_queue_ptrs1 cvmx_pko_reg_queue_ptrs1_t; |
| |
| /** |
| * cvmx_pko_reg_read_idx |
| * |
| * Notes: |
| * Provides the read index during a CSR read operation to any of the CSRs that are physically stored |
| * as memories. The names of these CSRs begin with the prefix "PKO_MEM_". |
| * IDX[7:0] is the read index. INC[7:0] is an increment that is added to IDX[7:0] after any CSR read. |
| * The intended use is to initially write this CSR such that IDX=0 and INC=1. Then, the entire |
| * contents of a CSR memory can be read with consecutive CSR read commands. |
| */ |
| union cvmx_pko_reg_read_idx { |
| u64 u64; |
| struct cvmx_pko_reg_read_idx_s { |
| u64 reserved_16_63 : 48; |
| u64 inc : 8; |
| u64 index : 8; |
| } s; |
| struct cvmx_pko_reg_read_idx_s cn30xx; |
| struct cvmx_pko_reg_read_idx_s cn31xx; |
| struct cvmx_pko_reg_read_idx_s cn38xx; |
| struct cvmx_pko_reg_read_idx_s cn38xxp2; |
| struct cvmx_pko_reg_read_idx_s cn50xx; |
| struct cvmx_pko_reg_read_idx_s cn52xx; |
| struct cvmx_pko_reg_read_idx_s cn52xxp1; |
| struct cvmx_pko_reg_read_idx_s cn56xx; |
| struct cvmx_pko_reg_read_idx_s cn56xxp1; |
| struct cvmx_pko_reg_read_idx_s cn58xx; |
| struct cvmx_pko_reg_read_idx_s cn58xxp1; |
| struct cvmx_pko_reg_read_idx_s cn61xx; |
| struct cvmx_pko_reg_read_idx_s cn63xx; |
| struct cvmx_pko_reg_read_idx_s cn63xxp1; |
| struct cvmx_pko_reg_read_idx_s cn66xx; |
| struct cvmx_pko_reg_read_idx_s cn68xx; |
| struct cvmx_pko_reg_read_idx_s cn68xxp1; |
| struct cvmx_pko_reg_read_idx_s cn70xx; |
| struct cvmx_pko_reg_read_idx_s cn70xxp1; |
| struct cvmx_pko_reg_read_idx_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_read_idx cvmx_pko_reg_read_idx_t; |
| |
| /** |
| * cvmx_pko_reg_throttle |
| * |
| * Notes: |
| * This CSR is used with PKO_MEM_THROTTLE_PIPE and PKO_MEM_THROTTLE_INT. INT_MASK corresponds to the |
| * interfaces listed in the description for PKO_MEM_IPORT_PTRS[INT]. Set INT_MASK[N] to enable the |
| * updating of PKO_MEM_THROTTLE_PIPE and PKO_MEM_THROTTLE_INT counts for packets destined for |
| * interface N. INT_MASK has no effect on the updates caused by CSR writes to PKO_MEM_THROTTLE_PIPE |
| * and PKO_MEM_THROTTLE_INT. Note that this does not disable the throttle logic, just the updating of |
| * the interface counts. |
| */ |
| union cvmx_pko_reg_throttle { |
| u64 u64; |
| struct cvmx_pko_reg_throttle_s { |
| u64 reserved_32_63 : 32; |
| u64 int_mask : 32; |
| } s; |
| struct cvmx_pko_reg_throttle_s cn68xx; |
| struct cvmx_pko_reg_throttle_s cn68xxp1; |
| }; |
| |
| typedef union cvmx_pko_reg_throttle cvmx_pko_reg_throttle_t; |
| |
| /** |
| * cvmx_pko_reg_timestamp |
| * |
| * Notes: |
| * None. |
| * |
| */ |
| union cvmx_pko_reg_timestamp { |
| u64 u64; |
| struct cvmx_pko_reg_timestamp_s { |
| u64 reserved_4_63 : 60; |
| u64 wqe_word : 4; |
| } s; |
| struct cvmx_pko_reg_timestamp_s cn61xx; |
| struct cvmx_pko_reg_timestamp_s cn63xx; |
| struct cvmx_pko_reg_timestamp_s cn63xxp1; |
| struct cvmx_pko_reg_timestamp_s cn66xx; |
| struct cvmx_pko_reg_timestamp_s cn68xx; |
| struct cvmx_pko_reg_timestamp_s cn68xxp1; |
| struct cvmx_pko_reg_timestamp_s cn70xx; |
| struct cvmx_pko_reg_timestamp_s cn70xxp1; |
| struct cvmx_pko_reg_timestamp_s cnf71xx; |
| }; |
| |
| typedef union cvmx_pko_reg_timestamp cvmx_pko_reg_timestamp_t; |
| |
| /** |
| * cvmx_pko_shaper_cfg |
| */ |
| union cvmx_pko_shaper_cfg { |
| u64 u64; |
| struct cvmx_pko_shaper_cfg_s { |
| u64 reserved_2_63 : 62; |
| u64 color_aware : 1; |
| u64 red_send_as_yellow : 1; |
| } s; |
| struct cvmx_pko_shaper_cfg_s cn73xx; |
| struct cvmx_pko_shaper_cfg_s cn78xx; |
| struct cvmx_pko_shaper_cfg_s cn78xxp1; |
| struct cvmx_pko_shaper_cfg_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_shaper_cfg cvmx_pko_shaper_cfg_t; |
| |
| /** |
| * cvmx_pko_state_uid_in_use#_rd |
| * |
| * For diagnostic use only. |
| * |
| */ |
| union cvmx_pko_state_uid_in_usex_rd { |
| u64 u64; |
| struct cvmx_pko_state_uid_in_usex_rd_s { |
| u64 in_use : 64; |
| } s; |
| struct cvmx_pko_state_uid_in_usex_rd_s cn73xx; |
| struct cvmx_pko_state_uid_in_usex_rd_s cn78xx; |
| struct cvmx_pko_state_uid_in_usex_rd_s cn78xxp1; |
| struct cvmx_pko_state_uid_in_usex_rd_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_state_uid_in_usex_rd cvmx_pko_state_uid_in_usex_rd_t; |
| |
| /** |
| * cvmx_pko_status |
| */ |
| union cvmx_pko_status { |
| u64 u64; |
| struct cvmx_pko_status_s { |
| u64 pko_rdy : 1; |
| u64 reserved_24_62 : 39; |
| u64 c2qlut_rdy : 1; |
| u64 ppfi_rdy : 1; |
| u64 iobp1_rdy : 1; |
| u64 ncb_rdy : 1; |
| u64 pse_rdy : 1; |
| u64 pdm_rdy : 1; |
| u64 peb_rdy : 1; |
| u64 csi_rdy : 1; |
| u64 reserved_5_15 : 11; |
| u64 ncb_bist_status : 1; |
| u64 c2qlut_bist_status : 1; |
| u64 pdm_bist_status : 1; |
| u64 peb_bist_status : 1; |
| u64 pse_bist_status : 1; |
| } s; |
| struct cvmx_pko_status_cn73xx { |
| u64 pko_rdy : 1; |
| u64 reserved_62_24 : 39; |
| u64 c2qlut_rdy : 1; |
| u64 ppfi_rdy : 1; |
| u64 iobp1_rdy : 1; |
| u64 ncb_rdy : 1; |
| u64 pse_rdy : 1; |
| u64 pdm_rdy : 1; |
| u64 peb_rdy : 1; |
| u64 csi_rdy : 1; |
| u64 reserved_15_5 : 11; |
| u64 ncb_bist_status : 1; |
| u64 c2qlut_bist_status : 1; |
| u64 pdm_bist_status : 1; |
| u64 peb_bist_status : 1; |
| u64 pse_bist_status : 1; |
| } cn73xx; |
| struct cvmx_pko_status_cn73xx cn78xx; |
| struct cvmx_pko_status_cn73xx cn78xxp1; |
| struct cvmx_pko_status_cn73xx cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_status cvmx_pko_status_t; |
| |
| /** |
| * cvmx_pko_txf#_pkt_cnt_rd |
| */ |
| union cvmx_pko_txfx_pkt_cnt_rd { |
| u64 u64; |
| struct cvmx_pko_txfx_pkt_cnt_rd_s { |
| u64 reserved_8_63 : 56; |
| u64 cnt : 8; |
| } s; |
| struct cvmx_pko_txfx_pkt_cnt_rd_s cn73xx; |
| struct cvmx_pko_txfx_pkt_cnt_rd_s cn78xx; |
| struct cvmx_pko_txfx_pkt_cnt_rd_s cn78xxp1; |
| struct cvmx_pko_txfx_pkt_cnt_rd_s cnf75xx; |
| }; |
| |
| typedef union cvmx_pko_txfx_pkt_cnt_rd cvmx_pko_txfx_pkt_cnt_rd_t; |
| |
| #endif |