soc: nxp: ke1xf: set ip clock in dts

Move the selection of the IP clock source for the modules in the NXP
Kinetis KE1xF SoCs from being hardcoded in soc.c to being specified in
the device tree.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This commit is contained in:
Henrik Brix Andersen 2019-07-28 23:48:23 +02:00 committed by Maureen Helm
commit e4f191aaf6
4 changed files with 71 additions and 49 deletions

View file

@ -163,47 +163,50 @@ static ALWAYS_INLINE void clk_init(void)
CLOCK_GetCurSysClkConfig(&current);
} while (current.src != scg_sys_clk_config.src);
#ifdef CONFIG_UART_MCUX_LPUART_0
CLOCK_SetIpSrc(kCLOCK_Lpuart0, kCLOCK_IpSrcFircAsync);
#ifdef DT_NXP_KINETIS_LPUART_UART_0_CLOCK_IP_SOURCE
CLOCK_SetIpSrc(kCLOCK_Lpuart0,
DT_NXP_KINETIS_LPUART_UART_0_CLOCK_IP_SOURCE);
#endif
#ifdef CONFIG_UART_MCUX_LPUART_1
CLOCK_SetIpSrc(kCLOCK_Lpuart1, kCLOCK_IpSrcFircAsync);
#ifdef DT_NXP_KINETIS_LPUART_UART_1_CLOCK_IP_SOURCE
CLOCK_SetIpSrc(kCLOCK_Lpuart1,
DT_NXP_KINETIS_LPUART_UART_1_CLOCK_IP_SOURCE);
#endif
#ifdef CONFIG_UART_MCUX_LPUART_2
CLOCK_SetIpSrc(kCLOCK_Lpuart2, kCLOCK_IpSrcFircAsync);
#ifdef DT_NXP_KINETIS_LPUART_UART_2_CLOCK_IP_SOURCE
CLOCK_SetIpSrc(kCLOCK_Lpuart2,
DT_NXP_KINETIS_LPUART_UART_2_CLOCK_IP_SOURCE);
#endif
#ifdef CONFIG_I2C_0
CLOCK_SetIpSrc(kCLOCK_Lpi2c0, kCLOCK_IpSrcFircAsync);
#ifdef DT_NXP_IMX_LPI2C_I2C_0_CLOCK_IP_SOURCE
CLOCK_SetIpSrc(kCLOCK_Lpi2c0, DT_NXP_IMX_LPI2C_I2C_0_CLOCK_IP_SOURCE);
#endif
#ifdef CONFIG_I2C_1
CLOCK_SetIpSrc(kCLOCK_Lpi2c1, kCLOCK_IpSrcFircAsync);
#ifdef DT_NXP_IMX_LPI2C_I2C_1_CLOCK_IP_SOURCE
CLOCK_SetIpSrc(kCLOCK_Lpi2c1, DT_NXP_IMX_LPI2C_I2C_1_CLOCK_IP_SOURCE);
#endif
#ifdef CONFIG_SPI_0
CLOCK_SetIpSrc(kCLOCK_Lpspi0, kCLOCK_IpSrcFircAsync);
#ifdef DT_NXP_IMX_LPSPI_SPI_0_CLOCK_IP_SOURCE
CLOCK_SetIpSrc(kCLOCK_Lpspi0, DT_NXP_IMX_LPSPI_SPI_0_CLOCK_IP_SOURCE);
#endif
#ifdef CONFIG_SPI_1
CLOCK_SetIpSrc(kCLOCK_Lpspi1, kCLOCK_IpSrcFircAsync);
#ifdef DT_NXP_IMX_LPSPI_SPI_1_CLOCK_IP_SOURCE
CLOCK_SetIpSrc(kCLOCK_Lpspi1, DT_NXP_IMX_LPSPI_SPI_1_CLOCK_IP_SOURCE);
#endif
#ifdef CONFIG_ADC_0
CLOCK_SetIpSrc(kCLOCK_Adc0, kCLOCK_IpSrcFircAsync);
#ifdef DT_NXP_KINETIS_ADC12_ADC_0_CLOCK_IP_SOURCE
CLOCK_SetIpSrc(kCLOCK_Adc0, DT_NXP_KINETIS_ADC12_ADC_0_CLOCK_IP_SOURCE);
#endif
#ifdef CONFIG_ADC_1
CLOCK_SetIpSrc(kCLOCK_Adc1, kCLOCK_IpSrcFircAsync);
#ifdef DT_NXP_KINETIS_ADC12_ADC_1_CLOCK_IP_SOURCE
CLOCK_SetIpSrc(kCLOCK_Adc1, DT_NXP_KINETIS_ADC12_ADC_1_CLOCK_IP_SOURCE);
#endif
#ifdef CONFIG_ADC_2
CLOCK_SetIpSrc(kCLOCK_Adc2, kCLOCK_IpSrcFircAsync);
#ifdef DT_NXP_KINETIS_ADC12_ADC_2_CLOCK_IP_SOURCE
CLOCK_SetIpSrc(kCLOCK_Adc2, DT_NXP_KINETIS_ADC12_ADC_2_CLOCK_IP_SOURCE);
#endif
#ifdef CONFIG_PWM_0
CLOCK_SetIpSrc(kCLOCK_Ftm0, kCLOCK_IpSrcFircAsync);
#ifdef DT_NXP_KINETIS_FTM_FTM_0_CLOCK_IP_SOURCE
CLOCK_SetIpSrc(kCLOCK_Ftm0, DT_NXP_KINETIS_FTM_FTM_0_CLOCK_IP_SOURCE);
#endif
#ifdef CONFIG_PWM_1
CLOCK_SetIpSrc(kCLOCK_Ftm1, kCLOCK_IpSrcFircAsync);
#ifdef DT_NXP_KINETIS_FTM_FTM_1_CLOCK_IP_SOURCE
CLOCK_SetIpSrc(kCLOCK_Ftm1, DT_NXP_KINETIS_FTM_FTM_1_CLOCK_IP_SOURCE);
#endif
#ifdef CONFIG_PWM_2
CLOCK_SetIpSrc(kCLOCK_Ftm2, kCLOCK_IpSrcFircAsync);
#ifdef DT_NXP_KINETIS_FTM_FTM_2_CLOCK_IP_SOURCE
CLOCK_SetIpSrc(kCLOCK_Ftm2, DT_NXP_KINETIS_FTM_FTM_2_CLOCK_IP_SOURCE);
#endif
#ifdef CONFIG_PWM_3
CLOCK_SetIpSrc(kCLOCK_Ftm3, kCLOCK_IpSrcFircAsync);
#ifdef DT_NXP_KINETIS_FTM_FTM_3_CLOCK_IP_SOURCE
CLOCK_SetIpSrc(kCLOCK_Ftm3, DT_NXP_KINETIS_FTM_FTM_3_CLOCK_IP_SOURCE);
#endif
}