[PATCH] e1000: add support for i226

Marjolaine Amate marjolaine.amate at odyssee-systemes.fr
Mon Jun 24 21:15:32 CEST 2024


This patch adds support for Intel Foxville I226
devices LM,V,I,K in e1000 driver.

Signed-off-by: Marjolaine Amate <marjolaine.amate at odyssee-systemes.fr>
---
 drivers/net/e1000.c | 18 ++++++++++++++++++
 drivers/net/e1000.h |  2 ++
 include/pci_ids.h   |  7 +++++++
 3 files changed, 27 insertions(+)

diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c
index 4e7ba66677..f9803b92b0 100644
--- a/drivers/net/e1000.c
+++ b/drivers/net/e1000.c
@@ -108,6 +108,12 @@ static struct pci_device_id e1000_supported[] = {
 	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_80003ES2LAN_SERDES_DPT) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_80003ES2LAN_COPPER_SPT) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_80003ES2LAN_SERDES_SPT) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I226_K) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I226_LMVP) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I226_LM) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I226_V) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I226_IT) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I226_UNPROGRAMMED) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I210_UNPROGRAMMED) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I211_UNPROGRAMMED) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I210_COPPER) },
@@ -1569,6 +1575,12 @@ e1000_set_mac_type(struct e1000_hw *hw)
 	case E1000_DEV_ID_ICH8_IGP_M:
 		hw->mac_type = e1000_ich8lan;
 		break;
+	case PCI_DEVICE_ID_INTEL_I226_K:
+	case PCI_DEVICE_ID_INTEL_I226_LMVP:
+	case PCI_DEVICE_ID_INTEL_I226_LM:
+	case PCI_DEVICE_ID_INTEL_I226_V:
+	case PCI_DEVICE_ID_INTEL_I226_IT:
+	case PCI_DEVICE_ID_INTEL_I226_UNPROGRAMMED:
 	case PCI_DEVICE_ID_INTEL_I210_UNPROGRAMMED:
 	case PCI_DEVICE_ID_INTEL_I211_UNPROGRAMMED:
 	case PCI_DEVICE_ID_INTEL_I210_COPPER:
@@ -4843,6 +4855,8 @@ static int e1000_set_phy_type (struct e1000_hw *hw)
 		hw->phy_type = e1000_phy_igb;
 		break;
 	case I225_I_PHY_ID:
+	case I226_LM_PHY_ID:
+	case I226_I_PHY_ID:
 		hw->phy_type = e1000_phy_igc;
 		break;
 		/* Fall Through */
@@ -4954,6 +4968,10 @@ e1000_detect_gig_phy(struct e1000_hw *hw)
 			match = true;
 		if (hw->phy_id == I225_I_PHY_ID)
 			match = true;
+		if (hw->phy_id == I226_LM_PHY_ID)
+			match = true;
+		if (hw->phy_id == I226_I_PHY_ID)
+			match = true;
 		break;
 	default:
 		DEBUGOUT("Invalid MAC type %d\n", hw->mac_type);
diff --git a/drivers/net/e1000.h b/drivers/net/e1000.h
index e1311126a3..aa649328f5 100644
--- a/drivers/net/e1000.h
+++ b/drivers/net/e1000.h
@@ -2421,7 +2421,9 @@ struct e1000_hw {
 #define BME1000_E_PHY_ID     0x01410CB0
 
 #define I210_I_PHY_ID		0x01410C00
+#define I226_LM_PHY_ID		0x67C9DC10
 #define I225_I_PHY_ID		0x67C9DCC0
+#define I226_I_PHY_ID		0x67C9DCD0
 
 /* Miscellaneous PHY bit definitions. */
 #define PHY_PREAMBLE			0xFFFFFFFF
diff --git a/include/pci_ids.h b/include/pci_ids.h
index f1886c3a75..834ec926b5 100644
--- a/include/pci_ids.h
+++ b/include/pci_ids.h
@@ -2701,6 +2701,11 @@
 #define PCI_DEVICE_ID_INTEL_82441	0x1237
 #define PCI_DEVICE_ID_INTEL_82380FB	0x124b
 #define PCI_DEVICE_ID_INTEL_82439	0x1250
+#define PCI_DEVICE_ID_INTEL_I226_LM			0x125b
+#define PCI_DEVICE_ID_INTEL_I226_V			0x125c
+#define PCI_DEVICE_ID_INTEL_I226_IT			0x125d
+#define PCI_DEVICE_ID_INTEL_I221_V			0x125e
+#define PCI_DEVICE_ID_INTEL_I226_UNPROGRAMMED		0x125f
 #define PCI_DEVICE_ID_INTEL_I210_UNPROGRAMMED		0x1531
 #define PCI_DEVICE_ID_INTEL_I211_UNPROGRAMMED		0x1532
 #define PCI_DEVICE_ID_INTEL_I210_COPPER			0x1533
@@ -2930,6 +2935,7 @@
 #define PCI_DEVICE_ID_INTEL_LYNNFIELD_MC_CH2_ADDR_REV2  0x2db1
 #define PCI_DEVICE_ID_INTEL_LYNNFIELD_MC_CH2_RANK_REV2  0x2db2
 #define PCI_DEVICE_ID_INTEL_LYNNFIELD_MC_CH2_TC_REV2    0x2db3
+#define PCI_DEVICE_ID_INTEL_I226_K	0x3102
 #define PCI_DEVICE_ID_INTEL_82855PM_HB	0x3340
 #define PCI_DEVICE_ID_INTEL_IOAT_TBG4	0x3429
 #define PCI_DEVICE_ID_INTEL_IOAT_TBG5	0x342a
@@ -3001,6 +3007,7 @@
 #define PCI_DEVICE_ID_INTEL_UNC_R3QPI1	0x3c45
 #define PCI_DEVICE_ID_INTEL_JAKETOWN_UBOX	0x3ce0
 #define PCI_DEVICE_ID_INTEL_IOAT_SNB	0x402f
+#define PCI_DEVICE_ID_INTEL_I226_LMVP	0x5503
 #define PCI_DEVICE_ID_INTEL_5100_16	0x65f0
 #define PCI_DEVICE_ID_INTEL_5100_19	0x65f3
 #define PCI_DEVICE_ID_INTEL_5100_21	0x65f5
-- 
2.43.0



More information about the U-Boot mailing list