blob: efbe038bb9b781c89a6a71f7911a1dcdbb7ebb4d [file] [log] [blame]
John Rigby552ff8f2010-01-25 23:12:56 -07001/*
2 *
3 * (c) 2009 Ilya Yanok, Emcraft Systems <yanok@emcraft.com>
4 *
5 * Modified for mx25 by John Rigby <jrigby@gmail.com>
6 *
7 * See file CREDITS for list of people who contributed to this
8 * project.
9 *
10 * This program is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of
13 * the License, or (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23 * MA 02111-1307 USA
24 */
25
26#ifndef __ASM_ARCH_CLOCK_H
27#define __ASM_ARCH_CLOCK_H
28
Benoît Thébaudeau1b2080f2012-08-21 11:05:12 +000029#include <common.h>
30
31#ifdef CONFIG_MX25_HCLK_FREQ
32#define MXC_HCLK CONFIG_MX25_HCLK_FREQ
33#else
34#define MXC_HCLK 24000000
35#endif
36
37#ifdef CONFIG_MX25_CLK32
38#define MXC_CLK32 CONFIG_MX25_CLK32
39#else
40#define MXC_CLK32 32768
41#endif
42
Timo Ketola42d25322012-04-18 22:55:28 +000043enum mxc_clock {
Benoît Thébaudeauc3b51892012-09-27 10:27:28 +000044 /* PER clocks (do not change order) */
Timo Ketola42d25322012-04-18 22:55:28 +000045 MXC_CSI_CLK,
46 MXC_EPIT_CLK,
47 MXC_ESAI_CLK,
48 MXC_ESDHC1_CLK,
49 MXC_ESDHC2_CLK,
50 MXC_GPT_CLK,
51 MXC_I2C_CLK,
52 MXC_LCDC_CLK,
53 MXC_NFC_CLK,
54 MXC_OWIRE_CLK,
55 MXC_PWM_CLK,
56 MXC_SIM1_CLK,
57 MXC_SIM2_CLK,
58 MXC_SSI1_CLK,
59 MXC_SSI2_CLK,
60 MXC_UART_CLK,
Benoît Thébaudeauc3b51892012-09-27 10:27:28 +000061 /* Other clocks */
Timo Ketola42d25322012-04-18 22:55:28 +000062 MXC_ARM_CLK,
Benoît Thébaudeauc3b51892012-09-27 10:27:28 +000063 MXC_AHB_CLK,
64 MXC_IPG_CLK,
65 MXC_CSPI_CLK,
Timo Ketola42d25322012-04-18 22:55:28 +000066 MXC_FEC_CLK,
67 MXC_CLK_NUM
68};
69
Timo Ketola42d25322012-04-18 22:55:28 +000070unsigned int mxc_get_clock(enum mxc_clock clk);
John Rigby552ff8f2010-01-25 23:12:56 -070071
Benoît Thébaudeau9baefa42012-09-27 10:27:57 +000072#define imx_get_uartclk() mxc_get_clock(MXC_UART_CLK)
73#define imx_get_fecclk() mxc_get_clock(MXC_FEC_CLK)
74
John Rigby552ff8f2010-01-25 23:12:56 -070075#endif /* __ASM_ARCH_CLOCK_H */