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