Hi All,
I am using TIDM368 SDK V2.0 for Appro. Open_src_IPNC_DM368_IMX036_2.0.0.tgz is included.
My issue is how to make MMC/SD1 driver run since MMC/SD0 driver runs well. I modify the code as follows:
1. modify /ti-davinci/arch/arm/math-davinci/board-dm368-ipnc.c
static struct resource mmc1_resources[] = {
[0] = { /* registers */
.start = DM365_MMC_SD1_BASE,
.end = DM365_MMC_SD1_BASE + SZ_1K - 1,
.flags = IORESOURCE_MEM,
},
[1] = { /* interrupt */
.start = IRQ_DM3XX_MMCINT1,
.end = IRQ_DM3XX_MMCINT1,
.flags = IORESOURCE_IRQ,
},
[2] = { //dma rx
.start = DM365_DMA_MMC1RXEVT,
.end = DM365_DMA_MMC1RXEVT,
.flags = IORESOURCE_DMA | IORESOURCE_DMA_RX_CHAN,
},
[3] = { // dma tx
.start = DM365_DMA_MMC1TXEVT,
.end = DM365_DMA_MMC1TXEVT,
.flags = IORESOURCE_DMA | IORESOURCE_DMA_TX_CHAN,
},
[4] = { // event queue
.start = EVENTQ_3,
.end = EVENTQ_3,
.flags = IORESOURCE_DMA | IORESOURCE_DMA_EVENT_Q,
},
};
static struct davinci_mmc_platform_data mmc1_platform_data = {
.mmc_clk = "MMCSDCLK1",
.rw_threshold = 64,
.use_4bit_mode = 1,
.use_8bit_mode = 0,
.max_frq = 50000000,
.pio_set_dmatrig = 1,
};
static struct platform_device mmc1_device = {
.name = "davinci-mmc1",
.id = 1,
.dev = {
.platform_data = &mmc1_platform_data,
},
.num_resources = ARRAY_SIZE(mmc1_resources),
.resource = mmc1_resources,
};
static struct platform_device *dm365_ipnc_devices[] __initdata = {
&serial_device,
&mmc0_device,
&mmc1_device,
&nand_device,
&rtc_device,
};
And I've added some debug information in ti-davinci/drivers/mmc/davinci-mmc.c
below are my tidm365 custmized board print message when boot up
Starting kernel ...
Linux version 2.6.18_pro500-davinci_IPNC_DM368_2.0.0 (root@localhost.localdomain) (gcc version 4.2.0 (MontaVista 4.2.0-
16.0.32.0801914 2008-08-30)) #1 PREEMPT Tue Jan 4 00:59:06 CST 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: DaVinci DM368 IPNC
Memory policy: ECC disabled, Data cache writeback
DaVinci DM0365 variant 0x8
PLL0: fixedrate: 24000000, commonrate: 170000000, vpssrate: 340000000
PLL0: vencrate_sd: 75555555, ddrrate: 340000000 mmcsdrate: 48571428
PLL1: armrate: 432000000, voicerate: 20571428, vencrate_hd: 27000000
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists. Total pages: 16384
Kernel command line: mem=64M console=ttyS1,115200n8 root=/dev/ram0 rw initrd=0x82000000,16M ip=dhcp eth=00:0C:0C:A0:05:CC
PID hash table entries: 512 (order: 9, 2048 bytes)
Clock event device timer0_0 configured with caps set: 07
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 44556KB available (3101K code, 644K data, 176K init)
Security Framework v1.0.0 initialized
Capability LSM initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd
Freeing initrd memory: 16384K
NET: Registered protocol family 16
DaVinci: 104 gpio irqs
MUX: initialized GPIO20
MUX: initialized I2C_SCL
Generic PHY: Registered new driver
ch0 default output "COMPOSITE", mode "NTSC"
VPBE Encoder Initialized
SCSI subsystem initialized
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
squashfs: version 3.1 (2006/08/19) Phillip Lougher
JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.
yaffs Mar 8 2011 18:38:56 Installing.
SGI XFS with no debug enabled
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
LTT : ltt-facilities init
LTT : ltt-facility-core init in kernel
DAVINCI-WDT: DaVinci Watchdog Timer: heartbeat 60 sec
Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO map 0x1c20000 mem 0xfbc20000 (irq = 40) is a 16550A
serial8250.0: ttyS1 at MMIO map 0x1d06000 mem 0xfbd06000 (irq = 41) is a 16550A
RAMDISK driver initialized: 1 RAM disks of 32768K size 1024 blocksize
Linux video capture interface: v2.00
Trying to register davinci display video device.
layer=c2fdaa00,layer->video_dev=c2fdab60
Trying to register davinci display video device.
layer=c2fda800,layer->video_dev=c2fda960
davinci_init:DaVinci V4L2 Display Driver V1.0 loaded
i2c /dev entries driver
nand_davinci nand_davinci.0: Using 4-bit hardware ECC
NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-bit)
Creating 6 MTD partitions on "nand_davinci.0":
0x00000000-0x00300000 : "bootloader"
0x00300000-0x00500000 : "params"
0x00500000-0x00700000 : "kernel"
0x00700000-0x01f00000 : "filesystem"
0x01f00000-0x02100000 : "data1"
0x02100000-0x08000000 : "data2"
nand_davinci nand_davinci.0: hardware revision: 2.3
rtc_davinci_dm365 rtc_davinci_dm365.0: rtc intf: proc
rtc_davinci_dm365 rtc_davinci_dm365.0: rtc intf: dev (254:0)
rtc_davinci_dm365 rtc_davinci_dm365.0: rtc core: registered rtc_davinci_dm365 as rtc0
Advanced Linux Sound Architecture Driver Version 1.0.12rc1 (Thu Jun 22 13:55:50 2006 UTC).
ASoC version 0.13.1
CQ0093 Voice Codec 0.1
asoc: cq93vc <-> davinci-vcif mapping ok
ALSA device list:
#0: On-chip voice codec (cq93vc)
IPv4 over IPv4 tunneling driver
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Time: timer0_1 clocksource has been installed.
Clock event device timer0_0 configured with caps set: 08
Switched to high resolution mode on CPU 0
rtc_davinci_dm365 rtc_davinci_dm365.0: setting the system clock to 2000-01-01 03:09:07 (946696147)
IP-Config: No network devices available.
RAMDISK: cramfs filesystem found at block 0
RAMDISK: Loading 12204KiB [1 disk] into ram disk... done.
VFS: Mounted root (cramfs filesystem) readonly.
Freeing init memory: 176K
INIT: version 2.86 booting
0
mkdir: Cannot create directory `/dev/.test': Read-only file system
Starting the hotplug events dispatcher: udevd.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...done.
0
CSL: Module install successful, device major num = 253
CSL: Module version 0.10.00, built on Jan 4 2011 01:01:36
I2C: Module install successful, device major num = 252
DMA: Module install successful, device major num = 251
DRV: Module install successful
DRV: Module built on Jan 4 2011 01:01:39
DRV: EDMACC.QUEPRI = 00000777
DRV: SYSTEM.MSTPRI0 = 00550011
DRV: SYSTEM.MSTPRI1 = 00000444
DRV: ISP.BCR = 00000002
DRV: SYSTEM.MISC = 00000319
sh: Can't open /mnt/mtd/insdrv.sh
Starting mounting local filesystems: mount none on /dev/shm type tmpfs (rw,size=5M)
none on /var/run type tmpfs (rw)
none on /tmp type tmpfs (rw,sync)
Setting up networking ...rm: unable to remove `/etc/network/run': Read-only file system
Starting hotplug subsystem:
pci
pci [success]
usb
usb [success]
isapnp
isapnp [success]
ide
ide [success]
input
input [success]
scsi
scsi [success]
done.
Starting portmap daemon: portmap.
Starting internet superserver: inetdio scheduler deadline registered.
io scheduler cfq registered
TI DaVinci EMAC: kernel boot params Ethernet address: 00:0C:0C:A0:05:CC
sbulla: unknown partition table
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
loop: loaded (max 8 devices)
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
CSLIP: code copyright 1989 Regents of the University of California
netconsole: not configured, aborting
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
Davinci EMAC MII Bus: probed
MAC address is 00:0C:0C:A0:05:CC
TI DaVinci EMAC Linux version updated 4.0
calling davinci_mmc_probe(id=0)
davinci-mmc davinci-mmc.0: Supporting 4-bit mode
davinci-mmc davinci-mmc.0: Using DMA mode
Register ISR for MMC/SD0
calling davinci_mmc_probe(id=1)
MUX: initialized SD1_CLK
MUX: initialized SD1_CMD
MUX: initialized SD1_DATA3
MUX: initialized SD1_DATA2
MUX: initialized SD1_DATA1
MUX: initialized SD1_DATA0
davinci-mmc davinci-mmc.1: Supporting 4-bit mode
davinci-mmc davinci-mmc.1: Using DMA mode
Register ISR for MMC/SD1
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=1,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=1,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=1,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=1,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=1,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=1,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=1,host->cmd_code=0
usbcore: registered new driver usbfs
usbcore: registered new driver hub
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=1,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=1,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=1,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=1,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=1,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=1,host->cmd_code=0
musb_hdrc: version 6.0, cppi-dma, peripheral, debug=0
musb_hdrc musb_hdrc: No DMA interrupt line
musb_hdrc: USB Peripheral mode controller at c48ea000 using DMA, IRQ 12
Loading iSCSI transport class v1.1-646.<5>iscsi: registered transport (tcp)
sbulla: unknown partition table
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=55
mkdosfs 3.0.10 (12 Sep 2010)
unable to get drive geometry, using default 255/63
/dev/sbulla has 255 heads and 63 sectors per track,
logical sector size is 512,
using 0xf8 media descriptor, with 1024 sectors;
file system has 2 12-bit FATs and 4 sectors per cluster.
FAT size is 1 sector, and provides 247 clusters.
There is 1 reserved sector.
Root directory contains 512 slots and uses 32 sectors.
Volume ID is fdeaffa9, no volume label.
Creat queue id:0
queue id:0
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=55
INIT: Entering runlevel: 3
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=1
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=1
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
calling mmc_bus_probe()
calling mmc_blk_probe()
mmcblk0: mmc0:694a SD04G 3870720KiB
mmcblk0:Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x0,host->is_core_command=1,host->cmd_code=55
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x6,host->is_core_command=1,host->cmd_code=55
p1
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=1,new_card_state=1
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=0,is_card_initialized=1
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=13
MontaVista(R) Linux(R) Professional Edition 5.0.0 (0702774)
(none) login: calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=1,new_card_state=1
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=0,is_card_initialized=1
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=13
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=1,new_card_state=1
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=0,is_card_initialized=1
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=13
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=1,new_card_state=1
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=0,is_card_initialized=1
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=13
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=1,new_card_state=1
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=0,is_card_initialized=1
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=13
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=1,new_card_state=0
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=0,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=0,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=0,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=0,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=0,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=0,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=55
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d11000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d11000),is_card_detect_progress=0,is_init_progress=0,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x4,host->is_core_command=0,host->cmd_code=0
Enter mmc_davinci_irq(phys_base=0x1d11000),status=0x10,host->is_core_command=0,host->cmd_code=1
calling davinci_mmc_check_status(phys_base=0x1d00000),is_card_busy=0,old_card_state=0,new_card_state=0
calling mmc_check_card(phys_base=0x1d00000),is_card_detect_progress=0,is_init_progress=1,is_card_initialized=0
Enter mmc_davinci_irq(phys_base=0x1d00000),status=0x4,host->is_core_command=0,host->cmd_code=0