Re: sd cards : OCR busy?

From: Russell King
Date: Tue Apr 25 2006 - 11:00:50 EST


On Tue, Apr 25, 2006 at 07:41:04AM -0700, Ram wrote:
> I am using Linux 2.6.15.
>
> I am getting OCR busy Error. The driver works on some sd cards and
> does not work
> on some other cards. i really cant figure out what the problem is.

It seems that your kernel is doing something different from the code I
have in front of me.

> mmc_detect_change:
> mmc_rescan:
> __mmc_claim_host:
> mmc_setup:
> mmc_power_up:
> MMC1: set_ios: clock 400000Hz busmode 1 powermode 1 Vdd 0.21
> mmc_delay:
> MMC1: set_ios: clock 400000Hz busmode 1 powermode 2 Vdd 0.21
> mmc_delay:
> mmc_idle_cards:
> MMC1: set_ios: clock 400000Hz busmode 1 powermode 2 Vdd 0.21

Card inserted - okay.

> mmc_delay:
> mmc_wait_for_cmd:
> mmc_wait_for_req:
> mmc_omap_start_command:MMC1: CMD0, argument 0x00000000
> mmc_omap_irq:MMC IRQ 0001 (CMD 0): EOC
> MMC1: End request, err 0

Card told to go to idle state - okay.

> mmc_delay:
> MMC1: set_ios: clock 400000Hz busmode 1 powermode 2 Vdd 0.21
> mmc_delay:
> mmc_send_app_op_cond:
> mmc_wait_for_app_cmd:
> mmc_wait_for_req:
> mmc_omap_start_command:MMC1: CMD55, argument 0x00000000, 32-bit response,
> CRC
> mmc_omap_irq:MMC IRQ 1001 (CMD 55): EOC OCRB
> MMC1: OCR busy error, CMD55
> MMC1: Response 00000000
> MMC1: End request, err 0

Sent MMC_APP_CMD, got told "OCR busy" - this is bogus. APP_CMD does _not_
return an OCR. No idea why your OMAP host thinks it does.

Nevertheless, we have a zero response, but the card _did_ apparantly
respond. So we decide APP commands aren't supported.

> mmc_setup:No MMC cards found
> mmc_send_op_cond:
> mmc_wait_for_cmd:
> mmc_wait_for_req:
> mmc_omap_start_command:MMC1: CMD1, argument 0x00000000, 32-bit response
> mmc_omap_irq:MMC IRQ 1001 (CMD 1): EOC OCRB
> MMC1: Response 00000000
> MMC1: End request, err 0

We send a CMD1 to probe for the OCR. Get zero back. Zero back from a card
means "I don't support any voltage what so ever", so...

> mmc_select_voltage: ocr - 0
> mmc_release_host:
> mmc_power_off:

We power down.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/