
Scott Wood wrote:
Are there any boards on which OF_TBCLK is (properly) set to something other than what get_tbclk() returns (ignoring the difference in rounding)?
A search of the source code shows this:
File /temp/u-boot-83xx/include/configs/MPC8349EMDS.h 332 2:#define OF_TBCLK (bd->bi_busfreq / 4) File /temp/u-boot-83xx/include/configs/MPC8349ITX.h 395 2:#define OF_TBCLK (bd->bi_busfreq / 4) File /temp/u-boot-83xx/include/configs/MPC8360EMDS.h 327 2:#define OF_TBCLK (bd->bi_busfreq / 4) File /temp/u-boot-83xx/include/configs/MPC8540ADS.h 309 2:#define OF_TBCLK (bd->bi_busfreq / 8) File /temp/u-boot-83xx/include/configs/MPC8541CDS.h 320 2:#define OF_TBCLK (bd->bi_busfreq / 8) File /temp/u-boot-83xx/include/configs/MPC8548CDS.h 326 2:#define OF_TBCLK (bd->bi_busfreq / 8) File /temp/u-boot-83xx/include/configs/MPC8555CDS.h 320 2:#define OF_TBCLK (bd->bi_busfreq / 8) File /temp/u-boot-83xx/include/configs/MPC8560ADS.h 302 2:#define OF_TBCLK (bd->bi_busfreq / 8) File /temp/u-boot-83xx/include/configs/MPC8641HPCN.h 269 2:#define OF_TBCLK (bd->bi_busfreq / 4) File /temp/u-boot-83xx/include/configs/stxxtc.h 587 2:#define OF_TBCLK (MPC8XX_HZ / 16)
Let's ignore the stxxtc for now, whatever that is.
On the 83xx, get_tbclk() returns "(gd->bus_clk + 3L) / 4L". On 85xx and 86xx, it does this:
get_sys_info(&sys_info); return ((sys_info.freqSystemBus + 7L) / 8L);
sys_info.freqSystemBus can be any number of things (see get_sys_info).
Well, it looks like they COULD always contain the same value.
I don't see any, nor can I think of a reason why such a difference should ever exist. Perhaps OF_TBCLK should just be removed?
I think it's safe to say that *something* is redundant here, but I don't know yet what. My vote would be for OF_TBCLK, though, if that works.
The only thing I know for sure is that all of this clock stuff is making me cuckoo.