Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1730482

Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle integrated/external MDIOs

From Corentin Labbe <clabbe.montjoie@gmail.com>
Newsgroups linux.kernel
Subject Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle integrated/external MDIOs
Date 2017-09-11 21:10 +0200
Message-ID <uoCfM-7sQ-11@gated-at.bofh.it> (permalink)
References (4 earlier) <uns8O-87v-19@gated-at.bofh.it> <uns8O-87v-17@gated-at.bofh.it> <unsiu-8c2-25@gated-at.bofh.it> <unssa-8fk-21@gated-at.bofh.it> <uozBg-5HL-23@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Mon, Sep 11, 2017 at 06:11:24PM +0200, Andrew Lunn wrote:
> On Fri, Sep 08, 2017 at 04:28:25PM +0200, Corentin Labbe wrote:
> > On Fri, Sep 08, 2017 at 04:17:36PM +0200, Andrew Lunn wrote:
> > > > > Do you know why the reset times out/fails?
> > > > > 
> > > > 
> > > > Because there are nothing connected to it.
> > > 
> > > That should not be an issue. A read should just return 0xffff.  And it
> > > should return 0xffff fast. The timing of the MDIO protocol is fixed. A
> > > read or a write takes a fixed number of cycles, independent of if
> > > there is a device there or not. The bus data line has a pullup, so if
> > > you try to access a missing device, you automatically read 0xffff.
> > > 
> > 
> > Perhaps, but the reality is that with nothing connected to it, the reset of the MAC timeout.
> > Certainly, the MAC does not support finding no PHY.
> 
> Are you sure this is not because of the clock and reset?
> 
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               int_mii_phy: ethernet-phy@1 {
> +                                       compatible = "ethernet-phy-ieee802.3-c22";
> +                                       reg = <1>;
> +                                       clocks = <&ccu CLK_BUS_EPHY>;
> +                                       resets = <&ccu RST_BUS_EPHY>;
> 
> The way you describe it here, the clock and reset are for the PHY. But
> maybe it is actually for the bus? I can understand a bus timing out if
> it has no clock, or it is held in reset. Try enabling the clock and
> reset when the internal bus is selected, not when the PHY on the bus
> is selected.
> 

Even with CLK_BUS_EPHY/RST_BUS_EPHY enabled, the MAC reset timeout.
So no the CLK/RST are really for the PHY.

Regards

PS: patch and result with "integrated CLK/RST always on"
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
@@ -659,7 +659,7 @@ static int mdio_mux_syscon_switch_fn(int current_child, int desired_child,
        struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
        u32 reg, val;
        int ret = 0;
-       bool need_reset = false;
+       bool need_reset = true;
 
        if (current_child ^ desired_child) {
                regmap_read(gmac->regmap, SYSCON_EMAC_REG, &reg);
@@ -824,7 +824,7 @@ static int sun8i_dwmac_power_internal_phy(struct stmmac_priv *priv)
        int ret;
 
        if (!gmac->use_internal_phy)
-               return 0;
+               dev_info(priv->device, "IPHY BYPASS\n");
 
        ret = clk_prepare_enable(gmac->ephy_clk);
        if (ret) {

[   18.057162] dwmac-sun8i 1c30000.ethernet: Will use external PHY
[   18.183789] dwmac-sun8i 1c30000.ethernet: IPHY BYPASS
[   18.184136] dwmac-sun8i 1c30000.ethernet: Chain mode enabled
[   18.184158] dwmac-sun8i 1c30000.ethernet: No HW DMA feature register supported
[   18.184175] dwmac-sun8i 1c30000.ethernet: Normal descriptors
[   18.184192] dwmac-sun8i 1c30000.ethernet: RX Checksum Offload Engine supported
[   18.184214] dwmac-sun8i 1c30000.ethernet: COE Type 2
[   18.184231] dwmac-sun8i 1c30000.ethernet: TX Checksum insertion supported
[   18.185491] libphy: stmmac: probed
[   18.188481] libphy: mdio_mux: probed
[   18.188831] dwmac-sun8i 1c30000.ethernet: Switch mux to internal PHY
[   18.288981] dwmac-sun8i 1c30000.ethernet: EMAC reset timeout
[   18.289559] libphy: mdio_mux: probed
[   18.289629] dwmac-sun8i 1c30000.ethernet: Switch mux to external PHY
[   20.578316] EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)
[   31.240650] RTL8211E Gigabit Ethernet 0.1:00: attached PHY driver [RTL8211E Gigabit Ethernet] (mii_bus:phy_addr=0.1:00, irq=POLL)

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v5 00/10] net: stmmac: dwmac-sun8i: Handle integrated PHY Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 09:20 +0200
  [PATCH v5 09/10] net: stmmac: snps,dwmac-mdio MDIOs are automatically registered Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 09:20 +0200
  [PATCH v5 04/10] net: stmmac: sun8i: Restore the compatibles Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 09:20 +0200
  [PATCH v5 03/10] arm: dts: sunxi: Restore EMAC changes Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 09:20 +0200
  [PATCH v5 05/10] dt-bindings: net: dwmac-sun8i: update documentation about integrated PHY Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 09:20 +0200
    Re: [PATCH v5 05/10] dt-bindings: net: dwmac-sun8i: update  documentation about integrated PHY Maxime Ripard <maxime.ripard@free-electrons.com> - 2017-09-08 09:30 +0200
      Re: [PATCH v5 05/10] dt-bindings: net: dwmac-sun8i: update  documentation about integrated PHY Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 09:50 +0200
        Re: [PATCH v5 05/10] dt-bindings: net: dwmac-sun8i: update  documentation about integrated PHY Rob Herring <robh@kernel.org> - 2017-09-13 20:30 +0200
          Re: [PATCH v5 05/10] dt-bindings: net: dwmac-sun8i: update  documentation about integrated PHY Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-14 21:00 +0200
            Re: [PATCH v5 05/10] dt-bindings: net: dwmac-sun8i: update  documentation about integrated PHY Andrew Lunn <andrew@lunn.ch> - 2017-09-14 21:30 +0200
              Re: [PATCH v5 05/10] dt-bindings: net: dwmac-sun8i: update  documentation about integrated PHY Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-19 07:40 +0200
              Re: [PATCH v5 05/10] dt-bindings: net: dwmac-sun8i: update  documentation about integrated PHY Rob Herring <robh@kernel.org> - 2017-09-20 05:00 +0200
                Re: [PATCH v5 05/10] dt-bindings: net: dwmac-sun8i: update  documentation about integrated PHY Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-20 20:30 +0200
  [PATCH v5 06/10] ARM: dts: sunxi: h3/h5: represent the mdio switch used by sun8i-h3-emac Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 09:20 +0200
  [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle integrated/external MDIOs Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 09:20 +0200
    Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle  integrated/external MDIOs Andrew Lunn <andrew@lunn.ch> - 2017-09-08 15:10 +0200
      Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle  integrated/external MDIOs Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 15:30 +0200
        Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle  integrated/external MDIOs Andrew Lunn <andrew@lunn.ch> - 2017-09-08 16:10 +0200
          Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle  integrated/external MDIOs Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 16:10 +0200
            Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle  integrated/external MDIOs Andrew Lunn <andrew@lunn.ch> - 2017-09-08 16:20 +0200
              Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle  integrated/external MDIOs Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 16:30 +0200
                Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle  integrated/external MDIOs Andrew Lunn <andrew@lunn.ch> - 2017-09-11 18:20 +0200
                Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle  integrated/external MDIOs Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-11 21:10 +0200
                Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle  integrated/external MDIOs Andrew Lunn <andrew@lunn.ch> - 2017-09-11 22:20 +0200
                Re: [PATCH v5 10/10] net: stmmac: dwmac-sun8i: Handle  integrated/external MDIOs Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-12 10:00 +0200
  [PATCH v5 01/10] arm64: dts: allwinner: Restore EMAC changes Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 09:20 +0200
    Re: [PATCH v5 01/10] arm64: dts: allwinner: Restore EMAC changes Maxime Ripard <maxime.ripard@free-electrons.com> - 2017-09-08 09:30 +0200
      Re: [PATCH v5 01/10] arm64: dts: allwinner: Restore EMAC changes Chen-Yu Tsai <wens@csie.org> - 2017-09-08 09:40 +0200
        Re: [PATCH v5 01/10] arm64: dts: allwinner: Restore EMAC changes Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-10 21:00 +0200
      Re: [PATCH v5 01/10] arm64: dts: allwinner: Restore EMAC changes Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 09:40 +0200
  [PATCH v5 08/10] net: stmmac: dwmac-sun8i: choose internal PHY via phy-is-integrated Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 09:20 +0200
  [PATCH v5 02/10] dt-bindings: net: Restore sun8i dwmac binding Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-08 09:20 +0200
    Re: [PATCH v5 02/10] dt-bindings: net: Restore sun8i dwmac binding Rob Herring <robh@kernel.org> - 2017-09-13 20:10 +0200
      Re: [PATCH v5 02/10] dt-bindings: net: Restore sun8i dwmac binding Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-09-14 20:40 +0200

csiph-web