xref: /dpdk/drivers/net/ntnic/nim/nim_defines.h (revision 4783bd39273b74e4bd9f2e24099c80f7b2b5a0ea)
1 /*
2  * SPDX-License-Identifier: BSD-3-Clause
3  * Copyright(c) 2023 Napatech A/S
4  */
5 
6 #ifndef NIM_DEFINES_H_
7 #define NIM_DEFINES_H_
8 
9 #define NIM_IDENTIFIER_ADDR 0	/* 1 byte */
10 #define QSFP_EXTENDED_IDENTIFIER 129
11 
12 /* I2C addresses */
13 #define NIM_I2C_0XA0 0xA0	/* Basic I2C address */
14 #define NIM_I2C_0XA2 0xA2	/* Diagnostic monitoring */
15 
16 typedef enum {
17 	NIM_OPTION_TX_DISABLE,
18 	/* Indicates that the module should be checked for the two next FEC types */
19 	NIM_OPTION_FEC,
20 	NIM_OPTION_MEDIA_SIDE_FEC,
21 	NIM_OPTION_HOST_SIDE_FEC,
22 	NIM_OPTION_RX_ONLY
23 } nim_option_t;
24 
25 enum nt_nim_identifier_e {
26 	NT_NIM_UNKNOWN = 0x00,	/* Nim type is unknown */
27 	NT_NIM_QSFP = 0x0C,	/* Nim type = QSFP */
28 	NT_NIM_QSFP_PLUS = 0x0D,/* Nim type = QSFP+ */
29 	NT_NIM_QSFP28 = 0x11,	/* Nim type = QSFP28 */
30 };
31 typedef enum nt_nim_identifier_e nt_nim_identifier_t;
32 
33 #endif	/* NIM_DEFINES_H_ */
34