X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=cpu%2Fmpc86xx%2Fspeed.c;h=da5b58b73f29441761d0abd430f8d1f19a879103;hb=dbab0691d2533560f7e91b92ae844046a9ad1df3;hp=4f7e8f17dc11984bae3ef17b7102df57c6fba488;hpb=74ac5facb988fc488a707db228b177ead63a6541;p=u-boot diff --git a/cpu/mpc86xx/speed.c b/cpu/mpc86xx/speed.c index 4f7e8f17dc..da5b58b73f 100644 --- a/cpu/mpc86xx/speed.c +++ b/cpu/mpc86xx/speed.c @@ -106,6 +106,20 @@ int get_clocks(void) 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; +#else + gd->i2c1_clk = sys_info.freqSystemBus / 2; +#endif + gd->i2c2_clk = gd->i2c1_clk; + if (gd->cpu_clk != 0) return 0; else