1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2021 Marvell.
5 * DPI device HW definitions.
12 /* DPI VF register offsets from VF_BAR0 */
13 #define DPI_VDMA_EN (0x0)
14 #define DPI_VDMA_REQQ_CTL (0x8)
15 #define DPI_VDMA_DBELL (0x10)
16 #define DPI_VDMA_SADDR (0x18)
17 #define DPI_VDMA_COUNTS (0x20)
18 #define DPI_VDMA_NADDR (0x28)
19 #define DPI_VDMA_IWBUSY (0x30)
20 #define DPI_VDMA_CNT (0x38)
21 #define DPI_VF_INT (0x100)
22 #define DPI_VF_INT_W1S (0x108)
23 #define DPI_VF_INT_ENA_W1C (0x110)
24 #define DPI_VF_INT_ENA_W1S (0x118)
27 * Enumeration dpi_hdr_xtype_e
29 * DPI Transfer Type Enumeration
30 * Enumerates the pointer type in DPI_DMA_INSTR_HDR_S[XTYPE].
32 #define DPI_XTYPE_OUTBOUND (0)
33 #define DPI_XTYPE_INBOUND (1)
34 #define DPI_XTYPE_INTERNAL_ONLY (2)
35 #define DPI_XTYPE_EXTERNAL_ONLY (3)
36 #define DPI_HDR_XTYPE_MASK 0x3
38 #define DPI_HDR_PT_ZBW_CA 0x0
39 #define DPI_HDR_PT_ZBW_NC 0x1
40 #define DPI_HDR_PT_WQP 0x2
41 #define DPI_HDR_PT_WQP_NOSTATUS 0x0
42 #define DPI_HDR_PT_WQP_STATUSCA 0x1
43 #define DPI_HDR_PT_WQP_STATUSNC 0x3
44 #define DPI_HDR_PT_CNT 0x3
45 #define DPI_HDR_PT_MASK 0x3
47 #define DPI_HDR_TT_MASK 0x3
48 #define DPI_HDR_GRP_MASK 0x3FF
49 #define DPI_HDR_FUNC_MASK 0xFFFF
51 /* Big endian data bit position in DMA local pointer */
52 #define DPI_LPTR_BED_BIT_POS (60)
54 #define DPI_MIN_CMD_SIZE 8
55 #define DPI_MAX_CMD_SIZE 64
58 * Structure dpi_instr_hdr_s for CN9K
60 * DPI DMA Instruction Header Format
62 union dpi_instr_hdr_s {
64 struct dpi_dma_instr_hdr_s_s {
68 uint64_t reserved_44_47 : 4;
70 uint64_t reserved_52_53 : 2;
72 uint64_t reserved_58_63 : 6;
77 uint64_t reserved_102 : 1;
84 uint64_t reserved_109_111 : 3;
86 uint64_t reserved_114_119 : 6;
88 uint64_t reserved_122_123 : 2;
90 uint64_t reserved_126_127 : 2;
94 uint64_t reserved_192_255 : 64;
100 * Structure dpi_cn10k_instr_hdr_s for CN10K
102 * DPI DMA Instruction Header Format
104 union dpi_cn10k_instr_hdr_s {
106 struct dpi_cn10k_dma_instr_hdr_s_s {
108 uint64_t reserved_4_5 : 2;
110 uint64_t reserved_10_11 : 2;
112 uint64_t reserved_13 : 1;
116 uint64_t reserved_52_53 : 2;
119 uint64_t reserved_58_59 : 2;
121 uint64_t reserved_62_63 : 2;
128 uint64_t reserved_172_173 : 2;
134 uint64_t reserved_179_191 : 3;
136 uint64_t reserved_192_255 : 64;
141 #endif /*__DEV_DPI_HW_H__*/