Skip to content

Commit 3106284

Browse files
outman119broonie
authored andcommitted
spi: rzv2h-rspi: Fix SPDR read access width for 16-bit RX
The RZ/V2H hardware manual (section 7.5.2.2.1) specifies that read access size for the SPI Data Register (SPDR) are fixed at 32 bits. The RZV2H_RSPI_RX macro for the 16-bit data path used readw(), violating this requirement. Switch to readl() for the 16-bit RX path to conform to the hardware specification. Fixes: 8b61c89 ("spi: Add driver for the RZ/V2H(P) RSPI IP") Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Felix Gu <ustc.gu@gmail.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com> Link: https://patch.msgid.link/20260610-rzv2h-rspi-v2-1-40c80b4a2c90@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 0e152e4 commit 3106284

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

drivers/spi/spi-rzv2h-rspi.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,9 @@ static inline void rzv2h_rspi_rx_##type(struct rzv2h_rspi_priv *rspi, \
135135
RZV2H_RSPI_TX(writel, u32)
136136
RZV2H_RSPI_TX(writew, u16)
137137
RZV2H_RSPI_TX(writeb, u8)
138+
/* The read access size for RSPI_SPDR is fixed at 32 bits */
138139
RZV2H_RSPI_RX(readl, u32)
139-
RZV2H_RSPI_RX(readw, u16)
140+
RZV2H_RSPI_RX(readl, u16)
140141
RZV2H_RSPI_RX(readl, u8)
141142

142143
static void rzv2h_rspi_reg_rmw(const struct rzv2h_rspi_priv *rspi,

0 commit comments

Comments
 (0)