The DM355 processor is interfaced to MMC card through flash card interface. Please let me know what is the memory capacity of MMC card that can be used.
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.
The DM355 processor is interfaced to MMC card through flash card interface. Please let me know what is the memory capacity of MMC card that can be used.
The MMC/SD driver on the DM355 and DM6446 as of DVSDK 1.30.01.41, PSP 1.20.00.014 does not support high capacity SD cards (SDHC) so the maximum memory capacity of a MMC/SD card on the interface today would be 4GB.
Hi could I check this with you please - page....
http://tiexpressdsp.com/index.php?title=PSP_Technical_FAQ
....says "Yes, SD High capacity (SDHC) support is available in Patch 45". I'm using the DM355 and for my application it's likely I'll need to use the higher capacity cards. If SDHC is not supported, is there a plan to introduce it?
Many thanks
That patch 45 is for DM644x, it looks like there may be a patch for the DM355 version as well, however if there was it probably should have been rolled into the 1.30 release, but both the 1.30 release and the upcoming 2.0 release say specifically in the user's guide that high capacity SD is not supported by the driver. This being said I will have to do some digging internally to get the scoop on this one (I am not sure if either the support never totally made it to DM355 or if the user's guide just never reflected the addition of the support).
Hi,
Please see question numbers 5,7,8 and 12 of the following wiki topic :- http://wiki.davincidsp.com/index.php?title=PSP_Introduction_and_Product_FAQ.
This should answer your questions on LSP 1.x.
thanks
regards
sathya
Hi,
I plan to add SDHC patch to DM355, too, I noticed that the patch45 if for DM644x, so, I am not sure whether it work on DM355, Does anybody have the experience to do that? thank?
Another key thing to consider is the version of the kernel. Patch 45 applies to older DVSDK releases baed on MV Pro 4 (based on 2.6.10 kernel); our latest DVSDK releases are based on MV Pro 5 (2.6.18 kernel) and currently there are no patches for these DVSDK based kernels. Although I believe SDHC support is already in the GIT tree and will likely be included in future DVSDK releases.
If you are ok working with an older DVSDK, then patch 45 is probrably a good place to start porting from...
thanks for your reply, my DM355 linux version is 2.6.10_mvl401, it seems to be the old one. I have built the sdio modules following the Davinci_Custom_SDIO_Stack_Usermanual.doc.
I can "insmod sdio_lib.ko" and "insmod sdio_busdriver.ko" correctly, but the kernel crashed when I try to "insmod sdio_davinci_hcd.ko"
below is the log, please help me to check it, thank you very much!
root@192.168.1.103:~# insmod sdio_lib.ko
SDIO Library load
root@192.168.1.103:~# insmod sdio_busdriver.ko
root@192.168.1.103:~# insmod sdio_davinci_hcd.ko
Unable to handle kernel NULL pointer dereference at virtual address 00000012
pgd = c649c000
[00000012] *pgd=86bb3031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1]
Modules linked in: sdio_davinci_hcd sdio_busdriver sdio_lib
CPU: 0
PC is at __clk_use+0xc/0x20
LR is at clk_use+0x34/0x60
pc : [<c0098280>] lr : [<c009861c>] Not tainted
sp : c649bdc0 ip : c649bdd0 fp : c649bdcc
r10: 00000000 r9 : 0000001a r8 : 00000000
r7 : 00000000 r6 : 0000001b r5 : a0000013 r4 : c649a000
r3 : 00000001 r2 : 0000004d r1 : c649a000 r0 : fffffffe
Flags: NzCv IRQs off FIQs on Mode SVC_32 Segment user
Control: 5317F Table: 8649C000 DAC: 00000015
Process insmod (pid: 1125, stack limit = 0xc649a1a0)
Stack: (0xc649bdc0 to 0xc649c000)
bdc0: c649bdec c649bdd0 c009861c c0098284 0000001b fffffffe c6ba6800 0000001b
bde0: c649be3c c649bdf0 bf012700 c00985f8 c6bf86c0 bf012fcf c649be24 c6bf86c0
be00: c6ba6800 c03340d8 00000000 bf015588 bf0155a8 4b87ad6e c6ba6800 bf015960
be20: 00000000 bf015588 bf0155a8 00000000 c649be74 c649be40 bf012110 bf0126c8
be40: 00000000 c01968d0 c06b6fc0 00000000 bf0155a8 bf0158b0 c033ead0 bf0158b0
be60: c03340d8 00000001 c649be94 c649be78 c01b2660 bf011e30 c649be94 bf0158c4
be80: bf0155a8 c033eb30 c649beac c649be98 c01d618c c01b25c8 bf0158f4 bf0155a8
bea0: c649becc c649beb0 c01d620c c01d6148 c649becc bf0155a8 bf00f1f0 bf0155a8
bec0: c649bef4 c649bed0 c01d63c4 c01d61bc c01d8eb8 bf0155a8 bf00f1f0 bf0155cc
bee0: 00000000 bf0158b0 c649bf14 c649bef8 c01d532c c01d6378 bf0155a8 bf0155a8
bf00: bf00f52c 00000000 c649bf2c c649bf18 c01b196c c01d52b4 c6bf8520 bf0155a8
bf20: c649bf5c c649bf30 bf00b34c c01b18dc c649bf5c bf015594 c0333948 c649a000
bf40: c0333938 00000000 c649a000 00000002 c649bf74 c649bf60 bf017064 bf00b180
bf60: c0333948 bf015a40 c649bfa4 c649bf78 c00c1668 bf017010 c649bfa4 00008f08
bf80: 00012018 00000003 00000080 c008a2f4 c649a000 00900080 00000000 c649bfa8
bfa0: c0089b60 c00c14a8 00008f08 00012018 00012018 00005d09 00012008 00004000
bfc0: 00008f08 00012018 00000003 befffbec 00008000 00000000 00012008 00000000
bfe0: 400d0740 befffbdc 00008dbc 400d074c 60000010 00012018 fbd7ffdd 0a104420
Backtrace:
[<c0098274>] (__clk_use+0x0/0x20) from [<c009861c>] (clk_use+0x34/0x60)
[<c00985e8>] (clk_use+0x0/0x60) from [<bf012700>] (InitDavinci+0x48/0x2d8 [sdio_davinci_hcd])
r6 = 0000001B r5 = C6BA6800 r4 = FFFFFFFE
[<bf0126b8>] (InitDavinci+0x0/0x2d8 [sdio_davinci_hcd]) from [<bf012110>] (Probe+0x2f0/0x48c [sdio_davinci_hcd])
[<bf011e20>] (Probe+0x0/0x48c [sdio_davinci_hcd]) from [<c01b2660>] (pnp_device_probe+0xa8/0xd0)
[<c01b25b8>] (pnp_device_probe+0x0/0xd0) from [<c01d618c>] (driver_probe_device+0x54/0x74)
r6 = C033EB30 r5 = BF0155A8 r4 = BF0158C4
[<c01d6138>] (driver_probe_device+0x0/0x74) from [<c01d620c>] (device_attach+0x60/0xa4)
r5 = BF0155A8 r4 = BF0158F4
[<c01d61ac>] (device_attach+0x0/0xa4) from [<c01d63c4>] (bus_add_device+0x5c/0x10c)
r6 = BF0155A8 r5 = BF00F1F0 r4 = BF0155A8
[<c01d6368>] (bus_add_device+0x0/0x10c) from [<c01d532c>] (device_add+0x88/0x11c)
r8 = BF0158B0 r7 = 00000000 r6 = BF0155CC r5 = BF00F1F0
r4 = BF0155A8
[<c01d52a4>] (device_add+0x0/0x11c) from [<c01b196c>] (__pnp_add_device+0xa0/0xc8)
r7 = 00000000 r6 = BF00F52C r5 = BF0155A8 r4 = BF0155A8
[<c01b18cc>] (__pnp_add_device+0x0/0xc8) from [<bf00b34c>] (SDIO_BusAddOSDevice+0x1dc/0x2b0 [sdio_busdriver])
r5 = BF0155A8 r4 = C6BF8520
[<bf00b170>] (SDIO_BusAddOSDevice+0x0/0x2b0 [sdio_busdriver]) from [<bf017064>] (sdio_local_hcd_init+0x64/0xec [sdio_davinci_hcd])
[<bf017000>] (sdio_local_hcd_init+0x0/0xec [sdio_davinci_hcd]) from [<c00c1668>] (sys_init_module+0x1d0/0x3e0)
r4 = BF015A40
[<c00c1498>] (sys_init_module+0x0/0x3e0) from [<c0089b60>] (ret_fast_syscall+0x0/0x2c)
Code: e89da800 e1a0c00d e92dd800 e24cb004 (e5d03014)
<6>note: insmod[1125] exited with preempt_count 1
BUG: scheduling while atomic: insmod/0x40000001/1125
caller is __cond_resched+0x60/0x80
BUG: scheduling while atomic: insmod/0x40000001/1125
caller is __cond_resched+0x60/0x80
BUG: scheduling while atomic: insmod/0x00000001/1125
caller is do_exit+0xd38/0xd9c
Segmentation fault
And I have traced the code, I found that the crash happen on InitDavinci() in file:drivers/sdio/hcd/davinci/sdio_hcd_os_2_6.c. when the code run into clk_use(clksrc), crashed!!!
Hi, I have fixed the crash issue, "MMCSDCLK" should be changed to "MMCSDCLK0" when we call clk_get();
But I meet another issue. the eth0 was down and nfs was down, too, after insmod sdio_davinci_hcd.ko. So, What's wrong with eth0???
root@192.168.1.103:~# insmod sdio_lib.ko
SDIO Library load
root@192.168.1.103:~# insmod sdio_busdriver.ko
root@192.168.1.103:~# insmod sdio_davinci_hcd.ko
DMA channels: Tx 27, Rx 26, # of Slaves[3]
root@192.168.1.103:~# eth0: link down
nfs: server 192.168.1.101 not responding, still trying
nfs: server 192.168.1.101 not responding, still trying
Hello,
I'm trying to get SDHC card working on my DVEVM DM355 board. I've applied the same patch available from TI website, to my kernel which is 2.6.10 from LSP 1.20. After applying the patch, I loaded the modules:
# insmod sdio_lib.ko
# insmod sdio_busdriver.ko
# insmod sdio_davinci_hcd.ko
My bad!
I had added the patchset to a fresh copy of the LSP 1.20 kernel 2.6.10 in which the "TI DAVINCI Multimedia Card Interface support" option under "Device Drivers->MMC Support" was left unselected. I selected this to be compiled in to the kernel and now the 1GB SD card gets detected without any problem. Both the memory card slots work well simultaneously. Now I'll get hold of a SDHC card and test it. Will update here soon.
Best regards,
Kapil
Although I was able to use 1GB SD card, when I tried to load the SDIO modules (after unmounting & removing the SD card), I got the following warning messages:
root@192.168.4.104:/ko# insmod sdio_lib.ko
SDIO Library load
root@192.168.4.104:/ko# insmod sdio_busdriver.ko
root@192.168.4.104:/ko# insmod sdio_davinci_hcd.ko
WARNING: dma unregister callback failed - invalid tcc 64 on lch 0
WARNING: dma unregister callback failed - invalid tcc 64 on lch 27
pnp: Device 00:00 disabled.
sdio_davinci_hcd: probe of 00:00 failed with error -12
By running 'lsmod', I can see that the sdio_davinci_hcd module does get loaded despite these warnings:
root@192.168.4.104:/ko# lsmod
Module Size Used by
sdio_davinci_hcd 20048 0
sdio_busdriver 46448 1 sdio_davinci_hcd
sdio_lib 10464 2 sdio_davinci_hcd,sdio_busdriver
After this if I try to use the SD card again, it still works OK. My first guess is that the MMC card driver - which is built into the kernel and not a loadable module - is using the DMA channels which the SDIO/SDHC driver requires. I'm going to dig deeper into this tomorrow morning. If anyone has any suggestions kindly let me know.
One question: Is it necessary to build the MMC support as a loadable module too?
Best regards,
Kapil
Yes, I had to modify some KConfig files by hand in order to have both the MMC and the SDIO support built-in. After that the microSD card just worked. I tested with 8GB card and my colleagues tested with up to 32 GB cards. They all work. We are facing some filesystem related problems on the cards, but that might be a different issue altogether as it is not easily reproducible.
Best regards,
Kapil
sorry for my delay.
Now I am using arago project to support my 8G SD card, it works well
please reference to the user guide of arago project
http://arago-project.org/wiki/index.php/Setting_Up_Build_Environment
Jeffery
Hi, I am having some issue with support of SDHC card on DM6446 mv pro 4 2.6.10 kernel.
The drivers are built as dynamically loadable modules. It works fine. Is it possible to have SDIO stack and and drivers to be built as part of the kernel?