[U-Boot] [PATCH V2] MPC8308: Fixup clocks in PCI Host configuration

Kim Phillips kim.phillips at freescale.com
Fri Jan 18 01:48:08 CET 2013


On Tue, 15 Jan 2013 11:39:51 -0800
"Ira W. Snyder" <iws at ovro.caltech.edu> wrote:

> On Mon, Jan 14, 2013 at 06:59:59PM -0600, Kim Phillips wrote:
> > On Tue, 8 Jan 2013 18:25:11 -0800
> > Barry Grussling <barry at grussling.com> wrote:
> > 
> > > 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>
> > > 
> > > ---
> > 
> > can I get an ack from someone else with an 8308 here please?  This
> > custom board fix has the possibility of bricking all existing
> > 8308 based mainline boards.
> > 
> > Thanks,
> > 
> > Kim
> > 
> 
> Hi Kim, Barry,
> 
> I have an MPC8308RDB board, which is reported by U-Boot as:
> CPU:   e300c3, MPC8308, Rev: 1.0 at 400 MHz, CSB: 133.333 MHz
> Board: Freescale MPC8308RDB Rev 1.0
> 
> Barry: what does your board report as it boots up? Is it a newer version
> of the MPC8308 chip? Can you also dump the registers shown below? Use
> "md e0000900 4" to dump them. Also, please send me the output of
> "hexdump -C u-boot.bin | head" for your U-Boot image.
> 
> Dumping the HRCWH register, I get the value a0606c00.
> => md e0000900 4
> e0000900: 44060000 a0606c00 00000000 00000000    D....`l.........
> 
> So on my board, the HRCWH_PCI_HOST bit *is* latched just fine. The
> Freescale manual says the HRCWH register doesn't have this bit, but the
> comments in include/configs/MPC8308RDB.h say that it must be set for the
> board to work correctly.
> 
> The MPC8308RDB is a standalone board, and does not define
> CONFIG_83XX_PCICLK. Since the HRCWH_PCI_HOST bit was latched, my U-Boot
> takes the first branch in the "if (im->reset.rcwh & HRCWH_PCI_HOST) {"
> path, and continues to work as normal.
> 
> In conclusion, the patch doesn't break my board. But I don't know why
> Barry's board needs the patch.

Thanks for taking a look at this, Ira.

Barry, can you post your custom board support code?  Does it set
HRCWH_PCI_HOST in the RCW in flash?  Can you confirm the RCW is
being read from flash correctly?

Kim



More information about the U-Boot mailing list