1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Intel PRO/1000 Linux driver
3  * Copyright(c) 1999 - 2015 Intel Corporation.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms and conditions of the GNU General Public License,
7  * version 2, as published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12  * more details.
13  *
14  * The full GNU General Public License is included in this distribution in
15  * the file called "COPYING".
16  *
17  * Contact Information:
18  * Linux NICS <linux.nics@intel.com>
19  * e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
20  * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
21  */
22 
23 #ifndef _E1000E_NVM_H_
24 #define _E1000E_NVM_H_
25 
26 s32 e1000e_acquire_nvm(struct e1000_hw *hw);
27 
28 s32 e1000e_poll_eerd_eewr_done(struct e1000_hw *hw, int ee_reg);
29 s32 e1000_read_mac_addr_generic(struct e1000_hw *hw);
30 s32 e1000_read_pba_string_generic(struct e1000_hw *hw, u8 *pba_num,
31 				  u32 pba_num_size);
32 s32 e1000e_read_nvm_eerd(struct e1000_hw *hw, u16 offset, u16 words, u16 *data);
33 s32 e1000e_valid_led_default(struct e1000_hw *hw, u16 *data);
34 s32 e1000e_validate_nvm_checksum_generic(struct e1000_hw *hw);
35 s32 e1000e_write_nvm_spi(struct e1000_hw *hw, u16 offset, u16 words, u16 *data);
36 s32 e1000e_update_nvm_checksum_generic(struct e1000_hw *hw);
37 void e1000e_release_nvm(struct e1000_hw *hw);
38 
39 #define E1000_STM_OPCODE	0xDB00
40 
41 #endif
42