[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170908140832.GB3037@Red>
Date: Fri, 8 Sep 2017 16:08:32 +0200
From: Corentin Labbe <clabbe.montjoie@...il.com>
To: Andrew Lunn <andrew@...n.ch>
Cc: robh+dt@...nel.org, mark.rutland@....com,
maxime.ripard@...e-electrons.com, wens@...e.org,
linux@...linux.org.uk, catalin.marinas@....com,
will.deacon@....com, peppe.cavallaro@...com,
alexandre.torgue@...com, f.fainelli@...il.com,
netdev@...r.kernel.org, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle
integrated/external MDIOs
On Fri, Sep 08, 2017 at 04:00:20PM +0200, Andrew Lunn wrote:
> > > > +static int mdio_mux_syscon_switch_fn(int current_child, int desired_child,
> > > > + void *data)
> > > > +{
> > > > + struct stmmac_priv *priv = data;
> > > > + struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
> > > > + u32 reg, val;
> > > > + int ret = 0;
> > > > + bool need_reset = false;
> > > > +
> > > > + if (current_child ^ desired_child) {
> > > > + regmap_read(gmac->regmap, SYSCON_EMAC_REG, ®);
> > > > + switch (desired_child) {
> > > > + case DWMAC_sUN8I_MDIO_MUX_INTERNAL_ID:
> > > > + dev_info(priv->device, "Switch mux to internal PHY");
> > > > + val = (reg & ~H3_EPHY_MUX_MASK) | H3_EPHY_SELECT;
> > > > + if (gmac->use_internal_phy)
> > > > + need_reset = true;
> > > > + break;
> > >
> > > This i don't get. Why do you need use_internal_phy? Isn't that
> > > implicit from DWMAC_sUN8I_MDIO_MUX_INTERNAL_ID? Is it even possible to
> > > use an external PHY on the internal MDIO bus?
> > >
> >
> > On my H3 box with external PHY, the MDIO mux library first select (for scan ?) the internal MDIO.
> > Without use_internal_phy usage, this board will launch a reset to use the internal MDIO... and this reset timeout/fail.
>
> Do you know why the reset times out/fails?
>
Because there are nothing connected to it.
I got also reset timeout on integrated MDIO when the integrated PHY is not powered.
Powered by blists - more mailing lists