Re: [PATCH v3 2/3] spi: spi-cadence: supports transmission with bits_per_word of 16 and 32

From: Rodrigo Alencar

Date: Wed Jan 14 2026 - 11:09:47 EST


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