|
| #define | STM32_SRC_HSE (STM32_SRC_LSI + 1) |
| | System clock.
|
| |
| #define | STM32_SRC_HSI (STM32_SRC_HSE + 1) |
| |
| #define | STM32_SRC_PLL1_P (STM32_SRC_HSI + 1) |
| | PLL outputs.
|
| |
| #define | STM32_SRC_PLL2_P (STM32_SRC_PLL1_P + 1) |
| |
| #define | STM32_SRC_PLL2_Q (STM32_SRC_PLL2_P + 1) |
| |
| #define | STM32_SRC_PLL2_R (STM32_SRC_PLL2_Q + 1) |
| |
| #define | STM32_SRC_PLL3_P (STM32_SRC_PLL2_R + 1) |
| |
| #define | STM32_SRC_PLL3_Q (STM32_SRC_PLL3_P + 1) |
| |
| #define | STM32_SRC_PLL3_R (STM32_SRC_PLL3_Q + 1) |
| |
| #define | STM32_SRC_PLL4_P (STM32_SRC_PLL3_R + 1) |
| |
| #define | STM32_SRC_PLL4_Q (STM32_SRC_PLL4_P + 1) |
| |
| #define | STM32_SRC_PLL4_R (STM32_SRC_PLL4_Q + 1) |
| |
| #define | STM32_CLOCK_BUS_APB1 0x700 |
| | Bus clocks.
|
| |
| #define | STM32_CLOCK_BUS_APB2 0x708 |
| |
| #define | STM32_CLOCK_BUS_APB3 0x710 |
| |
| #define | STM32_CLOCK_BUS_APB3_S 0x718 |
| |
| #define | STM32_CLOCK_BUS_APB4 0x728 |
| |
| #define | STM32_CLOCK_BUS_APB4_NS 0x738 |
| |
| #define | STM32_CLOCK_BUS_APB5 0x740 |
| |
| #define | STM32_CLOCK_BUS_APB6 0x748 |
| |
| #define | STM32_CLOCK_BUS_AHB2 0x750 |
| |
| #define | STM32_CLOCK_BUS_AHB4 0x768 |
| |
| #define | STM32_CLOCK_BUS_AHB5 0x778 |
| |
| #define | STM32_CLOCK_BUS_AHB6 0x780 |
| |
| #define | STM32_PERIPH_BUS_MIN STM32_CLOCK_BUS_APB1 |
| |
| #define | STM32_PERIPH_BUS_MAX STM32_CLOCK_BUS_AHB6 |
| |
| #define | MCO1CFGR_REG 0x460 |
| | Device domain clocks selection helpers.
|
| |
| #define | MCO2CFGR_REG 0x464 |
| |
| #define | I2C12CKSELR_REG 0x600 |
| |
| #define | I2C345CKSELR_REG 0x604 |
| |
| #define | SPI2S1CKSELR_REG 0x608 |
| |
| #define | SPI2S23CKSELR_REG 0x60c |
| |
| #define | SPI45CKSELR_REG 0x610 |
| |
| #define | UART12CKSELR_REG 0x614 |
| |
| #define | UART35CKSELR_REG 0x618 |
| |
| #define | UART4CKSELR_REG 0x61c |
| |
| #define | UART6CKSELR_REG 0x620 |
| |
| #define | UART78CKSELR_REG 0x624 |
| |
| #define | LPTIM1CKSELR_REG 0x628 |
| |
| #define | LPTIM23CKSELR_REG 0x62c |
| |
| #define | LPTIM45CKSELR_REG 0x630 |
| |
| #define | SAI1CKSELR_REG 0x634 |
| |
| #define | SAI2CKSELR_REG 0x638 |
| |
| #define | FDCANCKSELR_REG 0x63c |
| |
| #define | SPDIFCKSELR_REG 0x640 |
| |
| #define | ADC12CKSELR_REG 0x644 |
| |
| #define | SDMMC12CKSELR_REG 0x648 |
| |
| #define | ETH12CKSELR_REG 0x64c |
| |
| #define | USBCKSELR_REG 0x650 |
| |
| #define | QSPICKSELR_REG 0x654 |
| |
| #define | FMCCKSELR_REG 0x658 |
| |
| #define | RNG1CKSELR_REG 0x65c |
| |
| #define | STGENCKSELR_REG 0x660 |
| |
| #define | DCMIPPCKSELR_REG 0x664 |
| |
| #define | SAESCKSELR_REG 0x668 |
| |
| #define | MCO1_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, MCO1CFGR_REG) |
| | MCO1CFGR / MCO2CFGR devices.
|
| |
| #define | MCO1_PRE(val) STM32_DT_CLOCK_SELECT((val), 7, 4, MCO1CFGR_REG) |
| |
| #define | MCO2_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, MCO2CFGR_REG) |
| |
| #define | MCO2_PRE(val) STM32_DT_CLOCK_SELECT((val), 7, 4, MCO2CFGR_REG) |
| |
| #define | MCOX_ON BIT(12) |
| |
| #define | MCO1_SEL_HSI 0 |
| |
| #define | MCO1_SEL_HSE 1 |
| |
| #define | MCO1_SEL_CSI 2 |
| |
| #define | MCO1_SEL_LSI 3 |
| |
| #define | MCO1_SEL_LSE 4 |
| |
| #define | MCO2_SEL_MPU 0 |
| |
| #define | MCO2_SEL_AXI 1 |
| |
| #define | MCO2_SEL_MLAHB 2 |
| |
| #define | MCO2_SEL_PLL4 3 |
| |
| #define | MCO2_SEL_HSE 4 |
| |
| #define | MCO2_SEL_HSI 5 |
| |
| #define | MCO_PRE_DIV_1 0 |
| |
| #define | MCO_PRE_DIV_2 1 |
| |
| #define | MCO_PRE_DIV_3 2 |
| |
| #define | MCO_PRE_DIV_4 3 |
| |
| #define | MCO_PRE_DIV_5 4 |
| |
| #define | MCO_PRE_DIV_6 5 |
| |
| #define | MCO_PRE_DIV_7 6 |
| |
| #define | MCO_PRE_DIV_8 7 |
| |
| #define | MCO_PRE_DIV_9 8 |
| |
| #define | MCO_PRE_DIV_10 9 |
| |
| #define | MCO_PRE_DIV_11 10 |
| |
| #define | MCO_PRE_DIV_12 11 |
| |
| #define | MCO_PRE_DIV_13 12 |
| |
| #define | MCO_PRE_DIV_14 13 |
| |
| #define | MCO_PRE_DIV_15 14 |
| |
| #define | MCO_PRE_DIV_16 15 |
| |
| #define | I2C12_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, I2C12CKSELR_REG) |
| |
| #define | I2C3_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, I2C345CKSELR_REG) |
| |
| #define | I2C4_SEL(val) STM32_DT_CLOCK_SELECT((val), 5, 3, I2C345CKSELR_REG) |
| |
| #define | I2C5_SEL(val) STM32_DT_CLOCK_SELECT((val), 8, 6, I2C345CKSELR_REG) |
| |
| #define | SPI1_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, SPI2S1CKSELR_REG) |
| |
| #define | SPI23_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, SPI2S23CKSELR_REG) |
| |
| #define | SPI4_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, SPI45CKSELR_REG) |
| |
| #define | SPI5_SEL(val) STM32_DT_CLOCK_SELECT((val), 5, 3, SPI45CKSELR_REG) |
| |
| #define | UART1_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, UART12CKSELR_REG) |
| |
| #define | UART2_SEL(val) STM32_DT_CLOCK_SELECT((val), 5, 3, UART12CKSELR_REG) |
| |
| #define | UART35_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, UART35CKSELR_REG) |
| |
| #define | UART4_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, UART4CKSELR_REG) |
| |
| #define | UART6_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, UART6CKSELR_REG) |
| |
| #define | UART78_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, UART78CKSELR_REG) |
| |
| #define | LPTIME1_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, LPTIM1CKSELR_REG) |
| |
| #define | LPTIME2_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, LPTIM23CKSELR_REG) |
| |
| #define | LPTIME3_SEL(val) STM32_DT_CLOCK_SELECT((val), 5, 3, LPTIM23CKSELR_REG) |
| |
| #define | LPTIME45_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, LPTIM45CKSELR_REG) |
| |
| #define | SAI1_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, SAI1CKSELR_REG) |
| |
| #define | SAI2_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, SAI2CKSELR_REG) |
| |
| #define | FDCAN_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 0, FDCANCKSELR_REG) |
| |
| #define | SPDIF_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 0, SPDIFCKSELR_REG) |
| |
| #define | ADC1_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 0, ADC12CKSELR_REG) |
| |
| #define | ADC2_SEL(val) STM32_DT_CLOCK_SELECT((val), 3, 2, ADC12CKSELR_REG) |
| |
| #define | SDMMC1_SEL(val) STM32_DT_CLOCK_SELECT((val), 2, 0, SDMMC12CKSELR_REG) |
| |
| #define | SDMMC2_SEL(val) STM32_DT_CLOCK_SELECT((val), 5, 3, SDMMC12CKSELR_REG) |
| |
| #define | ETH1_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 0, ETH12CKSELR_REG) |
| |
| #define | ETH2_SEL(val) STM32_DT_CLOCK_SELECT((val), 9, 8, ETH12CKSELR_REG) |
| |
| #define | USBPHY_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 0, USBCKSELR_REG) |
| |
| #define | USBOTG_SEL(val) STM32_DT_CLOCK_SELECT((val), 4, 4, USBCKSELR_REG) |
| |
| #define | QSPI_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 0, QSPICKSELR_REG) |
| |
| #define | FMC_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 0, FMCCKSELR_REG) |
| |
| #define | RNG1_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 0, RNG1CKSELR_REG) |
| |
| #define | STGEN_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 0, STGENCKSELR_REG) |
| |
| #define | DCMIPP_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 0, DCMIPPCKSELR_REG) |
| |
| #define | SAES_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 0, SAESCKSELR_REG) |
| |