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