diff mbox series

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

Message ID 20210914071141.2616-1-ansuelsmth@gmail.com (mailing list archive)
State Superseded
Delegated to: Netdev Maintainers
Headers show
Series [net-next] net: phy: at803x: add support for qca 8327 internal phy | expand

Checks

Context Check Description
netdev/cover_letter success Link
netdev/fixes_present success Link
netdev/patch_count success Link
netdev/tree_selection success Clearly marked for net-next
netdev/subject_prefix success Link
netdev/cc_maintainers success CCed 6 of 6 maintainers
netdev/source_inline success Was 0 now: 0
netdev/verify_signedoff success Link
netdev/module_param success Was 0 now: 0
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/verify_fixes success Link
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 19 lines checked
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/header_inline success Link

Commit Message

Christian Marangi Sept. 14, 2021, 7:11 a.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 | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Comments

Andrew Lunn Sept. 14, 2021, 12:24 p.m. UTC | #1
On Tue, Sep 14, 2021 at 09:11:41AM +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.

Hi Ansuel

Please also add it to the atheros_tbl array. It looks like the 8337 is
also missing as well.

Have you tried the cable test code on this PHY?

     Andrew
Christian Marangi Sept. 14, 2021, 12:29 p.m. UTC | #2
On Tue, Sep 14, 2021 at 02:24:10PM +0200, Andrew Lunn wrote:
> On Tue, Sep 14, 2021 at 09:11:41AM +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.
> 
> Hi Ansuel
> 
> Please also add it to the atheros_tbl array. It looks like the 8337 is
> also missing as well.
>

Sure will send v2.

> Have you tried the cable test code on this PHY?

Yes I tried, the documentation is very confusionary and with a simple
implementation it looks like it doesn't work at all... In one
documentation version the reg for cable test are described but by
actually implementing and setting the correct regs nothing happen and
the random results are reported. I honestly thing it doesn't support
cable test at all...

> 
>      Andrew
Andrew Lunn Sept. 14, 2021, 12:49 p.m. UTC | #3
> > Have you tried the cable test code on this PHY?
> 
> Yes I tried, the documentation is very confusionary and with a simple
> implementation it looks like it doesn't work at all... In one
> documentation version the reg for cable test are described but by
> actually implementing and setting the correct regs nothing happen and
> the random results are reported. I honestly thing it doesn't support
> cable test at all...

O.K, thanks for testing.

     Andrew
diff mbox series

Patch

diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
index bdac087058b2..19a426aa4ede 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);