]> www.infradead.org Git - users/griffoul/linux.git/commitdiff
net: phy: aquantia: rename AQR412 to AQR412C and add real AQR412
authorVladimir Oltean <vladimir.oltean@nxp.com>
Thu, 21 Aug 2025 15:20:08 +0000 (18:20 +0300)
committerJakub Kicinski <kuba@kernel.org>
Mon, 25 Aug 2025 17:54:14 +0000 (10:54 -0700)
I have noticed from schematics and firmware images that the PHY for
which I've previously added support in commit 973fbe68df39 ("net: phy:
aquantia: add AQR112 and AQR412 PHY IDs") is actually an AQR412C, not
AQR412.

These are actually PHYs from the same generation, and Marvell documents
them as differing only in the size of the FCCSP package: 19x19 mm for
the AQR412, vs 14x12mm for the Compact AQR412C.

I don't think there is any point in backporting this to stable kernels,
since the PHYs are identical in capabilities, and no functional
difference is expected regardless of how the PHY is identified.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20250821152022.1065237-2-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/aquantia/aquantia_main.c

index 77a48635d7bf0a3ac97aa095aeb30ec4be29d942..52facd318c83cf479c81ad9c1769e1132455797c 100644 (file)
@@ -26,7 +26,8 @@
 #define PHY_ID_AQR111  0x03a1b610
 #define PHY_ID_AQR111B0        0x03a1b612
 #define PHY_ID_AQR112  0x03a1b662
-#define PHY_ID_AQR412  0x03a1b712
+#define PHY_ID_AQR412  0x03a1b6f2
+#define PHY_ID_AQR412C 0x03a1b712
 #define PHY_ID_AQR113  0x31c31c40
 #define PHY_ID_AQR113C 0x31c31c12
 #define PHY_ID_AQR114C 0x31c31c22
@@ -1308,6 +1309,24 @@ static struct phy_driver aqr_driver[] = {
        .get_stats      = aqr107_get_stats,
        .link_change_notify = aqr107_link_change_notify,
 },
+{
+       PHY_ID_MATCH_MODEL(PHY_ID_AQR412C),
+       .name           = "Aquantia AQR412C",
+       .probe          = aqr107_probe,
+       .config_aneg    = aqr_config_aneg,
+       .config_intr    = aqr_config_intr,
+       .handle_interrupt = aqr_handle_interrupt,
+       .get_tunable    = aqr107_get_tunable,
+       .set_tunable    = aqr107_set_tunable,
+       .suspend        = aqr107_suspend,
+       .resume         = aqr107_resume,
+       .read_status    = aqr107_read_status,
+       .get_rate_matching = aqr107_get_rate_matching,
+       .get_sset_count = aqr107_get_sset_count,
+       .get_strings    = aqr107_get_strings,
+       .get_stats      = aqr107_get_stats,
+       .link_change_notify = aqr107_link_change_notify,
+},
 {
        PHY_ID_MATCH_MODEL(PHY_ID_AQR113),
        .name           = "Aquantia AQR113",
@@ -1446,6 +1465,7 @@ static const struct mdio_device_id __maybe_unused aqr_tbl[] = {
        { PHY_ID_MATCH_MODEL(PHY_ID_AQR111B0) },
        { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) },
        { PHY_ID_MATCH_MODEL(PHY_ID_AQR412) },
+       { PHY_ID_MATCH_MODEL(PHY_ID_AQR412C) },
        { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) },
        { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) },
        { PHY_ID_MATCH_MODEL(PHY_ID_AQR114C) },