Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

spi: spi-mem: Add a packed command operation

Instead of repeating the command opcode twice, some flash devices try to
pack command and address bits. In this case, the second opcode byte
being sent (LSB) is free to be used. The input data must be ANDed to
only provide the relevant bits.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://patch.msgid.link/20260410-winbond-6-19-rc1-oddr-v1-2-2ac4827a3868@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Miquel Raynal and committed by
Mark Brown
f79ee9e4 5e75c1d4

+8
+8
include/linux/spi/spi-mem.h
··· 28 28 .dtr = true, \ 29 29 } 30 30 31 + #define SPI_MEM_DTR_OP_PACKED_CMD(__opcode, __addr, __buswidth) \ 32 + { \ 33 + .nbytes = 2, \ 34 + .opcode = __opcode << 8 | __addr, \ 35 + .buswidth = __buswidth, \ 36 + .dtr = true, \ 37 + } 38 + 31 39 #define SPI_MEM_OP_ADDR(__nbytes, __val, __buswidth) \ 32 40 { \ 33 41 .nbytes = __nbytes, \