From e332bfa72664732a8f17943f8dc347f16b28ad84 Mon Sep 17 00:00:00 2001 From: David Sidrane Date: Wed, 3 May 2017 15:47:11 -1000 Subject: [PATCH] px4fmu-v4pro:spi_dev_e is now uint32_t in NuttX Using new type of uint32_t for spi device and that define a PX4 device on a given BUS and Chip Select --- .../boards/px4fmu-v4pro/board_config.h | 37 ++++++++++--------- src/drivers/boards/px4fmu-v4pro/px4fmu_init.c | 2 +- src/drivers/boards/px4fmu-v4pro/px4fmu_spi.c | 16 ++++---- 3 files changed, 29 insertions(+), 26 deletions(-) diff --git a/src/drivers/boards/px4fmu-v4pro/board_config.h b/src/drivers/boards/px4fmu-v4pro/board_config.h index 29cea37495..ba4b1b482c 100644 --- a/src/drivers/boards/px4fmu-v4pro/board_config.h +++ b/src/drivers/boards/px4fmu-v4pro/board_config.h @@ -148,25 +148,28 @@ #define PX4_SPI_BUS_SENSORS 1 #define PX4_SPI_BUS_RAMTRON 2 #define PX4_SPI_BUS_BARO PX4_SPI_BUS_SENSORS -#define PX4_SPI_EXT0 5 -#define PX4_SPI_EXT1 6 +#define PX4_SPI_BUS_EXT0 5 +#define PX4_SPI_BUS_EXT1 6 -/* Use these in place of the spi_dev_e enumeration to select a specific SPI device on SPI1 */ +/* Use these in place of the uint32_t enumeration to select a specific SPI device on SPI1 */ -#define PX4_SPIDEV_GYRO 1 -#define PX4_SPIDEV_ACCEL_MAG 2 -#define PX4_SPIDEV_BARO 3 -#define PX4_SPIDEV_MPU 4 -#define PX4_SPIDEV_HMC 5 -#define PX4_SPIDEV_ICM 6 -#define PX4_SPIDEV_LIS 7 -#define PX4_SPIDEV_BMI 8 -#define PX4_SPIDEV_BMA 9 -#define PX4_SPIDEV_EXT0 10 -#define PX4_SPIDEV_EXT1 11 -#define PX4_SPIDEV_EEPROM 12 -#define PX4_SPIDEV_ICM_20608 13 -#define PX4_SPIDEV_ICM_20602 14 +#define PX4_SPIDEV_GYRO PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 1) +#define PX4_SPIDEV_ACCEL_MAG PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 2) +#define PX4_SPIDEV_BARO PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 3) +#define PX4_SPIDEV_MPU PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 4) +#define PX4_SPIDEV_HMC PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 5) +#define PX4_SPIDEV_ICM PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 6) +#define PX4_SPIDEV_LIS PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 7) +#define PX4_SPIDEV_BMI PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 8) +#define PX4_SPIDEV_BMA PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 9) +#define PX4_SPIDEV_EXT0 PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 10) +#define PX4_SPIDEV_EXT1 PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 11) +#define PX4_SPIDEV_EEPROM PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 12) +#define PX4_SPIDEV_ICM_20608 PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 13) + + +#define PX4_SPIDEV_EXT0 PX4_MK_SPI_SEL(PX4_SPI_BUS_EXT0, 1) +#define PX4_SPIDEV_EXT1 PX4_MK_SPI_SEL(PX4_SPI_BUS_EXT1, 1) /* I2C busses */ #define PX4_I2C_BUS_ONBOARD 1 diff --git a/src/drivers/boards/px4fmu-v4pro/px4fmu_init.c b/src/drivers/boards/px4fmu-v4pro/px4fmu_init.c index a863cfb3f0..36afc3d610 100644 --- a/src/drivers/boards/px4fmu-v4pro/px4fmu_init.c +++ b/src/drivers/boards/px4fmu-v4pro/px4fmu_init.c @@ -524,7 +524,7 @@ __EXPORT int board_app_initialize(uintptr_t arg) SPI_SETFREQUENCY(spi2, 20 * 1000 * 1000); SPI_SETBITS(spi2, 8); SPI_SETMODE(spi2, SPIDEV_MODE3); - SPI_SELECT(spi2, SPIDEV_FLASH, false); + SPI_SELECT(spi2, SPIDEV_FLASH(0), false); /* Configure SPI 5-based devices */ diff --git a/src/drivers/boards/px4fmu-v4pro/px4fmu_spi.c b/src/drivers/boards/px4fmu-v4pro/px4fmu_spi.c index fc6c4ebf94..3cab587a59 100644 --- a/src/drivers/boards/px4fmu-v4pro/px4fmu_spi.c +++ b/src/drivers/boards/px4fmu-v4pro/px4fmu_spi.c @@ -95,7 +95,7 @@ __EXPORT void stm32_spiinitialize(void) } -__EXPORT void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected) +__EXPORT void stm32_spi1select(FAR struct spi_dev_s *dev, uint32_t devid, bool selected) { /* SPI select is active low, so write !selected to select the device */ @@ -160,19 +160,19 @@ __EXPORT void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, } } -__EXPORT uint8_t stm32_spi1status(FAR struct spi_dev_s *dev, enum spi_dev_e devid) +__EXPORT uint8_t stm32_spi1status(FAR struct spi_dev_s *dev, uint32_t devid) { return SPI_STATUS_PRESENT; } #ifdef CONFIG_STM32_SPI2 -__EXPORT void stm32_spi2select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected) +__EXPORT void stm32_spi2select(FAR struct spi_dev_s *dev, uint32_t devid, bool selected) { stm32_gpiowrite(GPIO_SPI_CS_FRAM, !selected); } -__EXPORT uint8_t stm32_spi2status(FAR struct spi_dev_s *dev, enum spi_dev_e devid) +__EXPORT uint8_t stm32_spi2status(FAR struct spi_dev_s *dev, uint32_t devid) { /* FRAM is always present */ return SPI_STATUS_PRESENT; @@ -188,13 +188,13 @@ __EXPORT uint8_t stm32_spi2status(FAR struct spi_dev_s *dev, enum spi_dev_e devi ************************************************************************************/ #ifdef CONFIG_STM32_SPI5 -__EXPORT void stm32_spi5select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected) +__EXPORT void stm32_spi5select(FAR struct spi_dev_s *dev, uint32_t devid, bool selected) { stm32_gpiowrite(GPIO_SPI5_CS, !selected); } -__EXPORT uint8_t stm32_spi5status(FAR struct spi_dev_s *dev, enum spi_dev_e devid) +__EXPORT uint8_t stm32_spi5status(FAR struct spi_dev_s *dev, uint32_t devid) { return SPI_STATUS_PRESENT; } @@ -209,13 +209,13 @@ __EXPORT uint8_t stm32_spi5status(FAR struct spi_dev_s *dev, enum spi_dev_e devi ************************************************************************************/ #ifdef CONFIG_STM32_SPI6 -__EXPORT void stm32_spi6select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected) +__EXPORT void stm32_spi6select(FAR struct spi_dev_s *dev, uint32_t devid, bool selected) { stm32_gpiowrite(GPIO_SPI6_CS, !selected); } -__EXPORT uint8_t stm32_spi6status(FAR struct spi_dev_s *dev, enum spi_dev_e devid) +__EXPORT uint8_t stm32_spi6status(FAR struct spi_dev_s *dev, uint32_t devid) { return SPI_STATUS_PRESENT; }