Skip to content

Commit cc23f4f

Browse files
aneftinanguy11
authored andcommitted
e1000e: Add support for Meteor Lake
Add devices IDs for the next LOM generations that will be available on the next Intel Client platform (Meteor Lake) This patch provides the initial support for these devices Signed-off-by: Sasha Neftin <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
1 parent 67ea406 commit cc23f4f

File tree

5 files changed

+21
-0
lines changed

5 files changed

+21
-0
lines changed

drivers/net/ethernet/intel/e1000e/ethtool.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -895,6 +895,7 @@ static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data)
895895
case e1000_pch_cnp:
896896
case e1000_pch_tgp:
897897
case e1000_pch_adp:
898+
case e1000_pch_mtp:
898899
mask |= BIT(18);
899900
break;
900901
default:
@@ -1560,6 +1561,7 @@ static void e1000_loopback_cleanup(struct e1000_adapter *adapter)
15601561
case e1000_pch_cnp:
15611562
case e1000_pch_tgp:
15621563
case e1000_pch_adp:
1564+
case e1000_pch_mtp:
15631565
fext_nvm11 = er32(FEXTNVM11);
15641566
fext_nvm11 &= ~E1000_FEXTNVM11_DISABLE_MULR_FIX;
15651567
ew32(FEXTNVM11, fext_nvm11);

drivers/net/ethernet/intel/e1000e/hw.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,10 @@ struct e1000_hw;
102102
#define E1000_DEV_ID_PCH_ADP_I219_V16 0x1A1F
103103
#define E1000_DEV_ID_PCH_ADP_I219_LM17 0x1A1C
104104
#define E1000_DEV_ID_PCH_ADP_I219_V17 0x1A1D
105+
#define E1000_DEV_ID_PCH_MTP_I219_LM18 0x550A
106+
#define E1000_DEV_ID_PCH_MTP_I219_V18 0x550B
107+
#define E1000_DEV_ID_PCH_MTP_I219_LM19 0x550C
108+
#define E1000_DEV_ID_PCH_MTP_I219_V19 0x550D
105109

106110
#define E1000_REVISION_4 4
107111

@@ -127,6 +131,7 @@ enum e1000_mac_type {
127131
e1000_pch_cnp,
128132
e1000_pch_tgp,
129133
e1000_pch_adp,
134+
e1000_pch_mtp,
130135
};
131136

132137
enum e1000_media_type {

drivers/net/ethernet/intel/e1000e/ich8lan.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,7 @@ static s32 e1000_init_phy_workarounds_pchlan(struct e1000_hw *hw)
320320
case e1000_pch_cnp:
321321
case e1000_pch_tgp:
322322
case e1000_pch_adp:
323+
case e1000_pch_mtp:
323324
if (e1000_phy_is_accessible_pchlan(hw))
324325
break;
325326

@@ -464,6 +465,7 @@ static s32 e1000_init_phy_params_pchlan(struct e1000_hw *hw)
464465
case e1000_pch_cnp:
465466
case e1000_pch_tgp:
466467
case e1000_pch_adp:
468+
case e1000_pch_mtp:
467469
/* In case the PHY needs to be in mdio slow mode,
468470
* set slow mode and try to get the PHY id again.
469471
*/
@@ -708,6 +710,7 @@ static s32 e1000_init_mac_params_ich8lan(struct e1000_hw *hw)
708710
case e1000_pch_cnp:
709711
case e1000_pch_tgp:
710712
case e1000_pch_adp:
713+
case e1000_pch_mtp:
711714
case e1000_pchlan:
712715
/* check management mode */
713716
mac->ops.check_mng_mode = e1000_check_mng_mode_pchlan;
@@ -1648,6 +1651,7 @@ static s32 e1000_get_variants_ich8lan(struct e1000_adapter *adapter)
16481651
case e1000_pch_cnp:
16491652
case e1000_pch_tgp:
16501653
case e1000_pch_adp:
1654+
case e1000_pch_mtp:
16511655
rc = e1000_init_phy_params_pchlan(hw);
16521656
break;
16531657
default:
@@ -2102,6 +2106,7 @@ static s32 e1000_sw_lcd_config_ich8lan(struct e1000_hw *hw)
21022106
case e1000_pch_cnp:
21032107
case e1000_pch_tgp:
21042108
case e1000_pch_adp:
2109+
case e1000_pch_mtp:
21052110
sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG_ICH8M;
21062111
break;
21072112
default:
@@ -3145,6 +3150,7 @@ static s32 e1000_valid_nvm_bank_detect_ich8lan(struct e1000_hw *hw, u32 *bank)
31453150
case e1000_pch_cnp:
31463151
case e1000_pch_tgp:
31473152
case e1000_pch_adp:
3153+
case e1000_pch_mtp:
31483154
bank1_offset = nvm->flash_bank_size;
31493155
act_offset = E1000_ICH_NVM_SIG_WORD;
31503156

@@ -4090,6 +4096,7 @@ static s32 e1000_validate_nvm_checksum_ich8lan(struct e1000_hw *hw)
40904096
case e1000_pch_cnp:
40914097
case e1000_pch_tgp:
40924098
case e1000_pch_adp:
4099+
case e1000_pch_mtp:
40934100
word = NVM_COMPAT;
40944101
valid_csum_mask = NVM_COMPAT_VALID_CSUM;
40954102
break;

drivers/net/ethernet/intel/e1000e/netdev.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3587,6 +3587,7 @@ s32 e1000e_get_base_timinca(struct e1000_adapter *adapter, u32 *timinca)
35873587
case e1000_pch_cnp:
35883588
case e1000_pch_tgp:
35893589
case e1000_pch_adp:
3590+
case e1000_pch_mtp:
35903591
if (er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_SYSCFI) {
35913592
/* Stable 24MHz frequency */
35923593
incperiod = INCPERIOD_24MHZ;
@@ -4104,6 +4105,7 @@ void e1000e_reset(struct e1000_adapter *adapter)
41044105
case e1000_pch_cnp:
41054106
case e1000_pch_tgp:
41064107
case e1000_pch_adp:
4108+
case e1000_pch_mtp:
41074109
fc->refresh_time = 0xFFFF;
41084110
fc->pause_time = 0xFFFF;
41094111

@@ -7877,6 +7879,10 @@ static const struct pci_device_id e1000_pci_tbl[] = {
78777879
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V16), board_pch_cnp },
78787880
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM17), board_pch_cnp },
78797881
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V17), board_pch_cnp },
7882+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_LM18), board_pch_cnp },
7883+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_V18), board_pch_cnp },
7884+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_LM19), board_pch_cnp },
7885+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_V19), board_pch_cnp },
78807886

78817887
{ 0, 0, 0, 0, 0, 0, 0 } /* terminate list */
78827888
};

drivers/net/ethernet/intel/e1000e/ptp.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,7 @@ void e1000e_ptp_init(struct e1000_adapter *adapter)
297297
case e1000_pch_cnp:
298298
case e1000_pch_tgp:
299299
case e1000_pch_adp:
300+
case e1000_pch_mtp:
300301
if ((hw->mac.type < e1000_pch_lpt) ||
301302
(er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_SYSCFI)) {
302303
adapter->ptp_clock_info.max_adj = 24000000 - 1;

0 commit comments

Comments
 (0)