1
2
3
4
5
6
7
8
9#ifndef __ASM_ARCH_CLOCK_H
10#define __ASM_ARCH_CLOCK_H
11
12#include <common.h>
13
14#ifdef CONFIG_MX25_HCLK_FREQ
15#define MXC_HCLK CONFIG_MX25_HCLK_FREQ
16#else
17#define MXC_HCLK 24000000
18#endif
19
20#ifdef CONFIG_MX25_CLK32
21#define MXC_CLK32 CONFIG_MX25_CLK32
22#else
23#define MXC_CLK32 32768
24#endif
25
26enum mxc_clock {
27
28 MXC_CSI_CLK,
29 MXC_EPIT_CLK,
30 MXC_ESAI_CLK,
31 MXC_ESDHC1_CLK,
32 MXC_ESDHC2_CLK,
33 MXC_GPT_CLK,
34 MXC_I2C_CLK,
35 MXC_LCDC_CLK,
36 MXC_NFC_CLK,
37 MXC_OWIRE_CLK,
38 MXC_PWM_CLK,
39 MXC_SIM1_CLK,
40 MXC_SIM2_CLK,
41 MXC_SSI1_CLK,
42 MXC_SSI2_CLK,
43 MXC_UART_CLK,
44
45 MXC_ARM_CLK,
46 MXC_AHB_CLK,
47 MXC_IPG_CLK,
48 MXC_CSPI_CLK,
49 MXC_FEC_CLK,
50 MXC_CLK_NUM
51};
52
53int imx_set_perclk(enum mxc_clock clk, bool from_upll, unsigned int freq);
54unsigned int mxc_get_clock(enum mxc_clock clk);
55
56#define imx_get_uartclk() mxc_get_clock(MXC_UART_CLK)
57#define imx_get_fecclk() mxc_get_clock(MXC_FEC_CLK)
58
59#endif
60