1 /* 2 * 3 * (c) 2009 Ilya Yanok, Emcraft Systems <yanok@emcraft.com> 4 * 5 * Modified for mx25 by John Rigby <jrigby@gmail.com> 6 * 7 * SPDX-License-Identifier: GPL-2.0+ 8 */ 9 10 #ifndef __ASM_ARCH_CLOCK_H 11 #define __ASM_ARCH_CLOCK_H 12 13 #include <common.h> 14 15 #ifdef CONFIG_MX25_HCLK_FREQ 16 #define MXC_HCLK CONFIG_MX25_HCLK_FREQ 17 #else 18 #define MXC_HCLK 24000000 19 #endif 20 21 #ifdef CONFIG_MX25_CLK32 22 #define MXC_CLK32 CONFIG_MX25_CLK32 23 #else 24 #define MXC_CLK32 32768 25 #endif 26 27 enum mxc_clock { 28 /* PER clocks (do not change order) */ 29 MXC_CSI_CLK, 30 MXC_EPIT_CLK, 31 MXC_ESAI_CLK, 32 MXC_ESDHC1_CLK, 33 MXC_ESDHC2_CLK, 34 MXC_GPT_CLK, 35 MXC_I2C_CLK, 36 MXC_LCDC_CLK, 37 MXC_NFC_CLK, 38 MXC_OWIRE_CLK, 39 MXC_PWM_CLK, 40 MXC_SIM1_CLK, 41 MXC_SIM2_CLK, 42 MXC_SSI1_CLK, 43 MXC_SSI2_CLK, 44 MXC_UART_CLK, 45 /* Other clocks */ 46 MXC_ARM_CLK, 47 MXC_AHB_CLK, 48 MXC_IPG_CLK, 49 MXC_CSPI_CLK, 50 MXC_FEC_CLK, 51 MXC_CLK_NUM 52 }; 53 54 int imx_set_perclk(enum mxc_clock clk, bool from_upll, unsigned int freq); 55 unsigned int mxc_get_clock(enum mxc_clock clk); 56 57 #define imx_get_uartclk() mxc_get_clock(MXC_UART_CLK) 58 #define imx_get_fecclk() mxc_get_clock(MXC_FEC_CLK) 59 60 #endif /* __ASM_ARCH_CLOCK_H */ 61