[PATCH] PowerPC 440EPx: Sequoia bootwrapper
Stefan Roese
sr at denx.de
Wed Jul 22 00:06:52 EST 2009
On Tuesday 21 July 2009 15:33:20 Bob Burke wrote:
> The system clock frequency on the Sequoia board is 33.000000 MHz not
> 33.333333 MHz; this causes the system time to drift more than 30 seconds
> per hour.
>
> diff -ruN a/arch/powerpc/boot/cuboot-sequoia.c
> b/arch/powerpc/boot/cuboot-sequoia.c
> --- a/arch/powerpc/boot/cuboot-sequoia.c 2009-05-18
> 19:52:34.000000000 -0400
> +++ b/arch/powerpc/boot/cuboot-sequoia.c 2009-07-21
> 09:13:13.000000000 -0400
> @@ -37,7 +37,7 @@
>
> static void sequoia_fixups(void)
> {
> - unsigned long sysclk = 33333333;
> + unsigned long sysclk = 33000000;
>
> ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
> ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
Unfortunately it's not that easy. Earlier Sequoia board revisions are equipped
with an 33.333MHz oscillator. This can be detected via a CPLD register though.
Here the "code" from U-Boot (just as an example):
/* Detect Sequoia PLL input clock automatically via CPLD bit */
#define CONFIG_SYS_BCSR_BASE 0xc0000000
#define CONFIG_SYS_CLK_FREQ ((in8(CONFIG_SYS_BCSR_BASE + 3) & 0x80) ? \
33333333 : 33000000)
But why are you using the boot wrapper? If your U-Boot isn't too old, you can
boot uImage directly (with dtb of course). No need for the wrapper.
Thanks,
Stefan
More information about the Linuxppc-dev
mailing list