mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/sta-core.git
synced 2025-06-10 16:55:58 +00:00
110 lines
5.4 KiB
C++
110 lines
5.4 KiB
C++
#ifndef STA_CORE_STM32_MCU_STM32F407xx_HPP
|
|
#define STA_CORE_STM32_MCU_STM32F407xx_HPP
|
|
|
|
/**
|
|
* @defgroup sta_core_stm32_mcu_stm32f407xx STM32F407xx
|
|
* @ingroup sta_core_stm32_mcu
|
|
*
|
|
* @brief MCU configuration for the STM32F407xx family.
|
|
*/
|
|
|
|
#ifndef STM32F407xx
|
|
# error "MCU config incompatible"
|
|
#endif // STM32F407xx
|
|
|
|
#include <sta/devices/stm32/mcu/common.hpp>
|
|
|
|
// uart/CAN setup
|
|
#ifdef STA_STM32_ASEAG
|
|
# define STA_STM32_USART_HANDLE huart1
|
|
# define STA_STM32_CAN_HANDLE hcan1
|
|
#else
|
|
# ifdef STA_STM32_SWD_USART_IDX
|
|
# define STA_STM32_USART_HANDLE CONCAT(huart, STA_STM32_SWD_USART_IDX)
|
|
# endif // STA_STM32_SWD_USART_IDX
|
|
#endif // STA_STM32_SWD_USART_IDX
|
|
|
|
/**
|
|
* @ingroup sta_core_stm32_mcu_stm32f407xx
|
|
* @{
|
|
*/
|
|
|
|
// Peripheral clock mappings
|
|
//
|
|
|
|
// TIM to PCLK
|
|
#define STA_STM32_TIM_1_PCLK_IDX 2 /**< TIM1 to PCLK index */
|
|
#define STA_STM32_TIM_2_PCLK_IDX 1 /**< TIM2 to PCLK index */
|
|
#define STA_STM32_TIM_3_PCLK_IDX 1 /**< TIM3 to PCLK index */
|
|
#define STA_STM32_TIM_4_PCLK_IDX 1 /**< TIM4 to PCLK index */
|
|
#define STA_STM32_TIM_5_PCLK_IDX 1 /**< TIM5 to PCLK index */
|
|
#define STA_STM32_TIM_6_PCLK_IDX 1 /**< TIM6 to PCLK index */
|
|
#define STA_STM32_TIM_7_PCLK_IDX 1 /**< TIM7 to PCLK index */
|
|
#define STA_STM32_TIM_8_PCLK_IDX 2 /**< TIM8 to PCLK index */
|
|
#define STA_STM32_TIM_9_PCLK_IDX 2 /**< TIM9 to PCLK index */
|
|
#define STA_STM32_TIM_10_PCLK_IDX 2 /**< TIM10 to PCLK index */
|
|
#define STA_STM32_TIM_11_PCLK_IDX 2 /**< TIM11 to PCLK index */
|
|
#define STA_STM32_TIM_12_PCLK_IDX 1 /**< TIM12 to PCLK index */
|
|
#define STA_STM32_TIM_13_PCLK_IDX 1 /**< TIM13 to PCLK index */
|
|
#define STA_STM32_TIM_14_PCLK_IDX 1 /**< TIM14 to PCLK index */
|
|
|
|
// SPI to PCLK
|
|
#define STA_STM32_SPI_1_PCLK_IDX 2 /**< SPI1 to PCLK index */
|
|
#define STA_STM32_SPI_2_PCLK_IDX 1 /**< SPI2 to PCLK index */
|
|
#define STA_STM32_SPI_3_PCLK_IDX 1 /**< SPI3 to PCLK index */
|
|
|
|
// I2C to PCLK
|
|
#define STA_STM32_I2C_1_PCLK_IDX 1 /**< I2C1 to PCLK index */
|
|
#define STA_STM32_I2C_2_PCLK_IDX 1 /**< I2C2 to PCLK index */
|
|
#define STA_STM32_I2C_3_PCLK_IDX 1 /**< I2C3 to PCLK index */
|
|
|
|
// USART to PCLK
|
|
#define STA_STM32_USART_1_PCLK_IDX 2 /**< USART1 to PCLK index */
|
|
#define STA_STM32_USART_2_PCLK_IDX 1 /**< USART2 to PCLK index */
|
|
#define STA_STM32_USART_3_PCLK_IDX 1 /**< USART3 to PCLK index */
|
|
#define STA_STM32_USART_6_PCLK_IDX 2 /**< USART6 to PCLK index */
|
|
|
|
// prescaler from APBx to APBx timer clocks
|
|
#define STA_STM32_TIM_PCLK_1_PRESCALER 2 /**< PCLK1 has prescaler of 2 */
|
|
#define STA_STM32_TIM_PCLK_2_PRESCALER 2 /**< PCLK2 has prescaler of 1 */
|
|
|
|
|
|
// HAL handle mappings
|
|
//
|
|
|
|
#define STA_STM32_htim1_PCLK_IDX STA_STM32_TIM_1_PCLK_IDX /**< Mapping for HAL TIM1 to PCLK index */
|
|
#define STA_STM32_htim2_PCLK_IDX STA_STM32_TIM_2_PCLK_IDX /**< Mapping for HAL TIM2 to PCLK index */
|
|
#define STA_STM32_htim3_PCLK_IDX STA_STM32_TIM_3_PCLK_IDX /**< Mapping for HAL TIM3 to PCLK index */
|
|
#define STA_STM32_htim4_PCLK_IDX STA_STM32_TIM_4_PCLK_IDX /**< Mapping for HAL TIM4 to PCLK index */
|
|
#define STA_STM32_htim5_PCLK_IDX STA_STM32_TIM_5_PCLK_IDX /**< Mapping for HAL TIM5 to PCLK index */
|
|
#define STA_STM32_htim6_PCLK_IDX STA_STM32_TIM_6_PCLK_IDX /**< Mapping for HAL TIM6 to PCLK index */
|
|
#define STA_STM32_htim7_PCLK_IDX STA_STM32_TIM_7_PCLK_IDX /**< Mapping for HAL TIM7 to PCLK index */
|
|
#define STA_STM32_htim8_PCLK_IDX STA_STM32_TIM_8_PCLK_IDX /**< Mapping for HAL TIM8 to PCLK index */
|
|
#define STA_STM32_htim9_PCLK_IDX STA_STM32_TIM_9_PCLK_IDX /**< Mapping for HAL TIM9 to PCLK index */
|
|
#define STA_STM32_htim10_PCLK_IDX STA_STM32_TIM_10_PCLK_IDX /**< Mapping for HAL TIM10 to PCLK index */
|
|
#define STA_STM32_htim11_PCLK_IDX STA_STM32_TIM_11_PCLK_IDX /**< Mapping for HAL TIM11 to PCLK index */
|
|
#define STA_STM32_htim12_PCLK_IDX STA_STM32_TIM_12_PCLK_IDX /**< Mapping for HAL TIM12 to PCLK index */
|
|
#define STA_STM32_htim13_PCLK_IDX STA_STM32_TIM_13_PCLK_IDX /**< Mapping for HAL TIM13 to PCLK index */
|
|
|
|
// SPI to PCLK
|
|
#define STA_STM32_hspi1_PCLK_IDX STA_STM32_SPI_1_PCLK_IDX /**< Mapping for HAL SPI1 to PCLK index */
|
|
#define STA_STM32_hspi2_PCLK_IDX STA_STM32_SPI_2_PCLK_IDX /**< Mapping for HAL SPI2 to PCLK index */
|
|
#define STA_STM32_hspi3_PCLK_IDX STA_STM32_SPI_3_PCLK_IDX /**< Mapping for HAL SPI3 to PCLK index */
|
|
#define STA_STM32_hspi4_PCLK_IDX STA_STM32_SPI_4_PCLK_IDX /**< Mapping for HAL SPI4 to PCLK index */
|
|
#define STA_STM32_hspi5_PCLK_IDX STA_STM32_SPI_5_PCLK_IDX /**< Mapping for HAL SPI5 to PCLK index */
|
|
|
|
// I2C to PCLK
|
|
#define STA_STM32_hi2c1_PCLK_IDX STA_STM32_I2C_1_PCLK_IDX /**< Mapping for HAL I2C1 to PCLK index */
|
|
#define STA_STM32_hi2c2_PCLK_IDX STA_STM32_I2C_2_PCLK_IDX /**< Mapping for HAL I2C2 to PCLK index */
|
|
#define STA_STM32_h12c3_PCLK_IDX STA_STM32_I2C_3_PCLK_IDX /**< Mapping for HAL I2C3 to PCLK index */
|
|
|
|
// USART to PCLK
|
|
#define STA_STM32_husart1_PCLK_IDX STA_STM32_USART_1_PCLK_IDX /**< Mapping for HAL USART1 to PCLK index */
|
|
#define STA_STM32_husart2_PCLK_IDX STA_STM32_USART_2_PCLK_IDX /**< Mapping for HAL USART2 to PCLK index */
|
|
#define STA_STM32_husart3_PCLK_IDX STA_STM32_USART_3_PCLK_IDX /**< Mapping for HAL USART3 to PCLK index */
|
|
#define STA_STM32_husart6_PCLK_IDX STA_STM32_USART_6_PCLK_IDX /**< Mapping for HAL USART6 to PCLK index */
|
|
|
|
/** @} */
|
|
|
|
#endif // STA_CORE_STM32_MCU_STM32F407xx_HPP
|