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