kernel: 5.15: update Aquantia PHY driver to v6.1 code
[openwrt/staging/svanheule.git] / target / linux / generic / backport-5.15 / 735-v6.0-0001-net-phy-Add-support-for-AQR113C-EPHY.patch
1 From 12cf1b89a66828719b2135891b65bd5d03eedea9 Mon Sep 17 00:00:00 2001
2 From: Bhadram Varka <vbhadram@nvidia.com>
3 Date: Tue, 21 Jun 2022 09:10:27 +0530
4 Subject: [PATCH] net: phy: Add support for AQR113C EPHY
5
6 Add support multi-gigabit and single-port Ethernet
7 PHY transceiver (AQR113C).
8
9 Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
10 Link: https://lore.kernel.org/r/20220621034027.56508-1-vbhadram@nvidia.com
11 Signed-off-by: Jakub Kicinski <kuba@kernel.org>
12 ---
13 drivers/net/phy/aquantia_main.c | 20 ++++++++++++++++++++
14 1 file changed, 20 insertions(+)
15
16 --- a/drivers/net/phy/aquantia_main.c
17 +++ b/drivers/net/phy/aquantia_main.c
18 @@ -22,6 +22,7 @@
19 #define PHY_ID_AQR107 0x03a1b4e0
20 #define PHY_ID_AQCS109 0x03a1b5c2
21 #define PHY_ID_AQR405 0x03a1b4b0
22 +#define PHY_ID_AQR113C 0x31c31c12
23
24 #define MDIO_PHYXS_VEND_IF_STATUS 0xe812
25 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3)
26 @@ -744,6 +745,24 @@ static struct phy_driver aqr_driver[] =
27 .handle_interrupt = aqr_handle_interrupt,
28 .read_status = aqr_read_status,
29 },
30 +{
31 + PHY_ID_MATCH_MODEL(PHY_ID_AQR113C),
32 + .name = "Aquantia AQR113C",
33 + .probe = aqr107_probe,
34 + .config_init = aqr107_config_init,
35 + .config_aneg = aqr_config_aneg,
36 + .config_intr = aqr_config_intr,
37 + .handle_interrupt = aqr_handle_interrupt,
38 + .read_status = aqr107_read_status,
39 + .get_tunable = aqr107_get_tunable,
40 + .set_tunable = aqr107_set_tunable,
41 + .suspend = aqr107_suspend,
42 + .resume = aqr107_resume,
43 + .get_sset_count = aqr107_get_sset_count,
44 + .get_strings = aqr107_get_strings,
45 + .get_stats = aqr107_get_stats,
46 + .link_change_notify = aqr107_link_change_notify,
47 +},
48 };
49
50 module_phy_driver(aqr_driver);
51 @@ -756,6 +775,7 @@ static struct mdio_device_id __maybe_unu
52 { PHY_ID_MATCH_MODEL(PHY_ID_AQR107) },
53 { PHY_ID_MATCH_MODEL(PHY_ID_AQCS109) },
54 { PHY_ID_MATCH_MODEL(PHY_ID_AQR405) },
55 + { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) },
56 { }
57 };
58