1*6f741dbcSAnoob Joseph /* SPDX-License-Identifier: BSD-3-Clause 2*6f741dbcSAnoob Joseph * Copyright(C) 2024 Marvell. 3*6f741dbcSAnoob Joseph */ 4*6f741dbcSAnoob Joseph 5*6f741dbcSAnoob Joseph #ifndef _ODM_PRIV_H_ 6*6f741dbcSAnoob Joseph #define _ODM_PRIV_H_ 7*6f741dbcSAnoob Joseph 8*6f741dbcSAnoob Joseph #define ODM_MAX_VFS 16 9*6f741dbcSAnoob Joseph #define ODM_MAX_QUEUES 32 10*6f741dbcSAnoob Joseph 11*6f741dbcSAnoob Joseph #define ODM_CMD_QUEUE_SIZE 4096 12*6f741dbcSAnoob Joseph 13*6f741dbcSAnoob Joseph #define ODM_DEV_INIT 0x1 14*6f741dbcSAnoob Joseph #define ODM_DEV_CLOSE 0x2 15*6f741dbcSAnoob Joseph #define ODM_QUEUE_OPEN 0x3 16*6f741dbcSAnoob Joseph #define ODM_QUEUE_CLOSE 0x4 17*6f741dbcSAnoob Joseph #define ODM_REG_DUMP 0x5 18*6f741dbcSAnoob Joseph 19*6f741dbcSAnoob Joseph struct odm_mbox_dev_msg { 20*6f741dbcSAnoob Joseph /* Response code */ 21*6f741dbcSAnoob Joseph uint64_t rsp : 8; 22*6f741dbcSAnoob Joseph /* Number of VFs */ 23*6f741dbcSAnoob Joseph uint64_t nvfs : 2; 24*6f741dbcSAnoob Joseph /* Error code */ 25*6f741dbcSAnoob Joseph uint64_t err : 6; 26*6f741dbcSAnoob Joseph /* Reserved */ 27*6f741dbcSAnoob Joseph uint64_t rsvd_16_63 : 48; 28*6f741dbcSAnoob Joseph }; 29*6f741dbcSAnoob Joseph 30*6f741dbcSAnoob Joseph struct odm_mbox_queue_msg { 31*6f741dbcSAnoob Joseph /* Command code */ 32*6f741dbcSAnoob Joseph uint64_t cmd : 8; 33*6f741dbcSAnoob Joseph /* VF ID to configure */ 34*6f741dbcSAnoob Joseph uint64_t vfid : 8; 35*6f741dbcSAnoob Joseph /* Queue index in the VF */ 36*6f741dbcSAnoob Joseph uint64_t qidx : 8; 37*6f741dbcSAnoob Joseph /* Reserved */ 38*6f741dbcSAnoob Joseph uint64_t rsvd_24_63 : 40; 39*6f741dbcSAnoob Joseph }; 40*6f741dbcSAnoob Joseph 41*6f741dbcSAnoob Joseph union odm_mbox_msg { 42*6f741dbcSAnoob Joseph uint64_t u[2]; 43*6f741dbcSAnoob Joseph struct { 44*6f741dbcSAnoob Joseph struct odm_mbox_dev_msg d; 45*6f741dbcSAnoob Joseph struct odm_mbox_queue_msg q; 46*6f741dbcSAnoob Joseph }; 47*6f741dbcSAnoob Joseph }; 48*6f741dbcSAnoob Joseph 49*6f741dbcSAnoob Joseph #endif /* _ODM_PRIV_H_ */ 50