summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorOleksij Rempel <o.rempel@pengutronix.de>2023-08-14 07:32:27 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2023-08-14 15:04:34 +0200
commit8ace06b4da4ee8fbac03958a64e9c2ca9cd1982c (patch)
tree310b76bab3367a1822f9bd5798e73b0d3baa935c /drivers/net
parent071eebb9850de8056a9dafc3a925d0e75947ae48 (diff)
downloadbarebox-8ace06b4da4ee8fbac03958a64e9c2ca9cd1982c.tar.gz
barebox-8ace06b4da4ee8fbac03958a64e9c2ca9cd1982c.tar.xz
net: designware: eqos: add comment about external clock dependencies for the soft reset
This part of code is not error proof and may fail depending on implementation state of external HW. I hope this note help to find bugs later. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Link: https://lore.barebox.org/20230814053229.2311097-4-o.rempel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/designware_eqos.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/designware_eqos.c b/drivers/net/designware_eqos.c
index 6caf3a436f..4489725e87 100644
--- a/drivers/net/designware_eqos.c
+++ b/drivers/net/designware_eqos.c
@@ -427,6 +427,10 @@ static int eqos_start(struct eth_device *edev)
if (ret)
return ret;
+ /* In some cases where PHY or DSA switch is the clock provider for
+ * EQOS, we need to probe and configure them before issuing software
+ * reset here.
+ */
setbits_le32(&eqos->dma_regs->mode, EQOS_DMA_MODE_SWR);
ret = readl_poll_timeout(&eqos->dma_regs->mode, mode_set,