summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Marek <jonathan@marek.ca>2025-11-21 00:12:01 +0300
committerMark Brown <broonie@kernel.org>2025-12-14 13:39:24 +0300
commit739062a9f1e9a77a9687c8fd30f8e5dd12ec70be (patch)
tree9035174b828b5ac5c008b0d8225b78409acab5c9
parentfb2bbe3838728f572485706677590e4fc41eec5c (diff)
downloadlinux-739062a9f1e9a77a9687c8fd30f8e5dd12ec70be.tar.xz
spi-geni-qcom: initialize mode related registers to 0
setup_fifo_params assumes these will be zero, it won't write these registers if the initial mode is zero. Signed-off-by: Jonathan Marek <jonathan@marek.ca> Link: https://patch.msgid.link/20251120211204.24078-4-jonathan@marek.ca Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--drivers/spi/spi-geni-qcom.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c
index 575b112d4acb..53229150b86b 100644
--- a/drivers/spi/spi-geni-qcom.c
+++ b/drivers/spi/spi-geni-qcom.c
@@ -675,6 +675,12 @@ static int spi_geni_init(struct spi_geni_master *mas)
case 0:
mas->cur_xfer_mode = GENI_SE_FIFO;
geni_se_select_mode(se, GENI_SE_FIFO);
+ /* setup_fifo_params assumes that these registers start with a zero value */
+ writel(0, se->base + SE_SPI_LOOPBACK);
+ writel(0, se->base + SE_SPI_DEMUX_SEL);
+ writel(0, se->base + SE_SPI_CPHA);
+ writel(0, se->base + SE_SPI_CPOL);
+ writel(0, se->base + SE_SPI_DEMUX_OUTPUT_INV);
ret = 0;
break;
}