add main includes

This commit is contained in:
Sebastien Lorquet 2017-04-28 18:15:29 +02:00
parent 37ca797d1c
commit 401caf6826
2 changed files with 61 additions and 26 deletions

View File

@ -428,33 +428,68 @@
typedef void (*spi_mediachange_t)(FAR void *arg);
/* If the board supports multiple SPI devices, this enumeration identifies
* which is selected or de-selected.
/* If the board supports multiple SPI devices types, this enumeration
* identifies which is selected or de-selected.
* There may be more than one instance of each type on a bus, see below.
*/
enum spi_dev_e
enum spi_devtype_e
{
SPIDEV_NONE = 0, /* Not a valid value */
SPIDEV_MMCSD, /* Select SPI MMC/SD device */
SPIDEV_FLASH, /* Select SPI FLASH device */
SPIDEV_ETHERNET, /* Select SPI Ethernet device */
SPIDEV_DISPLAY, /* Select SPI LCD/OLED display device */
SPIDEV_CAMERA, /* Select SPI imaging device */
SPIDEV_WIRELESS, /* Select SPI Wireless device */
SPIDEV_TOUCHSCREEN, /* Select SPI touchscreen device */
SPIDEV_EXPANDER, /* Select SPI I/O expander device */
SPIDEV_MUX, /* Select SPI multiplexer device */
SPIDEV_AUDIO_DATA, /* Select SPI audio codec device data port */
SPIDEV_AUDIO_CTRL, /* Select SPI audio codec device control port */
SPIDEV_EEPROM, /* Select SPI EEPROM device */
SPIDEV_ACCELEROMETER, /* Select SPI Accelerometer device */
SPIDEV_BAROMETER, /* Select SPI Pressure/Barometer device */
SPIDEV_TEMPERATURE, /* Select SPI Temperature sensor device */
SPIDEV_IEEE802154, /* Select SPI IEEE 802.15.4 wireless device */
SPIDEV_CONTACTLESS, /* Select SPI Contactless device */
SPIDEV_USER /* Board-specific values start here */
SPIDEVTYPE_NONE = 0, /* Not a valid value */
SPIDEVTYPE_MMCSD, /* Select SPI MMC/SD device */
SPIDEVTYPE_FLASH, /* Select SPI FLASH device */
SPIDEVTYPE_ETHERNET, /* Select SPI Ethernet device */
SPIDEVTYPE_DISPLAY, /* Select SPI LCD/OLED display device */
SPIDEVTYPE_CAMERA, /* Select SPI imaging device */
SPIDEVTYPE_WIRELESS, /* Select SPI Wireless device */
SPIDEVTYPE_TOUCHSCREEN, /* Select SPI touchscreen device */
SPIDEVTYPE_EXPANDER, /* Select SPI I/O expander device */
SPIDEVTYPE_MUX, /* Select SPI multiplexer device */
SPIDEVTYPE_AUDIO_DATA, /* Select SPI audio codec device data port */
SPIDEVTYPE_AUDIO_CTRL, /* Select SPI audio codec device control port */
SPIDEVTYPE_EEPROM, /* Select SPI EEPROM device */
SPIDEVTYPE_ACCELEROMETER, /* Select SPI Accelerometer device */
SPIDEVTYPE_BAROMETER, /* Select SPI Pressure/Barometer device */
SPIDEVTYPE_TEMPERATURE, /* Select SPI Temperature sensor device */
SPIDEVTYPE_IEEE802154, /* Select SPI IEEE 802.15.4 wireless device */
SPIDEVTYPE_CONTACTLESS, /* Select SPI Contactless device */
SPIDEVTYPE_USER /* Board-specific values start here */
};
/* This builds a SPI devid from its type and index */
#define SPIDEV_ID(type,index) (((type)&0xFFFF)<<16 | (index)&0xFFFF)
/* This retrieves the fields from a SPI devid */
#define SPIDEVID_TYPE (devid) (((devid)>>16)&0xFFFF)
#define SPIDEVID_INDEX(devid) ( (devid) &0xFFFF)
/* These are replacement definitions for the currently used SPI device indexes.
* They are meant as a compatibility measure. it is expected that new drivers
* will use SPIDEV_ID directly.
*/
#define SPIDEV_NONE SPIDEV_ID(SPIDEVTYPE_NONE , 0)
#define SPIDEV_MMCSD SPIDEV_ID(SPIDEVTYPE_MMCSD , 0)
#define SPIDEV_FLASH SPIDEV_ID(SPIDEVTYPE_FLASH , 0)
#define SPIDEV_ETHERNET SPIDEV_ID(SPIDEVTYPE_ETHERNET , 0)
#define SPIDEV_DISPLAY SPIDEV_ID(SPIDEVTYPE_DISPLAY , 0)
#define SPIDEV_CAMERA SPIDEV_ID(SPIDEVTYPE_CAMERA , 0)
#define SPIDEV_WIRELESS SPIDEV_ID(SPIDEVTYPE_WIRELESS , 0)
#define SPIDEV_TOUCHSCREEN SPIDEV_ID(SPIDEVTYPE_TOUCHSCREEN , 0)
#define SPIDEV_EXPANDER SPIDEV_ID(SPIDEVTYPE_EXPANDER , 0)
#define SPIDEV_MUX SPIDEV_ID(SPIDEVTYPE_MUX , 0)
#define SPIDEV_AUDIO_DATA SPIDEV_ID(SPIDEVTYPE_AUDIO_DATA , 0)
#define SPIDEV_AUDIO_CTRL SPIDEV_ID(SPIDEVTYPE_AUDIO_CTRL , 0)
#define SPIDEV_EEPROM SPIDEV_ID(SPIDEVTYPE_EEPROM , 0)
#define SPIDEV_ACCELEROMETER SPIDEV_ID(SPIDEVTYPE_ACCELEROMETER, 0)
#define SPIDEV_BAROMETER SPIDEV_ID(SPIDEVTYPE_BAROMETER , 0)
#define SPIDEV_TEMPERATURE SPIDEV_ID(SPIDEVTYPE_TEMPERATURE , 0)
#define SPIDEV_IEEE802154 SPIDEV_ID(SPIDEVTYPE_IEEE802154 , 0)
#define SPIDEV_CONTACTLESS SPIDEV_ID(SPIDEVTYPE_CONTACTLESS , 0)
#define SPIDEV_USER SPIDEV_ID(SPIDEVTYPE_USER , 0)
/* Certain SPI devices may required different clocking modes */
enum spi_mode_e
@ -477,7 +512,7 @@ struct spi_dev_s;
struct spi_ops_s
{
CODE int (*lock)(FAR struct spi_dev_s *dev, bool lock);
CODE void (*select)(FAR struct spi_dev_s *dev, enum spi_dev_e devid,
CODE void (*select)(FAR struct spi_dev_s *dev, uint32_t devid,
bool selected);
CODE uint32_t (*setfrequency)(FAR struct spi_dev_s *dev, uint32_t frequency);
#ifdef CONFIG_SPI_CS_DELAY_CONTROL
@ -490,9 +525,9 @@ struct spi_ops_s
CODE int (*hwfeatures)(FAR struct spi_dev_s *dev,
spi_hwfeatures_t features);
#endif
CODE uint8_t (*status)(FAR struct spi_dev_s *dev, enum spi_dev_e devid);
CODE uint8_t (*status)(FAR struct spi_dev_s *dev, uint32_t devid);
#ifdef CONFIG_SPI_CMDDATA
CODE int (*cmddata)(FAR struct spi_dev_s *dev, enum spi_dev_e devid,
CODE int (*cmddata)(FAR struct spi_dev_s *dev, uint32_t devid,
bool cmd);
#endif
CODE uint16_t (*send)(FAR struct spi_dev_s *dev, uint16_t wd);

View File

@ -109,7 +109,7 @@ struct spi_sequence_s
{
/* Properties that are fixed throughout the transfer */
uint8_t dev; /* See enum spi_dev_e */
uint32_t dev; /* See enum spi_devtype_e */
uint8_t mode; /* See enum spi_mode_e */
uint8_t nbits; /* Number of bits */
uint8_t ntrans; /* Number of transactions */