forked from sonic-net/sonic-linux-kernel
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[igb]: support broadcom 54616 phy for Intel igb driver (sonic-net#3)
- Loading branch information
Showing
2 changed files
with
62 additions
and
0 deletions.
There are no files selected for viewing
61 changes: 61 additions & 0 deletions
61
patch/0011-support-Broadcom-54616-Phy-for-Intel-igb-driver.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
From 6d396497162d143ff7476bdcdffa29923ff7a49e Mon Sep 17 00:00:00 2001 | ||
From: Guohan Lu <gulv@microsoft.com> | ||
Date: Tue, 5 Dec 2017 13:41:45 +0000 | ||
Subject: [PATCH] Support Broadcom 54616 Phy for Intel igb driver | ||
|
||
--- | ||
drivers/net/ethernet/intel/igb/e1000_82575.c | 5 +++++ | ||
drivers/net/ethernet/intel/igb/e1000_defines.h | 1 + | ||
drivers/net/ethernet/intel/igb/e1000_hw.h | 1 + | ||
3 files changed, 7 insertions(+) | ||
|
||
diff --git a/drivers/net/ethernet/intel/igb/e1000_82575.c b/drivers/net/ethernet/intel/igb/e1000_82575.c | ||
index a61447f..394ecd8 100644 | ||
--- a/drivers/net/ethernet/intel/igb/e1000_82575.c | ||
+++ b/drivers/net/ethernet/intel/igb/e1000_82575.c | ||
@@ -328,6 +328,9 @@ static s32 igb_init_phy_params_82575(struct e1000_hw *hw) | ||
phy->ops.set_d3_lplu_state = igb_set_d3_lplu_state_82580; | ||
phy->ops.force_speed_duplex = igb_phy_force_speed_duplex_m88; | ||
break; | ||
+ case BCM54616_E_PHY_ID: | ||
+ phy->type = e1000_phy_bcm54616; | ||
+ break; | ||
default: | ||
ret_val = -E1000_ERR_PHY; | ||
goto out; | ||
@@ -1647,6 +1650,8 @@ static s32 igb_setup_copper_link_82575(struct e1000_hw *hw) | ||
case e1000_phy_82580: | ||
ret_val = igb_copper_link_setup_82580(hw); | ||
break; | ||
+ case e1000_phy_bcm54616: | ||
+ break; | ||
default: | ||
ret_val = -E1000_ERR_PHY; | ||
break; | ||
diff --git a/drivers/net/ethernet/intel/igb/e1000_defines.h b/drivers/net/ethernet/intel/igb/e1000_defines.h | ||
index 2688180..ce95b7e 100644 | ||
--- a/drivers/net/ethernet/intel/igb/e1000_defines.h | ||
+++ b/drivers/net/ethernet/intel/igb/e1000_defines.h | ||
@@ -867,6 +867,7 @@ | ||
#define I210_I_PHY_ID 0x01410C00 | ||
#define M88E1543_E_PHY_ID 0x01410EA0 | ||
#define M88E1512_E_PHY_ID 0x01410DD0 | ||
+#define BCM54616_E_PHY_ID 0x03625D10 | ||
|
||
/* M88E1000 Specific Registers */ | ||
#define M88E1000_PHY_SPEC_CTRL 0x10 /* PHY Specific Control Register */ | ||
diff --git a/drivers/net/ethernet/intel/igb/e1000_hw.h b/drivers/net/ethernet/intel/igb/e1000_hw.h | ||
index 2fb2213..644d8f5 100644 | ||
--- a/drivers/net/ethernet/intel/igb/e1000_hw.h | ||
+++ b/drivers/net/ethernet/intel/igb/e1000_hw.h | ||
@@ -128,6 +128,7 @@ enum e1000_phy_type { | ||
e1000_phy_ife, | ||
e1000_phy_82580, | ||
e1000_phy_i210, | ||
+ e1000_phy_bcm54616, | ||
}; | ||
|
||
enum e1000_bus_type { | ||
-- | ||
2.7.4 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters