diff mbox series

[net-next,v2] net: phy: at803x: add support for qca 8327 internal phy

Message ID 20210914123345.6321-1-ansuelsmth@gmail.com
State New
Headers show
Series [net-next,v2] net: phy: at803x: add support for qca 8327 internal phy | expand

Commit Message

Christian Marangi Sept. 14, 2021, 12:33 p.m. UTC
Add support for qca8327 internal phy needed for correct init of the
switch port. It does use the same qca8337 function and reg just with a
different id.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Tested-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/net/phy/at803x.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

Comments

Andrew Lunn Sept. 14, 2021, 12:49 p.m. UTC | #1
On Tue, Sep 14, 2021 at 02:33:45PM +0200, Ansuel Smith wrote:
> Add support for qca8327 internal phy needed for correct init of the
> switch port. It does use the same qca8337 function and reg just with a
> different id.
> 
> Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
> Tested-by: Rosen Penev <rosenp@gmail.com>

Tested-by: Andrew Lunn <andrew@lunn.ch>

    Andrew
patchwork-bot+netdevbpf@kernel.org Sept. 14, 2021, 1:40 p.m. UTC | #2
Hello:

This patch was applied to netdev/net-next.git (refs/heads/master):

On Tue, 14 Sep 2021 14:33:45 +0200 you wrote:
> Add support for qca8327 internal phy needed for correct init of the
> switch port. It does use the same qca8337 function and reg just with a
> different id.
> 
> Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
> Tested-by: Rosen Penev <rosenp@gmail.com>
> 
> [...]

Here is the summary with links:
  - [net-next,v2] net: phy: at803x: add support for qca 8327 internal phy
    https://git.kernel.org/netdev/net-next/c/0ccf85111824

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
Qingfang Deng Sept. 15, 2021, 7:27 a.m. UTC | #3
On Tue, Sep 14, 2021 at 02:33:45PM +0200, Ansuel Smith wrote:
> +}, {

> +	/* QCA8327 */

> +	.phy_id = QCA8327_PHY_ID,

> +	.phy_id_mask = QCA8K_PHY_ID_MASK,

> +	.name = "QCA PHY 8327",

> +	/* PHY_GBIT_FEATURES */

> +	.probe = at803x_probe,

> +	.flags = PHY_IS_INTERNAL,

> +	.config_init = qca83xx_config_init,

> +	.soft_reset = genphy_soft_reset,


How about setting .suspend and .resume? Without these, the PHY cannot be
powered down/up administratively (via ip link set xxx down/up).
See commit 93100d6817b0.

Off-topic: When is .soft_reset called? The MediaTek PHY driver seems to work
fine without it.

> +	.get_sset_count = at803x_get_sset_count,

> +	.get_strings = at803x_get_strings,

> +	.get_stats = at803x_get_stats,

>  }, };
diff mbox series

Patch

diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
index bdac087058b2..719860a93d7c 100644
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -1420,6 +1420,19 @@  static struct phy_driver at803x_driver[] = {
 	.get_sset_count = at803x_get_sset_count,
 	.get_strings = at803x_get_strings,
 	.get_stats = at803x_get_stats,
+}, {
+	/* QCA8327 */
+	.phy_id = QCA8327_PHY_ID,
+	.phy_id_mask = QCA8K_PHY_ID_MASK,
+	.name = "QCA PHY 8327",
+	/* PHY_GBIT_FEATURES */
+	.probe = at803x_probe,
+	.flags = PHY_IS_INTERNAL,
+	.config_init = qca83xx_config_init,
+	.soft_reset = genphy_soft_reset,
+	.get_sset_count = at803x_get_sset_count,
+	.get_strings = at803x_get_strings,
+	.get_stats = at803x_get_stats,
 }, };
 
 module_phy_driver(at803x_driver);
@@ -1430,6 +1443,8 @@  static struct mdio_device_id __maybe_unused atheros_tbl[] = {
 	{ PHY_ID_MATCH_EXACT(ATH8032_PHY_ID) },
 	{ PHY_ID_MATCH_EXACT(ATH8035_PHY_ID) },
 	{ PHY_ID_MATCH_EXACT(ATH9331_PHY_ID) },
+	{ PHY_ID_MATCH_EXACT(QCA8337_PHY_ID) },
+	{ PHY_ID_MATCH_EXACT(QCA8327_PHY_ID) },
 	{ }
 };