Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

DRA76P: DRA76P custom board DDR3 wron size detection

$
0
0

Part Number: DRA76P

Dear Mr./Mrs.,

We are working in a custom board based on DRA76P processor and we are facing some issues with DDR3 size detection.

Our custom board has 2 x 1GB (64M x 16 x 8) chips conected to each EMIF. So the total size of the populated RAM is 4GB. However when u-boot starts only 1.5GB is detected. We are using the same dts files in use for the EVM.

This is what we obatin from "bdinfo"

 EVM (bdinfo)

arch_number = 0x00000FE6
boot_params = 0x80000100
DRAM bank   = 0x00000000
-> start    = 0x80000000
-> size     = 0x7F000000
DRAM bank   = 0x00000001
-> start    = 0x00000000
-> size     = 0x80000000
baudrate    = 115200 bps
TLB addr    = 0xFEFF0000
relocaddr   = 0xFEF3F000
reloc off   = 0x7E73F000
irq_sp      = 0xFDF0A580
sp start    = 0xFDF0A570
 

Custom board (bdinfo)

arch_number = 0x00000FE6
boot_params = 0x80000100
DRAM bank   = 0x00000000
-> start    = 0x80000000
-> size     = 0x60000000
DRAM bank   = 0x00000001
-> start    = 0x00000000
-> size     = 0x00000000
baudrate    = 115200 bps
TLB addr    = 0xDFFF0000
relocaddr   = 0xDFF3F000
reloc off   = 0x5F73F000
irq_sp      = 0xDEF0BD20
sp start    = 0xDEF0BD10

The kernel is able to start but after some seconds it crashes:

[    0.340853] ------------[ cut here ]------------
[    0.340879] WARNING: CPU: 0 PID: 1 at mm/cma.c:114 cma_init_reserved_areas+0x13c/0x208()
[    0.340887] Modules linked in:
[    0.340903] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.4.117 #1
[    0.340911] Hardware name: Generic DRA74X (Flattened Device Tree)
[    0.340918] Backtrace:
[    0.340935] [<c020c80c>] (dump_backtrace) from [<c020ca08>] (show_stack+0x18/0x1c)
[    0.340943]  r6:60000013 r5:c1242414 r4:00000000 r3:dc8ba675
[    0.340971] [<c020c9f0>] (show_stack) from [<c0b93064>] (dump_stack+0x94/0xa8)
[    0.340984] [<c0b92fd0>] (dump_stack) from [<c02320bc>] (warn_slowpath_null+0x78/0xa8)
[    0.340991]  r6:c0e26704 r5:00000072 r4:c1024f9c r3:dc8ba675
[    0.341014] [<c0232044>] (warn_slowpath_null) from [<c1024f9c>] (cma_init_reserved_areas+0x13c/0x208)
[    0.341020]  r6:c120bcd0 r5:000dfd00 r4:000dfc00
[    0.341041] [<c1024e60>] (cma_init_reserved_areas) from [<c0201864>] (do_one_initcall+0xa8/0x204)
[    0.341047]  r10:c120394c r9:eee28b00 r8:c120bd68 r7:00000000 r6:c1024e60 r5:c120bd68
[    0.341069]  r4:00000001
[    0.341084] [<c02017bc>] (do_one_initcall) from [<c10010b0>] (kernel_init_freeable+0x1f8/0x2b8)
[    0.341090]  r10:c107683c r9:c1000700 r8:c1076820 r7:c12a0000 r6:c12a0000 r5:c1084dec
[    0.341111]  r4:00000001
[    0.341126] [<c1000eb8>] (kernel_init_freeable) from [<c0b9572c>] (kernel_init+0x10/0x148)
[    0.341132]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0b9571c
[    0.341152]  r4:00000000
[    0.341166] [<c0b9571c>] (kernel_init) from [<c02080a0>] (ret_from_fork+0x14/0x34)
[    0.341172]  r5:c0b9571c r4:00000000
[    0.341198] ---[ end trace a53c5036b9d31799 ]---


