From 4cfd1ee426f17c7ee6ec347c83a840e3a371d5d5 Mon Sep 17 00:00:00 2001 From: Andy Piper Date: Wed, 14 Sep 2022 19:54:54 +0100 Subject: [PATCH] AP_HAL_ChibiOS: disable DMA on I2C on bdshot boards to free up DMA channels --- libraries/AP_HAL_ChibiOS/hwdef/BeastF7/hwdef.dat | 2 ++ libraries/AP_HAL_ChibiOS/hwdef/BeastH7/hwdef.dat | 2 ++ libraries/AP_HAL_ChibiOS/hwdef/CUAV-X7-bdshot/hwdef.dat | 3 +++ libraries/AP_HAL_ChibiOS/hwdef/CUAVv5-bdshot/hwdef.dat | 2 ++ libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-bdshot/hwdef.dat | 3 +++ libraries/AP_HAL_ChibiOS/hwdef/FlywooF745/hwdef.dat | 2 ++ libraries/AP_HAL_ChibiOS/hwdef/FlywooF745Nano/hwdef.dat | 2 ++ libraries/AP_HAL_ChibiOS/hwdef/KakuteF7-bdshot/hwdef.dat | 5 ++++- libraries/AP_HAL_ChibiOS/hwdef/KakuteF7Mini/hwdef.dat | 2 ++ libraries/AP_HAL_ChibiOS/hwdef/KakuteH7-bdshot/hwdef.dat | 3 +++ libraries/AP_HAL_ChibiOS/hwdef/KakuteH7Mini/hwdef.dat | 2 ++ libraries/AP_HAL_ChibiOS/hwdef/KakuteH7v2/hwdef.dat | 4 ++-- libraries/AP_HAL_ChibiOS/hwdef/MambaH743v4/hwdef.dat | 2 ++ libraries/AP_HAL_ChibiOS/hwdef/MatekH743-bdshot/hwdef.dat | 2 ++ 14 files changed, 33 insertions(+), 3 deletions(-) diff --git a/libraries/AP_HAL_ChibiOS/hwdef/BeastF7/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/BeastF7/hwdef.dat index 3af7107845..84eb38e559 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/BeastF7/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/BeastF7/hwdef.dat @@ -104,6 +104,8 @@ PC13 LED0 OUTPUT LOW GPIO(90) # Blue LED DMA_PRIORITY USART1* TIM1* TIM3* # TIM3_CH4 is shared with TIM3_UP DMA_NOSHARE SPI3* TIM1_CH2 +NODMA I2C* +define STM32_I2C_USE_DMA FALSE define HAL_STORAGE_SIZE 16384 STORAGE_FLASH_PAGE 1 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/BeastH7/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/BeastH7/hwdef.dat index f20c636d5c..11f6e273fe 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/BeastH7/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/BeastH7/hwdef.dat @@ -104,6 +104,8 @@ PC13 LED0 OUTPUT LOW GPIO(90) # Blue LED DMA_PRIORITY TIM1* TIM3* DMA_NOSHARE SPI1* SPI3* TIM1* TIM3* TIM4_UP USART1_TX +NODMA I2C* +define STM32_I2C_USE_DMA FALSE define HAL_STORAGE_SIZE 16384 # use last 2 pages for flash storage diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CUAV-X7-bdshot/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/CUAV-X7-bdshot/hwdef.dat index 5dd2d33b89..3ba73e41ff 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/CUAV-X7-bdshot/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/CUAV-X7-bdshot/hwdef.dat @@ -6,3 +6,6 @@ undef PH10 PH12 PH10 TIM5_CH1 TIM5 PWM(1) GPIO(50) BIDIR PH12 TIM5_CH3 TIM5 PWM(3) GPIO(52) BIDIR + +NODMA I2C* +define STM32_I2C_USE_DMA FALSE diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CUAVv5-bdshot/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/CUAVv5-bdshot/hwdef.dat index 362ad10a2e..d310a3765b 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/CUAVv5-bdshot/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/CUAVv5-bdshot/hwdef.dat @@ -13,3 +13,5 @@ PD13 TIM4_CH2 TIM4 PWM(5) GPIO(54) NODMA PD14 TIM4_CH3 TIM4 PWM(6) GPIO(55) NODMA DMA_PRIORITY TIM1_CH3 TIM1_CH2 TIM1_UP SDMMC* UART8* ADC* SPI* TIM* +NODMA I2C* +define STM32_I2C_USE_DMA FALSE diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-bdshot/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-bdshot/hwdef.dat index 6666bb2186..c233cbe8a5 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-bdshot/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-bdshot/hwdef.dat @@ -10,3 +10,6 @@ PE11 TIM1_CH2 TIM1 PWM(3) GPIO(52) BIDIR PE9 TIM1_CH1 TIM1 PWM(4) GPIO(53) # this will automatically be shared with TIM1_CH1 PD13 TIM4_CH2 TIM4 PWM(5) GPIO(54) BIDIR PD14 TIM4_CH3 TIM4 PWM(6) GPIO(55) BIDIR + +NODMA I2C* +define STM32_I2C_USE_DMA FALSE diff --git a/libraries/AP_HAL_ChibiOS/hwdef/FlywooF745/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/FlywooF745/hwdef.dat index 37b78c5451..63544dbf84 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/FlywooF745/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/FlywooF745/hwdef.dat @@ -119,6 +119,8 @@ PE13 TIM1_CH3 TIM1 PWM(10) GPIO(59) # PPM/Unused - for future use according to DMA_PRIORITY USART1* TIM1* TIM3* DMA_NOSHARE SPI1_TX SPI1_RX TIM1_CH2 TIM3_CH3 +NODMA I2C* +define STM32_I2C_USE_DMA FALSE define HAL_STORAGE_SIZE 16384 STORAGE_FLASH_PAGE 1 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/FlywooF745Nano/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/FlywooF745Nano/hwdef.dat index b850c20024..cb9b0f6401 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/FlywooF745Nano/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/FlywooF745Nano/hwdef.dat @@ -23,6 +23,8 @@ PB0 TIM3_CH3 TIM3 PWM(1) GPIO(50) # Motor 1 PB1 TIM3_CH4 TIM3 PWM(2) GPIO(51) BIDIR # Motor 2 DMA_PRIORITY USART1* I2C2* TIM1* TIM3* +NODMA I2C* +define STM32_I2C_USE_DMA FALSE define HAL_PROBE_EXTERNAL_I2C_BAROS define HAL_I2C_INTERNAL_MASK 1 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7-bdshot/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7-bdshot/hwdef.dat index cb467329a2..0458312c8f 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7-bdshot/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7-bdshot/hwdef.dat @@ -6,4 +6,7 @@ undef PB1 PE11 PB0 PC9 PB1 TIM3_CH4 TIM3 PWM(1) GPIO(50) # M1 PE11 TIM1_CH2 TIM1 PWM(3) GPIO(52) BIDIR # M4 -PB0 TIM3_CH3 TIM3 PWM(4) GPIO(53) BIDIR # M3 \ No newline at end of file +PB0 TIM3_CH3 TIM3 PWM(4) GPIO(53) BIDIR # M3 + +NODMA I2C* +define STM32_I2C_USE_DMA FALSE \ No newline at end of file diff --git a/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7Mini/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7Mini/hwdef.dat index 82eeb5d570..0123621420 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7Mini/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7Mini/hwdef.dat @@ -119,6 +119,8 @@ PA3 TIM5_CH4 TIM5 PWM(6) GPIO(55) # M6 DMA_PRIORITY ADC* USART6* TIM1* TIM3* SPI4* SPI1* DMA_NOSHARE SPI4_RX +NODMA I2C* +define STM32_I2C_USE_DMA FALSE define HAL_STORAGE_SIZE 16384 STORAGE_FLASH_PAGE 1 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7-bdshot/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7-bdshot/hwdef.dat index 2d1c0934f9..d2bc8278e3 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7-bdshot/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7-bdshot/hwdef.dat @@ -16,3 +16,6 @@ PB0 TIM3_CH3 TIM3 PWM(1) GPIO(50) BIDIR PB1 TIM3_CH4 TIM3 PWM(2) GPIO(51) PB3 TIM2_CH2 TIM2 PWM(3) GPIO(52) BIDIR PB10 TIM2_CH3 TIM2 PWM(4) GPIO(53) BIDIR + +NODMA I2C* +define STM32_I2C_USE_DMA FALSE diff --git a/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7Mini/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7Mini/hwdef.dat index 7748d92e31..18705db73e 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7Mini/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7Mini/hwdef.dat @@ -135,6 +135,8 @@ define HAL_FRAME_TYPE_DEFAULT 12 PD12 TIM4_CH1 TIM4 PWM(9) GPIO(58) DMA_NOSHARE SPI1* SPI4* +NODMA I2C* +define STM32_I2C_USE_DMA FALSE # spi devices SPIDEV mpu6000 SPI4 DEVID1 MPU6000_CS MODE3 1*MHZ 4*MHZ diff --git a/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7v2/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7v2/hwdef.dat index 80fab14ac9..2dbe30e939 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7v2/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7v2/hwdef.dat @@ -48,8 +48,8 @@ SPIDEV bmi270 SPI4 DEVID1 ICM20689_CS MODE3 1*MHZ 10*MHZ # Clock is 100M IMU BMI270 SPI:bmi270 ROTATION_ROLL_180 -DMA_PRIORITY TIM3* TIM2* TIM5* TIM8* -DMA_NOSHARE *UP +DMA_PRIORITY TIM3* TIM2* TIM5* TIM8* SPI4* SPI1* +DMA_NOSHARE *UP SPI1* # Motor order implies Betaflight/X for standard ESCs define HAL_FRAME_TYPE_DEFAULT 12 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/MambaH743v4/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/MambaH743v4/hwdef.dat index 6b05730a1f..28f2c26858 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/MambaH743v4/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/MambaH743v4/hwdef.dat @@ -153,6 +153,8 @@ define HAL_FRAME_TYPE_DEFAULT 12 PA8 TIM1_CH1 TIM1 PWM(9) GPIO(58) DMA_NOSHARE SPI3* SPI1* +NODMA I2C* +define STM32_I2C_USE_DMA FALSE # spi devices SPIDEV mpu6000 SPI1 DEVID1 MPU6000_CS MODE3 1*MHZ 4*MHZ diff --git a/libraries/AP_HAL_ChibiOS/hwdef/MatekH743-bdshot/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/MatekH743-bdshot/hwdef.dat index 06e4834e90..c4bf501fff 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/MatekH743-bdshot/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/MatekH743-bdshot/hwdef.dat @@ -29,3 +29,5 @@ define HAL_BUZZER_OFF 0 DMA_PRIORITY S* TIM3* TIM2* DMA_NOSHARE SPI1* SPI4* TIM3* TIM2* +NODMA I2C* +define STM32_I2C_USE_DMA FALSE