[PATCH v3 2/3] spi: spi-cadence: supports transmission with bits_per_word of 16 and 32
Rodrigo Alencar
455.rodrigo.alencar at gmail.com
Wed Jan 14 08:09:39 PST 2026
On 26/01/14 02:16PM, Mark Brown wrote:
> On Wed, Jan 14, 2026 at 02:14:35PM +0000, Rodrigo Alencar wrote:
> > On 25/10/31 03:30PM, Jun Guo wrote:
>
> > > + if (xspi->txbuf) {
> > > + switch (xspi->n_bytes) {
> > > + case CDNS_SPI_N_BYTES_U8:
> > > + txw = *(u8 *)xspi->txbuf;
> > > + break;
>
> > > + cdns_spi_write(xspi, CDNS_SPI_TXD, txw);
> > > + xspi->txbuf = (u8 *)xspi->txbuf + xspi->n_bytes;
> > > + }
>
> > cdns_spi_write(xspi, CDNS_SPI_TXD, txw) needs to be called regardless of xspi->txbuf.
> > Otherwise, there will be no clock for the read operation to work.
> > This is a bug I am seeing on a Zedboard running on 6.19
>
> So the device needs to be flagged as SPI_CONTROLLER_MUST_TX?
yes, It works if
ctlr->flags = SPI_CONTROLLER_MUST_TX;
is added to the probe function. At least for my case handling with "xlnx,zynq-spi-r1p6"
kind regards,
Rodrigo Alencar
More information about the linux-arm-kernel
mailing list