From: clabbe.montjoie@gmail.com (Corentin Labbe)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle integrated/external MDIOs
Date: Fri, 8 Sep 2017 16:08:32 +0200 [thread overview]
Message-ID: <20170908140832.GB3037@Red> (raw)
In-Reply-To: <20170908140020.GC25219@lunn.ch>
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.
WARNING: multiple messages have this Message-ID (diff)
From: Corentin Labbe <clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>
Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
mark.rutland-5wv7dgnIgG8@public.gmane.org,
maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org,
wens-jdAy2FN1RRM@public.gmane.org,
linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org,
catalin.marinas-5wv7dgnIgG8@public.gmane.org,
will.deacon-5wv7dgnIgG8@public.gmane.org,
peppe.cavallaro-qxv4g6HH51o@public.gmane.org,
alexandre.torgue-qxv4g6HH51o@public.gmane.org,
f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle integrated/external MDIOs
Date: Fri, 8 Sep 2017 16:08:32 +0200 [thread overview]
Message-ID: <20170908140832.GB3037@Red> (raw)
In-Reply-To: <20170908140020.GC25219-g2DYL2Zd6BY@public.gmane.org>
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.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Corentin Labbe <clabbe.montjoie@gmail.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: robh+dt@kernel.org, mark.rutland@arm.com,
maxime.ripard@free-electrons.com, wens@csie.org,
linux@armlinux.org.uk, catalin.marinas@arm.com,
will.deacon@arm.com, peppe.cavallaro@st.com,
alexandre.torgue@st.com, f.fainelli@gmail.com,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle integrated/external MDIOs
Date: Fri, 8 Sep 2017 16:08:32 +0200 [thread overview]
Message-ID: <20170908140832.GB3037@Red> (raw)
In-Reply-To: <20170908140020.GC25219@lunn.ch>
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.
next prev parent reply other threads:[~2017-09-08 14:08 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-08 7:11 [PATCH v5 00/10] net: stmmac: dwmac-sun8i: Handle integrated PHY Corentin Labbe
2017-09-08 7:11 ` Corentin Labbe
2017-09-08 7:11 ` Corentin Labbe
2017-09-08 7:11 ` [PATCH v5 01/10] arm64: dts: allwinner: Restore EMAC changes Corentin Labbe
2017-09-08 7:11 ` Corentin Labbe
2017-09-08 7:11 ` Corentin Labbe
2017-09-08 7:19 ` Maxime Ripard
2017-09-08 7:19 ` Maxime Ripard
2017-09-08 7:36 ` Corentin Labbe
2017-09-08 7:36 ` Corentin Labbe
2017-09-08 7:36 ` Corentin Labbe
2017-09-08 7:39 ` Chen-Yu Tsai
2017-09-08 7:39 ` Chen-Yu Tsai
2017-09-10 18:56 ` Corentin Labbe
2017-09-10 18:56 ` Corentin Labbe
2017-09-10 18:56 ` Corentin Labbe
2017-09-08 7:11 ` [PATCH v5 02/10] dt-bindings: net: Restore sun8i dwmac binding Corentin Labbe
2017-09-08 7:11 ` Corentin Labbe
2017-09-13 18:07 ` Rob Herring
2017-09-13 18:07 ` Rob Herring
2017-09-14 18:31 ` Corentin Labbe
2017-09-14 18:31 ` Corentin Labbe
2017-09-08 7:11 ` [PATCH v5 03/10] arm: dts: sunxi: Restore EMAC changes Corentin Labbe
2017-09-08 7:11 ` Corentin Labbe
2017-09-08 7:11 ` [PATCH v5 04/10] net: stmmac: sun8i: Restore the compatibles Corentin Labbe
2017-09-08 7:11 ` Corentin Labbe
2017-09-08 7:11 ` Corentin Labbe
2017-09-08 7:11 ` [PATCH v5 05/10] dt-bindings: net: dwmac-sun8i: update documentation about integrated PHY Corentin Labbe
2017-09-08 7:11 ` Corentin Labbe
2017-09-08 7:25 ` Maxime Ripard
2017-09-08 7:25 ` Maxime Ripard
2017-09-08 7:25 ` Maxime Ripard
2017-09-08 7:43 ` Corentin Labbe
2017-09-08 7:43 ` Corentin Labbe
2017-09-08 7:43 ` Corentin Labbe
2017-09-13 18:20 ` Rob Herring
2017-09-13 18:20 ` Rob Herring
2017-09-13 18:20 ` Rob Herring
2017-09-14 18:53 ` Corentin Labbe
2017-09-14 18:53 ` Corentin Labbe
2017-09-14 18:53 ` Corentin Labbe
2017-09-14 19:19 ` Andrew Lunn
2017-09-14 19:19 ` Andrew Lunn
2017-09-19 5:31 ` Corentin Labbe
2017-09-19 5:31 ` Corentin Labbe
2017-09-19 5:31 ` Corentin Labbe
2017-09-19 5:31 ` Corentin Labbe
2017-09-20 2:49 ` Rob Herring
2017-09-20 2:49 ` Rob Herring
2017-09-20 2:49 ` Rob Herring
2017-09-20 18:23 ` Corentin Labbe
2017-09-20 18:23 ` Corentin Labbe
2017-09-08 7:11 ` [PATCH v5 06/10] ARM: dts: sunxi: h3/h5: represent the mdio switch used by sun8i-h3-emac Corentin Labbe
2017-09-08 7:11 ` Corentin Labbe
2017-09-08 7:11 ` [PATCH v5 07/10] arm64: dts: allwinner: add snps, dwmac-mdio compatible to emac/mdio Corentin Labbe
2017-09-08 7:11 ` [PATCH v5 07/10] arm64: dts: allwinner: add snps,dwmac-mdio " Corentin Labbe
2017-09-08 7:11 ` [PATCH v5 08/10] net: stmmac: dwmac-sun8i: choose internal PHY via phy-is-integrated Corentin Labbe
2017-09-08 7:11 ` Corentin Labbe
2017-09-08 7:11 ` [PATCH v5 09/10] net: stmmac: snps, dwmac-mdio MDIOs are automatically registered Corentin Labbe
2017-09-08 7:11 ` [PATCH v5 09/10] net: stmmac: snps,dwmac-mdio " Corentin Labbe
2017-09-08 7:11 ` [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle integrated/external MDIOs Corentin Labbe
2017-09-08 7:11 ` Corentin Labbe
2017-09-08 13:05 ` Andrew Lunn
2017-09-08 13:05 ` Andrew Lunn
2017-09-08 13:26 ` Corentin Labbe
2017-09-08 13:26 ` Corentin Labbe
2017-09-08 14:00 ` Andrew Lunn
2017-09-08 14:00 ` Andrew Lunn
2017-09-08 14:00 ` Andrew Lunn
2017-09-08 14:08 ` Corentin Labbe [this message]
2017-09-08 14:08 ` Corentin Labbe
2017-09-08 14:08 ` Corentin Labbe
2017-09-08 14:17 ` Andrew Lunn
2017-09-08 14:17 ` Andrew Lunn
2017-09-08 14:28 ` Corentin Labbe
2017-09-08 14:28 ` Corentin Labbe
2017-09-11 16:11 ` Andrew Lunn
2017-09-11 16:11 ` Andrew Lunn
2017-09-11 19:08 ` Corentin Labbe
2017-09-11 19:08 ` Corentin Labbe
2017-09-11 20:19 ` Andrew Lunn
2017-09-11 20:19 ` Andrew Lunn
2017-09-11 20:19 ` Andrew Lunn
2017-09-12 7:54 ` Corentin Labbe
2017-09-12 7:54 ` Corentin Labbe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170908140832.GB3037@Red \
--to=clabbe.montjoie@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.