|
|
|
@ -36,7 +36,7 @@
@@ -36,7 +36,7 @@
|
|
|
|
|
#include <nuttx/spi/spi.h> |
|
|
|
|
|
|
|
|
|
constexpr px4_spi_bus_all_hw_t px4_spi_buses_all_hw[BOARD_NUM_SPI_CFG_HW_VERSIONS] = { |
|
|
|
|
initSPIHWVersion(HW_VER_REV(0, 0), { |
|
|
|
|
initSPIHWVersion(V5X00, { |
|
|
|
|
initSPIBus(SPI::Bus::SPI1, { |
|
|
|
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM20602, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}), |
|
|
|
|
}, {GPIO::PortI, GPIO::Pin11}), |
|
|
|
@ -60,7 +60,7 @@ constexpr px4_spi_bus_all_hw_t px4_spi_buses_all_hw[BOARD_NUM_SPI_CFG_HW_VERSION
@@ -60,7 +60,7 @@ constexpr px4_spi_bus_all_hw_t px4_spi_buses_all_hw[BOARD_NUM_SPI_CFG_HW_VERSION
|
|
|
|
|
}), |
|
|
|
|
}), |
|
|
|
|
|
|
|
|
|
initSPIHWVersion(HW_VER_REV(0, 1), { |
|
|
|
|
initSPIHWVersion(V5X01, { |
|
|
|
|
initSPIBus(SPI::Bus::SPI1, { |
|
|
|
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM20602, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}), |
|
|
|
|
}, {GPIO::PortI, GPIO::Pin11}), |
|
|
|
@ -84,7 +84,77 @@ constexpr px4_spi_bus_all_hw_t px4_spi_buses_all_hw[BOARD_NUM_SPI_CFG_HW_VERSION
@@ -84,7 +84,77 @@ constexpr px4_spi_bus_all_hw_t px4_spi_buses_all_hw[BOARD_NUM_SPI_CFG_HW_VERSION
|
|
|
|
|
}), |
|
|
|
|
}), |
|
|
|
|
|
|
|
|
|
initSPIHWVersion(HW_VER_REV(0, 2), { |
|
|
|
|
initSPIHWVersion(V5X02, { |
|
|
|
|
initSPIBus(SPI::Bus::SPI1, { |
|
|
|
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM20602, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}), |
|
|
|
|
}, {GPIO::PortI, GPIO::Pin11}), |
|
|
|
|
initSPIBus(SPI::Bus::SPI2, { |
|
|
|
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM42688P, SPI::CS{GPIO::PortH, GPIO::Pin5}, SPI::DRDY{GPIO::PortH, GPIO::Pin12}), |
|
|
|
|
}, {GPIO::PortD, GPIO::Pin15}), |
|
|
|
|
initSPIBus(SPI::Bus::SPI3, { |
|
|
|
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM20649, SPI::CS{GPIO::PortI, GPIO::Pin4}, SPI::DRDY{GPIO::PortI, GPIO::Pin7}), |
|
|
|
|
}, {GPIO::PortE, GPIO::Pin7}), |
|
|
|
|
// initSPIBus(SPI::Bus::SPI4, {
|
|
|
|
|
// // no devices
|
|
|
|
|
// TODO: if enabled, remove GPIO_VDD_3V3_SENSORS4_EN from board_config.h
|
|
|
|
|
// }, {GPIO::PortG, GPIO::Pin8}),
|
|
|
|
|
initSPIBus(SPI::Bus::SPI5, { |
|
|
|
|
initSPIDevice(SPIDEV_FLASH(0), SPI::CS{GPIO::PortG, GPIO::Pin7}) |
|
|
|
|
}), |
|
|
|
|
initSPIBusExternal(SPI::Bus::SPI6, { |
|
|
|
|
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin10}, SPI::DRDY{GPIO::PortD, GPIO::Pin11}), |
|
|
|
|
initSPIConfigExternal(SPI::CS{GPIO::PortA, GPIO::Pin15}, SPI::DRDY{GPIO::PortD, GPIO::Pin12}), |
|
|
|
|
}), |
|
|
|
|
}), |
|
|
|
|
initSPIHWVersion(V5X50, { |
|
|
|
|
initSPIBus(SPI::Bus::SPI1, { |
|
|
|
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM20602, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}), |
|
|
|
|
}, {GPIO::PortI, GPIO::Pin11}), |
|
|
|
|
initSPIBus(SPI::Bus::SPI2, { |
|
|
|
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM42688P, SPI::CS{GPIO::PortH, GPIO::Pin5}, SPI::DRDY{GPIO::PortH, GPIO::Pin12}), |
|
|
|
|
}, {GPIO::PortD, GPIO::Pin15}), |
|
|
|
|
initSPIBus(SPI::Bus::SPI3, { |
|
|
|
|
initSPIDevice(DRV_GYR_DEVTYPE_BMI088, SPI::CS{GPIO::PortI, GPIO::Pin8}, SPI::DRDY{GPIO::PortI, GPIO::Pin7}), |
|
|
|
|
initSPIDevice(DRV_ACC_DEVTYPE_BMI088, SPI::CS{GPIO::PortI, GPIO::Pin4}), |
|
|
|
|
}, {GPIO::PortE, GPIO::Pin7}), |
|
|
|
|
// initSPIBus(SPI::Bus::SPI4, {
|
|
|
|
|
// // no devices
|
|
|
|
|
// TODO: if enabled, remove GPIO_VDD_3V3_SENSORS4_EN from board_config.h
|
|
|
|
|
// }, {GPIO::PortG, GPIO::Pin8}),
|
|
|
|
|
initSPIBus(SPI::Bus::SPI5, { |
|
|
|
|
initSPIDevice(SPIDEV_FLASH(0), SPI::CS{GPIO::PortG, GPIO::Pin7}) |
|
|
|
|
}), |
|
|
|
|
initSPIBusExternal(SPI::Bus::SPI6, { |
|
|
|
|
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin10}, SPI::DRDY{GPIO::PortD, GPIO::Pin11}), |
|
|
|
|
initSPIConfigExternal(SPI::CS{GPIO::PortA, GPIO::Pin15}, SPI::DRDY{GPIO::PortD, GPIO::Pin12}), |
|
|
|
|
}), |
|
|
|
|
}), |
|
|
|
|
|
|
|
|
|
initSPIHWVersion(V5X51, { |
|
|
|
|
initSPIBus(SPI::Bus::SPI1, { |
|
|
|
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM20602, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}), |
|
|
|
|
}, {GPIO::PortI, GPIO::Pin11}), |
|
|
|
|
initSPIBus(SPI::Bus::SPI2, { |
|
|
|
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM42688P, SPI::CS{GPIO::PortH, GPIO::Pin5}, SPI::DRDY{GPIO::PortH, GPIO::Pin12}), |
|
|
|
|
}, {GPIO::PortD, GPIO::Pin15}), |
|
|
|
|
initSPIBus(SPI::Bus::SPI3, { |
|
|
|
|
initSPIDevice(DRV_GYR_DEVTYPE_BMI088, SPI::CS{GPIO::PortI, GPIO::Pin8}, SPI::DRDY{GPIO::PortI, GPIO::Pin7}), |
|
|
|
|
initSPIDevice(DRV_ACC_DEVTYPE_BMI088, SPI::CS{GPIO::PortI, GPIO::Pin4}), |
|
|
|
|
}, {GPIO::PortE, GPIO::Pin7}), |
|
|
|
|
// initSPIBus(SPI::Bus::SPI4, {
|
|
|
|
|
// // no devices
|
|
|
|
|
// TODO: if enabled, remove GPIO_VDD_3V3_SENSORS4_EN from board_config.h
|
|
|
|
|
// }, {GPIO::PortG, GPIO::Pin8}),
|
|
|
|
|
initSPIBus(SPI::Bus::SPI5, { |
|
|
|
|
initSPIDevice(SPIDEV_FLASH(0), SPI::CS{GPIO::PortG, GPIO::Pin7}) |
|
|
|
|
}), |
|
|
|
|
initSPIBusExternal(SPI::Bus::SPI6, { |
|
|
|
|
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin10}, SPI::DRDY{GPIO::PortD, GPIO::Pin11}), |
|
|
|
|
initSPIConfigExternal(SPI::CS{GPIO::PortA, GPIO::Pin15}, SPI::DRDY{GPIO::PortD, GPIO::Pin12}), |
|
|
|
|
}), |
|
|
|
|
}), |
|
|
|
|
|
|
|
|
|
initSPIHWVersion(V5X52, { |
|
|
|
|
initSPIBus(SPI::Bus::SPI1, { |
|
|
|
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM20602, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}), |
|
|
|
|
}, {GPIO::PortI, GPIO::Pin11}), |
|
|
|
|