Deleted Added
full compact
ixgbe_phy.h (302408) ixgbe_phy.h (320897)
1/******************************************************************************
2
1/******************************************************************************
2
3 Copyright (c) 2001-2015, Intel Corporation
3 Copyright (c) 2001-2017, Intel Corporation
4 All rights reserved.
4 All rights reserved.
5
6 Redistribution and use in source and binary forms, with or without
5
6 Redistribution and use in source and binary forms, with or without
7 modification, are permitted provided that the following conditions are met:
7 modification, are permitted provided that the following conditions are met:
8
9 1. Redistributions of source code must retain the above copyright notice,
8
9 1. Redistributions of source code must retain the above copyright notice,
10 this list of conditions and the following disclaimer.
10 this list of conditions and the following disclaimer.
11
12 2. Redistributions in binary form must reproduce the above copyright
13 notice, this list of conditions and the following disclaimer in the
11
12 2. Redistributions in binary form must reproduce the above copyright
13 notice, this list of conditions and the following disclaimer in the
14 documentation and/or other materials provided with the distribution.
14 documentation and/or other materials provided with the distribution.
15
16 3. Neither the name of the Intel Corporation nor the names of its
17 contributors may be used to endorse or promote products derived from
15
16 3. Neither the name of the Intel Corporation nor the names of its
17 contributors may be used to endorse or promote products derived from
18 this software without specific prior written permission.
18 this software without specific prior written permission.
19
19
20 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
21 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 POSSIBILITY OF SUCH DAMAGE.
31
32******************************************************************************/
29 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 POSSIBILITY OF SUCH DAMAGE.
31
32******************************************************************************/
33/*$FreeBSD: stable/11/sys/dev/ixgbe/ixgbe_phy.h 292674 2015-12-23 22:45:17Z sbruno $*/
33/*$FreeBSD: stable/11/sys/dev/ixgbe/ixgbe_phy.h 320897 2017-07-11 21:25:07Z erj $*/
34
35#ifndef _IXGBE_PHY_H_
36#define _IXGBE_PHY_H_
37
38#include "ixgbe_type.h"
39#define IXGBE_I2C_EEPROM_DEV_ADDR 0xA0
40#define IXGBE_I2C_EEPROM_DEV_ADDR2 0xA2
41#define IXGBE_I2C_EEPROM_BANK_LEN 0xFF

--- 43 unchanged lines hidden (view full) ---

85#define IXGBE_I2C_EEPROM_STATUS_MASK 0x3
86#define IXGBE_I2C_EEPROM_STATUS_NO_OPERATION 0x0
87#define IXGBE_I2C_EEPROM_STATUS_PASS 0x1
88#define IXGBE_I2C_EEPROM_STATUS_FAIL 0x2
89#define IXGBE_I2C_EEPROM_STATUS_IN_PROGRESS 0x3
90
91#define IXGBE_CS4227 0xBE /* CS4227 address */
92#define IXGBE_CS4227_GLOBAL_ID_LSB 0
34
35#ifndef _IXGBE_PHY_H_
36#define _IXGBE_PHY_H_
37
38#include "ixgbe_type.h"
39#define IXGBE_I2C_EEPROM_DEV_ADDR 0xA0
40#define IXGBE_I2C_EEPROM_DEV_ADDR2 0xA2
41#define IXGBE_I2C_EEPROM_BANK_LEN 0xFF

--- 43 unchanged lines hidden (view full) ---

85#define IXGBE_I2C_EEPROM_STATUS_MASK 0x3
86#define IXGBE_I2C_EEPROM_STATUS_NO_OPERATION 0x0
87#define IXGBE_I2C_EEPROM_STATUS_PASS 0x1
88#define IXGBE_I2C_EEPROM_STATUS_FAIL 0x2
89#define IXGBE_I2C_EEPROM_STATUS_IN_PROGRESS 0x3
90
91#define IXGBE_CS4227 0xBE /* CS4227 address */
92#define IXGBE_CS4227_GLOBAL_ID_LSB 0
93#define IXGBE_CS4227_GLOBAL_ID_MSB 1
93#define IXGBE_CS4227_SCRATCH 2
94#define IXGBE_CS4227_GLOBAL_ID_VALUE 0x03E5
94#define IXGBE_CS4227_SCRATCH 2
95#define IXGBE_CS4227_GLOBAL_ID_VALUE 0x03E5
96#define IXGBE_CS4227_EFUSE_PDF_SKU 0x19F
97#define IXGBE_CS4223_SKU_ID 0x0010 /* Quad port */
98#define IXGBE_CS4227_SKU_ID 0x0014 /* Dual port */
95#define IXGBE_CS4227_RESET_PENDING 0x1357
96#define IXGBE_CS4227_RESET_COMPLETE 0x5AA5
97#define IXGBE_CS4227_RETRIES 15
98#define IXGBE_CS4227_EFUSE_STATUS 0x0181
99#define IXGBE_CS4227_LINE_SPARE22_MSB 0x12AD /* Reg to program speed */
100#define IXGBE_CS4227_LINE_SPARE24_LSB 0x12B0 /* Reg to program EDC */
101#define IXGBE_CS4227_HOST_SPARE22_MSB 0x1AAD /* Reg to program speed */
102#define IXGBE_CS4227_HOST_SPARE24_LSB 0x1AB0 /* Reg to program EDC */

