Re: [PATCH net-next v1 2/2] net: phy: Add support for the DP83TG720S Ethernet PHY

From: Andrew Lunn
Date: Mon Dec 11 2023 - 10:21:55 EST


On Fri, Dec 08, 2023 at 04:11:59PM +0100, Oleksij Rempel wrote:
> The DP83TG720S-Q1 device is an IEEE 802.3bp and Open Alliance compliant
> automotive Ethernet physical layer transceiver.
>
> This driver was tested with i.MX8MP EQOS (stmmac) on the MAC side and
> TI same PHY on other side.
>
> Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
> ---
> drivers/net/phy/Kconfig | 13 +++
> drivers/net/phy/Makefile | 1 +
> drivers/net/phy/dp83tg720.c | 190 ++++++++++++++++++++++++++++++++++++
> 3 files changed, 204 insertions(+)
> create mode 100644 drivers/net/phy/dp83tg720.c
>
> diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
> index 25cfc5ded1da..bab10c796f24 100644
> --- a/drivers/net/phy/Kconfig
> +++ b/drivers/net/phy/Kconfig
> @@ -372,6 +372,19 @@ config DP83TC811_PHY
> help
> Supports the DP83TC811 PHY.
>
> +config DP83TG720_PHY
> + tristate "Texas Instruments DP83TG720 Ethernet 1000Base-T1 PHY"
> + help
> + The DP83TG720S-Q1 is an automotive Ethernet physical layer
> + transceiver compliant with IEEE 802.3bp and Open Alliance
> + standards. It supports key functions necessary for
> + transmitting and receiving data over both unshielded and
> + shielded single twisted-pair cables. This device offers
> + flexible xMII interface options, including support for both
> + RGMII and SGMII MAC interfaces. It's suitable for applications
> + requiring high-speed data transmission in automotive
> + networking environments.
> +
> config DP83848_PHY
> tristate "Texas Instruments DP83848 PHY"
> help
> diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile
> index f65e85c91fc1..defaef190962 100644
> --- a/drivers/net/phy/Makefile
> +++ b/drivers/net/phy/Makefile
> @@ -56,6 +56,7 @@ obj-$(CONFIG_DP83848_PHY) += dp83848.o
> obj-$(CONFIG_DP83867_PHY) += dp83867.o
> obj-$(CONFIG_DP83869_PHY) += dp83869.o
> obj-$(CONFIG_DP83TC811_PHY) += dp83tc811.o
> +obj-$(CONFIG_DP83TG720_PHY) += dp83tg720.o
> obj-$(CONFIG_DP83TD510_PHY) += dp83td510.o

Maybe it should come after CONFIG_DP83TD510_PHY in a strict sort ? I
also wounder about the Kconfig, which should be sorted on the tristate
string.

> obj-$(CONFIG_FIXED_PHY) += fixed_phy.o
> obj-$(CONFIG_ICPLUS_PHY) += icplus.o
> + /* After HW reset we need to restore master/slave configuration.
> + */
> + if (phydev->drv->config_aneg) {

This test is a bit strange. You know it exists, its this driver and
the function is there. Why not call it directly?

> + ret = phydev->drv->config_aneg(phydev);
> + if (ret)
> + return ret;
> + }


Andrew

---
pw-bot: cr