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