I am having a problem talking to an SanDisk iNAND device (P/N: SDIN4C2-4G-U). This device is connected to the MMC0 port on my DM365 custom hardware. The symptom I am seeing is that I never get the /dev/mmcblk0 device to show up. Here is a log of my Linux kernel startup; Note around 7.00s after startup there being some timeout erros messages. Can someone help me determine what this driver is or is not seeing? I am seeing a 200KHz clk and data on the CMD lines.
Uncompressing Linux.............................................................
................... done, booting the kernel.
[ 0.000000] Linux version 2.6.18_pro500-TVP (harris@ubuntu) (gcc version 4.2.
0 (MontaVista 4.2.0-16.0.32.0801914 2008-08-30)) #1 PREEMPT Thu Nov 11 11:38:29
EST 2010
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[ 0.000000] Machine: Harris TVP DM365
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 20480
[ 0.000000] DMA zone: 20480 pages, LIFO batch:3
[ 0.000000] DaVinci DM0365 variant 0x8
[ 0.000000] PLL0: fixedrate: 24000000, commonrate: 121500000, vpssrate: 24300
0000
[ 0.000000] PLL0: vencrate: 27000000, ddrrate: 121500000, mmcsdrate: 97200000
[ 0.000000] PLL1: armrate: 297000000, voicerate: 99000000, vencrate: 74250000
[ 0.000000] CPU0: D VIVT write-back cache
[ 0.000000] CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 s
ets
[ 0.000000] CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 set
s
[ 0.000000] Built 1 zonelists. Total pages: 20480
[ 0.000000] Kernel command line: mem=80M console=ttyS0,115200n8 root=/dev/ram
0 rw debug video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,2025K dm365_imp.ope
r_mode=0
[ 0.000000] PID hash table entries: 512 (order: 9, 2048 bytes)
[ 0.000000] Clock event device timer0_0 configured with caps set: 03
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.010000] Memory: 80MB = 80MB total
[ 0.010000] Memory: 73088KB available (1957K code, 459K data, 128K init)
[ 0.010000] Calibrating delay loop... 148.27 BogoMIPS (lpj=741376)
[ 0.220000] Mount-cache hash table entries: 512
[ 0.220000] CPU: Testing write buffer coherency: ok
[ 0.220000] Trying to unpack C0025C20 to C0025CA6
[ 0.220000] Unpacking initramfs... done
[ 4.020000] Freeing initrd memory: 5487K
[ 4.030000] NET: Registered protocol family 16
[ 4.030000] DaVinci: 104 gpio irqs
[ 6.040000] DM365 IPIPE initialized in Continuous mode
[ 6.040000] ch0 default output "COMPOSITE", mode "NTSC"
[ 6.040000] <vpbe_encoder_setoutput>
[ 6.040000] Setting output to Composite
[ 6.040000] Start of vpbe_encoder_setmode..
[ 6.040000] </vpbe_encoder_setmode>
[ 6.040000] </vpbe_encoder_setoutput>
[ 6.040000] VPBE Encoder initialized
[ 6.040000] <vpbe_encoder_enumoutput>
[ 6.040000] </vpbe_encoder_enumoutput>
[ 6.040000] <vpbe_encoder_setoutput>
[ 6.040000] Setting output to Composite
[ 6.040000] Start of vpbe_encoder_setmode..
[ 6.040000] </vpbe_encoder_setmode>
[ 6.040000] </vpbe_encoder_setoutput>
[ 6.040000] Start of vpbe_encoder_setmode..
[ 6.040000] </vpbe_encoder_setmode>
[ 6.040000] <vpbe_encoder_getoutput>
[ 6.040000] </vpbe_encoder_getoutput>
[ 6.040000] <vpbe_encoder_getmode>
[ 6.040000] <vpbe_encoder_getmode/>
[ 6.040000] VPBE Encoder Initialized
[ 6.050000] SCSI subsystem initialized
[ 6.050000] usbcore: registered new driver usbfs
[ 6.050000] usbcore: registered new driver hub
[ 6.060000] NET: Registered protocol family 2
[ 6.160000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 6.160000] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[ 6.160000] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[ 6.160000] TCP: Hash tables configured (established 4096 bind 2048)
[ 6.160000] TCP reno registered
[ 6.190000] io scheduler noop registered
[ 6.190000] io scheduler deadline registered (default)
[ 6.190000] <vpbe_encoder_getmode>
[ 6.190000] <vpbe_encoder_getmode/>
[ 6.210000] <vpbe_encoder_getmode>
[ 6.210000] <vpbe_encoder_getmode/>
[ 6.210000] davincifb davincifb.0: bad fbdev param 3
[ 6.210000] davincifb davincifb.0: dm_osd0_fb: Initial window configuration i
s invalid.
[ 6.210000] davincifb davincifb.0: dm_osd0_fb: 720x576x16@0,0 with framebuffe
r size 2025KB
[ 6.220000] davincifb davincifb.0: dm_vid0_fb: 0x0x16@0,0 with framebuffer si
ze 1020KB
[ 6.220000] <vpbe_encoder_getmode>
[ 6.220000] <vpbe_encoder_getmode/>
[ 6.220000] davincifb davincifb.0: check_fb_var: calling convert_fb_var_to_os
d, var->bits_per_pixel: 4
[ 6.220000] davincifb davincifb.0: convert_fb_var_to_osd: bits per pixel: 4
[ 6.220000] davincifb davincifb.0: davincifb_set_par: calling convert_fb_info
_to_osd bpp: 4
[ 6.220000] davincifb davincifb.0: convert_fb_info_to_osd: var->bits_per_pixe
l: 4
[ 6.220000] davincifb davincifb.0: convert_fb_var_to_osd: bits per pixel: 4
[ 6.220000] <vpbe_encoder_getmode>
[ 6.220000] <vpbe_encoder_getmode/>
[ 6.220000] davincifb davincifb.0: dm_osd1_fb: 720x480x4@0,0 with framebuffer
size 675KB
[ 6.230000] davincifb davincifb.0: dm_vid1_fb: 0x0x16@0,0 with framebuffer si
ze 1020KB
[ 6.230000] DAVINCI-WDT: DaVinci Watchdog Timer: heartbeat 60 sec
[ 6.240000] imp serializer initialized
[ 6.240000] davinci_previewer initialized
[ 6.240000] davinci_resizer initialized
[ 6.240000] Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing
disabled
[ 6.250000] serial8250.0: ttyS0 at MMIO map 0x1c20000 mem 0xfac20000 (irq = 4
0) is a 16550A
[ 6.260000] serial8250.0: ttyS1 at MMIO map 0x1d06000 mem 0xfad06000 (irq = 4
1) is a 16550A
[ 6.270000] Linux video capture interface: v2.00
[ 6.280000]
[ 6.280000] starting ccdc_reset...<7>
[ 6.280000] End of ccdc_reset...<5>vpfe ccdc capture vpfe ccdc capture.1: vpi
f_register_decoder: decoder = adv7180
[ 6.300000] <davinci_display_init>
[ 6.300000] DavinciDisplay DavinciDisplay.1: <davinci_probe>
[ 6.310000] Trying to register davinci display video device.
[ 6.310000] layer=c22fce00,layer->video_dev=c22fcf60
[ 6.320000] Trying to register davinci display video device.
[ 6.330000] layer=c22fcc00,layer->video_dev=c22fcd60
[ 6.330000] davinci_init:DaVinci V4L2 Display Driver V1.0 loaded
[ 6.340000] </davinci_init>
[ 6.340000] i2c /dev entries driver
[ 6.350000] dm_spi.0: davinci SPI Controller driver at 0xc5802000 (irq = 42)
use_dma=0
[ 6.360000] usbmon: debugfs is not available
[ 6.360000] pegasus: v0.6.13 (2005/11/13), Pegasus/Pegasus II USB Ethernet dr
iver
[ 6.370000] usbcore: registered new driver pegasus
[ 6.380000] usbcore: registered new driver cdc_ether
[ 6.380000] usbcore: registered new driver rndis_host
[ 6.390000] usbcore: registered new driver usbserial
[ 6.400000] drivers/usb/serial/usb-serial.c: USB Serial support registered fo
r generic
[ 6.410000] usbcore: registered new driver usbserial_generic
[ 6.410000] drivers/usb/serial/usb-serial.c: USB Serial Driver core
[ 6.420000] musb_hdrc: version 6.0, cppi-dma, host, debug=0
[ 6.440000] musb_hdrc musb_hdrc: No DMA interrupt line
[ 6.440000] musb_hdrc: ConfigData=0x06 (UTMI-8, dyn FIFOs, SoftConn)
[ 6.450000] musb_hdrc: MHDRC RTL version 1.500
[ 6.450000] musb_hdrc: setup fifo_mode 2
[ 6.460000] musb_hdrc: 8/9 max ep, 3392/4096 memory
[ 6.460000] musb_hdrc: hw_ep 0shared, max 64
[ 6.470000] musb_hdrc: hw_ep 1tx, max 512
[ 6.470000] musb_hdrc: hw_ep 1rx, max 512
[ 6.470000] musb_hdrc: hw_ep 2tx, max 512
[ 6.480000] musb_hdrc: hw_ep 2rx, max 512
[ 6.480000] musb_hdrc: hw_ep 3tx, max 512
[ 6.490000] musb_hdrc: hw_ep 3rx, max 512
[ 6.490000] musb_hdrc: hw_ep 4shared, max 256
[ 6.490000] musb_hdrc: USB Host mode controller at c5804000 using DMA, IRQ 12
[ 6.500000] musb_hdrc musb_hdrc: MUSB HDRC host driver
[ 6.510000] drivers/usb/core/inode.c: creating file 'devices'
[ 6.510000] drivers/usb/core/inode.c: creating file '001'
[ 6.520000] musb_hdrc musb_hdrc: new USB bus registered, assigned bus number
1
[ 6.530000] usb usb1: default language 0x0409
[ 6.530000] usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
[ 6.540000] usb usb1: Product: MUSB HDRC host driver
[ 6.540000] usb usb1: Manufacturer: Linux 2.6.18_pro500-TVP musb-hcd
[ 6.550000] usb usb1: SerialNumber: musb_hdrc
[ 6.550000] usb usb1: uevent
[ 6.560000] usb usb1: configuration #1 chosen from 1 choice
[ 6.570000] usb usb1: adding 1-0:1.0 (config #1, interface 0)
[ 6.570000] usb 1-0:1.0: uevent
[ 6.580000] hub 1-0:1.0: usb_probe_interface
[ 6.580000] hub 1-0:1.0: usb_probe_interface - got id
[ 6.590000] hub 1-0:1.0: USB hub found
[ 6.590000] hub 1-0:1.0: 1 port detected
[ 6.590000] hub 1-0:1.0: standalone hub
[ 6.600000] hub 1-0:1.0: individual port power switching
[ 6.600000] hub 1-0:1.0: no over-current protection
[ 6.610000] hub 1-0:1.0: Single TT
[ 6.610000] hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns)
[ 6.620000] hub 1-0:1.0: power on to power good time: 10ms
[ 6.620000] hub 1-0:1.0: local power source is good
[ 6.630000] hub 1-0:1.0: enabling power on all ports
[ 6.740000] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
[ 6.740000] drivers/usb/core/inode.c: creating file '001'
[ 6.750000] davinci-mmc davinci-mmc.0: Supporting 1-bit mode
[ 6.760000] davinci-mmc davinci-mmc.0: max_phys_segs=2
[ 6.760000] davinci-mmc davinci-mmc.0: max_hw_segs=2
[ 6.770000] davinci-mmc davinci-mmc.0: max_sect=256
[ 6.770000] davinci-mmc davinci-mmc.0: max_seg_size=131072
[ 6.780000] davinci-mmc davinci-mmc.0: Using DMA mode
[ 6.780000] mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0
[ 6.790000] davinci-mmc davinci-mmc.0: clock 0Hz busmode 1 powermode 0 V
dd 0.00
[ 6.800000] davinci-mmc davinci-mmc.0:
[ 6.800000] Enabling 1 bit mode
[ 6.810000] TCP bic registered
[ 6.810000] mmc0: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 20 width 0
[ 6.820000] davinci-mmc davinci-mmc.0: clock 0Hz busmode 1 powermode 1 V
dd 0.20
[ 6.820000] davinci-mmc davinci-mmc.0:
[ 6.820000] Enabling 1 bit mode
[ 6.830000] NET: Registered protocol family 1
[ 6.840000] NET: Registered protocol family 17
[ 6.840000] NET: Registered protocol family 15
[ 6.850000] mmc0: clock 312500Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0
[ 6.850000] davinci-mmc davinci-mmc.0: clock 312500Hz busmode 1 powermode 2 V
dd 0.20
[ 6.860000] davinci-mmc davinci-mmc.0:
[ 6.860000] Enabling 1 bit mode
[ 6.880000] Time: timer0_1 clocksource has been installed.
[ 6.880000] Clock event device timer0_0 configured with caps set: 08
[ 6.880000] Switched to high resolution mode on CPU 0
[ 6.890000] mmc0: clock 312500Hz busmode 1 powermode 2 cs 1 Vdd 20 width 0
[ 6.890000] davinci-mmc davinci-mmc.0: clock 312500Hz busmode 1 powermode 2 V
dd 0.20
[ 6.910000] davinci-mmc davinci-mmc.0:
[ 6.910000] Enabling 1 bit mode
[ 6.930000] mmc0: starting CMD0 arg 00000000 flags 00000040
[ 6.930000] mmc0: req done (CMD0): 0/0/0: 00000000 00000000 00000000 00000000
[ 6.970000] mmc0: clock 312500Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0
[ 6.970000] davinci-mmc davinci-mmc.0: clock 312500Hz busmode 1 powermode 2 V
dd 0.20
[ 6.990000] davinci-mmc davinci-mmc.0:
[ 6.990000] Enabling 1 bit mode
[ 7.010000] mmc0: starting CMD55 arg 00000000 flags 00000015
[ 7.010000] davinci-mmc davinci-mmc.0: MMCSD: Command t
imeout, CMD55 and status i
s 10
[ 7.030000] mmc0: req done (CMD55): 1/0/0: 00000000 00000000 00000000 0000000
0
[ 7.040000] mmc0: starting CMD55 arg 00000000 flags 00000015
[ 7.040000] davinci-mmc davinci-mmc.0: MMCSD: Command t
imeout, CMD55 and status i
s 10
[ 7.050000] mmc0: req done (CMD55): 1/0/0: 00000000 00000000 00000000 0000000
0
[ 7.050000] mmc0: starting CMD55 arg 00000000 flags 00000015
[ 7.060000] davinci-mmc davinci-mmc.0: MMCSD: Command t
imeout, CMD55 and status i
s 10
[ 7.080000] mmc0: req done (CMD55): 1/0/0: 00000000 00000000 00000000 0000000
0
[ 7.080000] mmc0: starting CMD55 arg 00000000 flags 00000015
[ 7.080000] davinci-mmc davinci-mmc.0: MMCSD: Command t
imeout, CMD55 and status i
s 10
[ 7.100000] mmc0: req done (CMD55): 1/0/0: 00000000 00000000 00000000 0000000
0
[ 7.110000] mmc0: starting CMD1 arg 00000000 flags 00000061
[ 7.110000] mmc0: req done (CMD1): 0/0/0: 00ff8080 00000000 00000000 00000000
[ 7.110000] mmc0: clock 312500Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0
[ 7.130000] davinci-mmc davinci-mmc.0: clock 312500Hz busmode 1 powermode 2 V
dd 0.20
[ 7.140000] davinci-mmc davinci-mmc.0:
[ 7.140000] Enabling 1 bit mode
[ 7.140000] mmc0: clock 312500Hz busmode 1 powermode 2 cs 1 Vdd 20 width 0
[ 7.140000] davinci-mmc davinci-mmc.0: clock 312500Hz busmode 1 powermode 2 V
dd 0.20
[ 7.160000] davinci-mmc davinci-mmc.0:
[ 7.160000] Enabling 1 bit mode
[ 7.180000] mmc0: starting CMD0 arg 00000000 flags 00000040
[ 7.180000] mmc0: req done (CMD0): 0/0/0: 00000000 00000000 00000000 00000000
[ 7.220000] mmc0: clock 312500Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0
[ 7.220000] davinci-mmc davinci-mmc.0: clock 312500Hz busmode 1 powermode 2 V
dd 0.20
[ 7.240000] davinci-mmc davinci-mmc.0:
[ 7.240000] Enabling 1 bit mode
[ 7.260000] mmc0: starting CMD1 arg 00300000 flags 00000061
[ 7.260000] mmc0: req done (CMD1): 0/0/0: 00ff8080 00000000 00000000 00000000
[ 7.290000] mmc0: starting CMD1 arg 00300000 flags 00000061
[ 7.290000] mmc0: req done (CMD1): 0/0/0: 00ff8080 00000000 00000000 00000000
[ 7.320000] mmc0: starting CMD1 arg 00300000 flags 00000061
[ 7.320000] mmc0: req done (CMD1): 0/0/0: 00ff8080 00000000 00000000 00000000
[ 7.350000] mmc0: starting CMD1 arg 00300000 flags 00000061
[ 7.350000] mmc0: req done (CMD1): 0/0/0: 00ff8080 00000000 00000000 00000000
[ 7.380000] mmc0: starting CMD1 arg 00300000 flags 00000061
[ 7.380000] davinci-mmc davinci-mmc.0: MMCSD: Command t
imeout, CMD1 and status i
s 10
[ 7.400000] mmc0: req done (CMD1): 1/0/0: 00ff8080 00000000 00000000 00000000
[ 7.410000] mmc0: starting CMD2 arg 00000000 flags 00000067
[ 7.410000] mmc0: req done (CMD2): 1/0/0: 00ff8080 00000000 00000000 00000000
[ 7.410000] mmc0: clock 312500Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0
[ 7.430000] davinci-mmc davinci-mmc.0: clock 312500Hz busmode 2 powermode 2 V
dd 0.20
[ 7.430000] davinci-mmc davinci-mmc.0:
[ 7.430000] Enabling 1 bit mode
[ 7.440000] mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0
[ 7.440000] davinci-mmc davinci-mmc.0: clock 0Hz busmode 1 powermode 0 V
dd 0.00
[ 7.460000] davinci-mmc davinci-mmc.0:
[ 7.460000] Enabling 1 bit mode
[ 7.460000] Freeing init memory: 128K
INIT: version 2.86 booting
[ 7.810000] davinci-mmc davinci-mmc.0: MMC-Probing mmc with cmd55
mknod: /dev/console: File exists
[ 8.370000] usb 1-0:1.0: uevent
[ 8.370000] usb usb1: uevent
[ 8.810000] davinci-mmc davinci-mmc.0: MMC-Probing mmc with cmd1
INIT: Entering runlevel: 3
thttpd successfully started
[ 9.810000] davinci-mmc davinci-mmc.0: MMC-Probing mmc with cmd55
[ 9.810000] CMEMK module: built on Nov 9 2010 at 14:02:32
[ 9.820000] Reference Linux version 2.6.18
[ 9.820000] File /home/harris/work/tvp-baseline/modules/cmemk.c
[ 9.840000] ioremap_nocache(0x85000000, 50331648)=0xc6000000
[ 9.840000] allocated heap buffer 0xc6000000 of size 0x134000
[ 9.840000] cmem initialized 20 pools between 0x85000000 and 0x88000000
[ 9.860000] CMEM Range Overlaps Kernel Physical - allowing overlap
[ 9.860000] CMEM phys_start (0x1000) overlaps kernel (0x80000000 -> 0x8500000
0)
[ 9.860000] ioremap_nocache(0x1000, 28672)=0xc5808000
[ 9.880000] no remaining memory for heap, no heap created for memory block 1
[ 9.880000] cmem initialized 1 pools between 0x1000 and 0x8000
[ 9.940000] IRQK module: built on Nov 9 2010 at 14:02:32
[ 9.960000] Reference Linux version 2.6.18
[ 9.960000] File /home/harris/work/tvp-baseline/modules/irqk.c
[ 9.970000] irqk initialized
[ 10.030000] EDMAK module: built on Nov 9 2010 at 14:02:33
[ 10.030000] Reference Linux version 2.6.18
[ 10.050000] File /home/harris/work/tvp-baseline/modules/edmak.c
RF-7400E-VP Tactical Video Processor (TV)
Copyright 2010, Harris Corporation. All rights reserved
User defined signal 1
[ 10.810000] davinci-mmc davinci-mmc.0: MMC-Probing mmc with cmd1
MontaVista(R) Linux(R) Professional Edition 4.0.1 (0502020)
(none) login: [ 11.810000] davinci-mmc davinci-mmc.0: MMC-Probing mmc with cmd
55