[PATCH] net: ravb: Support fixed PHY in R-Car

From: Mikhail Lappo mikhail.lappo@esrlabs.com
Calling old U-Boot API doesn't allow to use fixed PHY. Searching by mask is the part of new function, after scanning FDT for a fixed PHY definition
Fixes: e821a7bdb13 ("net: ravb: Detect PHY correctly") Reviewed-by: Marek Vasut marek.vasut+renesas@mailbox.org Signed-off-by: Mikhail Lappo mikhail.lappo@esrlabs.com Signed-off-by: Hai Pham hai.pham.ud@renesas.com [Hai Pham: Drop phy_connect_dev since it's called in phy_connect] Signed-off-by: Marek Vasut marek.vasut+renesas@mailbox.org [Marek: Use mask -1 instead of 0 to reinstate the search behavior over all PHY addresses. Add Fixes tag, sort the tag list.] --- Cc: Joe Hershberger joe.hershberger@ni.com Cc: Ramon Fried rfried.dev@gmail.com --- drivers/net/ravb.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ravb.c b/drivers/net/ravb.c index 5a835cc06ff..0bc50dc7335 100644 --- a/drivers/net/ravb.c +++ b/drivers/net/ravb.c @@ -310,7 +310,7 @@ static int ravb_phy_config(struct udevice *dev) struct ravb_priv *eth = dev_get_priv(dev); struct eth_pdata *pdata = dev_get_plat(dev); struct phy_device *phydev; - int mask = 0xffffffff, reg; + int reg;
if (dm_gpio_is_valid(ð->reset_gpio)) { dm_gpio_set_value(ð->reset_gpio, 1); @@ -319,12 +319,10 @@ static int ravb_phy_config(struct udevice *dev) mdelay(1); }
- phydev = phy_find_by_mask(eth->bus, mask); + phydev = phy_connect(eth->bus, -1, dev, pdata->phy_interface); if (!phydev) return -ENODEV;
- phy_connect_dev(phydev, dev, pdata->phy_interface); - eth->phydev = phydev;
phydev->supported &= SUPPORTED_100baseT_Full |

On Tue, Feb 28, 2023 at 1:04 AM Marek Vasut marek.vasut+renesas@mailbox.org wrote:
From: Mikhail Lappo mikhail.lappo@esrlabs.com
Calling old U-Boot API doesn't allow to use fixed PHY. Searching by mask is the part of new function, after scanning FDT for a fixed PHY definition
Fixes: e821a7bdb13 ("net: ravb: Detect PHY correctly") Reviewed-by: Marek Vasut marek.vasut+renesas@mailbox.org Signed-off-by: Mikhail Lappo mikhail.lappo@esrlabs.com Signed-off-by: Hai Pham hai.pham.ud@renesas.com [Hai Pham: Drop phy_connect_dev since it's called in phy_connect] Signed-off-by: Marek Vasut marek.vasut+renesas@mailbox.org [Marek: Use mask -1 instead of 0 to reinstate the search behavior over all PHY addresses. Add Fixes tag, sort the tag list.]
Cc: Joe Hershberger joe.hershberger@ni.com Cc: Ramon Fried rfried.dev@gmail.com
drivers/net/ravb.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ravb.c b/drivers/net/ravb.c index 5a835cc06ff..0bc50dc7335 100644 --- a/drivers/net/ravb.c +++ b/drivers/net/ravb.c @@ -310,7 +310,7 @@ static int ravb_phy_config(struct udevice *dev) struct ravb_priv *eth = dev_get_priv(dev); struct eth_pdata *pdata = dev_get_plat(dev); struct phy_device *phydev;
int mask = 0xffffffff, reg;
int reg; if (dm_gpio_is_valid(ð->reset_gpio)) { dm_gpio_set_value(ð->reset_gpio, 1);
@@ -319,12 +319,10 @@ static int ravb_phy_config(struct udevice *dev) mdelay(1); }
phydev = phy_find_by_mask(eth->bus, mask);
phydev = phy_connect(eth->bus, -1, dev, pdata->phy_interface); if (!phydev) return -ENODEV;
phy_connect_dev(phydev, dev, pdata->phy_interface);
eth->phydev = phydev; phydev->supported &= SUPPORTED_100baseT_Full |
-- 2.39.2
Reviewed-by: Ramon Fried rfried.dev@gmail.com
participants (2)
-
Marek Vasut
-
Ramon Fried