Commit 7a938f80264f2cbfb0c0841b450eab42a8093281

Authored by Dmitry Baryshkov
Committed by David S. Miller
1 parent fcb26ec5b1

broadcom: Add 5241 support

This patch adds the 5241 PHY ID to the broadcom module.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 2 changed files with 23 additions and 0 deletions Side-by-side Diff

drivers/net/phy/broadcom.c
... ... @@ -834,6 +834,21 @@
834 834 .driver = { .owner = THIS_MODULE },
835 835 };
836 836  
  837 +static struct phy_driver bcm5241_driver = {
  838 + .phy_id = PHY_ID_BCM5241,
  839 + .phy_id_mask = 0xfffffff0,
  840 + .name = "Broadcom BCM5241",
  841 + .features = PHY_BASIC_FEATURES |
  842 + SUPPORTED_Pause | SUPPORTED_Asym_Pause,
  843 + .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,
  844 + .config_init = brcm_fet_config_init,
  845 + .config_aneg = genphy_config_aneg,
  846 + .read_status = genphy_read_status,
  847 + .ack_interrupt = brcm_fet_ack_interrupt,
  848 + .config_intr = brcm_fet_config_intr,
  849 + .driver = { .owner = THIS_MODULE },
  850 +};
  851 +
837 852 static int __init broadcom_init(void)
838 853 {
839 854 int ret;
840 855  
... ... @@ -868,8 +883,13 @@
868 883 ret = phy_driver_register(&bcmac131_driver);
869 884 if (ret)
870 885 goto out_ac131;
  886 + ret = phy_driver_register(&bcm5241_driver);
  887 + if (ret)
  888 + goto out_5241;
871 889 return ret;
872 890  
  891 +out_5241:
  892 + phy_driver_unregister(&bcmac131_driver);
873 893 out_ac131:
874 894 phy_driver_unregister(&bcm57780_driver);
875 895 out_57780:
... ... @@ -894,6 +914,7 @@
894 914  
895 915 static void __exit broadcom_exit(void)
896 916 {
  917 + phy_driver_unregister(&bcm5241_driver);
897 918 phy_driver_unregister(&bcmac131_driver);
898 919 phy_driver_unregister(&bcm57780_driver);
899 920 phy_driver_unregister(&bcm50610m_driver);
... ... @@ -920,6 +941,7 @@
920 941 { PHY_ID_BCM50610M, 0xfffffff0 },
921 942 { PHY_ID_BCM57780, 0xfffffff0 },
922 943 { PHY_ID_BCMAC131, 0xfffffff0 },
  944 + { PHY_ID_BCM5241, 0xfffffff0 },
923 945 { }
924 946 };
925 947  
include/linux/brcmphy.h
1 1 #define PHY_ID_BCM50610 0x0143bd60
2 2 #define PHY_ID_BCM50610M 0x0143bd70
  3 +#define PHY_ID_BCM5241 0x0143bc30
3 4 #define PHY_ID_BCMAC131 0x0143bc70
4 5 #define PHY_ID_BCM5481 0x0143bca0
5 6 #define PHY_ID_BCM5482 0x0143bcb0