public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] mx31: Define default SoC input clock frequencies
Date: Tue, 21 Aug 2012 23:06:03 +0200 (CEST)	[thread overview]
Message-ID: <597890668.2662868.1345583163254.JavaMail.root@advansee.com> (raw)

Define default SoC input clock frequencies for i.MX31 in order to get rid of
duplicated definitions.

Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Helmut Raiger <helmut.raiger@hale.at>
---
 .../arch/arm/cpu/arm1136/mx31/generic.c            |    4 ++--
 .../arch/arm/cpu/arm1136/mx31/timer.c              |   16 ++++++++--------
 .../arch/arm/include/asm/arch-mx31/clock.h         |   14 ++++++++++++++
 .../include/configs/imx31_litekit.h                |    1 -
 .../include/configs/imx31_phycore.h                |    1 -
 .../include/configs/mx31ads.h                      |    2 --
 .../include/configs/mx31pdk.h                      |    2 --
 .../include/configs/qong.h                         |    2 --
 .../include/configs/tt01.h                         |    2 --
 9 files changed, 24 insertions(+), 20 deletions(-)

diff --git u-boot-imx-88e73dd.orig/arch/arm/cpu/arm1136/mx31/generic.c u-boot-imx-88e73dd/arch/arm/cpu/arm1136/mx31/generic.c
index 8873fb7..7b53437 100644
--- u-boot-imx-88e73dd.orig/arch/arm/cpu/arm1136/mx31/generic.c
+++ u-boot-imx-88e73dd/arch/arm/cpu/arm1136/mx31/generic.c
@@ -47,9 +47,9 @@ static u32 mx31_get_mpl_dpdgck_clk(void)
 	u32 infreq;
 
 	if ((readl(CCM_CCMR) & CCMR_PRCS_MASK) == CCMR_FPM)
-		infreq = CONFIG_MX31_CLK32 * 1024;
+		infreq = MXC_CLK32 * 1024;
 	else
-		infreq = CONFIG_MX31_HCLK_FREQ;
+		infreq = MXC_HCLK;
 
 	return mx31_decode_pll(readl(CCM_MPCTL), infreq);
 }
diff --git u-boot-imx-88e73dd.orig/arch/arm/cpu/arm1136/mx31/timer.c u-boot-imx-88e73dd/arch/arm/cpu/arm1136/mx31/timer.c
index 72081a8..36266da 100644
--- u-boot-imx-88e73dd.orig/arch/arm/cpu/arm1136/mx31/timer.c
+++ u-boot-imx-88e73dd/arch/arm/cpu/arm1136/mx31/timer.c
@@ -23,6 +23,7 @@
 
 #include <common.h>
 #include <asm/arch/imx-regs.h>
+#include <asm/arch/clock.h>
 #include <div64.h>
 #include <watchdog.h>
 #include <asm/io.h>
@@ -53,28 +54,27 @@ DECLARE_GLOBAL_DATA_PTR;
 static inline unsigned long long tick_to_time(unsigned long long tick)
 {
 	tick *= CONFIG_SYS_HZ;
-	do_div(tick, CONFIG_MX31_CLK32);
+	do_div(tick, MXC_CLK32);
 	return tick;
 }
 
 static inline unsigned long long time_to_tick(unsigned long long time)
 {
-	time *= CONFIG_MX31_CLK32;
+	time *= MXC_CLK32;
 	do_div(time, CONFIG_SYS_HZ);
 	return time;
 }
 
 static inline unsigned long long us_to_tick(unsigned long long us)
 {
-	us = us * CONFIG_MX31_CLK32 + 999999;
+	us = us * MXC_CLK32 + 999999;
 	do_div(us, 1000000);
 	return us;
 }
 #else
 /* ~2% error */
