mmc: mmc_spi: Use SPI_XFER_BEGIN and SPI_XFER_END flags
Most DM based SPI host controller drivers use SPI_XFER_BEGIN and SPI_XFER_END flags to enable/disable slave chip select. This patch extends MMC SPI driver to pass SPI_XFER_BEGIN flag when MMC command is send at start and pass SPI_XFER_END flag using a dummy transfer (of bitlen = 0) at the end of MMC command. Suggested-by: Jagan Teki <jagan@amarulasolutions.com> Signed-off-by: Anup Patel <anup.patel@wdc.com> Tested-by: Sagar Kadam <sagar.kadam@sifive.com> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
This commit is contained in:
parent
733391e84b
commit
a706029410
@ -84,7 +84,7 @@ static int mmc_spi_sendcmd(struct udevice *dev,
|
||||
cmdo[4] = cmdarg >> 8;
|
||||
cmdo[5] = cmdarg;
|
||||
cmdo[6] = (crc7(0, &cmdo[1], 5) << 1) | 0x01;
|
||||
ret = dm_spi_xfer(dev, sizeof(cmdo) * 8, cmdo, NULL, 0);
|
||||
ret = dm_spi_xfer(dev, sizeof(cmdo) * 8, cmdo, NULL, SPI_XFER_BEGIN);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@ -360,6 +360,8 @@ static int dm_mmc_spi_request(struct udevice *dev, struct mmc_cmd *cmd,
|
||||
}
|
||||
|
||||
done:
|
||||
dm_spi_xfer(dev, 0, NULL, NULL, SPI_XFER_END);
|
||||
|
||||
dm_spi_release_bus(dev);
|
||||
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user