* [U-Boot] new board SDRAM conf
@ 2008-11-03 7:14 조기성
2008-11-03 7:47 ` Stefan Roese
0 siblings, 1 reply; 8+ messages in thread
From: 조기성 @ 2008-11-03 7:14 UTC (permalink / raw)
To: u-boot
Hi!,
I?m using ppc440Ep and using u-boot1.3.3
I?m using u-boot1.1.3 with Yosemite configuration.
When I boot with Yosemite conf , it stops SDRAM:256 , it? shows cpu, pci
conf
My New Board configuration is only different SDRAM Size and Flash Size.
Where can I modify my Yosemite configuration.
Init.S and Yosemite.h
Best Regards,
J
###### Yosemite Cofiguration #####################
FLASH (CS0)
64MEGA Boot Flash
SDRAM
bank 0- 128MB
bank 1- 128MB
!!!###### My Board #####################
FLASH (CS0)
8MEGA Boot Flash
SDRAM
bank 0- 128MB
bank 1- NONE
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] new board SDRAM conf
2008-11-03 7:14 [U-Boot] new board SDRAM conf 조기성
@ 2008-11-03 7:47 ` Stefan Roese
2008-11-03 9:51 ` 조기성
0 siblings, 1 reply; 8+ messages in thread
From: Stefan Roese @ 2008-11-03 7:47 UTC (permalink / raw)
To: u-boot
On Monday 03 November 2008, ??? wrote:
> I?m using ppc440Ep and using u-boot1.3.3
>
> I?m using u-boot1.1.3 with Yosemite configuration.
Please use the latest version from the DENX git repository.
> When I boot with Yosemite conf , it stops SDRAM:256 , it? shows cpu, pci
> conf
So it most likely crashed upon relocation into SDRAM. So its an SDRAM
configuration problem.
> My New Board configuration is only different SDRAM Size and Flash Size.
>
>
> Where can I modify my Yosemite configuration.
>
> Init.S and Yosemite.h
Yosemite uses a board specific SDRAM init routine. I suggest that you use the
common DDR2 init code by enabling it in your board config header
(include/configs/board.h):
#define CONFIG_SDRAM_BANK0 1 /* init onboard DDR SDRAM bank 0*/
You can also define CONFIG_SYS_SDRAM_TABLE if you have an uncommon SDRAM
configuration. What's the difference of your SDRAM configuration?
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] new board SDRAM conf
2008-11-03 7:47 ` Stefan Roese
@ 2008-11-03 9:51 ` 조기성
2008-11-03 10:11 ` Stefan Roese
0 siblings, 1 reply; 8+ messages in thread
From: 조기성 @ 2008-11-03 9:51 UTC (permalink / raw)
To: u-boot
Dear stefan.
I Made my board config header, and using yosemite's init.S & u-boot.lds, mft.c(Yosemite.c)
Only change config header , but it's not working .
1. First The difference of my SDRAM configuration is
*** (PPC440EP supported four external DDR_SDRAM Banks.) ***
But Our used only external DDR_SDRAM Bank_0(BANKSEL_0) on the New design Board.
2. Second my config header is
Include/configs/mft.h
________________________________________________________________________________________
#define CONFIG_440EP 1 /* Specific PPC440EP support */
#define CONFIG_HOSTNAME mft
#define CONFIG_440 1 /* ... PPC440 family */
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_SYS_CLK_FREQ 66666666 /* external freq to pll */
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
#define CONFIG_BOARD_RESET 1 /* call board_reset() */
/*-----------------------------------------------------------------------
* Base addresses -- Note these are effective addresses where the
* actual resources get mapped (not physical addresses)
*----------------------------------------------------------------------*/
#define CFG_MONITOR_LEN (512 * 1024) /* Reserve 512 kB for Monitor */
#define CFG_MALLOC_LEN (256 * 1024) /* Reserve 256 kB for malloc() */
#if 1 //steven
#define CFG_MONITOR_BASE (-CFG_MONITOR_LEN)
#else
#define CFG_MONITOR_BASE TEXT_BASE
#define CFG_SDRAM_BASE 0x00000000 /* _must_ be 0 */
#define CFG_FLASH_BASE 0xfc000000 /* start of FLASH *
...
/*-----------------------------------------------------------------------
* DDR SDRAM
*----------------------------------------------------------------------*/
#undef CONFIG_SPD_EEPROM /* Don't use SPD EEPROM for setup */
#if 0 //steven
#define CFG_KBYTES_SDRAM (128 * 1024) /* 128MB */
#else
#define CFG_KBYTES_SDRAM (64 * 1024) /* 128MB */
#endif
#if 1 //steven
#define CFG_SDRAM_BANKS (2)
#else
#define CFG_SDRAM_BANKS (1)
#endif
define CONFIG_SDRAM_BANK0 1
_________________________________________________________________________________________
The difference of your SDRAM configuration?
>>>
Best Regards.
Steven
-----Original Message-----
From: Stefan Roese [mailto:sr at denx.de]
Sent: Monday, November 03, 2008 4:47 PM
To: u-boot at lists.denx.de; k9 at tibetsystem.com
Subject: Re: [U-Boot] new board SDRAM conf
On Monday 03 November 2008, ??? wrote:
> I?m using ppc440Ep and using u-boot1.3.3
>
> I?m using u-boot1.1.3 with Yosemite configuration.
Please use the latest version from the DENX git repository.
> When I boot with Yosemite conf , it stops SDRAM:256 , it? shows cpu, pci
> conf
So it most likely crashed upon relocation into SDRAM. So its an SDRAM
configuration problem.
> My New Board configuration is only different SDRAM Size and Flash Size.
>
>
> Where can I modify my Yosemite configuration.
>
> Init.S and Yosemite.h
Yosemite uses a board specific SDRAM init routine. I suggest that you use the
common DDR2 init code by enabling it in your board config header
(include/configs/board.h):
#define CONFIG_SDRAM_BANK0 1 /* init onboard DDR SDRAM bank 0*/
You can also define CONFIG_SYS_SDRAM_TABLE if you have an uncommon SDRAM
configuration. What's the difference of your SDRAM configuration?
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] new board SDRAM conf
2008-11-03 9:51 ` 조기성
@ 2008-11-03 10:11 ` Stefan Roese
2008-11-03 14:45 ` 조기성
0 siblings, 1 reply; 8+ messages in thread
From: Stefan Roese @ 2008-11-03 10:11 UTC (permalink / raw)
To: u-boot
Hi Steven,
On Monday 03 November 2008, ??? wrote:
> I Made my board config header, and using yosemite's init.S & u-boot.lds,
> mft.c(Yosemite.c) Only change config header , but it's not working .
You should create your own board port for this custom 440EP board.
> 1. First The difference of my SDRAM configuration is
> *** (PPC440EP supported four external DDR_SDRAM Banks.) ***
> But Our used only external DDR_SDRAM Bank_0(BANKSEL_0) on the New design
> Board.
Yes. I already described how you should handle this DDR initialization in my
last mail. Use the common code (cpu/ppc4xx/sdram.c). You probably need to
change the CONFIG_SYS_SDRAM_TABLE for your board. Take a look at the p3p440.h
header as an example.
BTW: SDRAM configuration is a complex matter. You definitely need to take a
look at the PPC users manual and the SDRAM datasheet for this.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] new board SDRAM conf
2008-11-03 10:11 ` Stefan Roese
@ 2008-11-03 14:45 ` 조기성
2008-11-03 15:02 ` Stefan Roese
0 siblings, 1 reply; 8+ messages in thread
From: 조기성 @ 2008-11-03 14:45 UTC (permalink / raw)
To: u-boot
Hi, thanks in your replay.
I create My own board port(MFT board) . create configuration header and init.S
But In the sdram.c(sdram_init->get_ram_size is 4 thus )func is failed , sdram is not founded .
I think init.S is something wrong or CFG_MONITOR_BASE is wrong ... .
maybe you can point me to the right direction.
It's my board init.S
_____________________________________________________________________________________________________
tlbtab:
tlbtab_start
/*
* BOOT_CS (FLASH) must be first. Before relocation SA_I can be off to use the
* speed up boot process. It is patched after relocation to enable SA_I
*/
tlbentry( CFG_BOOT_BASE_ADDR, SZ_256M, CFG_BOOT_BASE_ADDR, 0, AC_R|AC_W|AC_X|SA_G/*|SA_I*/)
/* TLB-entry for init-ram in dcache (SA_I must be turned off!) */
tlbentry( CFG_INIT_RAM_ADDR, SZ_64K, CFG_INIT_RAM_ADDR, 0, AC_R|AC_W|AC_X|SA_G )
tlbentry( CFG_SDRAM_BASE, SZ_256M, CFG_SDRAM_BASE, 0, AC_R|AC_W|AC_X|SA_G|SA_I )
tlbentry( CFG_PCI_BASE, SZ_256M, CFG_PCI_BASE, 0, AC_R|AC_W|SA_G|SA_I )
tlbentry( CFG_NVRAM_BASE_ADDR, SZ_256M, CFG_NVRAM_BASE_ADDR, 0, AC_R|AC_W|AC_X|SA_W|SA_I )
/* PCI */
tlbentry( CFG_PCI_MEMBASE, SZ_256M, CFG_PCI_MEMBASE, 0, AC_R|AC_W|SA_G|SA_I )
tlbentry( CFG_PCI_MEMBASE1, SZ_256M, CFG_PCI_MEMBASE1, 0, AC_R|AC_W|SA_G|SA_I )
tlbentry( CFG_PCI_MEMBASE2, SZ_256M, CFG_PCI_MEMBASE2, 0, AC_R|AC_W|SA_G|SA_I )
tlbentry( CFG_PCI_MEMBASE3, SZ_256M, CFG_PCI_MEMBASE3, 0, AC_R|AC_W|SA_G|SA_I )
/* USB 2.0 Device */
tlbentry( CFG_USB_DEVICE, SZ_1K, 0x50000000, 0, AC_R|AC_W|SA_G|SA_I )
tlbtab_en
_____________________________________________________________________________________________________
My SDRAM is 128MB mode 3, 13x10(4)
And use external DDR_SDRAM Bank_0(BANKSEL_0)
It's my board configuration header.
_____________________________________________________________________________________________________
Include/configs/mft.h
#define CONFIG_440EP 1 /* Specifc GP support */
#define CONFIG_440 1 /* ... PPC440 family */
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
#define CONFIG_MISC_INIT_R 1 /* Call misc_init_r */
#define CONFIG_SYS_CLK_FREQ 66666666 /* external freq to pll *
#define CFG_FLASH_BASE 0xfc000000 /* start of FLASH */
#define CFG_MONITOR_BASE CFG_FLASH_BASE /* start of monitor */
/*-----------------------------------------------------------------------
* Initial RAM & stack pointer (placed in internal SRAM)
*----------------------------------------------------------------------*/
#define CFG_INIT_RAM_DCACHE 1 /* d-cache as init ram */
#define CFG_INIT_RAM_ADDR 0x70000000 /* Initial RAM address */
#define CFG_ISRAM_BASE CFG_INIT_RAM_ADDR /* internal SRAM */
#define CFG_INIT_RAM_END (4 << 10) /* End of used area in RAM */
//#define CFG_GBL_DATA_SIZE 256 /* num bytes initial data */
#define CFG_GBL_DATA_SIZE 128 /* num bytes initial data */
#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
#define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET
#define CFG_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Mon*/
#define CFG_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc*/
/*-----------------------------------------------------------------------
* DDR SDRAM
*----------------------------------------------------------------------*/
#undef CONFIG_SPD_EEPROM /* Don't use SPD EEPROM for setup */
#define CONFIG_SDRAM_BANK0 1 /* init onboard DDR SDRAM bank 0*/
#define CFG_SDRAM0_TR0 0x410A4012
#undef CONFIG_SDRAM_ECC /* enable ECC support */
#if 1
#define CFG_SDRAM_TABLE { \
{(128 << 20), 13, 0x000A4001}, /* 128MB mode 3, 13x10(4)*/ \
{(128 << 20), 12, 0x000A2001}, /* 128MB mode 2, 13x10(4)*/ \
{(64 << 20), 13, 0x00084001}, /* 64MB mode 3, 13x9(4) */ \
{(64 << 20), 12, 0x00082001}, } /* 64MB mode 2, 13x9(4) *
/*-----------------------------------------------------------------------
* External Bus Controller (EBC) Setup
*----------------------------------------------------------------------*/
#define CFG_FLASH0 0xFF800000
#define CFG_FLASH1 0xFF000000
#define CFG_FLASH2 0xFE800000
#define CFG_FLASH3 0xFE000000
#define CFG_USB 0xF0000000
/* Memory Bank 0 (Flash Bank 0, NOR-FLASH) initialization */
//#define CFG_EBC_PB0AP 0x03050200
#define CFG_EBC_PB0AP 0x03017300
#define CFG_EBC_PB0CR (CFG_FLASH0 | 0x7A000) /* BAS=0xFF8,BS=8MB,BU=R/W,BW=16bit *
_____________________________________________________________________________________________________
Best Regards.
Steven.
-----Original Message-----
From: Stefan Roese [mailto:sr at denx.de]
Sent: Monday, November 03, 2008 7:11 PM
To: u-boot at lists.denx.de; k9@tibetsystem.com
Subject: Re: [U-Boot] new board SDRAM conf
Hi Steven,
On Monday 03 November 2008, ??? wrote:
> I Made my board config header, and using yosemite's init.S & u-boot.lds,
> mft.c(Yosemite.c) Only change config header , but it's not working .
You should create your own board port for this custom 440EP board.
> 1. First The difference of my SDRAM configuration is
> *** (PPC440EP supported four external DDR_SDRAM Banks.) ***
> But Our used only external DDR_SDRAM Bank_0(BANKSEL_0) on the New design
> Board.
Yes. I already described how you should handle this DDR initialization in my
last mail. Use the common code (cpu/ppc4xx/sdram.c). You probably need to
change the CONFIG_SYS_SDRAM_TABLE for your board. Take a look at the p3p440.h
header as an example.
BTW: SDRAM configuration is a complex matter. You definitely need to take a
look at the PPC users manual and the SDRAM datasheet for this.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] new board SDRAM conf
2008-11-03 14:45 ` 조기성
@ 2008-11-03 15:02 ` Stefan Roese
2008-11-04 10:23 ` 조기성
0 siblings, 1 reply; 8+ messages in thread
From: Stefan Roese @ 2008-11-03 15:02 UTC (permalink / raw)
To: u-boot
On Monday 03 November 2008, ??? wrote:
> I create My own board port(MFT board) . create configuration header and
> init.S But In the sdram.c(sdram_init->get_ram_size is 4 thus )func is
> failed , sdram is not founded . I think init.S is something wrong or
> CFG_MONITOR_BASE is wrong ... .
>
> maybe you can point me to the right direction.
>
> It's my board init.S
Your init.S is not optimal but at least not the reason for the problem. You
are programming a 256MB TLB entry for SDRAM. This is more than enough for
your 128MB. You should fix this at some time but it not the problem right
now. CFG_MONITOR_BASE is also most likely not the problem.
<snip>
> My SDRAM is 128MB mode 3, 13x10(4)
> And use external DDR_SDRAM Bank_0(BANKSEL_0)
OK.
<snip>
> /*-----------------------------------------------------------------------
> * DDR SDRAM
> *----------------------------------------------------------------------*/
> #undef CONFIG_SPD_EEPROM /* Don't use SPD EEPROM for setup */
> #define CONFIG_SDRAM_BANK0 1 /* init onboard DDR SDRAM bank 0*/
> #define CFG_SDRAM0_TR0 0x410A4012
> #undef CONFIG_SDRAM_ECC /* enable ECC support */
>
> #if 1
> #define CFG_SDRAM_TABLE { \
> {(128 << 20), 13, 0x000A4001}, /* 128MB mode 3, 13x10(4)*/ \
> {(128 << 20), 12, 0x000A2001}, /* 128MB mode 2, 13x10(4)*/ \
> {(64 << 20), 13, 0x00084001}, /* 64MB mode 3, 13x9(4) */ \
> {(64 << 20), 12, 0x00082001}, } /* 64MB mode 2, 13x9(4) *
Why do you define so many entries in this table? One (128MB mode 3) should be
enough for you. If get_ram_size() doesn't return 128MB in this init function
then you need to check whether you have a problems with the timings. Use a
debugger (or test routines) to see if some bits fail etc.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de
=====================================================================
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] new board SDRAM conf
2008-11-03 15:02 ` Stefan Roese
@ 2008-11-04 10:23 ` 조기성
2008-11-04 10:46 ` Stefan Roese
0 siblings, 1 reply; 8+ messages in thread
From: 조기성 @ 2008-11-04 10:23 UTC (permalink / raw)
To: u-boot
Hi Stefan.
I solved SDRAM problems for your help, when I use CFG_DRAM_TEST , it passed
My bdi2000's configuration is blows
WDCR 0x10 0x00000020 ;Select SDRAM0_CFG0
WDCR 0x11 0x34000000 ;CFG0: 32bit, PMU disable
WDCR 0x11 0x84000000 ;CFG1: enable SDRA
When I Use BID2000, accessing SDRAM with Verify, mm command, It works fine .
I think SDRAM0_CFG first is CFG0, and second is CFG1.
But in board/amcc/mft.c I used marked code, It's confused me.
Long int sdram_init()
{
//mtsdram (mem_cfg0, 0x34000000); /* confused me */
//mtsdram (mem_cfg1, 0x84000000);
mtsdram (mem_cfg1, 0x34000000);/* it works fine */
mtsdram (mem_cfg0, 0x84000000);
}
I have another problem.
cpu/ppc4XX/start.S -> trab_init function has exception error blows LOG MESSAGE.
When I debug trap_init , use blr code it succefully returned.
maybe you can point me to the right direction.
trap_init:
lwz r7, GOT(_start_of_vectors)
lwz r8, GOT(_end_of_vectors)
li r9, 0x100 /* reset vector always at 0x100 */
cmplw 0, r7, r8
bgelr /* return if r7>=r8 - just in case */
mflr r4 /* save link register */
1:
lwz r0, 0(r7)
stw r0, 0(r9)
addi r7, r7, 4
addi r9, r9, 4
cmplw 0, r7, r8
bne 1b
/* blr (in this use blr it works Steven) */
Best Regards.
Steven.
______________________________LOG MESSAGE_____________________________________________________
U-Boot 1.3.3 (Nov 4 2008 - 18:19:01)
CPU: AMCC PowerPC 440EP Rev. C at 333.333 MHz (PLB=133, OPB=66, EBC=33 MHz)
Bootstrap Option E - Boot ROM Location EBC (16 bits)
Internal PCI arbiter enabled, PCI async ext clock used
32 kB I-Cache 32 kB D-Cache
Board: MFT(Multi Function Tester) - AMCC PPC440EP Evaluation Board
I2C: ready
DTT: 1 FAILED INIT
DRAM: 128 MB
[init_func_ram]K9 board_add_ram leave
[board_init_f]enter
[board_init_f:465]
[board_init_f:468]
Top of RAM usable for U-Boot at: 08000000
Reserving 593k for U-Boot at: 07f6b000
Reserving 136k for malloc() at: 07f49000
Reserving 144 Bytes for Board Info at: 07f48f70
Reserving 56 Bytes for Global Data at: 07f48f38
Stack Pointer at: 07f48f18
[board.c:639]
New Stack Pointer is: 07f48f18
[board_init_f:657]addr_sp:0x7f48f18, id:0x7f48f38, addr:0x7f6b000
[board_init_r:679]enter
Now running in RAM - U-Boot at: 07f6b000
[board_init_r:706]before watchdog_reset
[board_init_r:709]after watchdog
[board_init_r:772]
[board_init_r:790]
Bus Fault @ 0x07f6d7c0, fixup 0x00000000
Machine Check Exception.
Caused by (from msr): regs 07f48df8 Data Read PLB Error
Data Write PLB Error
Machine Check exception is imprecise
NIP: 07F6D7C0 XER: 00000000 LR: 07F6D7C0 REGS: 07f48df8 TRAP: 0200 DEAR: CE3EFACB
MSR: 00021000 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00
GPR00: 07F6D358 07F48EE8 07F48F38 07F6B000 07F6E6F8 00000001 00000001 07F6D7C0
GPR08: 00000600 00002098 01FCA055 00000000 07F48CF8 27000800 07FB2100 07FEB000
GPR16: 10010000 06110000 00A94200 00638800 24009000 CB010000 00000000 FFFB3B8C
GPR24: FFFB2A30 07F48F38 07F6B000 07F6B000 07F9EB8C 07F9DA20 07FB21B4 07F48F70
Call backtrace:
07F6E6F0 07F6D734
machine check
__________________________________________________________________________________________
Include/configs/mft.h
/*-----------------------------------------------------------------------
* High Level Configuration Options
*----------------------------------------------------------------------*/
#define CONFIG_440EP 1 /* Specifc EP support */
#define CONFIG_440 1 /* ... PPC440 family */
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
#define CONFIG_MISC_INIT_R 1 /* Call misc_init_r */
#define CONFIG_SYS_CLK_FREQ 66666666 /* external freq to pll */
/*-----------------------------------------------------------------------
* Base addresses -- Note these are effective addresses where the
* actual resources get mapped (not physical addresses)
*----------------------------------------------------------------------*/
#define CFG_SDRAM_BASE 0x00000000 /* _must_ be 0 *
#define CFG_FLASH_BASE 0xfc000000 /* start of FLASH */
#define CFG_MONITOR_BASE TEXT_BASE
//#define CFG_MONITOR_BASE (-CFG_MONITOR_LEN)
#define CFG_PCI_MEMBASE 0xa0000000 /* mapped pci memory */
#define CFG_PCI_MEMBASE1 CFG_PCI_MEMBASE + 0x10000000
#define CFG_PCI_MEMBASE2 CFG_PCI_MEMBASE1 + 0x10000000
#define CFG_PCI_MEMBASE3 CFG_PCI_MEMBASE2 + 0x10000000
#define CFG_PERIPHERAL_BASE 0xef600000 /* internal peripherals */
#define CFG_PCI_BASE 0xe0000000 /* internal PCI regs */
#define CFG_USB_DEVICE 0x50000000
#define CFG_NVRAM_BASE_ADDR 0x80000000
#define CFG_BCSR_BASE (CFG_NVRAM_BASE_ADDR | 0x2000)
#define CFG_BOOT_BASE_ADDR 0xf0000000
/*-----------------------------------------------------------------------
* Initial RAM & stack pointer (placed in internal SRAM)
*----------------------------------------------------------------------*/
#define CFG_INIT_RAM_DCACHE 1 /* d-cache as init ram */
#define CFG_INIT_RAM_ADDR 0x70000000 /* Initial RAM address */
#define CFG_ISRAM_BASE CFG_INIT_RAM_ADDR /* internal SRAM */
#define CFG_INIT_RAM_END (4 << 10) /* End of used area in RAM */
#define CFG_GBL_DATA_SIZE 256 /* num bytes initial data */
#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
#define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET
#define CFG_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Mon*/
#define CFG_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc*/
/*-----------------------------------------------------------------------
* DDR SDRAM
*----------------------------------------------------------------------*/
#undef CONFIG_SPD_EEPROM /* Don't use SPD EEPROM for setup */
//#define CONFIG_SDRAM_BANK0 1 /* init onboard DDR SDRAM bank 0*/
//#define CFG_SDRAM0_TR0 0x410A4012
#undef CONFIG_SDRAM_ECC /* enable ECC support */
#if 1 // for sdram test
#define CFG_DRAM_TEST
#define CFG_KBYTES_SDRAM (128 * 1024)
#endif
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] new board SDRAM conf
2008-11-04 10:23 ` 조기성
@ 2008-11-04 10:46 ` Stefan Roese
0 siblings, 0 replies; 8+ messages in thread
From: Stefan Roese @ 2008-11-04 10:46 UTC (permalink / raw)
To: u-boot
Hi Steven,
On Tuesday 04 November 2008, ??? wrote:
> I solved SDRAM problems for your help, when I use CFG_DRAM_TEST , it passed
>
> My bdi2000's configuration is blows
> WDCR 0x10 0x00000020 ;Select SDRAM0_CFG0
> WDCR 0x11 0x34000000 ;CFG0: 32bit, PMU disable
> WDCR 0x11 0x84000000 ;CFG1: enable SDRA
>
> When I Use BID2000, accessing SDRAM with Verify, mm command, It works fine
> . I think SDRAM0_CFG first is CFG0, and second is CFG1.
>
> But in board/amcc/mft.c I used marked code, It's confused me.
> Long int sdram_init()
> {
>
> //mtsdram (mem_cfg0, 0x34000000); /* confused me */
> //mtsdram (mem_cfg1, 0x84000000);
> mtsdram (mem_cfg1, 0x34000000);/* it works fine */
> mtsdram (mem_cfg0, 0x84000000);
> }
Not sure if I understand what you are trying to tell me? Did you find a
problem in the common code? Or is it a problem with your BDI config script?
> I have another problem.
> cpu/ppc4XX/start.S -> trab_init function has exception error blows LOG
> MESSAGE. When I debug trap_init , use blr code it succefully returned.
> maybe you can point me to the right direction.
>
> trap_init:
> lwz r7, GOT(_start_of_vectors)
> lwz r8, GOT(_end_of_vectors)
>
> li r9, 0x100 /* reset vector always at 0x100 */
>
> cmplw 0, r7, r8
> bgelr /* return if r7>=r8 - just in case */
>
> mflr r4 /* save link register */
> 1:
> lwz r0, 0(r7)
> stw r0, 0(r9)
> addi r7, r7, 4
> addi r9, r9, 4
> cmplw 0, r7, r8
> bne 1b
>
> /* blr (in this use blr it works Steven) */
So when you add this "blr" here you can boot successfully to the U-Boot
prompt? And without it you get the exceptions printed below? That's strange.
It works on all other known 4xx platforms without problem as far as I know.
Make sure to start "fresh" from the BDI by using "reset run".
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-11-04 10:46 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-03 7:14 [U-Boot] new board SDRAM conf 조기성
2008-11-03 7:47 ` Stefan Roese
2008-11-03 9:51 ` 조기성
2008-11-03 10:11 ` Stefan Roese
2008-11-03 14:45 ` 조기성
2008-11-03 15:02 ` Stefan Roese
2008-11-04 10:23 ` 조기성
2008-11-04 10:46 ` Stefan Roese
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox