diff --git a/nuttx-configs/aerofc-v1/include/board.h b/nuttx-configs/aerofc-v1/include/board.h index af507bd403..3dc10cb36a 100644 --- a/nuttx-configs/aerofc-v1/include/board.h +++ b/nuttx-configs/aerofc-v1/include/board.h @@ -286,15 +286,10 @@ * */ -#define GPIO_SPI3_NSS (GPIO_SPI3_NSS_1 | GPIO_SPEED_50MHz) -#define GPIO_SPI3_SCK (GPIO_SPI3_SCK_2 | GPIO_SPEED_50MHz) -#define GPIO_SPI3_MISO (GPIO_SPI3_MISO_1 | GPIO_SPEED_50MHz) -#define GPIO_SPI3_MOSI (GPIO_SPI3_MOSI_1 | GPIO_SPEED_50MHz) - -#define GPIO_SPI4_NSS (GPIO_SPI4_NSS_1 | GPIO_SPEED_50MHz) -#define GPIO_SPI4_SCK (GPIO_SPI4_SCK_2 | GPIO_SPEED_50MHz) -#define GPIO_SPI4_MISO (GPIO_SPI4_MISO_1 | GPIO_SPEED_50MHz) -#define GPIO_SPI4_MOSI (GPIO_SPI4_MOSI_1 | GPIO_SPEED_50MHz) +#define GPIO_SPI1_NSS (GPIO_SPI1_NSS_2 | GPIO_SPEED_50MHz) +#define GPIO_SPI1_SCK (GPIO_SPI1_SCK_1 | GPIO_SPEED_50MHz) +#define GPIO_SPI1_MISO (GPIO_SPI1_MISO_1 | GPIO_SPEED_50MHz) +#define GPIO_SPI1_MOSI (GPIO_SPI1_MOSI_1 | GPIO_SPEED_50MHz) /* The following Pin Mapping is just for completeness */ /* diff --git a/src/drivers/boards/aerofc-v1/aerofc_spi.c b/src/drivers/boards/aerofc-v1/aerofc_spi.c index 6840805dce..a24553b9da 100644 --- a/src/drivers/boards/aerofc-v1/aerofc_spi.c +++ b/src/drivers/boards/aerofc-v1/aerofc_spi.c @@ -70,131 +70,25 @@ __EXPORT void stm32_spiinitialize(void) { -#ifdef CONFIG_STM32_SPI3 - // px4_arch_configgpio(GPIO_SPI_CS_MPU9250); - // px4_arch_configgpio(GPIO_SPI_CS_HMC5983); - // px4_arch_configgpio(GPIO_SPI_CS_MS5611); - // px4_arch_configgpio(GPIO_SPI_CS_ICM_20608_G); +#ifdef CONFIG_STM32_SPI1 + px4_arch_configgpio(GPIO_SPI_CS_MPU6500); - // /* De-activate all peripherals, - // * required for some peripheral - // * state machines - // */ - // px4_arch_gpiowrite(GPIO_SPI_CS_MPU9250, 1); - // px4_arch_gpiowrite(GPIO_SPI_CS_HMC5983, 1); - // px4_arch_gpiowrite(GPIO_SPI_CS_MS5611, 1); - // px4_arch_gpiowrite(GPIO_SPI_CS_ICM_20608_G, 1); - - // px4_arch_configgpio(GPIO_DRDY_MPU9250); - // px4_arch_configgpio(GPIO_DRDY_HMC5983); - // px4_arch_configgpio(GPIO_DRDY_ICM_20608_G); -#endif - -#ifdef CONFIG_STM32_SPI4 - // px4_arch_configgpio(GPIO_SPI_CS_FRAM); - // px4_arch_gpiowrite(GPIO_SPI_CS_FRAM, 1); + /* De-activate all peripherals, + * required for some peripheral + * state machines + */ + px4_arch_gpiowrite(GPIO_SPI_CS_MPU6500, 1); #endif } -__EXPORT void stm32_spi3select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected) +__EXPORT void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected) { /* SPI select is active low, so write !selected to select the device */ - - switch (devid) { - case PX4_SPIDEV_ICM: - /* Making sure the other peripherals are not selected */ - px4_arch_gpiowrite(GPIO_SPI_CS_MPU9250, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_HMC5983, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_MS5611, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_ICM_20608_G, !selected); - break; - - case PX4_SPIDEV_ACCEL_MAG: - /* Making sure the other peripherals are not selected */ - break; - - case PX4_SPIDEV_BARO: - /* Making sure the other peripherals are not selected */ - px4_arch_gpiowrite(GPIO_SPI_CS_MPU9250, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_HMC5983, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_MS5611, !selected); - px4_arch_gpiowrite(GPIO_SPI_CS_ICM_20608_G, 1); - break; - - case PX4_SPIDEV_HMC: - /* Making sure the other peripherals are not selected */ - px4_arch_gpiowrite(GPIO_SPI_CS_MPU9250, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_HMC5983, !selected); - px4_arch_gpiowrite(GPIO_SPI_CS_MS5611, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_ICM_20608_G, 1); - break; - - case PX4_SPIDEV_MPU: - /* Making sure the other peripherals are not selected */ - px4_arch_gpiowrite(GPIO_SPI_CS_MPU9250, !selected); - px4_arch_gpiowrite(GPIO_SPI_CS_HMC5983, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_MS5611, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_ICM_20608_G, 1); - break; - - default: - break; - } + px4_arch_gpiowrite(GPIO_SPI_CS_MPU6500, !selected); } -__EXPORT uint8_t stm32_spi3status(FAR struct spi_dev_s *dev, enum spi_dev_e devid) -{ - return SPI_STATUS_PRESENT; -} - -__EXPORT void stm32_spi4select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected) -{ - /* SPI select is active low, so write !selected to select the device */ - - switch (devid) { - case PX4_SPIDEV_ICM: - /* Making sure the other peripherals are not selected */ - px4_arch_gpiowrite(GPIO_SPI_CS_MPU9250, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_HMC5983, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_MS5611, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_ICM_20608_G, !selected); - break; - - case PX4_SPIDEV_ACCEL_MAG: - /* Making sure the other peripherals are not selected */ - break; - - case PX4_SPIDEV_BARO: - /* Making sure the other peripherals are not selected */ - px4_arch_gpiowrite(GPIO_SPI_CS_MPU9250, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_HMC5983, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_MS5611, !selected); - px4_arch_gpiowrite(GPIO_SPI_CS_ICM_20608_G, 1); - break; - - case PX4_SPIDEV_HMC: - /* Making sure the other peripherals are not selected */ - px4_arch_gpiowrite(GPIO_SPI_CS_MPU9250, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_HMC5983, !selected); - px4_arch_gpiowrite(GPIO_SPI_CS_MS5611, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_ICM_20608_G, 1); - break; - - case PX4_SPIDEV_MPU: - /* Making sure the other peripherals are not selected */ - px4_arch_gpiowrite(GPIO_SPI_CS_MPU9250, !selected); - px4_arch_gpiowrite(GPIO_SPI_CS_HMC5983, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_MS5611, 1); - px4_arch_gpiowrite(GPIO_SPI_CS_ICM_20608_G, 1); - break; - - default: - break; - } -} - -__EXPORT uint8_t stm32_spi4status(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) { return SPI_STATUS_PRESENT; } diff --git a/src/drivers/boards/aerofc-v1/board_config.h b/src/drivers/boards/aerofc-v1/board_config.h index d6e2a64a59..49e0f2d4d3 100644 --- a/src/drivers/boards/aerofc-v1/board_config.h +++ b/src/drivers/boards/aerofc-v1/board_config.h @@ -71,21 +71,6 @@ #define GPIO_LED2 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTC|GPIO_PIN5) #define GPIO_BLUE_LED GPIO_LED1 #define GPIO_RED_LED GPIO_LED2 -/* - * SPI - * - * Peripheral Port Signal Name CONN - * SPI2_NSS PB12 SD_SPI2_NSS SD-2 CS - * SPI2_SCK PB13 SD_SPI2_SCK SD-5 CLK - * SPI2_MISO PB14 SD_SPI2_MISO SD-7 D0 - * SPI2_MOSI PB15 SD_SPI2_MOSI SD-3 DI - * - * PC2 SD_SW SD-9 SW - * - */ -#define GPIO_SPI_CS_SDCARD (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTB|GPIO_PIN12) -#define GPIO_SPI_SD_SW (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTC|GPIO_PIN2) - /* * I2C busses @@ -223,27 +208,9 @@ {GPIO_GPIO4_INPUT, GPIO_GPIO4_OUTPUT, 0}, \ {GPIO_GPIO5_INPUT, GPIO_GPIO5_OUTPUT, 0}, } - -#define GPIO_SPI_CS_MPU9250 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTC|GPIO_PIN2) -#define GPIO_SPI_CS_HMC5983 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTE|GPIO_PIN15) -#define GPIO_SPI_CS_LIS3MDL (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTE|GPIO_PIN15) -#define GPIO_SPI_CS_MS5611 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTD|GPIO_PIN7) -#define GPIO_SPI_CS_ICM_20608_G (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTC|GPIO_PIN15) - +#define GPIO_SPI_CS_MPU6500 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTA|GPIO_PIN4) #define PX4_SPI_BUS_SENSORS 1 -#define PX4_SPI_BUS_RAMTRON 2 -#define PX4_SPI_BUS_BARO PX4_SPI_BUS_RAMTRON - -/* Use these in place of the spi_dev_e 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_MPU 1 #define GPIO_S0 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTC|GPIO_PIN15) #define GPIO_S1 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTC|GPIO_PIN14)