1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2015 Intel Corporation 3 */ 4 5 #ifndef _RTE_DEV_INFO_H_ 6 #define _RTE_DEV_INFO_H_ 7 8 #include <stdint.h> 9 10 /* 11 * Placeholder for accessing device registers 12 */ 13 struct rte_dev_reg_info { 14 void *data; /**< Buffer for return registers */ 15 uint32_t offset; /**< Start register table location for access */ 16 uint32_t length; /**< Number of registers to fetch */ 17 uint32_t width; /**< Size of device register */ 18 uint32_t version; /**< Device version */ 19 }; 20 21 /* 22 * Placeholder for accessing device EEPROM 23 */ 24 struct rte_dev_eeprom_info { 25 void *data; /**< Buffer for return EEPROM */ 26 uint32_t offset; /**< Start EEPROM address for access*/ 27 uint32_t length; /**< Length of EEPROM region to access */ 28 uint32_t magic; /**< Device-specific key, such as device-id */ 29 }; 30 31 /** 32 * Placeholder for accessing plugin module EEPROM 33 */ 34 struct rte_eth_dev_module_info { 35 uint32_t type; /**< Type of plugin module EEPROM */ 36 uint32_t eeprom_len; /**< Length of plugin module EEPROM */ 37 }; 38 39 /* EEPROM Standards for plug in modules */ 40 #define RTE_ETH_MODULE_SFF_8079 0x1 41 #define RTE_ETH_MODULE_SFF_8079_LEN 256 42 #define RTE_ETH_MODULE_SFF_8472 0x2 43 #define RTE_ETH_MODULE_SFF_8472_LEN 512 44 #define RTE_ETH_MODULE_SFF_8636 0x3 45 #define RTE_ETH_MODULE_SFF_8636_LEN 256 46 #define RTE_ETH_MODULE_SFF_8636_MAX_LEN 640 47 #define RTE_ETH_MODULE_SFF_8436 0x4 48 #define RTE_ETH_MODULE_SFF_8436_LEN 256 49 #define RTE_ETH_MODULE_SFF_8436_MAX_LEN 640 50 51 #endif /* _RTE_DEV_INFO_H_ */ 52