public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] [PATCH] Fix calculation of I2C clock for some 86xx chips
@ 2008-04-04 16:16 Timur Tabi
  2008-04-18  4:14 ` Wolfgang Denk
  2008-04-30 20:52 ` Wolfgang Denk
  0 siblings, 2 replies; 6+ messages in thread
From: Timur Tabi @ 2008-04-04 16:16 UTC (permalink / raw)
  To: u-boot

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

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [U-Boot-Users] [PATCH] Fix calculation of I2C clock for some 86xx chips
  2008-04-04 16:16 [U-Boot-Users] [PATCH] Fix calculation of I2C clock for some 86xx chips Timur Tabi
@ 2008-04-18  4:14 ` Wolfgang Denk
  2008-04-21 17:51   ` Jon Loeliger
  2008-04-30 20:52 ` Wolfgang Denk
  1 sibling, 1 reply; 6+ messages in thread
From: Wolfgang Denk @ 2008-04-18  4:14 UTC (permalink / raw)
  To: u-boot

In message <1207325771-1374-1-git-send-email-timur@freescale.com> you wrote:
> 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>

Will this goin through the 86xx custodian repo, or should I pull this
directly?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"In the long run, every program becomes rococo, and then rubble."
- Alan Perlis

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot-Users] [PATCH] Fix calculation of I2C clock for some 86xx chips
  2008-04-18  4:14 ` Wolfgang Denk
@ 2008-04-21 17:51   ` Jon Loeliger
  2008-04-30 19:54     ` Timur Tabi
  0 siblings, 1 reply; 6+ messages in thread
From: Jon Loeliger @ 2008-04-21 17:51 UTC (permalink / raw)
  To: u-boot

On Fri, 2008-04-18 at 06:14 +0200, Wolfgang Denk wrote:
> In message <1207325771-1374-1-git-send-email-timur@freescale.com> you wrote:
> > 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>
> 
> Will this goin through the 86xx custodian repo, or should I pull this
> directly?
> 
> Best regards,
> 
> Wolfgang Denk
> 

Please pick this up directly.

Thanks,
jdl

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot-Users] [PATCH] Fix calculation of I2C clock for some 86xx chips
  2008-04-21 17:51   ` Jon Loeliger
@ 2008-04-30 19:54     ` Timur Tabi
  2008-04-30 20:53       ` Wolfgang Denk
  0 siblings, 1 reply; 6+ messages in thread
From: Timur Tabi @ 2008-04-30 19:54 UTC (permalink / raw)
  To: u-boot

Wolfgang, I think you forgot this one.

Jon Loeliger wrote:
> On Fri, 2008-04-18 at 06:14 +0200, Wolfgang Denk wrote:
>> In message <1207325771-1374-1-git-send-email-timur@freescale.com> you wrote:
>>> 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>
>> Will this goin through the 86xx custodian repo, or should I pull this
>> directly?
>>
>> Best regards,
>>
>> Wolfgang Denk
>>
> 
> Please pick this up directly.
> 
> Thanks,
> jdl
> 
> 
> 


-- 
Timur Tabi
Linux kernel developer at Freescale

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot-Users] [PATCH] Fix calculation of I2C clock for some 86xx chips
  2008-04-04 16:16 [U-Boot-Users] [PATCH] Fix calculation of I2C clock for some 86xx chips Timur Tabi
  2008-04-18  4:14 ` Wolfgang Denk
@ 2008-04-30 20:52 ` Wolfgang Denk
  1 sibling, 0 replies; 6+ messages in thread
From: Wolfgang Denk @ 2008-04-30 20:52 UTC (permalink / raw)
  To: u-boot

In message <1207325771-1374-1-git-send-email-timur@freescale.com> you wrote:
> 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(-)

Applied, thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
An expert is a person who avoids the small errors while  sweeping  on
to the grand fallacy.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot-Users] [PATCH] Fix calculation of I2C clock for some 86xx chips
  2008-04-30 19:54     ` Timur Tabi
@ 2008-04-30 20:53       ` Wolfgang Denk
  0 siblings, 0 replies; 6+ messages in thread
From: Wolfgang Denk @ 2008-04-30 20:53 UTC (permalink / raw)
  To: u-boot

In message <4818CE68.3040901@freescale.com> you wrote:
> Wolfgang, I think you forgot this one.

Indeed. I missed that there were actually two very similar messages.

Thanks for pointing out.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"Don't think; let the machine do it for you!"        - E. C. Berkeley

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-04-30 20:53 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-04 16:16 [U-Boot-Users] [PATCH] Fix calculation of I2C clock for some 86xx chips Timur Tabi
2008-04-18  4:14 ` 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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox