net/ixgbe/base: support new PHY types
[dpdk.git] / drivers / net / ixgbe / base / ixgbe_x550.h
index 2966c7b..a6ec3cb 100644 (file)
@@ -36,6 +36,49 @@ POSSIBILITY OF SUCH DAMAGE.
 
 #include "ixgbe_type.h"
 
+/* More phy definitions */
+#define IXGBE_M88E1500_COPPER_CTRL             0x0/* Page 0 reg */
+#define IXGBE_M88E1500_COPPER_CTRL_RESET       0x8000
+#define IXGBE_M88E1500_COPPER_CTRL_AN_EN       0x1000
+#define IXGBE_M88E1500_COPPER_CTRL_RESTART_AN  0x0200
+#define IXGBE_M88E1500_COPPER_CTRL_FULL_DUPLEX 0x0100
+#define IXGBE_M88E1500_COPPER_CTRL_SPEED_MSB   0x0040
+#define IXGBE_M88E1500_1000T_CTRL              0x09 /* 1000Base-T Ctrl Reg */
+/* 1=Configure PHY as Master 0=Configure PHY as Slave */
+#define IXGBE_M88E1500_1000T_CTRL_MS_VALUE     0x0800
+/* 1=Master/Slave manual config value 0=Automatic Master/Slave config */
+#define IXGBE_M88E1500_1000T_CTRL_MS_ENABLE    0x1000
+#define IXGBE_M88E1500_1000T_STATUS            0x0A /* 1000Base-T Status Reg */
+#define IXGBE_M88E1500_AUTO_COPPER_SGMII       0x2
+#define IXGBE_M88E1500_AUTO_COPPER_BASEX       0x3
+#define IXGBE_M88E1500_STATUS_LINK             0x0004 /* Interface Link Bit */
+#define IXGBE_M88E1500_MAC_CTRL_1              0x10
+#define IXGBE_M88E1500_MAC_CTRL_1_MODE_MASK    0x0380 /* Mode Select */
+#define IXGBE_M88E1500_CFG_REG_1               0x0010
+#define IXGBE_M88E1500_CFG_REG_2               0x0011
+#define IXGBE_M88E1500_CFG_REG_3               0x0007
+#define IXGBE_M88E1500_MODE                    0x0014
+#define IXGBE_M88E1500_PAGE_ADDR               0x16/* Page Offset reg */
+#define IXGBE_M88E1500_FIBER_CTRL              0x0/* Page 1 reg */
+#define IXGBE_M88E1500_FIBER_CTRL_RESET                0x8000
+#define IXGBE_M88E1500_FIBER_CTRL_SPEED_LSB    0x2000
+#define IXGBE_M88E1500_FIBER_CTRL_POWER_DOWN   0x0800
+#define IXGBE_M88E1500_FIBER_CTRL_DUPLEX_FULL  0x0100
+#define IXGBE_M88E1500_FIBER_CTRL_SPEED_MSB    0x0040
+#define IXGBE_M88E1500_EEE_CTRL_1              0x0/* Page 18 reg */
+#define IXGBE_M88E1500_EEE_CTRL_1_MS           0x0001/* EEE Master/Slave */
+#define IXGBE_M88E1500_GEN_CTRL                        0x14/* Page 18 reg */
+#define IXGBE_M88E1500_GEN_CTRL_RESET          0x8000
+#define IXGBE_M88E1500_GEN_CTRL_SGMII_COPPER   0x0001/* Mode bits 0-2 */
+
+/* M88E1500 Specific Registers */
+#define IXGBE_M88E1500_PHY_SPEC_CTRL           0x10 /* PHY Specific Ctrl Reg */
+#define IXGBE_M88E1500_PHY_SPEC_STATUS         0x11 /* PHY Specific Stat Reg */
+
+#define IXGBE_M88E1500_PSCR_DOWNSHIFT_ENABLE   0x0800
+#define IXGBE_M88E1500_PSCR_DOWNSHIFT_MASK     0x7000
+#define IXGBE_M88E1500_PSCR_DOWNSHIFT_6X       0x5000
+
 s32 ixgbe_dmac_config_X550(struct ixgbe_hw *hw);
 s32 ixgbe_dmac_config_tcs_X550(struct ixgbe_hw *hw);
 s32 ixgbe_dmac_update_tcs_X550(struct ixgbe_hw *hw);