From patchwork Wed Jan 9 02:25:11 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [U-Boot,V2] MPC8308: Fixup clocks in PCI Host configuration Date: Tue, 08 Jan 2013 16:25:11 -0000 From: Barry Grussling X-Patchwork-Id: 210606 Message-Id: <1357698311-7392-1-git-send-email-barry@grussling.com> To: u-boot@lists.denx.de Cc: kim.phillips@freescale.com, yanok@emcraft.com While trying to bring up a custom MPC8308 based board I found that the clocking was wrong. The comment in include/configs/mpc8308_p1m.h led me to believe setting HRCWH_PCI_HOST and HRCWH_PCI1_ARBITER_ENABLE in the CONFIG_SYS_HRCW_HIGH should allow the system to work, but on my newer version of the 8308 this is not working. Setting the HRCWH_PCI_HOST bit (which doesn't exist according to the manual) doesn't latch, and as such the im->reset.rcwh & HRCWH_PCI_HOST test in speed.c fails. Since this board is running off the CONFIG_83XX_CLKIN and is not a PCI client, I end up with 0xdeadbeef and hosed clock values. This patch allows for proper clocks on the 8308 as a workaround for the lack of HRCWH_PCI_HOST support. Signed-off-by: Barry Grussling --- Changes since V1: * Fix multi-line comment style * Remove trailing whitespace * Align comment - All per Kim Phillips recommendation * Verified output of checkpatch.pl clean now that I know about checkpatch.pl :-) --- arch/powerpc/cpu/mpc83xx/speed.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/powerpc/cpu/mpc83xx/speed.c b/arch/powerpc/cpu/mpc83xx/speed.c index b8c05d1..8816d71 100644 --- a/arch/powerpc/cpu/mpc83xx/speed.c +++ b/arch/powerpc/cpu/mpc83xx/speed.c @@ -160,6 +160,12 @@ int get_clocks(void) } else { #if defined(CONFIG_83XX_PCICLK) pci_sync_in = CONFIG_83XX_PCICLK; +#elif defined(CONFIG_83XX_CLKIN) && defined(CONFIG_MPC8308) + /* + * 8308 doesn't have the HRCWH_PCI_HOST, but should + * run off the CONFIG_83XX_CLKIN + */ + pci_sync_in = CONFIG_83XX_CLKIN / (1 + clkin_div); #else pci_sync_in = 0xDEADBEEF; #endif