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