From: Lukasz Majewski Date: Thu, 5 Sep 2019 07:54:57 +0000 (+0200) Subject: spi: fix: Call mxs_reset_block() during DM/DTS probe X-Git-Tag: v2020.01-rc1~33^2~81 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=c2050e10e11b7226f01aa18d49b9d4a2322723ca;p=oweals%2Fu-boot.git spi: fix: Call mxs_reset_block() during DM/DTS probe 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 --- diff --git a/drivers/spi/mxs_spi.c b/drivers/spi/mxs_spi.c index b1cc83aab1..d475830f17 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);