micrel.c (75e75cbd55183ff12459666c0a1d3e71fe1481ab) | micrel.c (529ed12752635ba8a35dc78ec70ed6f42570b4ca) |
---|---|
1/* 2 * drivers/net/phy/micrel.c 3 * 4 * Driver for Micrel PHYs 5 * 6 * Author: David J. Choi 7 * 8 * Copyright (c) 2010-2013 Micrel, Inc. --- 776 unchanged lines hidden (view full) --- 785 return 0; 786} 787 788static struct phy_driver ksphy_driver[] = { 789{ 790 .phy_id = PHY_ID_KS8737, 791 .phy_id_mask = MICREL_PHY_ID_MASK, 792 .name = "Micrel KS8737", | 1/* 2 * drivers/net/phy/micrel.c 3 * 4 * Driver for Micrel PHYs 5 * 6 * Author: David J. Choi 7 * 8 * Copyright (c) 2010-2013 Micrel, Inc. --- 776 unchanged lines hidden (view full) --- 785 return 0; 786} 787 788static struct phy_driver ksphy_driver[] = { 789{ 790 .phy_id = PHY_ID_KS8737, 791 .phy_id_mask = MICREL_PHY_ID_MASK, 792 .name = "Micrel KS8737", |
793 .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause), | 793 .features = PHY_BASIC_FEATURES, |
794 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 795 .driver_data = &ks8737_type, 796 .config_init = kszphy_config_init, 797 .config_aneg = genphy_config_aneg, 798 .read_status = genphy_read_status, 799 .ack_interrupt = kszphy_ack_interrupt, 800 .config_intr = kszphy_config_intr, 801 .get_sset_count = kszphy_get_sset_count, 802 .get_strings = kszphy_get_strings, 803 .get_stats = kszphy_get_stats, 804 .suspend = genphy_suspend, 805 .resume = genphy_resume, 806}, { 807 .phy_id = PHY_ID_KSZ8021, 808 .phy_id_mask = 0x00ffffff, 809 .name = "Micrel KSZ8021 or KSZ8031", | 794 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 795 .driver_data = &ks8737_type, 796 .config_init = kszphy_config_init, 797 .config_aneg = genphy_config_aneg, 798 .read_status = genphy_read_status, 799 .ack_interrupt = kszphy_ack_interrupt, 800 .config_intr = kszphy_config_intr, 801 .get_sset_count = kszphy_get_sset_count, 802 .get_strings = kszphy_get_strings, 803 .get_stats = kszphy_get_stats, 804 .suspend = genphy_suspend, 805 .resume = genphy_resume, 806}, { 807 .phy_id = PHY_ID_KSZ8021, 808 .phy_id_mask = 0x00ffffff, 809 .name = "Micrel KSZ8021 or KSZ8031", |
810 .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause | 811 SUPPORTED_Asym_Pause), | 810 .features = PHY_BASIC_FEATURES, |
812 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 813 .driver_data = &ksz8021_type, 814 .probe = kszphy_probe, 815 .config_init = kszphy_config_init, 816 .config_aneg = genphy_config_aneg, 817 .read_status = genphy_read_status, 818 .ack_interrupt = kszphy_ack_interrupt, 819 .config_intr = kszphy_config_intr, 820 .get_sset_count = kszphy_get_sset_count, 821 .get_strings = kszphy_get_strings, 822 .get_stats = kszphy_get_stats, 823 .suspend = genphy_suspend, 824 .resume = genphy_resume, 825}, { 826 .phy_id = PHY_ID_KSZ8031, 827 .phy_id_mask = 0x00ffffff, 828 .name = "Micrel KSZ8031", | 811 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 812 .driver_data = &ksz8021_type, 813 .probe = kszphy_probe, 814 .config_init = kszphy_config_init, 815 .config_aneg = genphy_config_aneg, 816 .read_status = genphy_read_status, 817 .ack_interrupt = kszphy_ack_interrupt, 818 .config_intr = kszphy_config_intr, 819 .get_sset_count = kszphy_get_sset_count, 820 .get_strings = kszphy_get_strings, 821 .get_stats = kszphy_get_stats, 822 .suspend = genphy_suspend, 823 .resume = genphy_resume, 824}, { 825 .phy_id = PHY_ID_KSZ8031, 826 .phy_id_mask = 0x00ffffff, 827 .name = "Micrel KSZ8031", |
829 .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause | 830 SUPPORTED_Asym_Pause), | 828 .features = PHY_BASIC_FEATURES, |
831 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 832 .driver_data = &ksz8021_type, 833 .probe = kszphy_probe, 834 .config_init = kszphy_config_init, 835 .config_aneg = genphy_config_aneg, 836 .read_status = genphy_read_status, 837 .ack_interrupt = kszphy_ack_interrupt, 838 .config_intr = kszphy_config_intr, 839 .get_sset_count = kszphy_get_sset_count, 840 .get_strings = kszphy_get_strings, 841 .get_stats = kszphy_get_stats, 842 .suspend = genphy_suspend, 843 .resume = genphy_resume, 844}, { 845 .phy_id = PHY_ID_KSZ8041, 846 .phy_id_mask = MICREL_PHY_ID_MASK, 847 .name = "Micrel KSZ8041", | 829 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 830 .driver_data = &ksz8021_type, 831 .probe = kszphy_probe, 832 .config_init = kszphy_config_init, 833 .config_aneg = genphy_config_aneg, 834 .read_status = genphy_read_status, 835 .ack_interrupt = kszphy_ack_interrupt, 836 .config_intr = kszphy_config_intr, 837 .get_sset_count = kszphy_get_sset_count, 838 .get_strings = kszphy_get_strings, 839 .get_stats = kszphy_get_stats, 840 .suspend = genphy_suspend, 841 .resume = genphy_resume, 842}, { 843 .phy_id = PHY_ID_KSZ8041, 844 .phy_id_mask = MICREL_PHY_ID_MASK, 845 .name = "Micrel KSZ8041", |
848 .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause 849 | SUPPORTED_Asym_Pause), | 846 .features = PHY_BASIC_FEATURES, |
850 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 851 .driver_data = &ksz8041_type, 852 .probe = kszphy_probe, 853 .config_init = ksz8041_config_init, 854 .config_aneg = ksz8041_config_aneg, 855 .read_status = genphy_read_status, 856 .ack_interrupt = kszphy_ack_interrupt, 857 .config_intr = kszphy_config_intr, 858 .get_sset_count = kszphy_get_sset_count, 859 .get_strings = kszphy_get_strings, 860 .get_stats = kszphy_get_stats, 861 .suspend = genphy_suspend, 862 .resume = genphy_resume, 863}, { 864 .phy_id = PHY_ID_KSZ8041RNLI, 865 .phy_id_mask = MICREL_PHY_ID_MASK, 866 .name = "Micrel KSZ8041RNLI", | 847 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 848 .driver_data = &ksz8041_type, 849 .probe = kszphy_probe, 850 .config_init = ksz8041_config_init, 851 .config_aneg = ksz8041_config_aneg, 852 .read_status = genphy_read_status, 853 .ack_interrupt = kszphy_ack_interrupt, 854 .config_intr = kszphy_config_intr, 855 .get_sset_count = kszphy_get_sset_count, 856 .get_strings = kszphy_get_strings, 857 .get_stats = kszphy_get_stats, 858 .suspend = genphy_suspend, 859 .resume = genphy_resume, 860}, { 861 .phy_id = PHY_ID_KSZ8041RNLI, 862 .phy_id_mask = MICREL_PHY_ID_MASK, 863 .name = "Micrel KSZ8041RNLI", |
867 .features = PHY_BASIC_FEATURES | 868 SUPPORTED_Pause | SUPPORTED_Asym_Pause, | 864 .features = PHY_BASIC_FEATURES, |
869 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 870 .driver_data = &ksz8041_type, 871 .probe = kszphy_probe, 872 .config_init = kszphy_config_init, 873 .config_aneg = genphy_config_aneg, 874 .read_status = genphy_read_status, 875 .ack_interrupt = kszphy_ack_interrupt, 876 .config_intr = kszphy_config_intr, 877 .get_sset_count = kszphy_get_sset_count, 878 .get_strings = kszphy_get_strings, 879 .get_stats = kszphy_get_stats, 880 .suspend = genphy_suspend, 881 .resume = genphy_resume, 882}, { 883 .phy_id = PHY_ID_KSZ8051, 884 .phy_id_mask = MICREL_PHY_ID_MASK, 885 .name = "Micrel KSZ8051", | 865 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 866 .driver_data = &ksz8041_type, 867 .probe = kszphy_probe, 868 .config_init = kszphy_config_init, 869 .config_aneg = genphy_config_aneg, 870 .read_status = genphy_read_status, 871 .ack_interrupt = kszphy_ack_interrupt, 872 .config_intr = kszphy_config_intr, 873 .get_sset_count = kszphy_get_sset_count, 874 .get_strings = kszphy_get_strings, 875 .get_stats = kszphy_get_stats, 876 .suspend = genphy_suspend, 877 .resume = genphy_resume, 878}, { 879 .phy_id = PHY_ID_KSZ8051, 880 .phy_id_mask = MICREL_PHY_ID_MASK, 881 .name = "Micrel KSZ8051", |
886 .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause 887 | SUPPORTED_Asym_Pause), | 882 .features = PHY_BASIC_FEATURES, |
888 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 889 .driver_data = &ksz8051_type, 890 .probe = kszphy_probe, 891 .config_init = kszphy_config_init, 892 .config_aneg = genphy_config_aneg, 893 .read_status = genphy_read_status, 894 .ack_interrupt = kszphy_ack_interrupt, 895 .config_intr = kszphy_config_intr, 896 .get_sset_count = kszphy_get_sset_count, 897 .get_strings = kszphy_get_strings, 898 .get_stats = kszphy_get_stats, 899 .suspend = genphy_suspend, 900 .resume = genphy_resume, 901}, { 902 .phy_id = PHY_ID_KSZ8001, 903 .name = "Micrel KSZ8001 or KS8721", 904 .phy_id_mask = 0x00fffffc, | 883 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 884 .driver_data = &ksz8051_type, 885 .probe = kszphy_probe, 886 .config_init = kszphy_config_init, 887 .config_aneg = genphy_config_aneg, 888 .read_status = genphy_read_status, 889 .ack_interrupt = kszphy_ack_interrupt, 890 .config_intr = kszphy_config_intr, 891 .get_sset_count = kszphy_get_sset_count, 892 .get_strings = kszphy_get_strings, 893 .get_stats = kszphy_get_stats, 894 .suspend = genphy_suspend, 895 .resume = genphy_resume, 896}, { 897 .phy_id = PHY_ID_KSZ8001, 898 .name = "Micrel KSZ8001 or KS8721", 899 .phy_id_mask = 0x00fffffc, |
905 .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause), | 900 .features = PHY_BASIC_FEATURES, |
906 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 907 .driver_data = &ksz8041_type, 908 .probe = kszphy_probe, 909 .config_init = kszphy_config_init, 910 .config_aneg = genphy_config_aneg, 911 .read_status = genphy_read_status, 912 .ack_interrupt = kszphy_ack_interrupt, 913 .config_intr = kszphy_config_intr, 914 .get_sset_count = kszphy_get_sset_count, 915 .get_strings = kszphy_get_strings, 916 .get_stats = kszphy_get_stats, 917 .suspend = genphy_suspend, 918 .resume = genphy_resume, 919}, { 920 .phy_id = PHY_ID_KSZ8081, 921 .name = "Micrel KSZ8081 or KSZ8091", 922 .phy_id_mask = MICREL_PHY_ID_MASK, | 901 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 902 .driver_data = &ksz8041_type, 903 .probe = kszphy_probe, 904 .config_init = kszphy_config_init, 905 .config_aneg = genphy_config_aneg, 906 .read_status = genphy_read_status, 907 .ack_interrupt = kszphy_ack_interrupt, 908 .config_intr = kszphy_config_intr, 909 .get_sset_count = kszphy_get_sset_count, 910 .get_strings = kszphy_get_strings, 911 .get_stats = kszphy_get_stats, 912 .suspend = genphy_suspend, 913 .resume = genphy_resume, 914}, { 915 .phy_id = PHY_ID_KSZ8081, 916 .name = "Micrel KSZ8081 or KSZ8091", 917 .phy_id_mask = MICREL_PHY_ID_MASK, |
923 .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause), | 918 .features = PHY_BASIC_FEATURES, |
924 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 925 .driver_data = &ksz8081_type, 926 .probe = kszphy_probe, 927 .config_init = kszphy_config_init, 928 .config_aneg = genphy_config_aneg, 929 .read_status = genphy_read_status, 930 .ack_interrupt = kszphy_ack_interrupt, 931 .config_intr = kszphy_config_intr, 932 .get_sset_count = kszphy_get_sset_count, 933 .get_strings = kszphy_get_strings, 934 .get_stats = kszphy_get_stats, 935 .suspend = kszphy_suspend, 936 .resume = kszphy_resume, 937}, { 938 .phy_id = PHY_ID_KSZ8061, 939 .name = "Micrel KSZ8061", 940 .phy_id_mask = MICREL_PHY_ID_MASK, | 919 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 920 .driver_data = &ksz8081_type, 921 .probe = kszphy_probe, 922 .config_init = kszphy_config_init, 923 .config_aneg = genphy_config_aneg, 924 .read_status = genphy_read_status, 925 .ack_interrupt = kszphy_ack_interrupt, 926 .config_intr = kszphy_config_intr, 927 .get_sset_count = kszphy_get_sset_count, 928 .get_strings = kszphy_get_strings, 929 .get_stats = kszphy_get_stats, 930 .suspend = kszphy_suspend, 931 .resume = kszphy_resume, 932}, { 933 .phy_id = PHY_ID_KSZ8061, 934 .name = "Micrel KSZ8061", 935 .phy_id_mask = MICREL_PHY_ID_MASK, |
941 .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause), | 936 .features = PHY_BASIC_FEATURES, |
942 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 943 .config_init = kszphy_config_init, 944 .config_aneg = genphy_config_aneg, 945 .read_status = genphy_read_status, 946 .ack_interrupt = kszphy_ack_interrupt, 947 .config_intr = kszphy_config_intr, 948 .get_sset_count = kszphy_get_sset_count, 949 .get_strings = kszphy_get_strings, 950 .get_stats = kszphy_get_stats, 951 .suspend = genphy_suspend, 952 .resume = genphy_resume, 953}, { 954 .phy_id = PHY_ID_KSZ9021, 955 .phy_id_mask = 0x000ffffe, 956 .name = "Micrel KSZ9021 Gigabit PHY", | 937 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 938 .config_init = kszphy_config_init, 939 .config_aneg = genphy_config_aneg, 940 .read_status = genphy_read_status, 941 .ack_interrupt = kszphy_ack_interrupt, 942 .config_intr = kszphy_config_intr, 943 .get_sset_count = kszphy_get_sset_count, 944 .get_strings = kszphy_get_strings, 945 .get_stats = kszphy_get_stats, 946 .suspend = genphy_suspend, 947 .resume = genphy_resume, 948}, { 949 .phy_id = PHY_ID_KSZ9021, 950 .phy_id_mask = 0x000ffffe, 951 .name = "Micrel KSZ9021 Gigabit PHY", |
957 .features = (PHY_GBIT_FEATURES | SUPPORTED_Pause), | 952 .features = PHY_GBIT_FEATURES, |
958 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 959 .driver_data = &ksz9021_type, 960 .config_init = ksz9021_config_init, 961 .config_aneg = genphy_config_aneg, 962 .read_status = genphy_read_status, 963 .ack_interrupt = kszphy_ack_interrupt, 964 .config_intr = kszphy_config_intr, 965 .get_sset_count = kszphy_get_sset_count, 966 .get_strings = kszphy_get_strings, 967 .get_stats = kszphy_get_stats, 968 .suspend = genphy_suspend, 969 .resume = genphy_resume, 970 .read_mmd_indirect = ksz9021_rd_mmd_phyreg, 971 .write_mmd_indirect = ksz9021_wr_mmd_phyreg, 972}, { 973 .phy_id = PHY_ID_KSZ9031, 974 .phy_id_mask = MICREL_PHY_ID_MASK, 975 .name = "Micrel KSZ9031 Gigabit PHY", | 953 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 954 .driver_data = &ksz9021_type, 955 .config_init = ksz9021_config_init, 956 .config_aneg = genphy_config_aneg, 957 .read_status = genphy_read_status, 958 .ack_interrupt = kszphy_ack_interrupt, 959 .config_intr = kszphy_config_intr, 960 .get_sset_count = kszphy_get_sset_count, 961 .get_strings = kszphy_get_strings, 962 .get_stats = kszphy_get_stats, 963 .suspend = genphy_suspend, 964 .resume = genphy_resume, 965 .read_mmd_indirect = ksz9021_rd_mmd_phyreg, 966 .write_mmd_indirect = ksz9021_wr_mmd_phyreg, 967}, { 968 .phy_id = PHY_ID_KSZ9031, 969 .phy_id_mask = MICREL_PHY_ID_MASK, 970 .name = "Micrel KSZ9031 Gigabit PHY", |
976 .features = (PHY_GBIT_FEATURES | SUPPORTED_Pause), | 971 .features = PHY_GBIT_FEATURES, |
977 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 978 .driver_data = &ksz9021_type, 979 .config_init = ksz9031_config_init, 980 .config_aneg = genphy_config_aneg, 981 .read_status = ksz9031_read_status, 982 .ack_interrupt = kszphy_ack_interrupt, 983 .config_intr = kszphy_config_intr, 984 .get_sset_count = kszphy_get_sset_count, 985 .get_strings = kszphy_get_strings, 986 .get_stats = kszphy_get_stats, 987 .suspend = genphy_suspend, 988 .resume = kszphy_resume, 989}, { 990 .phy_id = PHY_ID_KSZ8873MLL, 991 .phy_id_mask = MICREL_PHY_ID_MASK, 992 .name = "Micrel KSZ8873MLL Switch", | 972 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 973 .driver_data = &ksz9021_type, 974 .config_init = ksz9031_config_init, 975 .config_aneg = genphy_config_aneg, 976 .read_status = ksz9031_read_status, 977 .ack_interrupt = kszphy_ack_interrupt, 978 .config_intr = kszphy_config_intr, 979 .get_sset_count = kszphy_get_sset_count, 980 .get_strings = kszphy_get_strings, 981 .get_stats = kszphy_get_stats, 982 .suspend = genphy_suspend, 983 .resume = kszphy_resume, 984}, { 985 .phy_id = PHY_ID_KSZ8873MLL, 986 .phy_id_mask = MICREL_PHY_ID_MASK, 987 .name = "Micrel KSZ8873MLL Switch", |
993 .features = (SUPPORTED_Pause | SUPPORTED_Asym_Pause), | |
994 .flags = PHY_HAS_MAGICANEG, 995 .config_init = kszphy_config_init, 996 .config_aneg = ksz8873mll_config_aneg, 997 .read_status = ksz8873mll_read_status, 998 .get_sset_count = kszphy_get_sset_count, 999 .get_strings = kszphy_get_strings, 1000 .get_stats = kszphy_get_stats, 1001 .suspend = genphy_suspend, 1002 .resume = genphy_resume, 1003}, { 1004 .phy_id = PHY_ID_KSZ886X, 1005 .phy_id_mask = MICREL_PHY_ID_MASK, 1006 .name = "Micrel KSZ886X Switch", | 988 .flags = PHY_HAS_MAGICANEG, 989 .config_init = kszphy_config_init, 990 .config_aneg = ksz8873mll_config_aneg, 991 .read_status = ksz8873mll_read_status, 992 .get_sset_count = kszphy_get_sset_count, 993 .get_strings = kszphy_get_strings, 994 .get_stats = kszphy_get_stats, 995 .suspend = genphy_suspend, 996 .resume = genphy_resume, 997}, { 998 .phy_id = PHY_ID_KSZ886X, 999 .phy_id_mask = MICREL_PHY_ID_MASK, 1000 .name = "Micrel KSZ886X Switch", |
1007 .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause), | 1001 .features = PHY_BASIC_FEATURES, |
1008 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 1009 .config_init = kszphy_config_init, 1010 .config_aneg = genphy_config_aneg, 1011 .read_status = genphy_read_status, 1012 .get_sset_count = kszphy_get_sset_count, 1013 .get_strings = kszphy_get_strings, 1014 .get_stats = kszphy_get_stats, 1015 .suspend = genphy_suspend, --- 26 unchanged lines hidden --- | 1002 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, 1003 .config_init = kszphy_config_init, 1004 .config_aneg = genphy_config_aneg, 1005 .read_status = genphy_read_status, 1006 .get_sset_count = kszphy_get_sset_count, 1007 .get_strings = kszphy_get_strings, 1008 .get_stats = kszphy_get_stats, 1009 .suspend = genphy_suspend, --- 26 unchanged lines hidden --- |