All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] mx25: Define default SoC input clock frequencies
Date: Tue, 21 Aug 2012 23:05:12 +0200 (CEST)	[thread overview]
Message-ID: <937003692.2662845.1345583112027.JavaMail.root@advansee.com> (raw)

Define default SoC input clock frequencies for i.MX25 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: Matthias Weisser <weisserm@arcor.de>
---
 .../arch/arm/cpu/arm926ejs/mx25/generic.c          |    2 +-
 .../arch/arm/cpu/arm926ejs/mx25/timer.c            |   16 ++++++++--------
 .../arch/arm/include/asm/arch-mx25/clock.h         |   14 ++++++++++++++
 .../include/configs/mx25pdk.h                      |    1 -
 .../include/configs/zmx25.h                        |    1 -
 5 files changed, 23 insertions(+), 11 deletions(-)

diff --git u-boot-imx-88e73dd.orig/arch/arm/cpu/arm926ejs/mx25/generic.c u-boot-imx-88e73dd/arch/arm/cpu/arm926ejs/mx25/generic.c
index a412a8f..90e584a 100644
--- u-boot-imx-88e73dd.orig/arch/arm/cpu/arm926ejs/mx25/generic.c
+++ u-boot-imx-88e73dd/arch/arm/cpu/arm926ejs/mx25/generic.c
@@ -64,7 +64,7 @@ static unsigned int imx_decode_pll(unsigned int pll, unsigned int f_ref)
 static ulong imx_get_mpllclk(void)
 {
 	struct ccm_regs *ccm = (struct ccm_regs *)IMX_CCM_BASE;
-	ulong fref = 24000000;
+	ulong fref = MXC_HCLK;
 
 	return imx_decode_pll(readl(&ccm->mpctl), fref);
 }
diff --git u-boot-imx-88e73dd.orig/arch/arm/cpu/arm926ejs/mx25/timer.c u-boot-imx-88e73dd/arch/arm/cpu/arm926ejs/mx25/timer.c
index 1cfd02b..4dc4041 100644
--- u-boot-imx-88e73dd.orig/arch/arm/cpu/arm926ejs/mx25/timer.c
+++ u-boot-imx-88e73dd/arch/arm/cpu/arm926ejs/mx25/timer.c
@@ -40,6 +40,7 @@
 #include <div64.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
+#include <asm/arch/clock.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -55,28 +56,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_MX25_CLK32);
+	do_div(tick, MXC_CLK32);
 	return tick;
 }
 
 static inline unsigned long long time_to_tick(unsigned long long time)
 {
-	time *= CONFIG_MX25_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_MX25_CLK32 + 999999;
+	us = us * MXC_CLK32 + 999999;
 	do_div(us, 1000000);
 	return us;
 }
 #else
 /* ~2% error */
-#define TICK_PER_TIME	((CONFIG_MX25_CLK32 + CONFIG_SYS_HZ / 2) / \
-		CONFIG_SYS_HZ)
-#define US_PER_TICK	(1000000 / CONFIG_MX25_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)
 {
@@ -144,7 +144,7 @@ ulong get_timer_masked(void)
 {
 	/*
 	 * get_ticks() returns a long long (64 bit), it wraps in
-	 * 2^64 / CONFIG_MX25_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.
 	 */
@@ -177,6 +177,6 @@ ulong get_tbclk(void)
 {
 	ulong tbclk;
 
-	tbclk = CONFIG_MX25_CLK32;
+	tbclk = MXC_CLK32;
 	return tbclk;
 }
diff --git u-boot-imx-88e73dd.orig/arch/arm/include/asm/arch-mx25/clock.h u-boot-imx-88e73dd/arch/arm/include/asm/arch-mx25/clock.h
index 0f47eaf..a313b80 100644
--- u-boot-imx-88e73dd.orig/arch/arm/include/asm/arch-mx25/clock.h
+++ u-boot-imx-88e73dd/arch/arm/include/asm/arch-mx25/clock.h
@@ -26,6 +26,20 @@
 #ifndef __ASM_ARCH_CLOCK_H
 #define __ASM_ARCH_CLOCK_H
 
+#include <common.h>
+
+#ifdef CONFIG_MX25_HCLK_FREQ
+#define MXC_HCLK	CONFIG_MX25_HCLK_FREQ
+#else
+#define MXC_HCLK	24000000
+#endif
+
+#ifdef CONFIG_MX25_CLK32
+#define MXC_CLK32	CONFIG_MX25_CLK32
+#else
+#define MXC_CLK32	32768
+#endif
+
 enum mxc_clock {
 	MXC_CSI_CLK,
 	MXC_EPIT_CLK,
diff --git u-boot-imx-88e73dd.orig/include/configs/mx25pdk.h u-boot-imx-88e73dd/include/configs/mx25pdk.h
index efca287..21fc96b 100644
--- u-boot-imx-88e73dd.orig/include/configs/mx25pdk.h
+++ u-boot-imx-88e73dd/include/configs/mx25pdk.h
@@ -17,7 +17,6 @@
 
 /* High Level Configuration Options */
 
-#define CONFIG_MX25_CLK32		32768	/* OSC32K frequency */
 #define CONFIG_SYS_HZ			1000
 #define CONFIG_SYS_TEXT_BASE		0x81200000
 
diff --git u-boot-imx-88e73dd.orig/include/configs/zmx25.h u-boot-imx-88e73dd/include/configs/zmx25.h
index c9f737d..56060f1 100644
--- u-boot-imx-88e73dd.orig/include/configs/zmx25.h
+++ u-boot-imx-88e73dd/include/configs/zmx25.h
@@ -28,7 +28,6 @@
 
 #define CONFIG_ARM926EJS			/* arm926ejs CPU core */
 #define CONFIG_MX25
-#define CONFIG_MX25_CLK32		32768	/* OSC32K frequency */
 #define CONFIG_SYS_HZ			1000
 #define CONFIG_SYS_TEXT_BASE		0xA0000000
 

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

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-21 21:05 Benoît Thébaudeau [this message]
2012-09-06  9:03 ` [U-Boot] [PATCH] mx25: 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=937003692.2662845.1345583112027.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.