--- 81 unchanged lines hidden (view full) ---

184 u16 *firmware_version);
185s32 ixgbe_get_phy_firmware_version_generic(struct ixgbe_hw *hw,
186 u16 *firmware_version);
187
188s32 ixgbe_reset_phy_nl(struct ixgbe_hw *hw);
189s32 ixgbe_set_copper_phy_power(struct ixgbe_hw *hw, bool on);
190s32 ixgbe_identify_module_generic(struct ixgbe_hw *hw);
191s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw);
99#define IXGBE_CS4227_RESET_PENDING 0x1357
100#define IXGBE_CS4227_RESET_COMPLETE 0x5AA5
101#define IXGBE_CS4227_RETRIES 15
102#define IXGBE_CS4227_EFUSE_STATUS 0x0181
103#define IXGBE_CS4227_LINE_SPARE22_MSB 0x12AD /* Reg to program speed */
104#define IXGBE_CS4227_LINE_SPARE24_LSB 0x12B0 /* Reg to program EDC */
105#define IXGBE_CS4227_HOST_SPARE22_MSB 0x1AAD /* Reg to program speed */
106#define IXGBE_CS4227_HOST_SPARE24_LSB 0x1AB0 /* Reg to program EDC */

--- 81 unchanged lines hidden (view full) ---

188 u16 *firmware_version);
189s32 ixgbe_get_phy_firmware_version_generic(struct ixgbe_hw *hw,
190 u16 *firmware_version);
191
192s32 ixgbe_reset_phy_nl(struct ixgbe_hw *hw);
193s32 ixgbe_set_copper_phy_power(struct ixgbe_hw *hw, bool on);
194s32 ixgbe_identify_module_generic(struct ixgbe_hw *hw);
195s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw);
192s32 ixgbe_get_supported_phy_sfp_layer_generic(struct ixgbe_hw *hw);
196u64 ixgbe_get_supported_phy_sfp_layer_generic(struct ixgbe_hw *hw);
193s32 ixgbe_identify_qsfp_module_generic(struct ixgbe_hw *hw);
194s32 ixgbe_get_sfp_init_sequence_offsets(struct ixgbe_hw *hw,
195 u16 *list_offset,
196 u16 *data_offset);
197s32 ixgbe_tn_check_overtemp(struct ixgbe_hw *hw);
198s32 ixgbe_read_i2c_byte_generic(struct ixgbe_hw *hw, u8 byte_offset,
199 u8 dev_addr, u8 *data);
200s32 ixgbe_read_i2c_byte_generic_unlocked(struct ixgbe_hw *hw, u8 byte_offset,
201 u8 dev_addr, u8 *data);
202s32 ixgbe_write_i2c_byte_generic(struct ixgbe_hw *hw, u8 byte_offset,
203 u8 dev_addr, u8 data);
204s32 ixgbe_write_i2c_byte_generic_unlocked(struct ixgbe_hw *hw, u8 byte_offset,
205 u8 dev_addr, u8 data);
206s32 ixgbe_read_i2c_eeprom_generic(struct ixgbe_hw *hw, u8 byte_offset,
207 u8 *eeprom_data);
208s32 ixgbe_write_i2c_eeprom_generic(struct ixgbe_hw *hw, u8 byte_offset,
209 u8 eeprom_data);
210void ixgbe_i2c_bus_clear(struct ixgbe_hw *hw);
197s32 ixgbe_identify_qsfp_module_generic(struct ixgbe_hw *hw);
198s32 ixgbe_get_sfp_init_sequence_offsets(struct ixgbe_hw *hw,
199 u16 *list_offset,
200 u16 *data_offset);
201s32 ixgbe_tn_check_overtemp(struct ixgbe_hw *hw);
202s32 ixgbe_read_i2c_byte_generic(struct ixgbe_hw *hw, u8 byte_offset,
203 u8 dev_addr, u8 *data);
204s32 ixgbe_read_i2c_byte_generic_unlocked(struct ixgbe_hw *hw, u8 byte_offset,
205 u8 dev_addr, u8 *data);
206s32 ixgbe_write_i2c_byte_generic(struct ixgbe_hw *hw, u8 byte_offset,
207 u8 dev_addr, u8 data);
208s32 ixgbe_write_i2c_byte_generic_unlocked(struct ixgbe_hw *hw, u8 byte_offset,
209 u8 dev_addr, u8 data);
210s32 ixgbe_read_i2c_eeprom_generic(struct ixgbe_hw *hw, u8 byte_offset,
211 u8 *eeprom_data);
212s32 ixgbe_write_i2c_eeprom_generic(struct ixgbe_hw *hw, u8 byte_offset,
213 u8 eeprom_data);
214void ixgbe_i2c_bus_clear(struct ixgbe_hw *hw);
215s32 ixgbe_read_i2c_combined_generic_int(struct ixgbe_hw *, u8 addr, u16 reg,
216 u16 *val, bool lock);
217s32 ixgbe_write_i2c_combined_generic_int(struct ixgbe_hw *, u8 addr, u16 reg,
218 u16 val, bool lock);
211#endif /* _IXGBE_PHY_H_ */
219#endif /* _IXGBE_PHY_H_ */