Grettings,
We have a custom dm8148 board and try to let it board from SD card.
The booting passed the uboot but when loading the linux kernel it will stop at " NOR: Can't request GPMC CS". (Please see below)
Any one knows why stop here?
U-Boot 2010.06 (Dec 09 2011 - 17:20:03) TI8148-GP rev 2.1 ARM clk: 600MHz DDR clk: 400MHz DRAM: 2 GiB Using default environment The 2nd stage U-Boot will now be auto-loaded Please do not interrupt the countdown till TI8148_EVM prompt if 2nd stage is aldMMC: OMAP SD/MMC: 0 Hit any key to stop autoboot: 0 reading u-boot.bin 186792 bytes read ## Starting application at 0x80800000 ... U-Boot 2010.06 (Dec 09 2011 - 17:15:42) TI8148-GP rev 2.1 ARM clk: 600MHz DDR clk: 400MHz I2C: ready DRAM: 2 GiB NAND: HW ECC Hamming Code selected No NAND device found!!! 0 MiB *** Warning - bad CRC or NAND, using default environment .:;rrr;;. ,5#@@@@#####@@@@@@#2, ,A@@@hi;;;r5;;;;r;rrSG@@@A, r@@#i;:;s222hG;rrsrrrrrr;ri#@@r :@@hr:r;SG3ssrr2r;rrsrsrsrsrr;rh@@: B@H;;rr;3Hs;rrr;sr;;rrsrsrsrsrsr;;H@B @@s:rrs;5#;;rrrr;r#@H:;;rrsrsrsrsrr:s@@ @@;;srs&X#9;r;r;;,2@@@rrr:;;rrsrsrsrr;;@@ @@;;rrsrrs@MB#@@@@@###@@@@@@#rsrsrsrsrr;;@@ G@r;rrsrsr;#X;SX25Ss#@@#M@#9H9rrsrsrsrsrs;r@G @9:srsrsrs;2@;:;;:.X@@@@@H::;rrsrsrsrsrsrr:3@ X@;rrsrsrsrr;XAi;;:&@@#@Bs:rrsrsrsrsrsrsrsrr;@X @#;rsrsrsrsrr;r2ir@@@###::rrsrsrsrsrsrsrsrsr:@@ @A:rrsrsrsrr;:2@29@@M@@@;:;rrrrsrsrsrsrsrsrs;H@ @&;rsrsrsrr;A@@@@@@###@@@s::;:;;rrsrsrsrsrsr;G@ @#:rrsrsrsr;G@5Hr25@@@#@@@#9XG9s:rrrrsrsrsrs:#@ M@;rsrsrsrs;r@&#;::S@@@@@@@M@@@@Grr:;rsrsrsr;@# :@s;rsrsrsrr:M#Msrr;;&#@@@@@@@@@@H@@5;rsrsr;s@, @@:rrsrsrsr;S@rrrsr;:;r3MH@@#@M5,S@@irrsrr:@@ @A:rrsrsrsrrrrrsrsrrr;::;@##@r:;rH@h;srr:H@ ;@9:rrsrsrsrrrsrsrsrsr;,S@Hi@i:;s;MX;rr:h@; r@B:rrrrsrsrsrsrsrr;;sA@#i,i@h;r;S5;r:H@r ,@@r;rrrsrsrsrsrr;2BM3r:;r:G@:rrr;;r@@, B@Mr;rrrrsrsrsr@@S;;;rrr:5M;rr;rM@H .@@@i;;rrrrsrs2i;rrrrr;r@M:;i@@@. .A@@#5r;;;r;;;rrr;r:r#AsM@@H. ;&@@@@MhXS5i5SX9B@@@@G; :ihM#@@@@@##hs, MMC: OMAP SD/MMC: 0 Net: <ethaddr> not set. Reading from E-fuse Detected MACID:d4:94:a1:7f:e7:a9 cpsw Hit any key to stop autoboot: 0 reading boot.scr 310 bytes read Running bootscript from MMC/SD to set the ENV... ## Executing script at 80900000 reading uImage 2571428 bytes read ## Booting kernel from Legacy Image at 80009000 ... Image Name: Arago/2.6.37-psp04.01.00.06/dm81 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2571364 Bytes = 2.5 MiB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. Linux version 2.6.37 (x0029463@swubn01) (gcc version 4.3.3 (Sourcery G++ Lite 21CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine: ti8148evm bootconsole [earlycon0] enabled vram size = 52428800 at 0x0 reserved size = 52428800 at 0x0 FB: Reserving 52428800 bytes SDRAM for VRAM Memory policy: ECC disabled, Data cache writeback OMAP chip is TI8148 2.0 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 52224 Kernel command line: console=ttyO0,115200n8 rootwait root=/dev/mmcblk0p2 rw memdPID hash table entries: 1024 (order: 0, 4096 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 206MB = 206MB total Memory: 203140k/203140k available, 59004k reserved, 0K highmem Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) DMA : 0xffc00000 - 0xffe00000 ( 2 MB) vmalloc : 0xd0800000 - 0xf8000000 ( 632 MB) lowmem : 0xc0000000 - 0xd0000000 ( 256 MB) pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) modules : 0xbf000000 - 0xbfe00000 ( 14 MB) .init : 0xc0008000 - 0xc003a000 ( 200 kB) .text : 0xc003a000 - 0xc04df000 (4756 kB) .data : 0xc04e0000 - 0xc0528640 ( 290 kB) SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:407 IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts Total of 128 interrupts on 1 active controller GPMC revision 6.0 Trying to install interrupt handler for IRQ400 Trying to install interrupt handler for IRQ401 Trying to install interrupt handler for IRQ402 Trying to install interrupt handler for IRQ403 Trying to install interrupt handler for IRQ404 Trying to install interrupt handler for IRQ405 Trying to install interrupt handler for IRQ406 Trying to install type control for IRQ407 Trying to set irq flags for IRQ407 OMAP clockevent source: GPTIMER1 at 20000000 Hz Console: colour dummy device 80x30 Calibrating delay loop... 599.65 BogoMIPS (lpj=2998272) pid_max: default: 32768 minimum: 301 Security Framework initialized Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok devtmpfs: initialized omap_voltage_early_init: voltage driver support not added regulator: core version 0.5 regulator: dummy: NET: Registered protocol family 16 OMAP GPIO hardware version 0.1 OMAP GPIO hardware version 0.1 OMAP GPIO hardware version 0.1 OMAP GPIO hardware version 0.1 omap_mux_init: Add partition: #1: core, flags: 4 registered ti814x_vpss device registered TI814x on-chip HDMI device NOR: Can't request GPMC CS
===========================
Booting stops here
Cheers,
Jun
Hi Jun,
Can you share the bootargs what you are setting?
Are you modifying the u-boot code? I am not aware of "memd" in bootargs
Refer this section in the user guide
http://processors.wiki.ti.com/index.php/DM814x_AM387x_PSP_U-Boot#ENV_on_SD_card_using_a_script
Regards AnilKumar Please mark this Forum post as answered via the Verify Answer button below if it helps answer your question. Thanks!
Dear Anil
Thanks for your quick answer.
The scripts I used is : 'console=ttyO0,115200n8 rootwait root=/dev/mmcblk0p2 rw mem=256M earlyprintk notifyk.vpssm3_sva=0xBF900000 vram=50M ti814xfb.vram=0:16M,1:16M,2:6M ip=off noinitrd'
We have the psp version 04.01.00.06, so the args should be correct, right?
It might be caused by other hardware design issues, but we are stuck here and need to understand why it stops right there.
Hi Anil,
One more thing, in the custom board the ddr memory is 4*16bit DDR3 and total size is 1GB.
However, during loading uboot it shows the memory size is 2GB.
We are also confused why this is happening.
thanks,
I am worried about this part of your log message
Kernel command line: console=ttyO0,115200n8 rootwait root=/dev/mmcblk0p2 rw memd
It should be shown like this
Kernel command line: console=ttyO0,115200n8 rootwait root=/dev/mmcblk0p2 rw mem=256M earlyprintk notifyk.vpssm3_sva=0xBF900000 vram=50M ti814xfb.vram=0:16M,1:16M,2:6M ip=off noinitrd
Try to create u-boot script (boot.scr) for taking the bootargs from boot.txt file
Regards
AnilKumar
Thanks for your reply very much.
That was a copy-paste error,I checked just now, it is as following, which should be correct.
We are still debuging the board, we indeed found some errors in our configurations.
The DDR3 size in our custom board is 1GiB, however the one in the evm is 2GiB, so we are trying to change it and make a custom uboot.
Could you please keey an eye on this thread. We have a problem of makeing a custom SD card image.
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/178142/641605.aspx#641605
Thanks,
I am having the exact same problem you're reporting. We have a custom board with 2x 128M16 (2Gb) on DDR0 (similar layout to DM8148EVM), but only 2x 64M16 (1Gb) on DDR1.
On bootup it hangs at the same point. I tried removing these two lines from the kernel board file:
ti814x_vpss_init();ti814x_hdmi_init();
since, on the EVM, the next printk is
registered ti81xx_vidout deviceDebugfs: Only enabling/disabling deep sleep and wakeup timer is supported nowRegistered ti81xx_fb device
But it didn't make any difference. Further on is PCIe setup info...
Have you made any progress resolving your problem?
Jun,
Removed a whole bunch of stuff from the stock kernel configuration and it managed to proceed.
Will be doing some testing to narrow down which drivers are causing the fault, but I have a hunch it'll be the VPSS...
Hi David,
Glad to hear that you can load the kernel at least right now.
I have not solved this issues, just wondering which file you modified to proceed?
We are thinking this might be caused by the DDR3 memory. And one of our engineers is working on this. I will let you know if we make any progress.
Hello Jun,
At the moment, I start with the stock ti8148 configuration (in linux tree):
make ARCH=arm ti8148_evm_defconfig
then manually edit the configuration with:
make ARCH=arm menuconfig
Inside the configuration, go to the bus options (off the main menu) and DISABLE PCI support. Then go to Drivers and Graphics and disable all framebuffer and VPSS entries. That should get you booting.
I think the problem has to do with the PCIe peripheral, but I'm not 100% sure. I can't boot to the console yet since the SD Card isn't being detected by the Kernel on my hardware (my SD Card works on EVM), so I haven't tried enabling parts of the VPSS yet. I think my problem is missing pullup resistor on supposedly unused SD Card Detect line. I will be hacking the hsmmc driver today.
Dear David,
Thanks for your input very much.
We are now can booting the Linux.
I was also guessing the issues are caused by the PCI. I will run more testing and if I found something will keep you updated.
I assume you already know the following link regrading DDR3, if not it might be helpful for you.
http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_DDR3_Init
Regards,
It turns out that you just need disable the PCI insider the linux kernel.
Now our board is working fine.
Thanks for your help very much.
I meet the same problem with you,the different is I boot the kernel from nand flash.Could you tell tell me how to config the kernel,and what the bootargs is.
Thanks.
Hi enson
I also meet the same problem and boot from nand flash , are you solved the problem?
Hi Steven,
In our custom board, there is no PCI bus, and by default PCI is enable inside the Linux kernel.
After we disable PCI bus, the board get loaded up.
Hi jun,
Thank you very much.
I disable the pcie and sata ,then it works well.
Now we want to change the Ethernet card,we want to use et1011c,the same with the 8168evm. But I don't know how to edit the u-boot.In drivers/net there are two files,make me puzzled. What the function of cpsw.c and davinci_emac.c.
enson