From: Timur Tabi <timur@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] [PATCH] Fix calculation of I2C clock for some 86xx chips
Date: Fri, 4 Apr 2008 11:16:11 -0500 [thread overview]
Message-ID: <1207325771-1374-1-git-send-email-timur@freescale.com> (raw)
Some 86xx chips use CCB as the base clock for the I2C, and others used CCB/2.
There is no pattern that can be used to determine which chips use which
frequency, so the only way to determine is to look up the actual SOC
designation and use the right value for that SOC.
Signed-off-by: Timur Tabi <timur@freescale.com>
---
Yes, this is ugly and stupid, but the only alternative is to update each
board configuration file with another CONFIG_ option. And yes, this does
mean that as new 86xx variants are announced, cpu/mpc86xx/speed.c may need
to be updated.
cpu/mpc86xx/speed.c | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/cpu/mpc86xx/speed.c b/cpu/mpc86xx/speed.c
index 7e884f8..da5b58b 100644
--- a/cpu/mpc86xx/speed.c
+++ b/cpu/mpc86xx/speed.c
@@ -105,8 +105,20 @@ int get_clocks(void)
get_sys_info(&sys_info);
gd->cpu_clk = sys_info.freqProcessor;
gd->bus_clk = sys_info.freqSystemBus;
+
+ /*
+ * The base clock for I2C depends on the actual SOC. Unfortunately,
+ * there is no pattern that can be used to determine the frequency, so
+ * the only choice is to look up the actual SOC number and use the value
+ * for that SOC. This information is taken from application note
+ * AN2919.
+ */
+#ifdef CONFIG_MPC8610
gd->i2c1_clk = sys_info.freqSystemBus;
- gd->i2c2_clk = sys_info.freqSystemBus;
+#else
+ gd->i2c1_clk = sys_info.freqSystemBus / 2;
+#endif
+ gd->i2c2_clk = gd->i2c1_clk;
if (gd->cpu_clk != 0)
return 0;
--
1.5.4
next reply other threads:[~2008-04-04 16:16 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-04 16:16 Timur Tabi [this message]
2008-04-18 4:14 ` [U-Boot-Users] [PATCH] Fix calculation of I2C clock for some 86xx chips Wolfgang Denk
2008-04-21 17:51 ` Jon Loeliger
2008-04-30 19:54 ` Timur Tabi
2008-04-30 20:53 ` Wolfgang Denk
2008-04-30 20:52 ` Wolfgang Denk
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=1207325771-1374-1-git-send-email-timur@freescale.com \
--to=timur@freescale.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