Message ID | 20160912150125.GA15570@Red (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
> Hello > > Since the MDIO bus is a part of the sun8i-emac, does I really need > to create such a mdio node ? It is good practice. Part of the issue is that there are no written guidelines, so different drivers do different things. I'm trying to push all new drivers to have an MDIO node. > Anyway I try the following patch to solve your comments, but it > breaks the PHY finding(Could not attach to PHY). > --- a/drivers/net/ethernet/allwinner/sun8i-emac.c > +++ b/drivers/net/ethernet/allwinner/sun8i-emac.c > @@ -2122,7 +2122,7 @@ static int sun8i_emac_probe(struct platform_device *pdev) > return -EINVAL; > } > > - priv->phy_node = of_parse_phandle(node, "phy", 0); > + priv->phy_node = of_parse_phandle(node, "phy-handle", 0); > if (!priv->phy_node) { > netdev_err(ndev, "No associated PHY\n"); > return -ENODEV; > > > &crypto { > I don't see a change here for of_mdiobus_register(). You need to pass the mdio node. Andrew
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts @@ -166,14 +166,18 @@ status = "okay"; }; +&mdio { + reg = <1>; + phy1: ethernet-phy@1 { + reg = <1>; + }; +}; + &emac { - phy = <&phy1>; + phy-handle = <&phy1>; phy-mode = "mii"; allwinner,leds-active-low; status = "okay"; - phy1: ethernet-phy@1 { - reg = <1>; - }; };/arch/arm/boot/dts/sun8i-h3.dtsi +++ b/arch/arm/boot/dts/sun8i-h3.dtsi @@ -474,6 +474,11 @@ #address-cells = <1>; #size-cells = <0>; status = "disabled"; + + mdio: mdio@0 { + #address-cells = <1>; + #size-cells = <0>; + }; }; crypto: crypto@1c15000 { --- a/drivers/net/ethernet/allwinner/sun8i-emac.c +++ b/drivers/net/ethernet/allwinner/sun8i-emac.c @@ -2122,7 +2122,7 @@ static int sun8i_emac_probe(struct platform_device *pdev) return -EINVAL; } - priv->phy_node = of_parse_phandle(node, "phy", 0); + priv->phy_node = of_parse_phandle(node, "phy-handle", 0); if (!priv->phy_node) { netdev_err(ndev, "No associated PHY\n"); return -ENODEV;