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

Ira W. Snyder iws at ovro.caltech.edu
Tue Jan 15 20:39:51 CET 2013


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.

Ira


More information about the U-Boot mailing list