MMC with at91rm9200 board. Errors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello, Developers.
My goal is to provide MMC/SD card support on at91rm9200 embedded
system. Hardware connected properly with slot A.

In a board-specific .c file I made:
static struct at91_mmc_data __initdata naviboard_mmc_data = {
    .slot_b = 0,
    .wire4 = 1,
    .det_pin =  AT91_PIN_PC0,
};

And in board init function:

at91_add_device_mmc(0, &naviboard_mmc_data);

Part of my .config, related to MMC:

# OTG and related infrastructure
#
# CONFIG_USB_GPIO_VBUS is not set
# CONFIG_NOP_USB_XCEIV is not set
CONFIG_MMC=y
CONFIG_MMC_DEBUG=y
# CONFIG_MMC_UNSAFE_RESUME is not set

#
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_BOUNCE=y
# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_SDHCI is not set
CONFIG_MMC_AT91=y
# CONFIG_MMC_ATMELMCI is not set
# CONFIG_MMC_SPI is not set
# CONFIG_MEMSTICK is not set


And mmc-related logs from dmesg. Not depends on card is inserted, or not.
...
[    1.195312] at91_mci at91_mci: 4 wire bus mode not supported - using 1 wire
[    1.203125] mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
[    1.203125] MMC: Setting controller bus width to 1
[    1.203125] Added MCI driver
[    1.203125] mmc0: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 21 width 0 timing0
[    1.203125] MMC: Setting controller bus width to 1
[    1.203125] Registered led device: LED0
[    1.210937] Registered led device: LED1
[    1.218750] Registered led device: LED2
[    1.226562] mmc0: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 t0
[    1.226562] clkdiv = 74. mcck = 399360
[    1.226562] MMC: Setting controller bus width to 1
[    1.226562] IPv4 over IPv4 tunneling driver
[    1.234375] TCP cubic registered
[    1.234375] NET: Registered protocol family 17
[    1.250000] rtc-ds1672 0-0068: setting system clock to 2012-05-12 15:14:46 U)
[    1.257812] Waiting for root device /dev/sda1...
[    1.265625] mmc0: clock 400000Hz busmode 1 powermode 2 cs 1 Vdd 21 width 0 t0
[    1.265625] clkdiv = 74. mcck = 399360
[    1.265625] MMC: Setting controller bus width to 1
[    1.265625] mmc0: starting CMD0 arg 00000000 flags 000000c0
[    1.265625] Sending command 0 as 00000800, arg = 00000000, blocks = 0, lengt)
[    1.265625] MCI irq: status = 0000C0E5, C07F0001, 00000001
[    1.265625] Command ready
[    1.265625] Completed command
[    1.265625] Status = 00000001/0000c0e5 [00000000 00000000 00000000 00000000]
[    1.265625] mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[    1.265625] mmc0: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 t0
[    1.265625] clkdiv = 74. mcck = 399360
[    1.265625] MMC: Setting controller bus width to 1
[    1.265625] mmc0: starting CMD8 arg 000001aa flags 000002f5
[    1.265625] Sending command 8 as 00001848, arg = 000001AA, blocks = 0, lengt)
[    1.265625] MCI irq: status = 0010C0E5, C07F0001, 00100001
[    1.265625] MMC: Response timeout
[    1.265625] Completed command
[    1.265625] Status = 00100001/0010c0e5 [00000000 00000000 00000000 00000000]
[    1.265625] Error detected and set to -110/0 (cmd = 8, retries = 0)
[    1.265625] mmc0: req done (CMD8): -110: 00000000 00000000 00000000 00000000
[    1.265625] mmc0: starting CMD5 arg 00000000 flags 000002e1
[    1.265625] Sending command 5 as 00001845, arg = 00000000, blocks = 0, lengt)
[    1.265625] MCI irq: status = 0010C0E4, C07F0001, 00100000
[    1.265625] MMC: Response timeout
[    1.265625] Completed command
[    1.265625] Status = 00100000/0010c0e5 [00000000 00000000 00000000 00000000]
[    1.265625] Error detected and set to -110/0 (cmd = 5, retries = 3)
[    1.265625] mmc0: req failed (CMD5): -110, retrying...
[    1.265625] Sending command 5 as 00001845, arg = 00000000, blocks = 0, lengt)
[    1.273437] MCI irq: status = 0010C0E4, C07F0001, 00100000
[    1.273437] MMC: Response timeout
[    1.273437] Completed command
[    1.273437] Status = 00100000/0010c0e5 [00000000 00000000 00000000 00000000]
[    1.273437] Error detected and set to -110/0 (cmd = 5, retries = 2)
[    1.273437] mmc0: req failed (CMD5): -110, retrying...
[    1.273437] Sending command 5 as 00001845, arg = 00000000, blocks = 0, lengt)
[    1.273437] MCI irq: status = 0010C0E4, C07F0001, 00100000
[    1.273437] MMC: Response timeout
[    1.273437] Completed command
[    1.273437] Status = 00100000/0010c0e5 [00000000 00000000 00000000 00000000]
[    1.273437] Error detected and set to -110/0 (cmd = 5, retries = 1)
[    1.273437] mmc0: req failed (CMD5): -110, retrying...
[    1.273437] Sending command 5 as 00001845, arg = 00000000, blocks = 0, lengt)
[    1.273437] MCI irq: status = 0010C0E4, C07F0001, 00100000
[    1.273437] MMC: Response timeout
[    1.273437] Completed command
[    1.273437] Status = 00100000/0010c0e5 [00000000 00000000 00000000 00000000]
[    1.273437] Error detected and set to -110/0 (cmd = 5, retries = 0)
[    1.273437] mmc0: req done (CMD5): -110: 00000000 00000000 00000000 00000000
[    1.273437] mmc0: starting CMD55 arg 00000000 flags 000000f5
[    1.273437] Sending command 55 as 00001877, arg = 00000000, blocks = 0, leng)
[    1.273437] MCI irq: status = 0002C0E4, C07F0001, 00020000
[    1.273437] MMC: Response direction error
[    1.273437] Completed command
[    1.273437] Status = 00020000/0006c0e5 [FFFFFFFF 00000000 00000000 00000000]
[    1.273437] Error detected and set to -5/0 (cmd = 55, retries = 0)
[    1.273437] mmc0: req done (CMD55): -5: ffffffff 00000000 00000000 00000000
[    1.273437] mmc0: starting CMD55 arg 00000000 flags 000000f5
[    1.273437] Sending command 55 as 00001877, arg = 00000000, blocks = 0, leng)
[    1.273437] MCI irq: status = 0002C0E4, C07F0001, 00020000
[    1.273437] MMC: Response direction error
[    1.273437] Completed command
[    1.273437] Status = 00020000/0006c0e5 [FFFFFFFF 00000000 00000000 00000000]
[    1.273437] Error detected and set to -5/0 (cmd = 55, retries = 0)
[    1.273437] mmc0: req done (CMD55): -5: ffffffff 00000000 00000000 00000000
[    1.273437] mmc0: starting CMD55 arg 00000000 flags 000000f5
[    1.273437] Sending command 55 as 00001877, arg = 00000000, blocks = 0, leng)
[    1.273437] MCI irq: status = 0002C0E4, C07F0001, 00020000
[    1.273437] MMC: Response direction error
[    1.273437] Completed command
[    1.273437] Status = 00020000/0006c0e5 [FFFFFFFF 00000000 00000000 00000000]
[    1.273437] Error detected and set to -5/0 (cmd = 55, retries = 0)
[    1.273437] mmc0: req done (CMD55): -5: ffffffff 00000000 00000000 00000000
[    1.273437] mmc0: starting CMD55 arg 00000000 flags 000000f5
[    1.273437] Sending command 55 as 00001877, arg = 00000000, blocks = 0, leng)
[    1.273437] MCI irq: status = 0002C0E4, C07F0001, 00020000
[    1.273437] MMC: Response direction error
[    1.273437] Completed command
[    1.273437] Status = 00020000/0006c0e5 [FFFFFFFF 00000000 00000000 00000000]
[    1.273437] Error detected and set to -5/0 (cmd = 55, retries = 0)
[    1.273437] mmc0: req done (CMD55): -5: ffffffff 00000000 00000000 00000000
[    1.273437] mmc0: starting CMD1 arg 00000000 flags 000000e1
[    1.273437] Sending command 1 as 00001841, arg = 00000000, blocks = 0, lengt)
[    1.273437] MCI irq: status = 0002C0E4, C07F0001, 00020000
[    1.273437] MMC: Response direction error
[    1.273437] Completed command
[    1.273437] Status = 00020000/0006c0e5 [FFFFFFFF 00000000 00000000 00000000]
[    1.273437] Error detected and set to -5/0 (cmd = 1, retries = 0)
[    1.273437] mmc0: req done (CMD1): -5: ffffffff 00000000 00000000 00000000
[    1.273437] mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
[    1.273437] MMC: Setting controller bus width to 1
...

No reaction on SD inserting, no mmcblk* file in /dev.
Please, how do you explain the problem.

Kernel versions I tried: 2.6.30.9, 2.6.32.59

Thanks.
--
Best Regards,
Dmitriy Alekseev
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux