1 /* SPDX-License-Identifier: GPL-2.0 2 * Marvell OcteonTx2 RVU Admin Function driver 3 * 4 * Copyright (C) 2018 Marvell International Ltd. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10 11 #ifndef RVU_STRUCT_H 12 #define RVU_STRUCT_H 13 14 /* RVU Block Address Enumeration */ 15 enum rvu_block_addr_e { 16 BLKADDR_RVUM = 0x0ULL, 17 BLKADDR_LMT = 0x1ULL, 18 BLKADDR_MSIX = 0x2ULL, 19 BLKADDR_NPA = 0x3ULL, 20 BLKADDR_NIX0 = 0x4ULL, 21 BLKADDR_NIX1 = 0x5ULL, 22 BLKADDR_NPC = 0x6ULL, 23 BLKADDR_SSO = 0x7ULL, 24 BLKADDR_SSOW = 0x8ULL, 25 BLKADDR_TIM = 0x9ULL, 26 BLKADDR_CPT0 = 0xaULL, 27 BLKADDR_CPT1 = 0xbULL, 28 BLKADDR_NDC0 = 0xcULL, 29 BLKADDR_NDC1 = 0xdULL, 30 BLKADDR_NDC2 = 0xeULL, 31 BLK_COUNT = 0xfULL, 32 }; 33 34 /* RVU Block Type Enumeration */ 35 enum rvu_block_type_e { 36 BLKTYPE_RVUM = 0x0, 37 BLKTYPE_MSIX = 0x1, 38 BLKTYPE_LMT = 0x2, 39 BLKTYPE_NIX = 0x3, 40 BLKTYPE_NPA = 0x4, 41 BLKTYPE_NPC = 0x5, 42 BLKTYPE_SSO = 0x6, 43 BLKTYPE_SSOW = 0x7, 44 BLKTYPE_TIM = 0x8, 45 BLKTYPE_CPT = 0x9, 46 BLKTYPE_NDC = 0xa, 47 BLKTYPE_MAX = 0xa, 48 }; 49 50 /* RVU Admin function Interrupt Vector Enumeration */ 51 enum rvu_af_int_vec_e { 52 RVU_AF_INT_VEC_POISON = 0x0, 53 RVU_AF_INT_VEC_PFFLR = 0x1, 54 RVU_AF_INT_VEC_PFME = 0x2, 55 RVU_AF_INT_VEC_GEN = 0x3, 56 RVU_AF_INT_VEC_MBOX = 0x4, 57 RVU_AF_INT_VEC_CNT = 0x5, 58 }; 59 60 /** 61 * RVU PF Interrupt Vector Enumeration 62 */ 63 enum rvu_pf_int_vec_e { 64 RVU_PF_INT_VEC_VFFLR0 = 0x0, 65 RVU_PF_INT_VEC_VFFLR1 = 0x1, 66 RVU_PF_INT_VEC_VFME0 = 0x2, 67 RVU_PF_INT_VEC_VFME1 = 0x3, 68 RVU_PF_INT_VEC_VFPF_MBOX0 = 0x4, 69 RVU_PF_INT_VEC_VFPF_MBOX1 = 0x5, 70 RVU_PF_INT_VEC_AFPF_MBOX = 0x6, 71 RVU_PF_INT_VEC_CNT = 0x7, 72 }; 73 74 #endif /* RVU_STRUCT_H */ 75