1f501a195SJiawen Wu /* SPDX-License-Identifier: BSD-3-Clause 2f501a195SJiawen Wu * Copyright(c) 2018-2021 Beijing WangXun Technology Co., Ltd. 3f501a195SJiawen Wu * Copyright(c) 2010-2017 Intel Corporation 4f501a195SJiawen Wu */ 5f501a195SJiawen Wu 6f501a195SJiawen Wu #ifndef _NGBE_EEPROM_H_ 7f501a195SJiawen Wu #define _NGBE_EEPROM_H_ 8f501a195SJiawen Wu 9506abd4aSJiawen Wu #define NGBE_EEPROM_VERSION_L 0x1D 10506abd4aSJiawen Wu #define NGBE_EEPROM_VERSION_H 0x1E 11f501a195SJiawen Wu #define NGBE_CALSUM_CAP_STATUS 0x10224 12f501a195SJiawen Wu #define NGBE_EEPROM_VERSION_STORE_REG 0x1022C 13f501a195SJiawen Wu 14*91e64c0eSJiawen Wu #define NGBE_FW_SUPPORT_LLDP 0x19 15*91e64c0eSJiawen Wu #define NGBE_FW_GET_LLDP 0x1B 16*91e64c0eSJiawen Wu #define NGBE_FW_MASK 0xFF 17*91e64c0eSJiawen Wu 18f501a195SJiawen Wu s32 ngbe_init_eeprom_params(struct ngbe_hw *hw); 19f501a195SJiawen Wu s32 ngbe_validate_eeprom_checksum_em(struct ngbe_hw *hw, u16 *checksum_val); 20f501a195SJiawen Wu s32 ngbe_get_eeprom_semaphore(struct ngbe_hw *hw); 21f501a195SJiawen Wu void ngbe_release_eeprom_semaphore(struct ngbe_hw *hw); 22506abd4aSJiawen Wu s32 ngbe_save_eeprom_version(struct ngbe_hw *hw); 23506abd4aSJiawen Wu 249459ea29SJiawen Wu s32 ngbe_ee_readw_buffer(struct ngbe_hw *hw, u32 offset, u32 words, 259459ea29SJiawen Wu void *data); 26506abd4aSJiawen Wu s32 ngbe_ee_read32(struct ngbe_hw *hw, u32 addr, u32 *data); 27f501a195SJiawen Wu 289459ea29SJiawen Wu s32 ngbe_ee_writew_buffer(struct ngbe_hw *hw, u32 offset, u32 words, 299459ea29SJiawen Wu void *data); 309459ea29SJiawen Wu 31f501a195SJiawen Wu #endif /* _NGBE_EEPROM_H_ */ 32