-#define TICK_PER_TIME	((CONFIG_MX31_CLK32 + CONFIG_SYS_HZ / 2) \
-							/ CONFIG_SYS_HZ)
-#define US_PER_TICK	(1000000 / CONFIG_MX31_CLK32)
+#define TICK_PER_TIME	((MXC_CLK32 + CONFIG_SYS_HZ / 2) / CONFIG_SYS_HZ)
+#define US_PER_TICK	(1000000 / MXC_CLK32)
 
 static inline unsigned long long tick_to_time(unsigned long long tick)
 {
@@ -128,7 +128,7 @@ ulong get_timer_masked(void)
 {
 	/*
 	 * get_ticks() returns a long long (64 bit), it wraps in
-	 * 2^64 / CONFIG_MX31_CLK32 = 2^64 / 2^15 = 2^49 ~ 5 * 10^14 (s) ~
+	 * 2^64 / MXC_CLK32 = 2^64 / 2^15 = 2^49 ~ 5 * 10^14 (s) ~
 	 * 5 * 10^9 days... and get_ticks() * CONFIG_SYS_HZ wraps in
 	 * 5 * 10^6 days - long enough.
 	 */
@@ -159,7 +159,7 @@ void __udelay(unsigned long usec)
  */
 ulong get_tbclk(void)
 {
-	return CONFIG_MX31_CLK32;
+	return MXC_CLK32;
 }
 
 void reset_cpu(ulong addr)
diff --git u-boot-imx-88e73dd.orig/arch/arm/include/asm/arch-mx31/clock.h u-boot-imx-88e73dd/arch/arm/include/asm/arch-mx31/clock.h
index 852c19c..9468b45 100644
--- u-boot-imx-88e73dd.orig/arch/arm/include/asm/arch-mx31/clock.h
+++ u-boot-imx-88e73dd/arch/arm/include/asm/arch-mx31/clock.h
@@ -24,6 +24,20 @@
 #ifndef __ASM_ARCH_CLOCK_H
 #define __ASM_ARCH_CLOCK_H
 
+#include <common.h>
+
+#ifdef CONFIG_MX31_HCLK_FREQ
+#define MXC_HCLK	CONFIG_MX31_HCLK_FREQ
+#else
+#define MXC_HCLK	26000000
+#endif
+
+#ifdef CONFIG_MX31_CLK32
+#define MXC_CLK32	CONFIG_MX31_CLK32
+#else
+#define MXC_CLK32	32768
+#endif
+
 enum mxc_clock {
 	MXC_ARM_CLK,
 	MXC_IPG_CLK,
diff --git u-boot-imx-88e73dd.orig/include/configs/imx31_litekit.h u-boot-imx-88e73dd/include/configs/imx31_litekit.h
index a340e97..4af6c4b 100644
--- u-boot-imx-88e73dd.orig/include/configs/imx31_litekit.h
+++ u-boot-imx-88e73dd/include/configs/imx31_litekit.h
@@ -33,7 +33,6 @@
  /* High Level Configuration Options */
 #define CONFIG_ARM1136		1    /* This is an arm1136 CPU core */
 #define CONFIG_MX31		1    /* in a mx31 */
-#define CONFIG_MX31_HCLK_FREQ	26000000
 #define CONFIG_MX31_CLK32	32000
 
 #define CONFIG_DISPLAY_CPUINFO
diff --git u-boot-imx-88e73dd.orig/include/configs/imx31_phycore.h u-boot-imx-88e73dd/include/configs/imx31_phycore.h
index a412cf6..bf763f6 100644
--- u-boot-imx-88e73dd.orig/include/configs/imx31_phycore.h
+++ u-boot-imx-88e73dd/include/configs/imx31_phycore.h
@@ -33,7 +33,6 @@
 /* High Level Configuration Options */
 #define CONFIG_ARM1136			/* This is an arm1136 CPU core */
 #define CONFIG_MX31			/* in a mx31 */
-#define CONFIG_MX31_HCLK_FREQ	26000000
 #define CONFIG_MX31_CLK32	32000
 
 #define CONFIG_DISPLAY_CPUINFO
diff --git u-boot-imx-88e73dd.orig/include/configs/mx31ads.h u-boot-imx-88e73dd/include/configs/mx31ads.h
index cc720e8..205319d 100644
--- u-boot-imx-88e73dd.orig/include/configs/mx31ads.h
+++ u-boot-imx-88e73dd/include/configs/mx31ads.h
@@ -27,8 +27,6 @@
  /* High Level Configuration Options */
 #define CONFIG_ARM1136		1		/* This is an arm1136 CPU core */
 #define CONFIG_MX31		1		/* in a mx31 */
-#define CONFIG_MX31_HCLK_FREQ	26000000	/* RedBoot says 26MHz */
-#define CONFIG_MX31_CLK32	32768
 
 #define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_DISPLAY_BOARDINFO
diff --git u-boot-imx-88e73dd.orig/include/configs/mx31pdk.h u-boot-imx-88e73dd/include/configs/mx31pdk.h
index 7634de7..7f5d209 100644
--- u-boot-imx-88e73dd.orig/include/configs/mx31pdk.h
+++ u-boot-imx-88e73dd/include/configs/mx31pdk.h
@@ -35,8 +35,6 @@
 /* High Level Configuration Options */
 #define CONFIG_ARM1136			/* This is an arm1136 CPU core */
 #define CONFIG_MX31			/* in a mx31 */
-#define CONFIG_MX31_HCLK_FREQ	26000000
-#define CONFIG_MX31_CLK32	32768
 
 #define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_DISPLAY_BOARDINFO
diff --git u-boot-imx-88e73dd.orig/include/configs/qong.h u-boot-imx-88e73dd/include/configs/qong.h
index e824e17..2ca6b5f 100644
--- u-boot-imx-88e73dd.orig/include/configs/qong.h
+++ u-boot-imx-88e73dd/include/configs/qong.h
@@ -28,8 +28,6 @@
 #define CONFIG_ARM1136			/* This is an arm1136 CPU core */
 #define CONFIG_MX31			/* in a mx31 */
 #define CONFIG_QONG
-#define CONFIG_MX31_HCLK_FREQ	26000000	/* 26MHz */
-#define CONFIG_MX31_CLK32	32768
 
 #define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_DISPLAY_BOARDINFO
diff --git u-boot-imx-88e73dd.orig/include/configs/tt01.h u-boot-imx-88e73dd/include/configs/tt01.h
index 2b2e7fd..900366f 100644
--- u-boot-imx-88e73dd.orig/include/configs/tt01.h
+++ u-boot-imx-88e73dd/include/configs/tt01.h
@@ -31,8 +31,6 @@
 /* High Level Configuration Options */
 #define CONFIG_ARM1136
 #define CONFIG_MX31
-#define CONFIG_MX31_HCLK_FREQ	26000000
-#define CONFIG_MX31_CLK32	32768
 
 #define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_DISPLAY_BOARDINFO

             reply	other threads:[~2012-08-21 21:06 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-21 21:06 Benoît Thébaudeau [this message]
2012-09-06 12:24 ` [U-Boot] [PATCH] mx31: Define default SoC input clock frequencies Stefano Babic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=597890668.2662868.1345583163254.JavaMail.root@advansee.com \
    --to=benoit.thebaudeau@advansee.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox