[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e91719e5-2de3-4c52-88e1-d85257484977@ti.com>
Date: Wed, 24 Apr 2024 11:40:36 +0530
From: Ravi Gunasekaran <r-gunasekaran@...com>
To: MD Danish Anwar <danishanwar@...com>,
Siddharth Vadapalli
<s-vadapalli@...com>,
Paolo Abeni <pabeni@...hat.com>, Jakub Kicinski
<kuba@...nel.org>,
Eric Dumazet <edumazet@...gle.com>,
"David S. Miller"
<davem@...emloft.net>,
Russell King <linux@...linux.org.uk>,
Heiner Kallweit
<hkallweit1@...il.com>, Andrew Lunn <andrew@...n.ch>
CC: <linux-kernel@...r.kernel.org>, <netdev@...r.kernel.org>, <srk@...com>,
Vignesh Raghavendra <vigneshr@...com>,
Roger Quadros <rogerq@...nel.org>,
Ravi Gunasekaran <r-gunasekaran@...com>
Subject: Re: [PATCH net] net: phy: dp83869: Fix MII mode failure
On 4/23/2024 2:18 PM, MD Danish Anwar wrote:
> The DP83869 driver sets the MII bit (needed for PHY to work in MII mode)
> only if the op-mode is either DP83869_100M_MEDIA_CONVERT or
> DP83869_RGMII_100_BASE.
>
> Some drivers i.e. ICSSG support MII mode with op-mode as
> DP83869_RGMII_COPPER_ETHERNET for which the MII bit is not set in dp83869
> driver. As a result MII mode on ICSSG doesn't work and below log is seen.
>
> TI DP83869 300b2400.mdio:0f: selected op-mode is not valid with MII mode
> icssg-prueth icssg1-eth: couldn't connect to phy ethernet-phy@0
> icssg-prueth icssg1-eth: can't phy connect port MII0
>
> Fix this by setting MII bit for DP83869_RGMII_COPPER_ETHERNET op-mode as
> well.
>
> Fixes: 94e86ef1b801 ("net: phy: dp83869: support mii mode when rgmii strap cfg is used")
> Signed-off-by: MD Danish Anwar <danishanwar@...com>
> ---
> NOTE: This patch is needed for MII mode to work for ICSSG Ethernet driver.
> I will post the device tree patch for MII mode and mark that as dependent
> on this patch.
>
> drivers/net/phy/dp83869.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/phy/dp83869.c b/drivers/net/phy/dp83869.c
> index fa8c6fdcf301..d7aaefb5226b 100644
> --- a/drivers/net/phy/dp83869.c
> +++ b/drivers/net/phy/dp83869.c
> @@ -695,7 +695,8 @@ static int dp83869_configure_mode(struct phy_device *phydev,
> phy_ctrl_val = dp83869->mode;
> if (phydev->interface == PHY_INTERFACE_MODE_MII) {
> if (dp83869->mode == DP83869_100M_MEDIA_CONVERT ||
> - dp83869->mode == DP83869_RGMII_100_BASE) {
> + dp83869->mode == DP83869_RGMII_100_BASE ||
> + dp83869->mode == DP83869_RGMII_COPPER_ETHERNET) {
> phy_ctrl_val |= DP83869_OP_MODE_MII;
> } else {
> phydev_err(phydev, "selected op-mode is not valid with MII mode\n");
>
> base-commit: 6bea4f03c6a4e973ef369e15aac88f37981db49e
Reviewed-by: Ravi Gunasekaran <r-gunasekaran@...com>
Regards,
Ravi
Powered by blists - more mailing lists