1
2
3
4
5
6
7
8
9#ifndef __CLOCK_H__
10#define __CLOCK_H__
11
12enum mxc_clock {
13 MXC_ARM_CLK = 0,
14 MXC_AHB_CLK,
15 MXC_IPG_CLK,
16 MXC_EMI_CLK,
17 MXC_GPMI_CLK,
18 MXC_IO0_CLK,
19 MXC_IO1_CLK,
20 MXC_XTAL_CLK,
21 MXC_SSP0_CLK,
22#ifdef CONFIG_MX28
23 MXC_SSP1_CLK,
24 MXC_SSP2_CLK,
25 MXC_SSP3_CLK,
26#endif
27};
28
29enum mxs_ioclock {
30 MXC_IOCLK0 = 0,
31 MXC_IOCLK1,
32};
33
34enum mxs_sspclock {
35 MXC_SSPCLK0 = 0,
36#ifdef CONFIG_MX28
37 MXC_SSPCLK1,
38 MXC_SSPCLK2,
39 MXC_SSPCLK3,
40#endif
41};
42
43uint32_t mxc_get_clock(enum mxc_clock clk);
44
45void mxs_set_ioclk(enum mxs_ioclock io, uint32_t freq);
46void mxs_set_sspclk(enum mxs_sspclock ssp, uint32_t freq, int xtal);
47void mxs_set_ssp_busclock(unsigned int bus, uint32_t freq);
48void mxs_set_lcdclk(uint32_t __maybe_unused lcd_base, uint32_t freq);
49
50
51#define imx_get_fecclk() mxc_get_clock(MXC_AHB_CLK)
52
53#endif
54