[U-Boot] MPC8641D stucks before relocation
York Sun
yorksun at freescale.com
Tue Nov 12 02:02:04 CET 2013
You said you used the exactly same register for CodeWarrior and U-boot.
CodeWarrior works but U-boot doesn't? You can try two methods to debug.
1) Build a RAMBOOT u-boot, use CodeWarrior to initialize DDR and copy
u-boot to its destination and start to run.
2) Let u-boot initialize DDR, make a inf loop. Use CodeWarrior to
"attach" to it and stop the core, check registers and memory access.
York
On 11/09/2013 01:51 AM, Ashish wrote:
> On Monday 28 October 2013 05:31 PM, Ashish Khetan wrote:
>> I disabled the 2nd core by using "cfg_core1_enable" and D2_MSRCID1
>> signal is not connected and we are using DDR controller 2... will this
>> create any obstacles to relocate? Is there any other register
>> configuration for DDR? can somebody help me to understand this or give
>> me some pointer to get more understanding for this... I am getting
>> frusted because I am stuck at this point from last 20 days. please
>> help... thanks in advance and Regards
>>
>>
>> On Sat, Oct 26, 2013 at 12:20 AM, Ashish Khetan
>> <curieux.khetan at gmail.com <mailto:curieux.khetan at gmail.com>> wrote:
>>
>> Thanks For reply, i check DDR configuration using Code warrior,
>> and successfully getting read/write from DDR. I use the following
>> configuration in code warrior and same in u-boot...
>> writemem.l 0xf8006000 0x0000001f # CS0_BNDS
>>
>>
>>
>> writemem.l 0xf8006080 0x80914102 # CS0_CONFIG
>>
>>
>>
>> writemem.l 0xf8006100 0x00070000 # TIMING_CFG_3
>>
>>
>> writemem.l 0xf8006104 0xFF770F0F # TIMING_CFG_0
>>
>>
>> writemem.l 0xf8006108 0x7F78F777 # TIMING_CFG_1
>>
>>
>> writemem.l 0xf800610C 0x00205114 # TIMING_CFG_2
>>
>>
>>
>> writemem.l 0xf8006110 0x43088008 # DDR_SDRAM_CFG
>>
>> writemem.l 0xf8006114 0x24401000 # DDR_SDRAM_CFG2
>>
>> writemem.l 0xf8006118 0x43800E52 # DDR_SDRAM_MODE
>>
>>
>> writemem.l 0xf800611C 0x8000C000 # DDR_SDRAM_MODE_2
>>
>>
>> writemem.l 0xf8006120 0x00000000 # DDR_SDRAM_MD_CNTL
>>
>>
>> writemem.l 0xf8006124 0x05080000 # DDR_SDRAM_INTERVAL
>>
>>
>> writemem.l 0xf8006128 0x00000000 # DDR_DATA_INIT
>>
>> writemem.l 0xf8006130 0x03800000 # DDR_SDRAM_CLK_CNTL
>>
>> sleep 200
>>
>> writemem.l 0xf8006110 0xC3088008 # DDR_SDRAM_CFG
>>
>>
>> but I did not understand... can you give some light on this.
>>
>> thanks again...
>>
>>
>>
>> On Fri, Oct 25, 2013 at 10:25 PM, York Sun <yorksun at freescale.com
>> <mailto:yorksun at freescale.com>> wrote:
>>
>> It is probably because your DDR wasn't initialized correctly.
>> You can
>> try to dump all DDR registers and check if anyone is
>> suspicious. You can
>> also override any register before enabling the controller.
>>
>> You may also add some memory test before relocation.
>>
>> York
>>
>> On 10/25/2013 06:38 AM, Ashish Khetan wrote:
>> > hii I am using MPC8641D based custom board for evaluation
>> purpose. I am
>> > using minimal configuration for this board i.e. only FLASH
>> and DDR
>> > initialisation. when I compiled U-boot in debug mode its
>> printing
>> > addresses, i check for those addresses and found that it is
>> unable to
>> > relocate itself to DDR(4*MT47H64M16). The following message
>> was printed...
>> >
>> > U-Boot 2013.04 (Oct 25 2013 - 15:05:33)
>> >
>> > Unicore software on multiprocessor system!!
>> > To enable mutlticore build define CONFIG_MP
>> > CPU: 8641, Version: 2.1, (0x80900021)
>> > Core: E600 Core 0 (MSSCR0=8000, PORDEVSR=ab08307), Version:
>> 2.2,
>> > (0x80040202)
>> > Clock Configuration:
>> > CPU:800 MHz, MPX:400 MHz
>> > DDR:200 MHz (400 MT/s data rate), LBC:25 MHz
>> > L1: D-cache 32 KB enabled
>> > I-cache 32 KB enabled
>> > L2: Disabled
>> > Board: Wind River SBC8641D
>> > DRAM: DDR: 512 MiB
>> > Top of RAM usable for U-Boot at: 20000000
>> > Reserving 114k for U-Boot at: 1ffe3000
>> > Reserving 136k for malloc() at: 1ffc1000
>> > Reserving 80 Bytes for Board Info at: 1ffc0fb0
>> > Reserving 152 Bytes for Global Data at: 1ffc0f18
>> > Stack Pointer at: 1ffc0f00
>> > New Stack Pointer is: 1ffc0f00
>> >
>> > and stuck here...
>> >
>> > Any pointer or link to get more about this will be helpful.
>> > Thanks in Advance
>> >
>> >
>> >
>> > _______________________________________________
>> > U-Boot mailing list
>> > U-Boot at lists.denx.de <mailto:U-Boot at lists.denx.de>
>> > http://lists.denx.de/mailman/listinfo/u-boot
>> >
>>
>>
>>
>>
> Now its working... by default the data width of bus was 64bit and ddr2
> was configured for 32-bit.. so i change the data width and now its
> working...
>
> Thanks a lot for lighting up the path...
>
> now i am trying to configure like CPU:1200 MHz, MPX:600 MHz DDR:300
> MHz (600 MT/s data rate) but i its stucking before relocation... its
> working file at DDR 250Mhz.. is it because DDR or FLASH configuration.??
>
> Thanks again and Regards
More information about the U-Boot
mailing list