[U-Boot] [PATCH] MPC8308: Fixup clocks in PCI Host configuration
Barry Grussling
barry at grussling.com
Tue Jan 8 19:24:05 CET 2013
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 <barry at grussling.com>
---
arch/powerpc/cpu/mpc83xx/speed.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/powerpc/cpu/mpc83xx/speed.c b/arch/powerpc/cpu/mpc83xx/speed.c
index b8c05d1..6f715ea 100644
--- a/arch/powerpc/cpu/mpc83xx/speed.c
+++ b/arch/powerpc/cpu/mpc83xx/speed.c
@@ -160,6 +160,10 @@ 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
--
1.7.9.5
More information about the U-Boot
mailing list