diff mbox

net: davinci_emac: Add support for fixed-link PHY

Message ID 560117E0.20307@baylibre.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Neil Armstrong Sept. 22, 2015, 8:57 a.m. UTC
In case the DaVinci Emac is directly connected to a
non-mdio PHY/device, it should be possible to provide
a fixed link configuration in the DT.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
---
 drivers/net/ethernet/ti/davinci_emac.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Tony Lindgren Sept. 23, 2015, 1:10 a.m. UTC | #1
* Neil Armstrong <narmstrong@baylibre.com> [150922 02:01]:
> In case the DaVinci Emac is directly connected to a
> non-mdio PHY/device, it should be possible to provide
> a fixed link configuration in the DT.
> 
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>

Ethernet works for me with this patch:

Tested-by: Tony Lindgren <tony@atomide.com>

> ---
>  drivers/net/ethernet/ti/davinci_emac.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c
> index aeebc0a..6521dfb 100644
> --- a/drivers/net/ethernet/ti/davinci_emac.c
> +++ b/drivers/net/ethernet/ti/davinci_emac.c
> @@ -1861,8 +1861,12 @@ davinci_emac_of_get_pdata(struct platform_device *pdev, struct emac_priv *priv)
>  	pdata->no_bd_ram = of_property_read_bool(np, "ti,davinci-no-bd-ram");
> 
>  	priv->phy_node = of_parse_phandle(np, "phy-handle", 0);
> -	if (!priv->phy_node)
> -		pdata->phy_id = NULL;
> +	if (!priv->phy_node) {
> +		if (!of_phy_is_fixed_link(np))
> +			pdata->phy_id = NULL;
> +		else if (of_phy_register_fixed_link(np) >= 0)
> +			priv->phy_node = of_node_get(np);
> +	}
> 
>  	auxdata = pdev->dev.platform_data;
>  	if (auxdata) {
> -- 
> 1.9.1
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller Sept. 23, 2015, 10:06 p.m. UTC | #2
From: Neil Armstrong <narmstrong@baylibre.com>
Date: Tue, 22 Sep 2015 10:57:04 +0200

> In case the DaVinci Emac is directly connected to a
> non-mdio PHY/device, it should be possible to provide
> a fixed link configuration in the DT.
> 
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c
index aeebc0a..6521dfb 100644
--- a/drivers/net/ethernet/ti/davinci_emac.c
+++ b/drivers/net/ethernet/ti/davinci_emac.c
@@ -1861,8 +1861,12 @@  davinci_emac_of_get_pdata(struct platform_device *pdev, struct emac_priv *priv)
 	pdata->no_bd_ram = of_property_read_bool(np, "ti,davinci-no-bd-ram");

 	priv->phy_node = of_parse_phandle(np, "phy-handle", 0);
-	if (!priv->phy_node)
-		pdata->phy_id = NULL;
+	if (!priv->phy_node) {
+		if (!of_phy_is_fixed_link(np))
+			pdata->phy_id = NULL;
+		else if (of_phy_register_fixed_link(np) >= 0)
+			priv->phy_node = of_node_get(np);
+	}

 	auxdata = pdev->dev.platform_data;
 	if (auxdata) {