]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: phy: aquantia: add support for aqr115c
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 8 Jul 2024 07:50:23 +0000 (09:50 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 10 Jul 2024 03:57:28 +0000 (04:57 +0100)
Add support for a new model to the Aquantia driver. This PHY supports
2.5 gigabit speeds. The PHY mode is referred to by the manufacturer as
Overclocked SGMII (OCSGMII) but this actually is just 2500BASEX without
in-band signalling so reuse the existing mode to avoid changing the
uAPI.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/aquantia/aquantia_main.c

index 2c8ba2725a919b66288c1ef1970275d69b36cbcd..d12e353742318ef8f2951947ac8e19c21220d243 100644 (file)
@@ -29,6 +29,7 @@
 #define PHY_ID_AQR113  0x31c31c40
 #define PHY_ID_AQR113C 0x31c31c12
 #define PHY_ID_AQR114C 0x31c31c22
+#define PHY_ID_AQR115C 0x31c31c33
 #define PHY_ID_AQR813  0x31c31cb2
 
 #define MDIO_PHYXS_VEND_IF_STATUS              0xe812
@@ -1005,6 +1006,30 @@ static struct phy_driver aqr_driver[] = {
        .led_hw_control_get = aqr_phy_led_hw_control_get,
        .led_polarity_set = aqr_phy_led_polarity_set,
 },
+{
+       PHY_ID_MATCH_MODEL(PHY_ID_AQR115C),
+       .name           = "Aquantia AQR115C",
+       .probe          = aqr107_probe,
+       .get_rate_matching = aqr107_get_rate_matching,
+       .config_init    = aqr113c_config_init,
+       .config_aneg    = aqr_config_aneg,
+       .config_intr    = aqr_config_intr,
+       .handle_interrupt = aqr_handle_interrupt,
+       .read_status    = aqr107_read_status,
+       .get_tunable    = aqr107_get_tunable,
+       .set_tunable    = aqr107_set_tunable,
+       .suspend        = aqr107_suspend,
+       .resume         = aqr107_resume,
+       .get_sset_count = aqr107_get_sset_count,
+       .get_strings    = aqr107_get_strings,
+       .get_stats      = aqr107_get_stats,
+       .link_change_notify = aqr107_link_change_notify,
+       .led_brightness_set = aqr_phy_led_brightness_set,
+       .led_hw_is_supported = aqr_phy_led_hw_is_supported,
+       .led_hw_control_set = aqr_phy_led_hw_control_set,
+       .led_hw_control_get = aqr_phy_led_hw_control_get,
+       .led_polarity_set = aqr_phy_led_polarity_set,
+},
 {
        PHY_ID_MATCH_MODEL(PHY_ID_AQR813),
        .name           = "Aquantia AQR813",
@@ -1048,6 +1073,7 @@ static struct mdio_device_id __maybe_unused aqr_tbl[] = {
        { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) },
        { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) },
        { PHY_ID_MATCH_MODEL(PHY_ID_AQR114C) },
+       { PHY_ID_MATCH_MODEL(PHY_ID_AQR115C) },
        { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) },
        { }
 };