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