All of lore.kernel.org
 help / color / mirror / Atom feed
* stm32f7 / stmmac dma soft reset hangs
@ 2019-01-05 15:13 Christopher Friedt
  0 siblings, 0 replies; only message in thread
From: Christopher Friedt @ 2019-01-05 15:13 UTC (permalink / raw)
  To: netdev

Hi list!

I've been tracing down an ethernet issue on the stm32f746-discovery
board. Several additional device tree entries were required, so there
may be a patch forthcoming for those in the near future, but then the
ethernet mac seemed to fail on dma initialization[1] after
smmac_open() is called.

The code below [2] always returns -EBUSY. It's a bit puzzling. U-Boot
first resets the dma, then clears a portselect bit and then waits for
the reset to finish [3], but that portselect does not even seem to be
a part of the register map of the stm32f746 according to the reference
manual [4] (possibly part of a different register in this silicon
spin?).

Just thought I would see if anyone on the list has any thoughts on the
matter, or if perhaps anyone from ST is on the list too and has some
thoughts.

Cheers,

C

[1]
[  179.344820] stm32-dwmac 40028000.ethernet: Failed to reset the dma
[  179.351340] stm32-dwmac 40028000.ethernet eth0: stmmac_hw_setup:
DMA engine initialization failed
[  179.360540] stm32-dwmac 40028000.ethernet eth0: stmmac_open: Hw setup failed

[2]
int dwmac_dma_reset(void __iomem *ioaddr)
{
u32 value = readl(ioaddr + DMA_BUS_MODE);
int err;

/* DMA SW reset */
value |= DMA_BUS_MODE_SFT_RESET;
writel(value, ioaddr + DMA_BUS_MODE);

err = readl_poll_timeout(ioaddr + DMA_BUS_MODE, value,
!(value & DMA_BUS_MODE_SFT_RESET),
10000, 100000);
if (err)
return -EBUSY;

return 0;
}

[3]
       /*
         * When a MII PHY is used, we must set the PS bit for the DMA
         * reset to succeed.
         */
        if (priv->phydev->interface == PHY_INTERFACE_MODE_MII)
                writel(readl(&mac_p->conf) | MII_PORTSELECT, &mac_p->conf);
        else
                writel(readl(&mac_p->conf) & ~MII_PORTSELECT, &mac_p->conf);

[4]
https://goo.gl/oxei9o

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-01-05 15:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-05 15:13 stm32f7 / stmmac dma soft reset hangs Christopher Friedt

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.