|
|
|
@ -60,7 +60,6 @@
@@ -60,7 +60,6 @@
|
|
|
|
|
#define STM32_HSI_FREQUENCY 16000000ul |
|
|
|
|
#define STM32_LSI_FREQUENCY 32000 |
|
|
|
|
#define STM32_HSE_FREQUENCY STM32_BOARD_XTAL |
|
|
|
|
#define STM32_LSE_FREQUENCY 0 |
|
|
|
|
|
|
|
|
|
/* Main PLL Configuration.
|
|
|
|
|
* |
|
|
|
@ -82,7 +81,6 @@
@@ -82,7 +81,6 @@
|
|
|
|
|
* PLLP2,3 = {2, 3, 4, ..., 128} |
|
|
|
|
* CPUCLK <= 480 MHz |
|
|
|
|
*/ |
|
|
|
|
#define STM32_PLLCFG_PLLSRC RCC_PLLCKSELR_PLLSRC_HSE |
|
|
|
|
|
|
|
|
|
/* PLL1, wide 4 - 8 MHz input, enable DIVP, DIVQ, DIVR
|
|
|
|
|
* |
|
|
|
@ -108,12 +106,12 @@
@@ -108,12 +106,12 @@
|
|
|
|
|
#define STM32_PLLCFG_PLL2CFG (RCC_PLLCFGR_PLL2VCOSEL_WIDE|RCC_PLLCFGR_PLL2RGE_4_8_MHZ|RCC_PLLCFGR_DIVP2EN|RCC_PLLCFGR_DIVQ2EN|RCC_PLLCFGR_DIVR2EN) |
|
|
|
|
#define STM32_PLLCFG_PLL2M RCC_PLLCKSELR_DIVM2(2) |
|
|
|
|
#define STM32_PLLCFG_PLL2N RCC_PLL2DIVR_N2(30) |
|
|
|
|
#define STM32_PLLCFG_PLL2P RCC_PLL2DIVR_P2(2) |
|
|
|
|
#define STM32_PLLCFG_PLL2P RCC_PLL2DIVR_P2(4) |
|
|
|
|
#define STM32_PLLCFG_PLL2Q RCC_PLL2DIVR_Q2(5) |
|
|
|
|
#define STM32_PLLCFG_PLL2R RCC_PLL2DIVR_R2(1) |
|
|
|
|
|
|
|
|
|
#define STM32_VCO2_FREQUENCY ((STM32_HSE_FREQUENCY / 2) * 30) |
|
|
|
|
#define STM32_PLL2P_FREQUENCY (STM32_VCO2_FREQUENCY / 2) |
|
|
|
|
#define STM32_PLL2P_FREQUENCY (STM32_VCO2_FREQUENCY / 4) |
|
|
|
|
#define STM32_PLL2Q_FREQUENCY (STM32_VCO2_FREQUENCY / 5) |
|
|
|
|
#define STM32_PLL2R_FREQUENCY (STM32_VCO2_FREQUENCY / 1) |
|
|
|
|
|
|
|
|
@ -186,36 +184,28 @@
@@ -186,36 +184,28 @@
|
|
|
|
|
/* Kernel Clock Configuration
|
|
|
|
|
* Note: look at Table 54 in ST Manual |
|
|
|
|
*/ |
|
|
|
|
#define STM32_RCC_D1CCIPR_SDMMCSEL RCC_D1CCIPR_SDMMC_PLL1 |
|
|
|
|
|
|
|
|
|
#define STM32_RCC_D2CCIP2R_I2C123SRC RCC_D2CCIP2R_I2C123SEL_HSI /* I2C123 clock source */ |
|
|
|
|
#define STM32_RCC_D2CCIP1R_SPI123SRC RCC_D2CCIP1R_SPI123SEL_PLL2 /* SPI123 clock source */ |
|
|
|
|
#define STM32_RCC_D2CCIP1R_SPI45SRC RCC_D2CCIP1R_SPI45SEL_PLL2 /* SPI45 clock source */ |
|
|
|
|
#define STM32_RCC_D3CCIPR_SPI6SRC RCC_D3CCIPR_SPI6SEL_PLL2 /* SPI6 clock source */ |
|
|
|
|
#define STM32_RCC_D2CCIP2R_USBSRC RCC_D2CCIP2R_USBSEL_PLL3 /* USB 1 and 2 clock source */ |
|
|
|
|
#define STM32_RCC_D3CCIPR_ADCSEL RCC_D3CCIPR_ADCSEL_PLL2 /* ADC 1 2 3 clock source */ |
|
|
|
|
#define STM32_RCC_D2CCIP1R_FDCANSEL RCC_D2CCIP1R_FDCANSEL_HSE /* FDCAN 1 2 clock source */ |
|
|
|
|
|
|
|
|
|
#define STM32_FDCANCLK STM32_HSE_FREQUENCY |
|
|
|
|
#define STM32_RCC_D3CCIPR_ADCSEL RCC_D3CCIPR_ADCSEL_PLL2 /* ADC 1 2 3 clock source */ |
|
|
|
|
|
|
|
|
|
/* FLASH wait states */ |
|
|
|
|
#define BOARD_FLASH_WAITSTATES 2 |
|
|
|
|
|
|
|
|
|
/* SDMMC definitions ********************************************************/ |
|
|
|
|
/* Init 400kHz, freq = PLL1Q/(2*div) div = PLL1Q/(2*freq) */ |
|
|
|
|
#define STM32_SDMMC_INIT_CLKDIV (300 << STM32_SDMMC_CLKCR_CLKDIV_SHIFT) |
|
|
|
|
#define STM32_SDMMC_INIT_CLKDIV (125 << STM32_SDMMC_CLKCR_CLKDIV_SHIFT) |
|
|
|
|
|
|
|
|
|
/* 25 MHz Max for now, 25 mHZ = PLL1Q/(2*div), div = PLL1Q/(2*freq)
|
|
|
|
|
* div = 4.8 = 240 / 50, So round up to 5 for default speed 24 MB/s |
|
|
|
|
* div = 100 / (2*25) |
|
|
|
|
*/ |
|
|
|
|
#if defined(CONFIG_STM32H7_SDMMC_XDMA) || defined(CONFIG_STM32H7_SDMMC_IDMA) |
|
|
|
|
# define STM32_SDMMC_MMCXFR_CLKDIV (5 << STM32_SDMMC_CLKCR_CLKDIV_SHIFT) |
|
|
|
|
#else |
|
|
|
|
# define STM32_SDMMC_MMCXFR_CLKDIV (100 << STM32_SDMMC_CLKCR_CLKDIV_SHIFT) |
|
|
|
|
#endif |
|
|
|
|
#if defined(CONFIG_STM32H7_SDMMC_XDMA) || defined(CONFIG_STM32H7_SDMMC_IDMA) |
|
|
|
|
# define STM32_SDMMC_SDXFR_CLKDIV (5 << STM32_SDMMC_CLKCR_CLKDIV_SHIFT) |
|
|
|
|
#else |
|
|
|
|
# define STM32_SDMMC_SDXFR_CLKDIV (100 << STM32_SDMMC_CLKCR_CLKDIV_SHIFT) |
|
|
|
|
#endif |
|
|
|
|
#define STM32_SDMMC_MMCXFR_CLKDIV (2 << STM32_SDMMC_CLKCR_CLKDIV_SHIFT) |
|
|
|
|
#define STM32_SDMMC_SDXFR_CLKDIV (2 << STM32_SDMMC_CLKCR_CLKDIV_SHIFT) |
|
|
|
|
|
|
|
|
|
#define STM32_SDMMC_CLKCR_EDGE STM32_SDMMC_CLKCR_NEGEDGE |
|
|
|
|
|
|
|
|
|