aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMayuresh Chitale <mchitale@ventanamicro.com>2023-11-16 22:13:35 +0530
committerMichal Simek <michal.simek@amd.com>2023-12-13 08:58:06 +0100
commit954d437d266207e6cb6c5d5706891ddde3671b6e (patch)
treeb419a01601ae803bdf9d2710ca3974f66634742e /drivers
parent4c18d9f6d0a52ce63993a59d7d63529fd294358f (diff)
downloadu-boot-954d437d266207e6cb6c5d5706891ddde3671b6e.zip
u-boot-954d437d266207e6cb6c5d5706891ddde3671b6e.tar.gz
u-boot-954d437d266207e6cb6c5d5706891ddde3671b6e.tar.bz2
drivers: xilinx_spi: Add xfer callback
Add the xfer callback which is used by the MMC_SPI driver and generally by the dm_spi_xfer callback. Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com> Tested-by: Love Kumar <love.kumar@amd.com> Link: https://lore.kernel.org/r/20231116164336.140171-3-mchitale@ventanamicro.com Signed-off-by: Michal Simek <michal.simek@amd.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/spi/xilinx_spi.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/spi/xilinx_spi.c b/drivers/spi/xilinx_spi.c
index d9facee..b63cda2 100644
--- a/drivers/spi/xilinx_spi.c
+++ b/drivers/spi/xilinx_spi.c
@@ -278,6 +278,18 @@ static void xilinx_spi_startup_block(struct udevice *dev)
spi_cs_deactivate(dev);
}
+static int xilinx_spi_xfer(struct udevice *dev, unsigned int bitlen,
+ const void *dout, void *din, unsigned long flags)
+{
+ struct dm_spi_slave_plat *slave_plat = dev_get_parent_plat(dev);
+ int ret;
+
+ spi_cs_activate(dev, slave_plat->cs);
+ ret = start_transfer(dev, dout, din, bitlen / 8);
+ spi_cs_deactivate(dev);
+ return ret;
+}
+
static int xilinx_spi_mem_exec_op(struct spi_slave *spi,
const struct spi_mem_op *op)
{
@@ -427,6 +439,7 @@ static const struct spi_controller_mem_ops xilinx_spi_mem_ops = {
static const struct dm_spi_ops xilinx_spi_ops = {
.claim_bus = xilinx_spi_claim_bus,
.release_bus = xilinx_spi_release_bus,
+ .xfer = xilinx_spi_xfer,
.set_speed = xilinx_spi_set_speed,
.set_mode = xilinx_spi_set_mode,
.mem_ops = &xilinx_spi_mem_ops,