1  // SPDX-License-Identifier: GPL-2.0+
2  // Copyright 2017 IBM Corp.
3  #ifndef _OCXL_CONFIG_H_
4  #define _OCXL_CONFIG_H_
5  
6  /*
7   * This file lists the various constants used to read the
8   * configuration space of an opencapi adapter.
9   *
10   * It follows the specification for opencapi 3.0
11   */
12  
13  #define OCXL_EXT_CAP_ID_DVSEC                 0x23
14  
15  #define OCXL_DVSEC_VENDOR_OFFSET              0x4
16  #define OCXL_DVSEC_ID_OFFSET                  0x8
17  #define OCXL_DVSEC_TL_ID                      0xF000
18  #define   OCXL_DVSEC_TL_BACKOFF_TIMERS          0x10
19  #define   OCXL_DVSEC_TL_RECV_CAP                0x18
20  #define   OCXL_DVSEC_TL_SEND_CAP                0x20
21  #define   OCXL_DVSEC_TL_RECV_RATE               0x30
22  #define   OCXL_DVSEC_TL_SEND_RATE               0x50
23  #define OCXL_DVSEC_FUNC_ID                    0xF001
24  #define   OCXL_DVSEC_FUNC_OFF_INDEX             0x08
25  #define   OCXL_DVSEC_FUNC_OFF_ACTAG             0x0C
26  #define OCXL_DVSEC_AFU_INFO_ID                0xF003
27  #define   OCXL_DVSEC_AFU_INFO_AFU_IDX           0x0A
28  #define   OCXL_DVSEC_AFU_INFO_OFF               0x0C
29  #define   OCXL_DVSEC_AFU_INFO_DATA              0x10
30  #define OCXL_DVSEC_AFU_CTRL_ID                0xF004
31  #define   OCXL_DVSEC_AFU_CTRL_AFU_IDX           0x0A
32  #define   OCXL_DVSEC_AFU_CTRL_TERM_PASID        0x0C
33  #define   OCXL_DVSEC_AFU_CTRL_ENABLE            0x0F
34  #define   OCXL_DVSEC_AFU_CTRL_PASID_SUP         0x10
35  #define   OCXL_DVSEC_AFU_CTRL_PASID_EN          0x11
36  #define   OCXL_DVSEC_AFU_CTRL_PASID_BASE        0x14
37  #define   OCXL_DVSEC_AFU_CTRL_ACTAG_SUP         0x18
38  #define   OCXL_DVSEC_AFU_CTRL_ACTAG_EN          0x1A
39  #define   OCXL_DVSEC_AFU_CTRL_ACTAG_BASE        0x1C
40  #define OCXL_DVSEC_VENDOR_ID                  0xF0F0
41  #define   OCXL_DVSEC_VENDOR_CFG_VERS            0x0C
42  #define   OCXL_DVSEC_VENDOR_TLX_VERS            0x10
43  #define   OCXL_DVSEC_VENDOR_DLX_VERS            0x20
44  #define   OCXL_DVSEC_VENDOR_RESET_RELOAD        0x38
45  
46  #endif /* _OCXL_CONFIG_H_ */
47