summaryrefslogtreecommitdiff
path: root/drivers/net/dwc_eth_qos.c
diff options
context:
space:
mode:
authorErik Schumacher <erik.schumacher@iris-sensing.com>2024-10-28 15:29:42 +0000
committerFabio Estevam <festevam@gmail.com>2024-10-29 16:25:53 -0300
commit669e628d446e7d44d2085a5cd076099db506cbf6 (patch)
tree0e05ac365ecf51c341aa4853c6face6e3f3cb10a /drivers/net/dwc_eth_qos.c
parent1beb665c50c6382632649069edc4bb7c9e3a2f80 (diff)
net: dwc_eth_qos: Add support for platform specific reset
This patch adds support for optional platform specific reset logic in the dwc_eth_qos driver. This new function 'eqos_fix_soc_reset' is called after the EQOS_DMA_MODE_SWR is set and before the driver waits for this bit to clear. Signed-off-by: Erik Schumacher <erik.schumacher@iris-sensing.com>
Diffstat (limited to 'drivers/net/dwc_eth_qos.c')
-rw-r--r--drivers/net/dwc_eth_qos.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c
index 3415c418a93..ab51a98e9df 100644
--- a/drivers/net/dwc_eth_qos.c
+++ b/drivers/net/dwc_eth_qos.c
@@ -712,6 +712,9 @@ static int eqos_start(struct udevice *dev)
*/
setbits_le32(&eqos->dma_regs->mode, EQOS_DMA_MODE_SWR);
+ if (eqos->config->ops->eqos_fix_soc_reset)
+ eqos->config->ops->eqos_fix_soc_reset(dev);
+
ret = wait_for_bit_le32(&eqos->dma_regs->mode,
EQOS_DMA_MODE_SWR, false,
eqos->config->swr_wait, false);