net/sfc/base: fix a typo in unicast filter insertion comment
[dpdk.git] / drivers / net / ixgbe / base / ixgbe_phy.h
index 1f07c1e..132fa54 100644 (file)
@@ -1,35 +1,6 @@
-/*******************************************************************************
-
-Copyright (c) 2001-2015, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
- 3. Neither the name of the Intel Corporation nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-***************************************************************************/
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2001-2018
+ */
 
 #ifndef _IXGBE_PHY_H_
 #define _IXGBE_PHY_H_
@@ -89,20 +60,29 @@ POSSIBILITY OF SUCH DAMAGE.
 
 #define IXGBE_CS4227                   0xBE    /* CS4227 address */
 #define IXGBE_CS4227_GLOBAL_ID_LSB     0
+#define IXGBE_CS4227_GLOBAL_ID_MSB     1
 #define IXGBE_CS4227_SCRATCH           2
 #define IXGBE_CS4227_GLOBAL_ID_VALUE   0x03E5
-#define IXGBE_CS4227_SCRATCH_VALUE     0x5aa5
-#define IXGBE_CS4227_RETRIES           5
+#define IXGBE_CS4227_EFUSE_PDF_SKU     0x19F
+#define IXGBE_CS4223_SKU_ID            0x0010  /* Quad port */
+#define IXGBE_CS4227_SKU_ID            0x0014  /* Dual port */
+#define IXGBE_CS4227_RESET_PENDING     0x1357
+#define IXGBE_CS4227_RESET_COMPLETE    0x5AA5
+#define IXGBE_CS4227_RETRIES           15
+#define IXGBE_CS4227_EFUSE_STATUS      0x0181
 #define IXGBE_CS4227_LINE_SPARE22_MSB  0x12AD  /* Reg to program speed */
 #define IXGBE_CS4227_LINE_SPARE24_LSB  0x12B0  /* Reg to program EDC */
 #define IXGBE_CS4227_HOST_SPARE22_MSB  0x1AAD  /* Reg to program speed */
 #define IXGBE_CS4227_HOST_SPARE24_LSB  0x1AB0  /* Reg to program EDC */
+#define IXGBE_CS4227_EEPROM_STATUS     0x5001
+#define IXGBE_CS4227_EEPROM_LOAD_OK    0x0001
 #define IXGBE_CS4227_SPEED_1G          0x8000
 #define IXGBE_CS4227_SPEED_10G         0
 #define IXGBE_CS4227_EDC_MODE_CX1      0x0002
 #define IXGBE_CS4227_EDC_MODE_SR       0x0004
+#define IXGBE_CS4227_EDC_MODE_DIAG     0x0008
 #define IXGBE_CS4227_RESET_HOLD                500     /* microseconds */
-#define IXGBE_CS4227_RESET_DELAY       500     /* milliseconds */
+#define IXGBE_CS4227_RESET_DELAY       450     /* milliseconds */
 #define IXGBE_CS4227_CHECK_DELAY       30      /* milliseconds */
 #define IXGBE_PE                       0xE0    /* Port expander address */
 #define IXGBE_PE_OUTPUT                        1       /* Output register offset */
@@ -146,8 +126,6 @@ POSSIBILITY OF SUCH DAMAGE.
 /* SFP+ SFF-8472 Compliance */
 #define IXGBE_SFF_SFF_8472_UNSUP       0x00
 
-#ident "$Id: ixgbe_phy.h,v 1.56 2013/09/05 23:59:49 jtkirshe Exp $"
-
 s32 ixgbe_init_phy_ops_generic(struct ixgbe_hw *hw);
 bool ixgbe_validate_phy_addr(struct ixgbe_hw *hw, u32 phy_addr);
 enum ixgbe_phy_type ixgbe_get_phy_type_from_id(u32 phy_id);
@@ -185,7 +163,7 @@ s32 ixgbe_reset_phy_nl(struct ixgbe_hw *hw);
 s32 ixgbe_set_copper_phy_power(struct ixgbe_hw *hw, bool on);
 s32 ixgbe_identify_module_generic(struct ixgbe_hw *hw);
 s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw);
-s32 ixgbe_get_supported_phy_sfp_layer_generic(struct ixgbe_hw *hw);
+u64 ixgbe_get_supported_phy_sfp_layer_generic(struct ixgbe_hw *hw);
 s32 ixgbe_identify_qsfp_module_generic(struct ixgbe_hw *hw);
 s32 ixgbe_get_sfp_init_sequence_offsets(struct ixgbe_hw *hw,
                                        u16 *list_offset,
@@ -204,4 +182,8 @@ s32 ixgbe_read_i2c_eeprom_generic(struct ixgbe_hw *hw, u8 byte_offset,
 s32 ixgbe_write_i2c_eeprom_generic(struct ixgbe_hw *hw, u8 byte_offset,
                                   u8 eeprom_data);
 void ixgbe_i2c_bus_clear(struct ixgbe_hw *hw);
+s32 ixgbe_read_i2c_combined_generic_int(struct ixgbe_hw *, u8 addr, u16 reg,
+                                       u16 *val, bool lock);
+s32 ixgbe_write_i2c_combined_generic_int(struct ixgbe_hw *, u8 addr, u16 reg,
+                                        u16 val, bool lock);
 #endif /* _IXGBE_PHY_H_ */