generic: 6.1: backport upstream Aquantia PHY firmware loader patches
[openwrt/staging/hauke.git] / target / linux / generic / hack-6.1 / 725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch
1 From 3b92ee7b7899b6beffb2b484c58326e36612a873 Mon Sep 17 00:00:00 2001
2 From: Daniel Golle <daniel@makrotopia.org>
3 Date: Thu, 23 Dec 2021 14:52:56 +0000
4 Subject: [PATCH] net: phy: aquantia: add PHY_ID for AQR112R
5
6 As advised by Ian Chang this PHY is used in Puzzle devices.
7
8 Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 ---
10 drivers/net/phy/aquantia/aquantia_main.c | 10 ++++++++++
11 1 file changed, 10 insertions(+)
12
13 --- a/drivers/net/phy/aquantia/aquantia_main.c
14 +++ b/drivers/net/phy/aquantia/aquantia_main.c
15 @@ -27,6 +27,8 @@
16 #define PHY_ID_AQR112 0x03a1b662
17 #define PHY_ID_AQR412 0x03a1b712
18 #define PHY_ID_AQR113 0x31c31c40
19 +#define PHY_ID_AQR112C 0x03a1b790
20 +#define PHY_ID_AQR112R 0x31c31d12
21
22 #define MDIO_PHYXS_VEND_IF_STATUS 0xe812
23 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3)
24 @@ -941,6 +943,30 @@ static struct phy_driver aqr_driver[] =
25 .handle_interrupt = aqr_handle_interrupt,
26 .read_status = aqr107_read_status,
27 },
28 +{
29 + PHY_ID_MATCH_MODEL(PHY_ID_AQR112C),
30 + .name = "Aquantia AQR112C",
31 + .probe = aqr107_probe,
32 + .config_aneg = aqr_config_aneg_set_prot,
33 + .config_intr = aqr_config_intr,
34 + .handle_interrupt = aqr_handle_interrupt,
35 + .read_status = aqr107_read_status,
36 + .get_sset_count = aqr107_get_sset_count,
37 + .get_strings = aqr107_get_strings,
38 + .get_stats = aqr107_get_stats,
39 +},
40 +{
41 + PHY_ID_MATCH_MODEL(PHY_ID_AQR112R),
42 + .name = "Aquantia AQR112R",
43 + .probe = aqr107_probe,
44 + .config_aneg = aqr_config_aneg_set_prot,
45 + .config_intr = aqr_config_intr,
46 + .handle_interrupt = aqr_handle_interrupt,
47 + .read_status = aqr107_read_status,
48 + .get_sset_count = aqr107_get_sset_count,
49 + .get_strings = aqr107_get_strings,
50 + .get_stats = aqr107_get_stats,
51 +},
52 };
53
54 module_phy_driver(aqr_driver);
55 @@ -958,6 +984,8 @@ static struct mdio_device_id __maybe_unu
56 { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) },
57 { PHY_ID_MATCH_MODEL(PHY_ID_AQR412) },
58 { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) },
59 + { PHY_ID_MATCH_MODEL(PHY_ID_AQR112C) },
60 + { PHY_ID_MATCH_MODEL(PHY_ID_AQR112R) },
61 { }
62 };
63