diff options
author | Wolfgang Denk <wd@denx.de> | 2008-04-30 23:04:51 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-04-30 23:04:51 +0200 |
commit | fed4de0135fdc13565704669cdf80902bbfe3c42 (patch) | |
tree | b8fc14a0c94687ac766eba56cb8ec445dfad0668 /cpu/mpc86xx | |
parent | 42ffcec3f9eba010a662d5b42981812b6bebfb9a (diff) | |
parent | 12bc4e94251c369c529ffa505cf58b148c372f7f (diff) |
Merge branch 'master' of git+ssh://10.10.0.7/home/wd/git/u-boot/master
Diffstat (limited to 'cpu/mpc86xx')
-rw-r--r-- | 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 7e884f8e01..da5b58b73f 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; |