[U-Boot-Users] u-boot 1.1.2 on mpc852t : decrementer exception in interrupt_init()

gautam borad gautam at eisodus.com
Thu Oct 20 15:00:29 CEST 2005


Vladimir Gurevich wrote:

> Hello Gautam.
>
> gautam borad wrote:
>
>> I'm trying to port u-boot-1.1.2 to mpc852t on ep852 board (from 
>> embedded planet). I'm using RPXClassic as reference.
>
>
> I've successfully ported U-boot to EP852 sometime ago. Unfortunately, 
> I still didn't get a chance to update to the latest U-boot so that I 
> could submit the patches officially. These patches are based on a 
> snapshot of U-boot repository made sometime in April 2005, but I hope 
> they should apply more or less cleanly to the current source as well.
>
> Give'em a shot if you want and let me know whether they work for you.
>
> Thanks,
> Vladimir
>
Hi,
    Thanks for giving the patch. I tried using your patch but it doesnt 
work, i get the following on the console:

--------------------------------------------------------------------------------------------------------------------------------------------------------
U-Boot 1.1.3 (Oct 20 2005 - 15:35:24) EP852

CPU:   MPC852TxxZPnn at 50 MHz [25.0...125.0 MHz]
       4 kB I-Cache 4 kB D-Cache FEC present

       Board: EP852 (Rev. e4).   CPLD Rev: 00   DIP Switch: 1111
       DRAM:  16 MB
       FLASH: Bus Fault @ 0x00fab008, fixup 0x00000000
       Machine check in kernel mode.
       Caused by (from msr): regs 00f5bdd8 Unknown values in msr
       NIP: 00FAB008 XER: 20002800 LR: 00FAAF5C REGS: 00f5bdd8 TRAP: 
0200 DAR: 7172EEC4
       MSR: 00001002 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00

       GPR00: FF800000 00F5BEC8 00000000 0000003E 00FCF314 000000C4 
00000059 00002088
       GPR08: 00000000 FF800000 FF8000C4 FF8000D0 28000022 000080A0 
00FCFF00 0179C000
       GPR16: 00800080 40002400 00010000 00000035 00000002 00000047 
00000002 00000002
       GPR24: 00000000 00FCF430 00FCF43C 00000000 00FCF467 00F5BF8C 
00FD0548 00FCF314
       Call backtrace:
       00FAAE94 00FA9F24 00FA4EA8 00F9E3B0
       machine check
       Bus Fault @ 0x00fa439c, fixup 0x00000000
       Machine check in kernel mode.
       Caused by (from msr): regs 00f5bc18 Unknown values in msr
       NIP: 00FA439C XER: 00002800 LR: 00FA07F4 REGS: 00f5bc18 TRAP: 
0200 DAR: 66D64FEB
       MSR: 00001002 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00

       GPR00: 039A5080 00F5BD08 00000000 00000000 00000000 00000000 
00000000 002845D3
       GPR08: 00FA3874 FA200000 00000000 00989680 00000000 000080A0 
00FCFF00 0179C000
       GPR16: 00800080 40002400 00010000 00000035 00001002 00F5BDC8 
00000000 00F9E09C
       GPR24: 00F9E654 00FCF430 00FCF43C 00000000 00FCF467 00F5BF8C 
00FCFF24 00F5BDD8
       Call backtrace:
       00FA3870 00FA07F4 00F9E730 00F9E09C 00FAAE94 00FA9F24 00FA4EA8
       00F9E3B0
       machine check
       Bus Fault @ 0x00fa439c, fixup 0x00000000
       Machine check in kernel mode.
       Caused by (from msr): regs 00f5ba58 Unknown values in msr
       NIP: 00FA439C XER: 00002800 LR: 00FA07F4 REGS: 00f5ba58 TRAP: 
0200 DAR: 00F5BDD8
       MSR: 00001002 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00

       GPR00: 039A5080 00F5BB48 00000000 00000000 00000000 00000000 
00000000 0047D480
       GPR08: 00FA3874 FA200000 00000000 00989680 00000000 000080A0 
00FCFF00 0179C000
       GPR16: 008.
--------------------------------------------------------------------------------------------------------------------------------------------------------
I realized the problem was cfi_flash when i tried it with u-boot 1.1.2 
which also gave the above error.(previously it didnt give the above error)
So I took the flash.c file from RPXClassic directory.
The board has 2 AMD AM29LV320MB (8 MB each)  flash. In the flash.c the 
auto select command (to read manufactor ID) returns 0x227e227e.
However in include/flash.h i have #define AMD_ID_LV320B 0x22F922F9 . 
227E227E is defined for AMD_ID_DL640. Why is this so??
I've modified #define AMD_ID_LV320B to 0x227E227E , but is this the 
right way??
The flash starts at 0xFF800000.
Got the following dump:
--------------------------------------------------------------------------------------------------------------------------------------------------------
U-Boot 1.1.3 (Oct 20 2005 - 17:29:22) EP852

CPU:   MPC852TxxZPnn at 50 MHz [25.0...125.0 MHz]
       4 kB I-Cache 4 kB D-Cache FEC present

Board: EP852 (Rev. e4).   CPLD Rev: 00   DIP Switch: 1111
DRAM:  16 MB
FLASH: Flash addr:ff800000### ERROR ### Please RESET the board ###
--------------------------------------------------------------------------------------------------------------------------------------------------------

I've made some modifications to the original config files . Here are the 
changes:

#define CFG_PRELIM_OR_AM    0xFF800000
#define CFG_OR_TIMING_FLASH     (OR_SCY_4_CLK | OR_BI)
#define CFG_BR0_PRELIM  0xFF800001
#define CFG_OR1_PRELIM  0xFF000600
#define CFG_MPTPR   MPTPR_PTP_DIV2
#define CFG_BR3_PRELIM  0xFA400001    
#define CFG_OR3_PRELIM  0xFF7F8970
#define CFG_PLPRCR  0x000A4000

If I dont give these values the board does not work.I got these values 
from the config file i got from embedded planet.
I dont have any other option.Is it OK to modify these values?

Also what actually does U-Boot does when a decrementer exception is 
generated?
Please see my previous post. The code gave a decrementer exception went 
into timer_interrupt and halted.

Thanks in advance.



















More information about the U-Boot mailing list