[U-Boot] [PATCH v3] ppc4xx: Add GDsys CompactCenter board support.

Eibach, Dirk Eibach at gdsys.de
Mon Jul 13 16:07:30 CEST 2009



> > The bootstrap.c file is the same as for Canyonlands. Maybe it makes 
> > sense to share it between all 460EX boards, by moving it to some 
> > common location. Stefan, what do you think ?
> 
> I'm not so sure here. Even if those settings might work on 
> most 460EX/GT boards, some custom boards might need different 
> PLL configurations (e.g. 
> different EBC frequency). So it's really more board specific 
> stuff than platform specific and we would end up with 
> multiple "#ifdef's" in this file.
> 
> Perhaps it would be doable to extract the board specific 
> stuff into some board file and use common code for the real 
> command and I2C-EEPROM handling. We could move these 
> declarations into the board specific file:
> 
> > +static char *config_labels[] = {
> > ...
> > +};
> > +
> > +static u8 boot_configs[][17] = {
> > ...
> 
> And the rest into a common file. What do you think? Dirk, are 
> you willing to work on this?

I will have a look at it.

By the way Stefan, while trying to cleanup ft_board_setup() I noticed I
have a problem.

After powercycling the board I get:

U-Boot 2009.06-00299-ga1170c5-dirty (Jul 13 2009 - 15:34:17)
compactcenter 0.02

CPU:   AMCC PowerPC 460EX Rev. A at 800 MHz (PLB=200, OPB=100, EBC=100
MHz)
       Security/Kasumi support
       Bootstrap Option F - Boot ROM Location I2C (Addr 0x54)
       Internal PCI arbiter disabled
       32 kB I-Cache 32 kB D-Cache
Board: CompactCenter
I2C:   ready
DRAM:  256 MB
Machine Check Exception.
Caused by (from msr): regs 0fe59dd0 TLB Parity Error
NIP: 0FF60850 XER: 00000000 LR: 0FF92DF4 REGS: 0fe59dd0 TRAP: 0200 DEAR:
41240120
MSR: 00021000 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00

GPR00: 00000000 0FE59EC0 0FE59F24 3E7DF440 00000000 00000000 00000000
1EB232CC
GPR08: 0FF62368 00000000 05F5E101 2FAF080A 42DF7F22 F730108E 0FFB1900
0FFBE000
GPR16: B072824C F5740DEA D5F340C5 F67A0CED 00000000 0FE59DC0 00000000
0FF60450
GPR24: 0FF60D5C 0FE59F24 0FE59F08 FFFFFFFF FF000000 0000003F 0FFB321C
01000000
Call backtrace:
0FF62368 0FF88900 0FF61D08 0FF60710
machine check

I narrowed it down to board_early_init_r() where remove_tlb() is done.

When I do a 'res halt' 'res run' sequence with the BDI the board comes
up fine.

Any ideas?

Cheers
Dirk




More information about the U-Boot mailing list