[U-Boot] [PATCH 3/5] spi: fix: Call mxs_reset_block() during DM/DTS probe
Lukasz Majewski
lukma at denx.de
Mon Aug 12 07:22:46 UTC 2019
Without this change the DM/DTS version of mxs_spi driver doesn't reset the
SPI IP block in probe.
As a result this driver (when used solely on U-Boot proper) relies on reset
performed by mxs spi driver in SPL.
In the use case where eMMC is used in SPL as a boot primary device, the
mxs_reset_block() is not called at all and DM/DTS aware SPI driver in
U-Boot proper is malfunctioning.
Signed-off-by: Lukasz Majewski <lukma at denx.de>
---
drivers/spi/mxs_spi.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/spi/mxs_spi.c b/drivers/spi/mxs_spi.c
index 3a9756fbf1..b79a72db2b 100644
--- a/drivers/spi/mxs_spi.c
+++ b/drivers/spi/mxs_spi.c
@@ -436,6 +436,8 @@ static int mxs_spi_probe(struct udevice *bus)
priv->dma_channel = plat->dma_id;
priv->clk_id = plat->clk_id;
+ mxs_reset_block(&priv->regs->hw_ssp_ctrl0_reg);
+
ret = mxs_dma_init_channel(priv->dma_channel);
if (ret) {
printf("%s: DMA init channel error %d\n", __func__, ret);
--
2.11.0
More information about the U-Boot
mailing list