mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
commit
fb51ee685a
@ -317,6 +317,9 @@ void SystemClock_Config(void)
|
|||||||
PeriphClkInitStruct.QspiClockSelection = RCC_QSPICLKSOURCE_PLL2;
|
PeriphClkInitStruct.QspiClockSelection = RCC_QSPICLKSOURCE_PLL2;
|
||||||
PeriphClkInitStruct.AdcClockSelection = OMV_OSC_ADC_CLKSOURCE;
|
PeriphClkInitStruct.AdcClockSelection = OMV_OSC_ADC_CLKSOURCE;
|
||||||
PeriphClkInitStruct.Spi123ClockSelection = OMV_OSC_SPI123_CLKSOURCE;
|
PeriphClkInitStruct.Spi123ClockSelection = OMV_OSC_SPI123_CLKSOURCE;
|
||||||
|
#if defined(OMV_OSC_SPI45_CLKSOURCE)
|
||||||
|
PeriphClkInitStruct.Spi45ClockSelection = OMV_OSC_SPI45_CLKSOURCE;
|
||||||
|
#endif
|
||||||
PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI;
|
PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI;
|
||||||
PeriphClkInitStruct.I2c123ClockSelection = RCC_I2C123CLKSOURCE_D2PCLK1;
|
PeriphClkInitStruct.I2c123ClockSelection = RCC_I2C123CLKSOURCE_D2PCLK1;
|
||||||
PeriphClkInitStruct.Spi45ClockSelection = RCC_SPI45CLKSOURCE_PLL2;
|
PeriphClkInitStruct.Spi45ClockSelection = RCC_SPI45CLKSOURCE_PLL2;
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 4503313ffe14e1eae06cfe0f762e941a3074c92f
|
Subproject commit 20126f1b595fa6f70c312a562b2ad901a17fe9ca
|
||||||
@ -80,21 +80,29 @@
|
|||||||
#define OMV_CORE_VBAT "3.0"
|
#define OMV_CORE_VBAT "3.0"
|
||||||
|
|
||||||
// USB IRQn.
|
// USB IRQn.
|
||||||
#define OMV_USB_IRQN (OTG_FS_IRQn)
|
#define OMV_USB_IRQN (OTG_HS_IRQn)
|
||||||
|
#define OMV_USB_ULPI (1)
|
||||||
|
#define OMV_USB_ULPI_DIR_PORT (GPIOC)
|
||||||
|
#define OMV_USB_ULPI_DIR_PIN (2)
|
||||||
|
#define OMV_USB_ULPI_DIR_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE()
|
||||||
|
|
||||||
// PLL1 48MHz for SDMMC and FDCAN
|
// Defined for cpu frequency scaling to override the revid.
|
||||||
#define OMV_OSC_PLL1M (16)
|
#define OMV_MAX_CPU_FREQ (400)
|
||||||
#define OMV_OSC_PLL1N (240)
|
|
||||||
|
// PLL1 400MHz/40MHz for SDMMC and FDCAN
|
||||||
|
// USB and RNG are clocked from the HSI48
|
||||||
|
#define OMV_OSC_PLL1M (5)
|
||||||
|
#define OMV_OSC_PLL1N (160)
|
||||||
#define OMV_OSC_PLL1P (2)
|
#define OMV_OSC_PLL1P (2)
|
||||||
#define OMV_OSC_PLL1Q (20)
|
#define OMV_OSC_PLL1Q (16)
|
||||||
#define OMV_OSC_PLL1R (2)
|
#define OMV_OSC_PLL1R (2)
|
||||||
#define OMV_OSC_PLL1VCI (RCC_PLL1VCIRANGE_2)
|
#define OMV_OSC_PLL1VCI (RCC_PLL1VCIRANGE_2)
|
||||||
#define OMV_OSC_PLL1VCO (RCC_PLL1VCOWIDE)
|
#define OMV_OSC_PLL1VCO (RCC_PLL1VCOWIDE)
|
||||||
#define OMV_OSC_PLL1FRAC (0)
|
#define OMV_OSC_PLL1FRAC (0)
|
||||||
|
|
||||||
// PLL2 200MHz for FMC and QSPI.
|
// PLL2 200MHz for FMC and QSPI.
|
||||||
#define OMV_OSC_PLL2M (16)
|
#define OMV_OSC_PLL2M (5)
|
||||||
#define OMV_OSC_PLL2N (100)
|
#define OMV_OSC_PLL2N (80)
|
||||||
#define OMV_OSC_PLL2P (2)
|
#define OMV_OSC_PLL2P (2)
|
||||||
#define OMV_OSC_PLL2Q (2)
|
#define OMV_OSC_PLL2Q (2)
|
||||||
#define OMV_OSC_PLL2R (2)
|
#define OMV_OSC_PLL2R (2)
|
||||||
@ -103,31 +111,32 @@
|
|||||||
#define OMV_OSC_PLL2FRAC (0)
|
#define OMV_OSC_PLL2FRAC (0)
|
||||||
|
|
||||||
// PLL3 160MHz for ADC and SPI123
|
// PLL3 160MHz for ADC and SPI123
|
||||||
#define OMV_OSC_PLL3M (16)
|
#define OMV_OSC_PLL3M (5)
|
||||||
#define OMV_OSC_PLL3N (80)
|
#define OMV_OSC_PLL3N (160)
|
||||||
#define OMV_OSC_PLL3P (2)
|
#define OMV_OSC_PLL3P (2)
|
||||||
#define OMV_OSC_PLL3Q (2)
|
#define OMV_OSC_PLL3Q (5)
|
||||||
#define OMV_OSC_PLL3R (2)
|
#define OMV_OSC_PLL3R (2)
|
||||||
#define OMV_OSC_PLL3VCI (RCC_PLL3VCIRANGE_2)
|
#define OMV_OSC_PLL3VCI (RCC_PLL3VCIRANGE_2)
|
||||||
#define OMV_OSC_PLL3VCO (RCC_PLL3VCOWIDE)
|
#define OMV_OSC_PLL3VCO (RCC_PLL3VCOWIDE)
|
||||||
#define OMV_OSC_PLL3FRAC (0)
|
#define OMV_OSC_PLL3FRAC (0)
|
||||||
|
|
||||||
// Clock Sources
|
// Clock Sources
|
||||||
#define OMV_OSC_PLL_CLKSOURCE RCC_PLLSOURCE_HSI
|
#define OMV_OSC_PLL_CLKSOURCE RCC_PLLSOURCE_HSE
|
||||||
#define OMV_OSC_USB_CLKSOURCE RCC_USBCLKSOURCE_HSI48
|
#define OMV_OSC_USB_CLKSOURCE RCC_USBCLKSOURCE_HSI48
|
||||||
#define OMV_OSC_RNG_CLKSOURCE RCC_RNGCLKSOURCE_HSI48
|
#define OMV_OSC_RNG_CLKSOURCE RCC_RNGCLKSOURCE_HSI48
|
||||||
#define OMV_OSC_ADC_CLKSOURCE RCC_ADCCLKSOURCE_PLL3
|
#define OMV_OSC_ADC_CLKSOURCE RCC_ADCCLKSOURCE_PLL3
|
||||||
|
#define OMV_OSC_SPI45_CLKSOURCE RCC_SPI45CLKSOURCE_PLL3
|
||||||
#define OMV_OSC_SPI123_CLKSOURCE RCC_SPI123CLKSOURCE_PLL3
|
#define OMV_OSC_SPI123_CLKSOURCE RCC_SPI123CLKSOURCE_PLL3
|
||||||
|
|
||||||
// HSE/HSI/CSI State
|
// HSE/HSI/CSI State
|
||||||
#define OMV_OSC_HSI_STATE (RCC_HSI_DIV1)
|
#define OMV_OSC_HSE_STATE (RCC_HSE_BYPASS)
|
||||||
#define OMV_OSC_HSI48_STATE (RCC_HSI48_ON)
|
#define OMV_OSC_HSI48_STATE (RCC_HSI48_ON)
|
||||||
|
|
||||||
// Flash Latency
|
// Flash Latency
|
||||||
#define OMV_FLASH_LATENCY (FLASH_LATENCY_2)
|
#define OMV_FLASH_LATENCY (FLASH_LATENCY_2)
|
||||||
|
|
||||||
// Power supply configuration
|
// Power supply configuration
|
||||||
#define OMV_PWR_SUPPLY (PWR_LDO_SUPPLY)
|
#define OMV_PWR_SUPPLY (PWR_SMPS_1V8_SUPPLIES_LDO)
|
||||||
|
|
||||||
// Linker script constants (see the linker script template stm32fxxx.ld.S).
|
// Linker script constants (see the linker script template stm32fxxx.ld.S).
|
||||||
// Note: fb_alloc is a stack-based, dynamically allocated memory on FB.
|
// Note: fb_alloc is a stack-based, dynamically allocated memory on FB.
|
||||||
@ -200,9 +209,10 @@
|
|||||||
#define ISC_I2C_AF (GPIO_AF4_I2C3)
|
#define ISC_I2C_AF (GPIO_AF4_I2C3)
|
||||||
#define ISC_I2C_CLK_ENABLE() __I2C3_CLK_ENABLE()
|
#define ISC_I2C_CLK_ENABLE() __I2C3_CLK_ENABLE()
|
||||||
#define ISC_I2C_CLK_DISABLE() __I2C3_CLK_DISABLE()
|
#define ISC_I2C_CLK_DISABLE() __I2C3_CLK_DISABLE()
|
||||||
#define ISC_I2C_PORT (GPIOH)
|
#define ISC_I2C_SCL_PORT (GPIOA)
|
||||||
#define ISC_I2C_SCL_PIN (GPIO_PIN_7)
|
#define ISC_I2C_SCL_PIN (GPIO_PIN_8)
|
||||||
#define ISC_I2C_SDA_PIN (GPIO_PIN_8)
|
#define ISC_I2C_SDA_PORT (GPIOC)
|
||||||
|
#define ISC_I2C_SDA_PIN (GPIO_PIN_9)
|
||||||
#define ISC_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
#define ISC_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
||||||
#define ISC_I2C_FORCE_RESET() __HAL_RCC_I2C3_FORCE_RESET()
|
#define ISC_I2C_FORCE_RESET() __HAL_RCC_I2C3_FORCE_RESET()
|
||||||
#define ISC_I2C_RELEASE_RESET() __HAL_RCC_I2C3_RELEASE_RESET()
|
#define ISC_I2C_RELEASE_RESET() __HAL_RCC_I2C3_RELEASE_RESET()
|
||||||
@ -213,57 +223,65 @@
|
|||||||
#define FIR_I2C_AF (GPIO_AF4_I2C1)
|
#define FIR_I2C_AF (GPIO_AF4_I2C1)
|
||||||
#define FIR_I2C_CLK_ENABLE() __I2C1_CLK_ENABLE()
|
#define FIR_I2C_CLK_ENABLE() __I2C1_CLK_ENABLE()
|
||||||
#define FIR_I2C_CLK_DISABLE() __I2C1_CLK_DISABLE()
|
#define FIR_I2C_CLK_DISABLE() __I2C1_CLK_DISABLE()
|
||||||
#define FIR_I2C_PORT (GPIOB)
|
#define FIR_I2C_SCL_PORT (GPIOB)
|
||||||
#define FIR_I2C_SCL_PIN (GPIO_PIN_6)
|
#define FIR_I2C_SCL_PIN (GPIO_PIN_8)
|
||||||
#define FIR_I2C_SDA_PIN (GPIO_PIN_7)
|
#define FIR_I2C_SDA_PORT (GPIOB)
|
||||||
|
#define FIR_I2C_SDA_PIN (GPIO_PIN_9)
|
||||||
#define FIR_I2C_SPEED (CAMBUS_SPEED_FULL)
|
#define FIR_I2C_SPEED (CAMBUS_SPEED_FULL)
|
||||||
#define FIR_I2C_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
|
#define FIR_I2C_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
|
||||||
#define FIR_I2C_RELEASE_RESET() __HAL_RCC_I2C1_RELEASE_RESET()
|
#define FIR_I2C_RELEASE_RESET() __HAL_RCC_I2C1_RELEASE_RESET()
|
||||||
|
|
||||||
/* DCMI */
|
/* DCMI */
|
||||||
#define DCMI_TIM (TIM1)
|
#define DCMI_TIM (TIM3)
|
||||||
#define DCMI_TIM_PIN (GPIO_PIN_1)
|
#define DCMI_TIM_PORT (GPIOA)
|
||||||
#define DCMI_TIM_PORT (GPIOK)
|
#define DCMI_TIM_PIN (GPIO_PIN_7)
|
||||||
#define DCMI_TIM_AF (GPIO_AF1_TIM1)
|
#define DCMI_TIM_AF (GPIO_AF2_TIM3)
|
||||||
#define DCMI_TIM_CHANNEL (TIM_CHANNEL_1)
|
#define DCMI_TIM_CHANNEL (TIM_CHANNEL_2)
|
||||||
#define DCMI_TIM_CLK_ENABLE() __TIM1_CLK_ENABLE()
|
#define DCMI_TIM_CLK_ENABLE() __TIM3_CLK_ENABLE()
|
||||||
#define DCMI_TIM_CLK_DISABLE() __TIM1_CLK_DISABLE()
|
#define DCMI_TIM_CLK_DISABLE() __TIM3_CLK_DISABLE()
|
||||||
#define DCMI_TIM_PCLK_FREQ() HAL_RCC_GetPCLK2Freq()
|
#define DCMI_TIM_PCLK_FREQ() HAL_RCC_GetPCLK1Freq()
|
||||||
|
|
||||||
//#define DCMI_RESET_PIN (GPIO_PIN_10)
|
|
||||||
//#define DCMI_RESET_PORT (GPIOA)
|
//#define DCMI_RESET_PORT (GPIOA)
|
||||||
|
//#define DCMI_RESET_PIN (GPIO_PIN_10)
|
||||||
|
|
||||||
#define DCMI_PWDN_PIN (GPIO_PIN_3)
|
//#define DCMI_PWDN_PORT (GPIOG)
|
||||||
#define DCMI_PWDN_PORT (GPIOG)
|
//#define DCMI_PWDN_PIN (GPIO_PIN_3)
|
||||||
|
|
||||||
//#define DCMI_FSYNC_PIN (GPIO_PIN_4)
|
|
||||||
//#define DCMI_FSYNC_PORT (GPIOB)
|
//#define DCMI_FSYNC_PORT (GPIOB)
|
||||||
|
//#define DCMI_FSYNC_PIN (GPIO_PIN_4)
|
||||||
|
|
||||||
#define DCMI_D0_PIN (GPIO_PIN_9)
|
#define DCMI_D0_PORT (GPIOC)
|
||||||
#define DCMI_D1_PIN (GPIO_PIN_10)
|
#define DCMI_D0_PIN (GPIO_PIN_6)
|
||||||
#define DCMI_D2_PIN (GPIO_PIN_11)
|
|
||||||
#define DCMI_D3_PIN (GPIO_PIN_12)
|
|
||||||
#define DCMI_D4_PIN (GPIO_PIN_14)
|
|
||||||
#define DCMI_D5_PIN (GPIO_PIN_4)
|
|
||||||
#define DCMI_D6_PIN (GPIO_PIN_6)
|
|
||||||
#define DCMI_D7_PIN (GPIO_PIN_7)
|
|
||||||
|
|
||||||
#define DCMI_D0_PORT (GPIOH)
|
#define DCMI_D1_PORT (GPIOC)
|
||||||
#define DCMI_D1_PORT (GPIOH)
|
#define DCMI_D1_PIN (GPIO_PIN_7)
|
||||||
#define DCMI_D2_PORT (GPIOH)
|
|
||||||
#define DCMI_D3_PORT (GPIOH)
|
|
||||||
#define DCMI_D4_PORT (GPIOH)
|
|
||||||
#define DCMI_D5_PORT (GPIOI)
|
|
||||||
#define DCMI_D6_PORT (GPIOI)
|
|
||||||
#define DCMI_D7_PORT (GPIOI)
|
|
||||||
|
|
||||||
#define DCMI_HSYNC_PIN (GPIO_PIN_4)
|
#define DCMI_D2_PORT (GPIOE)
|
||||||
#define DCMI_VSYNC_PIN (GPIO_PIN_5)
|
#define DCMI_D2_PIN (GPIO_PIN_0)
|
||||||
#define DCMI_PXCLK_PIN (GPIO_PIN_6)
|
|
||||||
|
#define DCMI_D3_PORT (GPIOE)
|
||||||
|
#define DCMI_D3_PIN (GPIO_PIN_1)
|
||||||
|
|
||||||
|
#define DCMI_D4_PORT (GPIOE)
|
||||||
|
#define DCMI_D4_PIN (GPIO_PIN_4)
|
||||||
|
|
||||||
|
#define DCMI_D5_PORT (GPIOD)
|
||||||
|
#define DCMI_D5_PIN (GPIO_PIN_3)
|
||||||
|
|
||||||
|
#define DCMI_D6_PORT (GPIOE)
|
||||||
|
#define DCMI_D6_PIN (GPIO_PIN_5)
|
||||||
|
|
||||||
|
#define DCMI_D7_PORT (GPIOE)
|
||||||
|
#define DCMI_D7_PIN (GPIO_PIN_6)
|
||||||
|
|
||||||
#define DCMI_HSYNC_PORT (GPIOA)
|
#define DCMI_HSYNC_PORT (GPIOA)
|
||||||
#define DCMI_VSYNC_PORT (GPIOI)
|
#define DCMI_HSYNC_PIN (GPIO_PIN_4)
|
||||||
|
|
||||||
|
#define DCMI_VSYNC_PORT (GPIOG)
|
||||||
|
#define DCMI_VSYNC_PIN (GPIO_PIN_9)
|
||||||
|
|
||||||
#define DCMI_PXCLK_PORT (GPIOA)
|
#define DCMI_PXCLK_PORT (GPIOA)
|
||||||
|
#define DCMI_PXCLK_PIN (GPIO_PIN_6)
|
||||||
|
|
||||||
#if defined(DCMI_RESET_PIN)
|
#if defined(DCMI_RESET_PIN)
|
||||||
#define DCMI_RESET_LOW() HAL_GPIO_WritePin(DCMI_RESET_PORT, DCMI_RESET_PIN, GPIO_PIN_RESET)
|
#define DCMI_RESET_LOW() HAL_GPIO_WritePin(DCMI_RESET_PORT, DCMI_RESET_PIN, GPIO_PIN_RESET)
|
||||||
@ -282,7 +300,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define DCMI_VSYNC_IRQN EXTI9_5_IRQn
|
#define DCMI_VSYNC_IRQN EXTI9_5_IRQn
|
||||||
#define DCMI_VSYNC_IRQ_LINE (7)
|
#define DCMI_VSYNC_IRQ_LINE (9)
|
||||||
|
|
||||||
#define SOFT_I2C_PORT GPIOC
|
#define SOFT_I2C_PORT GPIOC
|
||||||
#define SOFT_I2C_SIOC_PIN GPIO_PIN_10
|
#define SOFT_I2C_SIOC_PIN GPIO_PIN_10
|
||||||
@ -299,26 +317,28 @@
|
|||||||
|
|
||||||
#define SOFT_I2C_SPIN_DELAY 64
|
#define SOFT_I2C_SPIN_DELAY 64
|
||||||
|
|
||||||
#define IMU_SPI (SPI2)
|
#define IMU_SPI (SPI5)
|
||||||
#define IMU_SPI_AF (GPIO_AF5_SPI2)
|
#define IMU_SPI_AF (GPIO_AF5_SPI5)
|
||||||
// SPI1/2/3 clock source is PLL2 (160MHz/16 == 10MHz).
|
// SPI4/5 clock source is PLL3 (160MHz/16 == 10MHz).
|
||||||
#define IMU_SPI_PRESCALER (SPI_BAUDRATEPRESCALER_16)
|
#define IMU_SPI_PRESCALER (SPI_BAUDRATEPRESCALER_16)
|
||||||
|
|
||||||
#define IMU_SPI_RESET() __HAL_RCC_SPI2_FORCE_RESET()
|
#define IMU_SPI_RESET() __HAL_RCC_SPI5_FORCE_RESET()
|
||||||
#define IMU_SPI_RELEASE() __HAL_RCC_SPI2_RELEASE_RESET()
|
#define IMU_SPI_RELEASE() __HAL_RCC_SPI5_RELEASE_RESET()
|
||||||
|
|
||||||
#define IMU_SPI_CLK_ENABLE() __HAL_RCC_SPI2_CLK_ENABLE()
|
#define IMU_SPI_CLK_ENABLE() __HAL_RCC_SPI5_CLK_ENABLE()
|
||||||
#define IMU_SPI_CLK_DISABLE() __HAL_RCC_SPI2_CLK_DISABLE()
|
#define IMU_SPI_CLK_DISABLE() __HAL_RCC_SPI5_CLK_DISABLE()
|
||||||
|
|
||||||
#define IMU_SPI_SCLK_PIN (GPIO_PIN_1)
|
#define IMU_SPI_SSEL_PORT (GPIOF)
|
||||||
#define IMU_SPI_MISO_PIN (GPIO_PIN_2)
|
#define IMU_SPI_SSEL_PIN (GPIO_PIN_6)
|
||||||
#define IMU_SPI_MOSI_PIN (GPIO_PIN_3)
|
|
||||||
#define IMU_SPI_SSEL_PIN (GPIO_PIN_0)
|
|
||||||
|
|
||||||
#define IMU_SPI_SCLK_PORT (GPIOI)
|
#define IMU_SPI_SCLK_PORT (GPIOF)
|
||||||
#define IMU_SPI_MISO_PORT (GPIOC)
|
#define IMU_SPI_SCLK_PIN (GPIO_PIN_7)
|
||||||
#define IMU_SPI_MOSI_PORT (GPIOC)
|
|
||||||
#define IMU_SPI_SSEL_PORT (GPIOI)
|
#define IMU_SPI_MISO_PORT (GPIOF)
|
||||||
|
#define IMU_SPI_MISO_PIN (GPIO_PIN_8)
|
||||||
|
|
||||||
|
#define IMU_SPI_MOSI_PORT (GPIOF)
|
||||||
|
#define IMU_SPI_MOSI_PIN (GPIO_PIN_11)
|
||||||
|
|
||||||
// SPI LCD Interface
|
// SPI LCD Interface
|
||||||
#define OMV_SPI_LCD_CONTROLLER (&spi_obj[3])
|
#define OMV_SPI_LCD_CONTROLLER (&spi_obj[3])
|
||||||
|
|||||||
@ -134,8 +134,9 @@
|
|||||||
#define ISC_I2C_AF (GPIO_AF4_I2C1)
|
#define ISC_I2C_AF (GPIO_AF4_I2C1)
|
||||||
#define ISC_I2C_CLK_ENABLE() __I2C1_CLK_ENABLE()
|
#define ISC_I2C_CLK_ENABLE() __I2C1_CLK_ENABLE()
|
||||||
#define ISC_I2C_CLK_DISABLE() __I2C1_CLK_DISABLE()
|
#define ISC_I2C_CLK_DISABLE() __I2C1_CLK_DISABLE()
|
||||||
#define ISC_I2C_PORT (GPIOB)
|
#define ISC_I2C_SCL_PORT (GPIOB)
|
||||||
#define ISC_I2C_SCL_PIN (GPIO_PIN_8)
|
#define ISC_I2C_SCL_PIN (GPIO_PIN_8)
|
||||||
|
#define ISC_I2C_SDA_PORT (GPIOB)
|
||||||
#define ISC_I2C_SDA_PIN (GPIO_PIN_9)
|
#define ISC_I2C_SDA_PIN (GPIO_PIN_9)
|
||||||
#define ISC_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
#define ISC_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
||||||
#define ISC_I2C_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
|
#define ISC_I2C_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
|
||||||
@ -147,8 +148,9 @@
|
|||||||
#define FIR_I2C_AF (GPIO_AF4_I2C2)
|
#define FIR_I2C_AF (GPIO_AF4_I2C2)
|
||||||
#define FIR_I2C_CLK_ENABLE() __I2C2_CLK_ENABLE()
|
#define FIR_I2C_CLK_ENABLE() __I2C2_CLK_ENABLE()
|
||||||
#define FIR_I2C_CLK_DISABLE() __I2C2_CLK_DISABLE()
|
#define FIR_I2C_CLK_DISABLE() __I2C2_CLK_DISABLE()
|
||||||
#define FIR_I2C_PORT (GPIOB)
|
#define FIR_I2C_SCL_PORT (GPIOB)
|
||||||
#define FIR_I2C_SCL_PIN (GPIO_PIN_10)
|
#define FIR_I2C_SCL_PIN (GPIO_PIN_10)
|
||||||
|
#define FIR_I2C_SDA_PORT (GPIOB)
|
||||||
#define FIR_I2C_SDA_PIN (GPIO_PIN_11)
|
#define FIR_I2C_SDA_PIN (GPIO_PIN_11)
|
||||||
#define FIR_I2C_SPEED (CAMBUS_SPEED_FULL)
|
#define FIR_I2C_SPEED (CAMBUS_SPEED_FULL)
|
||||||
#define FIR_I2C_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET()
|
#define FIR_I2C_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET()
|
||||||
|
|||||||
@ -134,8 +134,9 @@
|
|||||||
#define ISC_I2C_AF (GPIO_AF4_I2C1)
|
#define ISC_I2C_AF (GPIO_AF4_I2C1)
|
||||||
#define ISC_I2C_CLK_ENABLE() __I2C1_CLK_ENABLE()
|
#define ISC_I2C_CLK_ENABLE() __I2C1_CLK_ENABLE()
|
||||||
#define ISC_I2C_CLK_DISABLE() __I2C1_CLK_DISABLE()
|
#define ISC_I2C_CLK_DISABLE() __I2C1_CLK_DISABLE()
|
||||||
#define ISC_I2C_PORT (GPIOB)
|
#define ISC_I2C_SCL_PORT (GPIOB)
|
||||||
#define ISC_I2C_SCL_PIN (GPIO_PIN_8)
|
#define ISC_I2C_SCL_PIN (GPIO_PIN_8)
|
||||||
|
#define ISC_I2C_SDA_PORT (GPIOB)
|
||||||
#define ISC_I2C_SDA_PIN (GPIO_PIN_9)
|
#define ISC_I2C_SDA_PIN (GPIO_PIN_9)
|
||||||
#define ISC_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
#define ISC_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
||||||
#define ISC_I2C_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
|
#define ISC_I2C_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
|
||||||
@ -147,8 +148,9 @@
|
|||||||
#define FIR_I2C_AF (GPIO_AF4_I2C2)
|
#define FIR_I2C_AF (GPIO_AF4_I2C2)
|
||||||
#define FIR_I2C_CLK_ENABLE() __I2C2_CLK_ENABLE()
|
#define FIR_I2C_CLK_ENABLE() __I2C2_CLK_ENABLE()
|
||||||
#define FIR_I2C_CLK_DISABLE() __I2C2_CLK_DISABLE()
|
#define FIR_I2C_CLK_DISABLE() __I2C2_CLK_DISABLE()
|
||||||
#define FIR_I2C_PORT (GPIOB)
|
#define FIR_I2C_SCL_PORT (GPIOB)
|
||||||
#define FIR_I2C_SCL_PIN (GPIO_PIN_10)
|
#define FIR_I2C_SCL_PIN (GPIO_PIN_10)
|
||||||
|
#define FIR_I2C_SDA_PORT (GPIOB)
|
||||||
#define FIR_I2C_SDA_PIN (GPIO_PIN_11)
|
#define FIR_I2C_SDA_PIN (GPIO_PIN_11)
|
||||||
#define FIR_I2C_SPEED (CAMBUS_SPEED_FULL)
|
#define FIR_I2C_SPEED (CAMBUS_SPEED_FULL)
|
||||||
#define FIR_I2C_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET()
|
#define FIR_I2C_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET()
|
||||||
|
|||||||
@ -212,8 +212,9 @@
|
|||||||
#define ISC_I2C_AF (GPIO_AF4_I2C1)
|
#define ISC_I2C_AF (GPIO_AF4_I2C1)
|
||||||
#define ISC_I2C_CLK_ENABLE() __I2C1_CLK_ENABLE()
|
#define ISC_I2C_CLK_ENABLE() __I2C1_CLK_ENABLE()
|
||||||
#define ISC_I2C_CLK_DISABLE() __I2C1_CLK_DISABLE()
|
#define ISC_I2C_CLK_DISABLE() __I2C1_CLK_DISABLE()
|
||||||
#define ISC_I2C_PORT (GPIOB)
|
#define ISC_I2C_SCL_PORT (GPIOB)
|
||||||
#define ISC_I2C_SCL_PIN (GPIO_PIN_8)
|
#define ISC_I2C_SCL_PIN (GPIO_PIN_8)
|
||||||
|
#define ISC_I2C_SDA_PORT (GPIOB)
|
||||||
#define ISC_I2C_SDA_PIN (GPIO_PIN_9)
|
#define ISC_I2C_SDA_PIN (GPIO_PIN_9)
|
||||||
#define ISC_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
#define ISC_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
||||||
#define ISC_I2C_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
|
#define ISC_I2C_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
|
||||||
@ -225,8 +226,9 @@
|
|||||||
#define FIR_I2C_AF (GPIO_AF4_I2C2)
|
#define FIR_I2C_AF (GPIO_AF4_I2C2)
|
||||||
#define FIR_I2C_CLK_ENABLE() __I2C2_CLK_ENABLE()
|
#define FIR_I2C_CLK_ENABLE() __I2C2_CLK_ENABLE()
|
||||||
#define FIR_I2C_CLK_DISABLE() __I2C2_CLK_DISABLE()
|
#define FIR_I2C_CLK_DISABLE() __I2C2_CLK_DISABLE()
|
||||||
#define FIR_I2C_PORT (GPIOB)
|
#define FIR_I2C_SCL_PORT (GPIOB)
|
||||||
#define FIR_I2C_SCL_PIN (GPIO_PIN_10)
|
#define FIR_I2C_SCL_PIN (GPIO_PIN_10)
|
||||||
|
#define FIR_I2C_SDA_PORT (GPIOB)
|
||||||
#define FIR_I2C_SDA_PIN (GPIO_PIN_11)
|
#define FIR_I2C_SDA_PIN (GPIO_PIN_11)
|
||||||
#define FIR_I2C_SPEED (CAMBUS_SPEED_FULL)
|
#define FIR_I2C_SPEED (CAMBUS_SPEED_FULL)
|
||||||
#define FIR_I2C_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET()
|
#define FIR_I2C_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET()
|
||||||
|
|||||||
@ -213,8 +213,9 @@
|
|||||||
#define ISC_I2C_AF (GPIO_AF4_I2C1)
|
#define ISC_I2C_AF (GPIO_AF4_I2C1)
|
||||||
#define ISC_I2C_CLK_ENABLE() __I2C1_CLK_ENABLE()
|
#define ISC_I2C_CLK_ENABLE() __I2C1_CLK_ENABLE()
|
||||||
#define ISC_I2C_CLK_DISABLE() __I2C1_CLK_DISABLE()
|
#define ISC_I2C_CLK_DISABLE() __I2C1_CLK_DISABLE()
|
||||||
#define ISC_I2C_PORT (GPIOB)
|
#define ISC_I2C_SCL_PORT (GPIOB)
|
||||||
#define ISC_I2C_SCL_PIN (GPIO_PIN_8)
|
#define ISC_I2C_SCL_PIN (GPIO_PIN_8)
|
||||||
|
#define ISC_I2C_SDA_PORT (GPIOB)
|
||||||
#define ISC_I2C_SDA_PIN (GPIO_PIN_9)
|
#define ISC_I2C_SDA_PIN (GPIO_PIN_9)
|
||||||
#define ISC_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
#define ISC_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
||||||
#define ISC_I2C_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
|
#define ISC_I2C_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
|
||||||
@ -226,8 +227,9 @@
|
|||||||
#define FIR_I2C_AF (GPIO_AF4_I2C2)
|
#define FIR_I2C_AF (GPIO_AF4_I2C2)
|
||||||
#define FIR_I2C_CLK_ENABLE() __I2C2_CLK_ENABLE()
|
#define FIR_I2C_CLK_ENABLE() __I2C2_CLK_ENABLE()
|
||||||
#define FIR_I2C_CLK_DISABLE() __I2C2_CLK_DISABLE()
|
#define FIR_I2C_CLK_DISABLE() __I2C2_CLK_DISABLE()
|
||||||
#define FIR_I2C_PORT (GPIOB)
|
#define FIR_I2C_SCL_PORT (GPIOB)
|
||||||
#define FIR_I2C_SCL_PIN (GPIO_PIN_10)
|
#define FIR_I2C_SCL_PIN (GPIO_PIN_10)
|
||||||
|
#define FIR_I2C_SDA_PORT (GPIOB)
|
||||||
#define FIR_I2C_SDA_PIN (GPIO_PIN_11)
|
#define FIR_I2C_SDA_PIN (GPIO_PIN_11)
|
||||||
#define FIR_I2C_SPEED (CAMBUS_SPEED_FULL)
|
#define FIR_I2C_SPEED (CAMBUS_SPEED_FULL)
|
||||||
#define FIR_I2C_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET()
|
#define FIR_I2C_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET()
|
||||||
|
|||||||
@ -211,8 +211,9 @@
|
|||||||
#define ISC_I2C_AF (GPIO_AF4_I2C1)
|
#define ISC_I2C_AF (GPIO_AF4_I2C1)
|
||||||
#define ISC_I2C_CLK_ENABLE() __I2C1_CLK_ENABLE()
|
#define ISC_I2C_CLK_ENABLE() __I2C1_CLK_ENABLE()
|
||||||
#define ISC_I2C_CLK_DISABLE() __I2C1_CLK_DISABLE()
|
#define ISC_I2C_CLK_DISABLE() __I2C1_CLK_DISABLE()
|
||||||
#define ISC_I2C_PORT (GPIOB)
|
#define ISC_I2C_SCL_PORT (GPIOB)
|
||||||
#define ISC_I2C_SCL_PIN (GPIO_PIN_8)
|
#define ISC_I2C_SCL_PIN (GPIO_PIN_8)
|
||||||
|
#define ISC_I2C_SDA_PORT (GPIOB)
|
||||||
#define ISC_I2C_SDA_PIN (GPIO_PIN_9)
|
#define ISC_I2C_SDA_PIN (GPIO_PIN_9)
|
||||||
#define ISC_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
#define ISC_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
||||||
#define ISC_I2C_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
|
#define ISC_I2C_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
|
||||||
@ -224,8 +225,9 @@
|
|||||||
#define FIR_I2C_AF (GPIO_AF4_I2C2)
|
#define FIR_I2C_AF (GPIO_AF4_I2C2)
|
||||||
#define FIR_I2C_CLK_ENABLE() __I2C2_CLK_ENABLE()
|
#define FIR_I2C_CLK_ENABLE() __I2C2_CLK_ENABLE()
|
||||||
#define FIR_I2C_CLK_DISABLE() __I2C2_CLK_DISABLE()
|
#define FIR_I2C_CLK_DISABLE() __I2C2_CLK_DISABLE()
|
||||||
#define FIR_I2C_PORT (GPIOB)
|
#define FIR_I2C_SCL_PORT (GPIOB)
|
||||||
#define FIR_I2C_SCL_PIN (GPIO_PIN_10)
|
#define FIR_I2C_SCL_PIN (GPIO_PIN_10)
|
||||||
|
#define FIR_I2C_SDA_PORT (GPIOB)
|
||||||
#define FIR_I2C_SDA_PIN (GPIO_PIN_11)
|
#define FIR_I2C_SDA_PIN (GPIO_PIN_11)
|
||||||
#define FIR_I2C_SPEED (CAMBUS_SPEED_FULL)
|
#define FIR_I2C_SPEED (CAMBUS_SPEED_FULL)
|
||||||
#define FIR_I2C_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET()
|
#define FIR_I2C_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET()
|
||||||
|
|||||||
@ -87,6 +87,10 @@
|
|||||||
|
|
||||||
// USB IRQn.
|
// USB IRQn.
|
||||||
#define OMV_USB_IRQN (OTG_HS_IRQn)
|
#define OMV_USB_IRQN (OTG_HS_IRQn)
|
||||||
|
#define OMV_USB_ULPI (1)
|
||||||
|
#define OMV_USB_ULPI_DIR_PORT (GPIOI)
|
||||||
|
#define OMV_USB_ULPI_DIR_PIN (11)
|
||||||
|
#define OMV_USB_ULPI_DIR_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE()
|
||||||
|
|
||||||
// Defined for cpu frequency scaling to override the revid.
|
// Defined for cpu frequency scaling to override the revid.
|
||||||
#define OMV_MAX_CPU_FREQ (400)
|
#define OMV_MAX_CPU_FREQ (400)
|
||||||
@ -218,8 +222,9 @@
|
|||||||
#define ISC_I2C_AF (GPIO_AF4_I2C3)
|
#define ISC_I2C_AF (GPIO_AF4_I2C3)
|
||||||
#define ISC_I2C_CLK_ENABLE() __I2C3_CLK_ENABLE()
|
#define ISC_I2C_CLK_ENABLE() __I2C3_CLK_ENABLE()
|
||||||
#define ISC_I2C_CLK_DISABLE() __I2C3_CLK_DISABLE()
|
#define ISC_I2C_CLK_DISABLE() __I2C3_CLK_DISABLE()
|
||||||
#define ISC_I2C_PORT (GPIOH)
|
#define ISC_I2C_SCL_PORT (GPIOH)
|
||||||
#define ISC_I2C_SCL_PIN (GPIO_PIN_7)
|
#define ISC_I2C_SCL_PIN (GPIO_PIN_7)
|
||||||
|
#define ISC_I2C_SDA_PORT (GPIOH)
|
||||||
#define ISC_I2C_SDA_PIN (GPIO_PIN_8)
|
#define ISC_I2C_SDA_PIN (GPIO_PIN_8)
|
||||||
#define ISC_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
#define ISC_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
||||||
#define ISC_I2C_FORCE_RESET() __HAL_RCC_I2C3_FORCE_RESET()
|
#define ISC_I2C_FORCE_RESET() __HAL_RCC_I2C3_FORCE_RESET()
|
||||||
@ -231,8 +236,9 @@
|
|||||||
#define ISC_I2C_ALT_AF (GPIO_AF4_I2C4)
|
#define ISC_I2C_ALT_AF (GPIO_AF4_I2C4)
|
||||||
#define ISC_I2C_ALT_CLK_ENABLE() __HAL_RCC_I2C4_CLK_ENABLE()
|
#define ISC_I2C_ALT_CLK_ENABLE() __HAL_RCC_I2C4_CLK_ENABLE()
|
||||||
#define ISC_I2C_ALT_CLK_DISABLE() __HAL_RCC_I2C4_CLK_DISABLE()
|
#define ISC_I2C_ALT_CLK_DISABLE() __HAL_RCC_I2C4_CLK_DISABLE()
|
||||||
#define ISC_I2C_ALT_PORT (GPIOH)
|
#define ISC_I2C_ALT_SCL_PORT (GPIOH)
|
||||||
#define ISC_I2C_ALT_SCL_PIN (GPIO_PIN_11)
|
#define ISC_I2C_ALT_SCL_PIN (GPIO_PIN_11)
|
||||||
|
#define ISC_I2C_ALT_SDA_PORT (GPIOH)
|
||||||
#define ISC_I2C_ALT_SDA_PIN (GPIO_PIN_12)
|
#define ISC_I2C_ALT_SDA_PIN (GPIO_PIN_12)
|
||||||
#define ISC_I2C_ALT_SPEED (CAMBUS_SPEED_STANDARD)
|
#define ISC_I2C_ALT_SPEED (CAMBUS_SPEED_STANDARD)
|
||||||
#define ISC_I2C_ALT_FORCE_RESET() __HAL_RCC_I2C4_FORCE_RESET()
|
#define ISC_I2C_ALT_FORCE_RESET() __HAL_RCC_I2C4_FORCE_RESET()
|
||||||
@ -244,8 +250,9 @@
|
|||||||
#define FIR_I2C_AF (GPIO_AF4_I2C3)
|
#define FIR_I2C_AF (GPIO_AF4_I2C3)
|
||||||
#define FIR_I2C_CLK_ENABLE() __I2C3_CLK_ENABLE()
|
#define FIR_I2C_CLK_ENABLE() __I2C3_CLK_ENABLE()
|
||||||
#define FIR_I2C_CLK_DISABLE() __I2C3_CLK_DISABLE()
|
#define FIR_I2C_CLK_DISABLE() __I2C3_CLK_DISABLE()
|
||||||
#define FIR_I2C_PORT (GPIOH)
|
#define FIR_I2C_SCL_PORT (GPIOH)
|
||||||
#define FIR_I2C_SCL_PIN (GPIO_PIN_7)
|
#define FIR_I2C_SCL_PIN (GPIO_PIN_7)
|
||||||
|
#define FIR_I2C_SDA_PORT (GPIOH)
|
||||||
#define FIR_I2C_SDA_PIN (GPIO_PIN_8)
|
#define FIR_I2C_SDA_PIN (GPIO_PIN_8)
|
||||||
#define FIR_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
#define FIR_I2C_SPEED (CAMBUS_SPEED_STANDARD)
|
||||||
#define FIR_I2C_FORCE_RESET() __HAL_RCC_I2C3_FORCE_RESET()
|
#define FIR_I2C_FORCE_RESET() __HAL_RCC_I2C3_FORCE_RESET()
|
||||||
|
|||||||
@ -121,15 +121,15 @@ int cambus_init(cambus_t *bus, uint32_t bus_id, uint32_t speed)
|
|||||||
|
|
||||||
// Our code only knows about these two I2Cs instances.
|
// Our code only knows about these two I2Cs instances.
|
||||||
if (bus->i2c->Instance == FIR_I2C) {
|
if (bus->i2c->Instance == FIR_I2C) {
|
||||||
bus->scl_pin = (omv_gpio_t) {FIR_I2C_SCL_PIN, FIR_I2C_PORT};
|
bus->scl_pin = (omv_gpio_t) {FIR_I2C_SCL_PIN, FIR_I2C_SCL_PORT};
|
||||||
bus->sda_pin = (omv_gpio_t) {FIR_I2C_SDA_PIN, FIR_I2C_PORT};
|
bus->sda_pin = (omv_gpio_t) {FIR_I2C_SDA_PIN, FIR_I2C_SDA_PORT};
|
||||||
} else if (bus->i2c->Instance == ISC_I2C) {
|
} else if (bus->i2c->Instance == ISC_I2C) {
|
||||||
bus->scl_pin = (omv_gpio_t) {ISC_I2C_SCL_PIN, ISC_I2C_PORT};
|
bus->scl_pin = (omv_gpio_t) {ISC_I2C_SCL_PIN, ISC_I2C_SCL_PORT};
|
||||||
bus->sda_pin = (omv_gpio_t) {ISC_I2C_SDA_PIN, ISC_I2C_PORT};
|
bus->sda_pin = (omv_gpio_t) {ISC_I2C_SDA_PIN, ISC_I2C_SDA_PORT};
|
||||||
#if defined(ISC_I2C_ALT)
|
#if defined(ISC_I2C_ALT)
|
||||||
} else if (bus->i2c->Instance == ISC_I2C_ALT) {
|
} else if (bus->i2c->Instance == ISC_I2C_ALT) {
|
||||||
bus->scl_pin = (omv_gpio_t) {ISC_I2C_ALT_SCL_PIN, ISC_I2C_ALT_PORT};
|
bus->scl_pin = (omv_gpio_t) {ISC_I2C_ALT_SCL_PIN, ISC_I2C_ALT_SCL_PORT};
|
||||||
bus->sda_pin = (omv_gpio_t) {ISC_I2C_ALT_SDA_PIN, ISC_I2C_ALT_PORT};
|
bus->sda_pin = (omv_gpio_t) {ISC_I2C_ALT_SDA_PIN, ISC_I2C_ALT_SDA_PORT};
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -269,10 +269,10 @@ void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)
|
|||||||
GPIO_InitStructure.Alternate = ISC_I2C_AF;
|
GPIO_InitStructure.Alternate = ISC_I2C_AF;
|
||||||
|
|
||||||
GPIO_InitStructure.Pin = ISC_I2C_SCL_PIN;
|
GPIO_InitStructure.Pin = ISC_I2C_SCL_PIN;
|
||||||
HAL_GPIO_Init(ISC_I2C_PORT, &GPIO_InitStructure);
|
HAL_GPIO_Init(ISC_I2C_SCL_PORT, &GPIO_InitStructure);
|
||||||
|
|
||||||
GPIO_InitStructure.Pin = ISC_I2C_SDA_PIN;
|
GPIO_InitStructure.Pin = ISC_I2C_SDA_PIN;
|
||||||
HAL_GPIO_Init(ISC_I2C_PORT, &GPIO_InitStructure);
|
HAL_GPIO_Init(ISC_I2C_SDA_PORT, &GPIO_InitStructure);
|
||||||
#if defined(ISC_I2C_ALT)
|
#if defined(ISC_I2C_ALT)
|
||||||
} else if (hi2c->Instance == ISC_I2C_ALT) {
|
} else if (hi2c->Instance == ISC_I2C_ALT) {
|
||||||
/* Enable I2C clock */
|
/* Enable I2C clock */
|
||||||
@ -286,10 +286,10 @@ void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)
|
|||||||
GPIO_InitStructure.Alternate = ISC_I2C_ALT_AF;
|
GPIO_InitStructure.Alternate = ISC_I2C_ALT_AF;
|
||||||
|
|
||||||
GPIO_InitStructure.Pin = ISC_I2C_ALT_SCL_PIN;
|
GPIO_InitStructure.Pin = ISC_I2C_ALT_SCL_PIN;
|
||||||
HAL_GPIO_Init(ISC_I2C_ALT_PORT, &GPIO_InitStructure);
|
HAL_GPIO_Init(ISC_I2C_ALT_SCL_PORT, &GPIO_InitStructure);
|
||||||
|
|
||||||
GPIO_InitStructure.Pin = ISC_I2C_ALT_SDA_PIN;
|
GPIO_InitStructure.Pin = ISC_I2C_ALT_SDA_PIN;
|
||||||
HAL_GPIO_Init(ISC_I2C_ALT_PORT, &GPIO_InitStructure);
|
HAL_GPIO_Init(ISC_I2C_ALT_SDA_PORT, &GPIO_InitStructure);
|
||||||
#endif
|
#endif
|
||||||
} else if (hi2c->Instance == FIR_I2C) {
|
} else if (hi2c->Instance == FIR_I2C) {
|
||||||
/* Enable I2C clock */
|
/* Enable I2C clock */
|
||||||
@ -303,10 +303,10 @@ void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)
|
|||||||
GPIO_InitStructure.Alternate = FIR_I2C_AF;
|
GPIO_InitStructure.Alternate = FIR_I2C_AF;
|
||||||
|
|
||||||
GPIO_InitStructure.Pin = FIR_I2C_SCL_PIN;
|
GPIO_InitStructure.Pin = FIR_I2C_SCL_PIN;
|
||||||
HAL_GPIO_Init(FIR_I2C_PORT, &GPIO_InitStructure);
|
HAL_GPIO_Init(FIR_I2C_SCL_PORT, &GPIO_InitStructure);
|
||||||
|
|
||||||
GPIO_InitStructure.Pin = FIR_I2C_SDA_PIN;
|
GPIO_InitStructure.Pin = FIR_I2C_SDA_PIN;
|
||||||
HAL_GPIO_Init(FIR_I2C_PORT, &GPIO_InitStructure);
|
HAL_GPIO_Init(FIR_I2C_SDA_PORT, &GPIO_InitStructure);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,9 +11,10 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "ulpi.h"
|
#include "ulpi.h"
|
||||||
#include "omv_boardconfig.h"
|
#include "omv_boardconfig.h"
|
||||||
|
|
||||||
|
#if (OMV_USB_ULPI == 1)
|
||||||
#include STM32_HAL_H
|
#include STM32_HAL_H
|
||||||
|
|
||||||
#if defined(STM32F7) || defined(STM32H7)
|
|
||||||
#define USBULPI_PHYCR ((uint32_t)(0x40040000 + 0x034))
|
#define USBULPI_PHYCR ((uint32_t)(0x40040000 + 0x034))
|
||||||
#define USBULPI_D07 ((uint32_t)0x000000FF)
|
#define USBULPI_D07 ((uint32_t)0x000000FF)
|
||||||
#define USBULPI_New ((uint32_t)0x02000000)
|
#define USBULPI_New ((uint32_t)0x02000000)
|
||||||
@ -161,7 +162,7 @@ void ulpi_leave_low_power(void)
|
|||||||
|
|
||||||
/* Enable GPIO clock for OTG USB STP pin */
|
/* Enable GPIO clock for OTG USB STP pin */
|
||||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||||
__HAL_RCC_GPIOI_CLK_ENABLE();
|
OMV_USB_ULPI_DIR_CLK_ENABLE();
|
||||||
|
|
||||||
/* Set OTG STP pin as GP Output */
|
/* Set OTG STP pin as GP Output */
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_0;
|
GPIO_InitStruct.Pin = GPIO_PIN_0;
|
||||||
@ -170,11 +171,11 @@ void ulpi_leave_low_power(void)
|
|||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||||
|
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_11;
|
GPIO_InitStruct.Pin = OMV_USB_ULPI_DIR_PIN;
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
|
HAL_GPIO_Init(OMV_USB_ULPI_DIR_PORT, &GPIO_InitStruct);
|
||||||
|
|
||||||
/* Set OTG STP pin to High */
|
/* Set OTG STP pin to High */
|
||||||
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_0, GPIO_PIN_SET);
|
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_0, GPIO_PIN_SET);
|
||||||
@ -182,7 +183,7 @@ void ulpi_leave_low_power(void)
|
|||||||
/* Wait for DIR to go low */
|
/* Wait for DIR to go low */
|
||||||
for (uint32_t ticks = HAL_GetTick();
|
for (uint32_t ticks = HAL_GetTick();
|
||||||
((HAL_GetTick() - ticks) < 500)
|
((HAL_GetTick() - ticks) < 500)
|
||||||
&& HAL_GPIO_ReadPin(GPIOI, GPIO_PIN_11);) {
|
&& HAL_GPIO_ReadPin(OMV_USB_ULPI_DIR_PORT, OMV_USB_ULPI_DIR_PIN);) {
|
||||||
__WFI();
|
__WFI();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,10 +192,10 @@ void ulpi_leave_low_power(void)
|
|||||||
GPIO_InitStruct.Alternate = GPIO_AF10_OTG_HS;
|
GPIO_InitStruct.Alternate = GPIO_AF10_OTG_HS;
|
||||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||||
|
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_11;
|
GPIO_InitStruct.Pin = OMV_USB_ULPI_DIR_PIN;
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF10_OTG_HS;
|
GPIO_InitStruct.Alternate = GPIO_AF10_OTG_HS;
|
||||||
HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
|
HAL_GPIO_Init(OMV_USB_ULPI_DIR_PORT, &GPIO_InitStruct);
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif // defined(STM32F7) || defined(STM32H7)
|
#endif // (OMV_USB_ULPI == 1)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user