All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Jarrige <eric.jarrige@armadeus.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 6/9] mx1: improve PLL freq computation
Date: Wed, 10 Aug 2011 22:33:30 +0200	[thread overview]
Message-ID: <20110810203330.21204.88742.stgit@shuttle2.etheralp.ch> (raw)
In-Reply-To: <20110810200828.21204.60050.stgit@shuttle2.etheralp.ch>

Improve PLL freq computation by using the full resolution of the PLL registers

Signed-off-by: Eric Jarrige <eric.jarrige@armadeus.org>
Cc: Stefano Babic <sbabic@denx.de>
---
 arch/arm/cpu/arm920t/imx/speed.c |   29 +++++++++++------------------
 1 files changed, 11 insertions(+), 18 deletions(-)

diff --git a/arch/arm/cpu/arm920t/imx/speed.c b/arch/arm/cpu/arm920t/imx/speed.c
index 1e29698..b1c2bd6 100644
--- a/arch/arm/cpu/arm920t/imx/speed.c
+++ b/arch/arm/cpu/arm920t/imx/speed.c
@@ -36,33 +36,26 @@
  * the specified bus in HZ.
  */
 /* ------------------------------------------------------------------------- */
-
-ulong get_systemPLLCLK(void)
+static ulong get_PLLCLK(u32 sys_clk_freq, u32 pllctl0)
 {
 	/* FIXME: We assume System_SEL = 0 here */
-	u32 spctl0 = SPCTL0;
-	u32 mfi = (spctl0 >> 10) & 0xf;
-	u32 mfn = spctl0 & 0x3f;
-	u32 mfd = (spctl0 >> 16) & 0x3f;
-	u32 pd =  (spctl0 >> 26) & 0xf;
+	u32 mfi = (pllctl0 >> 10) & 0xf;
+	u32 mfn = pllctl0 & 0x3ff;
+	u32 mfd = (pllctl0 >> 16) & 0x3ff;
+	u32 pd =  (pllctl0 >> 26) & 0xf;
 
 	mfi = mfi<=5 ? 5 : mfi;
+	return (2*(u64)sys_clk_freq * (mfi*(mfd+1) + mfn))/((mfd+1)*(pd+1));
+}
 
-	return (2*(CONFIG_SYSPLL_CLK_FREQ>>10)*( (mfi<<10) + (mfn<<10)/(mfd+1)))/(pd+1);
+ulong get_systemPLLCLK(void)
+{
+	return get_PLLCLK(CONFIG_SYSPLL_CLK_FREQ, SPCTL0);
 }
 
 ulong get_mcuPLLCLK(void)
 {
-	/* FIXME: We assume System_SEL = 0 here */
-	u32 mpctl0 = MPCTL0;
-	u32 mfi = (mpctl0 >> 10) & 0xf;
-	u32 mfn = mpctl0 & 0x3f;
-	u32 mfd = (mpctl0 >> 16) & 0x3f;
-	u32 pd =  (mpctl0 >> 26) & 0xf;
-
-	mfi = mfi<=5 ? 5 : mfi;
-
-	return (2*(CONFIG_SYS_CLK_FREQ>>10)*( (mfi<<10) + (mfn<<10)/(mfd+1)))/(pd+1);
+	return get_PLLCLK(CONFIG_SYS_CLK_FREQ, MPCTL0);
 }
 
 ulong get_FCLK(void)

  parent reply	other threads:[~2011-08-10 20:33 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-10 20:33 [U-Boot] [PATCH 0/9] Series short description Eric Jarrige
2011-08-10 20:33 ` [U-Boot] [PATCH 1/9] mx1: export imx_gpio_mode() function Eric Jarrige
2011-08-10 20:33 ` [U-Boot] [PATCH 2/9] mx1: add i2c registers Eric Jarrige
2011-08-11  8:52   ` Stefano Babic
2011-08-11 23:49     ` Eric Jarrige
2011-10-06 22:04   ` Wolfgang Denk
2011-08-10 20:33 ` [U-Boot] [PATCH 3/9] apf9328: Add Armadeus Project board APF9328 Eric Jarrige
2011-08-11  8:50   ` Stefano Babic
2011-08-11 23:41     ` Eric Jarrige
2011-08-12  6:49       ` Stefano Babic
2011-08-17  7:31         ` Igor Grinberg
2011-08-17 21:58           ` Eric Jarrige
2011-08-18  6:20             ` Igor Grinberg
2011-08-18  8:51             ` Stefano Babic
2011-08-10 20:33 ` [U-Boot] [PATCH 4/9] apf9328: add apf9328 board in Makefile Eric Jarrige
2011-08-10 20:33 ` [U-Boot] [PATCH 5/9] apf9328: add default board configuration file Eric Jarrige
2011-08-11  9:21   ` Stefano Babic
2011-08-15 20:25     ` Eric Jarrige
2011-08-23  9:46       ` Stefano Babic
2011-08-24  4:50         ` Eric Jarrige
2011-08-23 11:26       ` Wolfgang Denk
2011-08-24  4:56         ` Eric Jarrige
2011-08-24  5:49           ` Wolfgang Denk
2011-08-24  6:34             ` Wolfgang Denk
2011-08-24 23:01               ` Eric Jarrige
2011-08-24 22:26             ` Eric Jarrige
2011-08-24 22:56               ` Wolfgang Denk
2011-08-24  6:22           ` Stefano Babic
2011-08-24 23:08             ` Eric Jarrige
2011-10-06 22:03   ` Wolfgang Denk
2011-08-10 20:33 ` Eric Jarrige [this message]
2011-08-11  9:22   ` [U-Boot] [PATCH 6/9] mx1: improve PLL freq computation Stefano Babic
2011-08-12  0:03     ` Eric Jarrige
2011-08-12  0:28       ` Eric Jarrige
2011-08-12  6:51       ` Stefano Babic
2011-08-10 20:33 ` [U-Boot] [PATCH 7/9] mx1: change a printf in speed.c to use debug instead Eric Jarrige
2011-08-10 20:33 ` [U-Boot] [PATCH 8/9] DM9000: change some printf " Eric Jarrige
2011-08-11  7:26   ` Simon Schwarz
2011-08-11  8:01     ` Detlev Zundel
2011-08-11 10:51       ` Eric Jarrige
2011-08-24 20:20         ` Wolfgang Denk
2011-08-24 23:04           ` Eric Jarrige
2011-08-25  3:19             ` Marek Vasut
2011-08-25  5:49             ` Wolfgang Denk
2011-08-11  9:27   ` Stefano Babic
2011-08-10 20:33 ` [U-Boot] [PATCH 9/9] arm920t: Fix jump to the relocated board_init_r Eric Jarrige

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=20110810203330.21204.88742.stgit@shuttle2.etheralp.ch \
    --to=eric.jarrige@armadeus.org \
    --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.