summaryrefslogtreecommitdiff
path: root/arch/arm/imx-common
diff options
context:
space:
mode:
authorPeng Fan <Peng.Fan@freescale.com>2015-03-09 10:22:41 +0800
committerMax Krummenacher <max.krummenacher@toradex.com>2016-03-09 14:42:08 +0100
commit7dc005c14c660534a3a5eadd418df5e3de9ffc6c (patch)
treeb94dcbf243d6d2f6677e79d54096f8e674ec663e /arch/arm/imx-common
parenta20b71abe81262920cf679b34eedc63a407a84a1 (diff)
MLK-10176-6 imx: mx7: Modify GPT timer driver for mx7
Modify the GPT common platform driver for mx7 which only use 24Mhz OSC as clock source. Note: at default, the mx7d will use system counter as timer. The GPT is disabled. Signed-off-by: Ye.Li <B37916@freescale.com> (cherry picked from commit 6e250796d6a07d84093eeae96e5a6e4c593cdb0b) Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Diffstat (limited to 'arch/arm/imx-common')
-rw-r--r--arch/arm/imx-common/timer.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/arm/imx-common/timer.c b/arch/arm/imx-common/timer.c
index e522990453..c9eb530c96 100644
--- a/arch/arm/imx-common/timer.c
+++ b/arch/arm/imx-common/timer.c
@@ -2,7 +2,7 @@
* (C) Copyright 2007
* Sascha Hauer, Pengutronix
*
- * (C) Copyright 2009 Freescale Semiconductor, Inc.
+ * (C) Copyright 2009-2015 Freescale Semiconductor, Inc.
*
* SPDX-License-Identifier: GPL-2.0+
*/
@@ -49,6 +49,8 @@ static inline int gpt_has_clk_source_osc(void)
return 1;
return 0;
+#elif defined(CONFIG_MX7)
+ return 1;
#else
return 0;
#endif
@@ -56,6 +58,9 @@ static inline int gpt_has_clk_source_osc(void)
static inline ulong gpt_get_clk(void)
{
+#if defined(CONFIG_MX7)
+ return MXC_HCLK >> 3;
+#else
#ifdef CONFIG_MXC_GPT_HCLK
if (gpt_has_clk_source_osc())
return MXC_HCLK >> 3;
@@ -64,6 +69,7 @@ static inline ulong gpt_get_clk(void)
#else
return MXC_CLK32;
#endif
+#endif
}
static inline unsigned long long tick_to_time(unsigned long long tick)
{
@@ -106,7 +112,8 @@ int timer_init(void)
/* For DL/S, SX, set 24Mhz OSC Enable bit and prescaler */
if (is_cpu_type(MXC_CPU_MX6DL) ||
is_cpu_type(MXC_CPU_MX6SOLO) ||
- is_cpu_type(MXC_CPU_MX6SX)) {
+ is_cpu_type(MXC_CPU_MX6SX) ||
+ is_cpu_type(MXC_CPU_MX7D)) {
i |= GPTCR_24MEN;
/* Produce 3Mhz clock */