[    4.810655] Backtrace:
[    4.813123] [<c0578aec>] (addr_in_gen_pool) from [<c02166e0>] (__arm_dma_free+0x170/0x1fc)
[    4.821419]  r6:00000001 r5:00001000 r4:011fffdc r3:c12a0350
[    4.827137] [<c0216570>] (__arm_dma_free) from [<c02167b4>] (arm_dma_free+0x20/0x28)
[    4.834910]  r10:ee170000 r9:c0216c98 r8:c120da74 r7:00000000 r6:ffffffff r5:eeeb6210
[    4.842810]  r4:00000401
[    4.845365] [<c0216794>] (arm_dma_free) from [<c084ab14>] (omap_hsmmc_adma_exit+0x94/0xbc)
[    4.853668] [<c084aa80>] (omap_hsmmc_adma_exit) from [<c084d700>] (omap_hsmmc_probe+0x638/0xce0)
[    4.862486]  r8:ee17060c r7:eeeb6210 r6:c120394c r5:eeeb6210 r4:00000401
[    4.869259] [<c084d0c8>] (omap_hsmmc_probe) from [<c0690e00>] (platform_drv_probe+0x54/0xb8)
[    4.877729]  r10:c120394c r9:ee6c6280 r8:00000000 r7:fffffdfb r6:c1266624 r5:eeeb6210
[    4.885627]  r4:c12f11f4
[    4.888182] [<c0690dac>] (platform_drv_probe) from [<c068ee64>] (driver_probe_device+0x208/0x2fc)
[    4.897089]  r7:c1266624 r6:00000000 r5:eeeb6210 r4:c12f11f4
[    4.902804] [<c068ec5c>] (driver_probe_device) from [<c068efec>] (__driver_attach+0x94/0x98)
[    4.911275]  r8:c120bd68 r7:c068ef58 r6:eeeb6244 r5:c1266624 r4:eeeb6210 r3:00000000
[    4.919096] [<c068ef58>] (__driver_attach) from [<c068cbcc>] (bus_for_each_dev+0x84/0xc8)
[    4.927307]  r6:c120394c r5:c1266624 r4:00000000 r3:00000001
[    4.933022] [<c068cb48>] (bus_for_each_dev) from [<c068e864>] (driver_attach+0x24/0x28)
[    4.941056]  r7:00000000 r6:ee6c8000 r5:c1250930 r4:c1266624
[    4.946769] [<c068e840>] (driver_attach) from [<c068e458>] (bus_add_driver+0x1a4/0x21c)
[    4.954810] [<c068e2b4>] (bus_add_driver) from [<c068fca4>] (driver_register+0x94/0x118)
[    4.962931]  r7:00000000 r6:c1044cdc r5:00000000 r4:c1266624
[    4.968646] [<c068fc10>] (driver_register) from [<c0690d28>] (__platform_driver_register+0x48/0x50)
[    4.977726]  r5:c120bd68 r4:00000006
[    4.981336] [<c0690ce0>] (__platform_driver_register) from [<c1044cf8>] (omap_hsmmc_driver_init+0x1c/0x20)
[    4.991034] [<c1044cdc>] (omap_hsmmc_driver_init) from [<c0201864>] (do_one_initcall+0xa8/0x204)
[    4.999862] [<c02017bc>] (do_one_initcall) from [<c10010b0>] (kernel_init_freeable+0x1f8/0x2b8)
[    5.008593]  r10:c107683c r9:c1000700 r8:c1076834 r7:c12a0000 r6:c12a0000 r5:c1085558
[    5.016494]  r4:00000006
[    5.019051] [<c1000eb8>] (kernel_init_freeable) from [<c0b9572c>] (kernel_init+0x10/0x148)
[    5.027346]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0b9571c
[    5.035246]  r4:00000000
[    5.037802] [<c0b9571c>] (kernel_init) from [<c02080a0>] (ret_from_fork+0x14/0x34)
[    5.045400]  r5:c0b9571c r4:00000000
[    5.049006] Code: e1a04001 e0826001 ebf4b048 e1a00005 (e5b03004)
[    5.056332] ---[ end trace a53c5036b9d3179a ]---    
[    5.060989] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    5.060989]
[    5.070165] CPU0: stopping
[    5.072889] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G      D W       4.4.117 #1
[    5.080139] Hardware name: Generic DRA74X (Flattened Device Tree)
[    5.086257] Backtrace:
[    5.088723] [<c020c80c>] (dump_backtrace) from [<c020ca08>] (show_stack+0x18/0x1c)
[    5.096322]  r6:60000193 r5:c1242414 r4:00000000 r3:dc8ba675
[    5.102045] [<c020c9f0>] (show_stack) from [<c0b93064>] (dump_stack+0x94/0xa8)
[    5.109306] [<c0b92fd0>] (dump_stack) from [<c021052c>] (handle_IPI+0x320/0x33c)
[    5.116730]  r6:00000000 r5:c1088518 r4:00000005 r3:dc8ba675
[    5.122448] [<c021020c>] (handle_IPI) from [<c0201510>] (gic_handle_irq+0x78/0x7c)
[    5.130047]  r10:c1200000 r9:c1203a4c r8:fa213000 r7:fa212000 r6:c1201ee8 r5:fa21200c
[    5.137946]  r4:c12048c0 r3:00000405
[    5.141556] [<c0201498>] (gic_handle_irq) from [<c020d500>] (__irq_svc+0x40/0x74)
[    5.149068] Exception stack(0xc1201ee8 to 0xc1201f30)
[    5.154142] 1ee0:                   00000001 00000000 00000000 c021b460 c12039ec c0c03248
[    5.162356] 1f00: 00000000 c12958f8 00000000 c1203a4c c1200000 c1201f44 c1201f48 c1201f38
[    5.170568] 1f20: c0208c10 c0208c14 60000013 ffffffff
[    5.175636]  r8:00000000 r7:c1201f1c r6:ffffffff r5:60000013 r4:c0208c14 r3:c0208c10
[    5.183458] [<c0208bd4>] (arch_cpu_idle) from [<c0288b30>] (default_idle_call+0x28/0x34)
[    5.191586] [<c0288b08>] (default_idle_call) from [<c0288e8c>] (cpu_startup_entry+0x350/0x408)
[    5.200238] [<c0288b3c>] (cpu_startup_entry) from [<c0b95718>] (rest_init+0x90/0x94)
[    5.208010]  r7:00000000
[    5.210565] [<c0b95688>] (rest_init) from [<c1000e64>] (start_kernel+0x440/0x494)
[    5.218076]  r4:c12a0050 r3:dc8ba675
[    5.221684] [<c1000a24>] (start_kernel) from [<80008090>] (0x80008090)
[    5.228235]  r10:00000000 r9:412fc0f2 r8:80007000 r7:c120d510 r6:c1076a34 r5:c12039c8
[    5.236135]  r4:c12a0214
[    5.238691] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

We have recompiled u-boot to include "mtest" command, and changed the algorithm to write/read 0xAA..AA / 0x55..55. When performing the test we obtain good results within 1.5GB (from 0x80000000 to 0xDFFFFFFF as it is detected by "bdinfo")  but errors outside this limits.

How is it possible to detect 1.5GB? And not 2GB or 1GB (I mean not to be power of 2)?

Are we forgetting some step in u-boot/dts files generation?

Thank you very much in advance!

Best regards.


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>