On Wed, May 17, 2023 at 7:30 PM Boerge Struempfel <boerge.struempfel@xxxxxxxxx> wrote: > > Some spi controller switch the mosi line to high, whenever they are > idle. This may not be desired in all use cases. For example neopixel > leds can get confused and flicker due to misinterpreting the idle state. > Therefore, we introduce a new spi-mode bit, with which the idle behaviour > can be overwritten on a per device basis. > > Signed-off-by: Boerge Struempfel <boerge.struempfel@xxxxxxxxx> > > > Link for versions: > v1 and v2: https://lore.kernel.org/linux-spi/20230511135632.78344-1-bstruempfel@xxxxxxxxxxxxxx/ > v3: https://lore.kernel.org/linux-spi/20230517103007.26287-1-boerge.struempfel@xxxxxxxxx/T/#t > > Changes from V3: > - Added missing paranthesis which caused builderrors > > Changes from V2: > - Removed the device-tree binding since this should not be managed by > the DT but by the device itself. > - Replaced all occurences of spi->chip_select with the corresponding > macro spi_get_chipselect(spi,0) > > Changes from V1: > - Added patch, introducing the new devicetree binding flag > - Split the generic spi part of the patch from the imx-spi specific > part > - Replaced SPI_CPOL and SPI_CPHA by the combined SPI_MODE_X_MASK bit > in the imx-spi.c modebits. > - Added the SPI_MOSI_IDLE_LOW bit to spidev The change log should be placed below the --- line. > --- > include/uapi/linux/spi/spi.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/include/uapi/linux/spi/spi.h b/include/uapi/linux/spi/spi.h > index 9d5f58059703..ca56e477d161 100644 > --- a/include/uapi/linux/spi/spi.h > +++ b/include/uapi/linux/spi/spi.h > @@ -28,6 +28,7 @@ > #define SPI_RX_OCTAL _BITUL(14) /* receive with 8 wires */ > #define SPI_3WIRE_HIZ _BITUL(15) /* high impedance turnaround */ > #define SPI_RX_CPHA_FLIP _BITUL(16) /* flip CPHA on Rx only xfer */ > +#define SPI_MOSI_IDLE_LOW _BITUL(17) /* leave mosi line low when idle */ Should tools/spi/spidev_test.c be changed to include this new mosi-idle-low option?