This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5728 DDR3配置

Other Parts Discussed in Thread: AM5728

Hi,

am5728平台一个emif接口是可以支持2GBddr的吧,我使用sprac36b 这个配置ddr参数的工具,修改了uboot下ddr的初始化参数,但是探测到1GB的空间,另外1GB空间无法访问?这个是什么原因呢?

sdk版本ti-processor-sdk-linux-am57xx-evm-03.03.00.04,2片 64Mbit x 16 I/Os x 8banks ddr3,uboot下配置

 static const struct dmm_lisa_map_regs beagle_x15_lisa_regs = {

.dmm_lisa_map_0 = 0x00000000,
.dmm_lisa_map_1 = 0x00000000,
.dmm_lisa_map_2 = 0x80700100,
.dmm_lisa_map_3 = 0xFF020100,
.is_ma_present = 0x1
 };

 static const struct emif_regs beagle_x15_emif1_ddr3_532mhz_emif_regs = {
.sdram_config_init = 0x61851bb2,
.sdram_config = 0x61851bb2,
.sdram_config2 = 0x0,

...

我修改emif_config寄存器

.sdram_config_init = 0x79851bb2,
.sdram_config = 0x79851bb2,
.sdram_config2 = 0x0,

ibank_pos=3, ebank_pso=1或者0,我就能探测到2GB的空间,CCS下也能使用memery file来测试2GB空间是能够正常访问的

但是在系统启动后malloc 100M左右的空间,写操作时内核报错,报错信息

[ 28.512600] Core dump to |/bin/false pipe failed
[ 28.521619] Core dump to |/bin/false pipe failed
[ 28.527388] Core dump to |/bin/false pipe failed
[ 28.646794] Core dump to |/bin/false pipe failed
[ 28.660191] Core dump to |/bin/false pipe failed
[ 28.665176] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 28.665176]
[ 28.674357] CPU1: stopping
[ 28.674364] CPU: 1 PID: 667 Comm: sh Not tainted 4.4.41-gf9f6f0db2d #69
[ 28.674366] Hardware name: Generic DRA74X (Flattened Device Tree)
[ 28.674371] Backtrace:
[ 28.674388] [<c0013a88>] (dump_backtrace) from [<c0013c84>] (show_stack+0x18/0x1c)
[ 28.674397] r7:ed465f40 r6:20010193 r5:00000000 r4:c0962b0c
[ 28.674407] [<c0013c6c>] (show_stack) from [<c02b5b88>] (dump_stack+0x8c/0xa0)
[ 28.674415] [<c02b5afc>] (dump_stack) from [<c0016dfc>] (handle_IPI+0x184/0x198)
[ 28.674423] r7:ed465f40 r6:00000000 r5:00000001 r4:c0933408
[ 28.674429] [<c0016c78>] (handle_IPI) from [<c0009534>] (gic_handle_irq+0x78/0x7c)
[ 28.674437] r7:fa212000 r6:ed465f40 r5:fa21200c r4:c09388c0
[ 28.674443] [<c00094bc>] (gic_handle_irq) from [<c00147d4>] (__irq_svc+0x54/0x90)
[ 28.674446] Exception stack(0xed465f40 to 0xed465f88)
[ 28.674452] 5f40: ed465fb0 00000001 00000000 a0010030 ed464000 00000000 ed465fb0 00000000
[ 28.674458] 5f60: 00000000 ed464000 ed464000 ed465fac ed465fb0 ed465f90 c000fc74 c00135f0
[ 28.674461] 5f80: 60010013 ffffffff
[ 28.674470] r9:ed464000 r8:00000000 r7:ed465f74 r6:ffffffff r5:60010013 r4:c00135f0
[ 28.674478] [<c00135a0>] (do_work_pending) from [<c000fc74>] (slow_work_pending+0xc/0x20)
[ 28.674486] r7:00000000 r6:c0014cf0 r5:00000000 r4:b6e42a7e
[ 28.793393] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 28.793393]

这片DDR是 rowsize = 16,sprac36b给的配置是ibank_pos=0,ebank_pos=0, rowsize 是不使用的,那它的默认值是多少呢?