-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
spi: uapi: unify SPI modes into a single spi.h header
This change moves all the SPI mode bits into a separate 'spi.h' header in uAPI. This is meant to re-use these definitions inside the kernel as well as export them to userspace (via uAPI). The SPI mode definitions have usually been duplicated between between 'include/linux/spi/spi.h' and 'include/uapi/linux/spi/spidev.h', so whenever adding a new entry, this would need to be put in both headers. They've been moved from 'include/linux/spi/spi.h', since that seems a bit more complete; the bits have descriptions and there is the SPI_MODE_X_MASK. This change also does a conversion of these bitfields to _BITUL() macro. Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com> Link: https://lore.kernel.org/r/20201221152936.53873-1-alexandru.ardelean@analog.com Signed-off-by: Mark Brown <broonie@kernel.org>
- Loading branch information
Alexandru Ardelean
authored and
Mark Brown
committed
Dec 28, 2020
1 parent
22a6d41
commit f700514
Showing
3 changed files
with
34 additions
and
50 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ | ||
#ifndef _UAPI_SPI_H | ||
#define _UAPI_SPI_H | ||
|
||
#include <linux/const.h> | ||
|
||
#define SPI_CPHA _BITUL(0) /* clock phase */ | ||
#define SPI_CPOL _BITUL(1) /* clock polarity */ | ||
|
||
#define SPI_MODE_0 (0|0) /* (original MicroWire) */ | ||
#define SPI_MODE_1 (0|SPI_CPHA) | ||
#define SPI_MODE_2 (SPI_CPOL|0) | ||
#define SPI_MODE_3 (SPI_CPOL|SPI_CPHA) | ||
#define SPI_MODE_X_MASK (SPI_CPOL|SPI_CPHA) | ||
|
||
#define SPI_CS_HIGH _BITUL(2) /* chipselect active high? */ | ||
#define SPI_LSB_FIRST _BITUL(3) /* per-word bits-on-wire */ | ||
#define SPI_3WIRE _BITUL(4) /* SI/SO signals shared */ | ||
#define SPI_LOOP _BITUL(5) /* loopback mode */ | ||
#define SPI_NO_CS _BITUL(6) /* 1 dev/bus, no chipselect */ | ||
#define SPI_READY _BITUL(7) /* slave pulls low to pause */ | ||
#define SPI_TX_DUAL _BITUL(8) /* transmit with 2 wires */ | ||
#define SPI_TX_QUAD _BITUL(9) /* transmit with 4 wires */ | ||
#define SPI_RX_DUAL _BITUL(10) /* receive with 2 wires */ | ||
#define SPI_RX_QUAD _BITUL(11) /* receive with 4 wires */ | ||
#define SPI_CS_WORD _BITUL(12) /* toggle cs after each word */ | ||
#define SPI_TX_OCTAL _BITUL(13) /* transmit with 8 wires */ | ||
#define SPI_RX_OCTAL _BITUL(14) /* receive with 8 wires */ | ||
#define SPI_3WIRE_HIZ _BITUL(15) /* high impedance turnaround */ | ||
|
||
#endif /* _UAPI_SPI_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters