@@ -446,8 +446,8 @@ static int tgl_common_data(struct pci_dev *pdev,
446
446
return intel_mgbe_common_data (pdev , plat );
447
447
}
448
448
449
- static int tgl_sgmii_data (struct pci_dev * pdev ,
450
- struct plat_stmmacenet_data * plat )
449
+ static int tgl_sgmii_phy0_data (struct pci_dev * pdev ,
450
+ struct plat_stmmacenet_data * plat )
451
451
{
452
452
plat -> bus_id = 1 ;
453
453
plat -> phy_interface = PHY_INTERFACE_MODE_SGMII ;
@@ -456,12 +456,26 @@ static int tgl_sgmii_data(struct pci_dev *pdev,
456
456
return tgl_common_data (pdev , plat );
457
457
}
458
458
459
- static struct stmmac_pci_info tgl_sgmii1g_info = {
460
- .setup = tgl_sgmii_data ,
459
+ static struct stmmac_pci_info tgl_sgmii1g_phy0_info = {
460
+ .setup = tgl_sgmii_phy0_data ,
461
461
};
462
462
463
- static int adls_sgmii_data (struct pci_dev * pdev ,
464
- struct plat_stmmacenet_data * plat )
463
+ static int tgl_sgmii_phy1_data (struct pci_dev * pdev ,
464
+ struct plat_stmmacenet_data * plat )
465
+ {
466
+ plat -> bus_id = 2 ;
467
+ plat -> phy_interface = PHY_INTERFACE_MODE_SGMII ;
468
+ plat -> serdes_powerup = intel_serdes_powerup ;
469
+ plat -> serdes_powerdown = intel_serdes_powerdown ;
470
+ return tgl_common_data (pdev , plat );
471
+ }
472
+
473
+ static struct stmmac_pci_info tgl_sgmii1g_phy1_info = {
474
+ .setup = tgl_sgmii_phy1_data ,
475
+ };
476
+
477
+ static int adls_sgmii_phy0_data (struct pci_dev * pdev ,
478
+ struct plat_stmmacenet_data * plat )
465
479
{
466
480
plat -> bus_id = 1 ;
467
481
plat -> phy_interface = PHY_INTERFACE_MODE_SGMII ;
@@ -471,10 +485,24 @@ static int adls_sgmii_data(struct pci_dev *pdev,
471
485
return tgl_common_data (pdev , plat );
472
486
}
473
487
474
- static struct stmmac_pci_info adls_sgmii1g_info = {
475
- .setup = adls_sgmii_data ,
488
+ static struct stmmac_pci_info adls_sgmii1g_phy0_info = {
489
+ .setup = adls_sgmii_phy0_data ,
476
490
};
477
491
492
+ static int adls_sgmii_phy1_data (struct pci_dev * pdev ,
493
+ struct plat_stmmacenet_data * plat )
494
+ {
495
+ plat -> bus_id = 2 ;
496
+ plat -> phy_interface = PHY_INTERFACE_MODE_SGMII ;
497
+
498
+ /* SerDes power up and power down are done in BIOS for ADL */
499
+
500
+ return tgl_common_data (pdev , plat );
501
+ }
502
+
503
+ static struct stmmac_pci_info adls_sgmii1g_phy1_info = {
504
+ .setup = adls_sgmii_phy1_data ,
505
+ };
478
506
static const struct stmmac_pci_func_data galileo_stmmac_func_data [] = {
479
507
{
480
508
.func = 6 ,
@@ -756,11 +784,11 @@ static const struct pci_device_id intel_eth_pci_id_table[] = {
756
784
{ PCI_DEVICE_DATA (INTEL , EHL_PSE1_RGMII1G_ID , & ehl_pse1_rgmii1g_info ) },
757
785
{ PCI_DEVICE_DATA (INTEL , EHL_PSE1_SGMII1G_ID , & ehl_pse1_sgmii1g_info ) },
758
786
{ PCI_DEVICE_DATA (INTEL , EHL_PSE1_SGMII2G5_ID , & ehl_pse1_sgmii1g_info ) },
759
- { PCI_DEVICE_DATA (INTEL , TGL_SGMII1G_ID , & tgl_sgmii1g_info ) },
760
- { PCI_DEVICE_DATA (INTEL , TGLH_SGMII1G_0_ID , & tgl_sgmii1g_info ) },
761
- { PCI_DEVICE_DATA (INTEL , TGLH_SGMII1G_1_ID , & tgl_sgmii1g_info ) },
762
- { PCI_DEVICE_DATA (INTEL , ADLS_SGMII1G_0_ID , & adls_sgmii1g_info ) },
763
- { PCI_DEVICE_DATA (INTEL , ADLS_SGMII1G_1_ID , & adls_sgmii1g_info ) },
787
+ { PCI_DEVICE_DATA (INTEL , TGL_SGMII1G_ID , & tgl_sgmii1g_phy0_info ) },
788
+ { PCI_DEVICE_DATA (INTEL , TGLH_SGMII1G_0_ID , & tgl_sgmii1g_phy0_info ) },
789
+ { PCI_DEVICE_DATA (INTEL , TGLH_SGMII1G_1_ID , & tgl_sgmii1g_phy1_info ) },
790
+ { PCI_DEVICE_DATA (INTEL , ADLS_SGMII1G_0_ID , & adls_sgmii1g_phy0_info ) },
791
+ { PCI_DEVICE_DATA (INTEL , ADLS_SGMII1G_1_ID , & adls_sgmii1g_phy1_info ) },
764
792
{}
765
793
};
766
794
MODULE_DEVICE_TABLE (pci , intel_eth_pci_id_table );
0 commit comments