1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* Copyright(c) 2007 - 2018 Intel Corporation. */ |
3 | |
4 | #ifndef _E1000_NVM_H_ |
5 | #define _E1000_NVM_H_ |
6 | |
7 | s32 igb_acquire_nvm(struct e1000_hw *hw); |
8 | void igb_release_nvm(struct e1000_hw *hw); |
9 | s32 igb_read_mac_addr(struct e1000_hw *hw); |
10 | s32 igb_read_part_num(struct e1000_hw *hw, u32 *part_num); |
11 | s32 igb_read_part_string(struct e1000_hw *hw, u8 *part_num, |
12 | u32 part_num_size); |
13 | s32 igb_read_nvm_eerd(struct e1000_hw *hw, u16 offset, u16 words, u16 *data); |
14 | s32 igb_read_nvm_spi(struct e1000_hw *hw, u16 offset, u16 words, u16 *data); |
15 | s32 igb_write_nvm_spi(struct e1000_hw *hw, u16 offset, u16 words, u16 *data); |
16 | s32 igb_validate_nvm_checksum(struct e1000_hw *hw); |
17 | s32 igb_update_nvm_checksum(struct e1000_hw *hw); |
18 | |
19 | struct e1000_fw_version { |
20 | u32 etrack_id; |
21 | u16 eep_major; |
22 | u16 eep_minor; |
23 | u16 eep_build; |
24 | |
25 | u8 invm_major; |
26 | u8 invm_minor; |
27 | u8 invm_img_type; |
28 | |
29 | bool or_valid; |
30 | u16 or_major; |
31 | u16 or_build; |
32 | u16 or_patch; |
33 | }; |
34 | void igb_get_fw_version(struct e1000_hw *hw, struct e1000_fw_version *fw_vers); |
35 | |
36 | #endif |
37 | |