Message ID | 20190520235009.16734-3-megous@megous.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for Orange Pi 3 | expand |
Hello! On 21.05.2019 2:50, megous@megous.com wrote: > From: Icenowy Zheng <icenowy@aosc.io> > > The PHY selection bit also exists on SoCs without an internal PHY; if it's > set to 1 (internal PHY, default value) then the MAC will not make use of > any PHY such SoCs. ^ "on" or "with" missing? > This problem appears when adapting for H6, which has no real internal PHY > (the "internal PHY" on H6 is not on-die, but on a co-packaged AC200 chip, > connected via RMII interface at GPIO bank A). > > Force the PHY selection bit to 0 when the SOC doesn't have an internal PHY, > to address the problem of a wrong default value. > > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> > Signed-off-by: Ondrej Jirman <megous@megous.com> [...] MBR, Sergei
Hello Sergei, On Tue, May 21, 2019 at 12:27:24PM +0300, Sergei Shtylyov wrote: > Hello! > > On 21.05.2019 2:50, megous@megous.com wrote: > > > From: Icenowy Zheng <icenowy@aosc.io> > > > > The PHY selection bit also exists on SoCs without an internal PHY; if it's > > set to 1 (internal PHY, default value) then the MAC will not make use of > > any PHY such SoCs. > ^ "on" or "with" missing? It's missing 'on'. thank you, Ondrej > > This problem appears when adapting for H6, which has no real internal PHY > > (the "internal PHY" on H6 is not on-die, but on a co-packaged AC200 chip, > > connected via RMII interface at GPIO bank A). > > > > Force the PHY selection bit to 0 when the SOC doesn't have an internal PHY, > > to address the problem of a wrong default value. > > > > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> > > Signed-off-by: Ondrej Jirman <megous@megous.com> > [...] > > MBR, Sergei
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c index 3258dec84d55..0484c289f328 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c @@ -907,6 +907,11 @@ static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv) * address. No need to mask it again. */ reg |= 1 << H3_EPHY_ADDR_SHIFT; + } else { + /* For SoCs without internal PHY the PHY selection bit should be + * set to 0 (external PHY). + */ + reg &= ~H3_EPHY_SELECT; } if (!of_property_read_u32(node, "allwinner,tx-delay-ps", &val)) {