Re: RFC: Ricoh Controller sd

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

 



A couple of clarifications:

a) if no signal voltage switch UHS SDR50 works
b) The CMD11 does not return a error -- after the voltage switch future command fail with error -110 (timeout)

Thanks Arindam for helping with the clarification.

Philip

On Nov 2, 2011, at 5:10 AM, Philip Rakity wrote:

> 
> Folks,
> 
> We are working on some changes to support SDR50 and SDR104 for SDIO cards.  The code works on some controllers but not
> on the ricoh r5c822.  The system is 64-bit Fedora 11 x86 with PCI-to-SD adapter card (Ricoh controller).
> DMI: Hewlett-Packard HP Compaq dx2200 MT /0A48, BIOS MS7254 1.05 08/14/2006
> 
> 
> The trace shows:
> 
> mmc0: no vmmc regulator found
> Registered led device: mmc0::
> mmc0: SDHCI controller on PCI [0000:03:00.0] using DMA
> mmc_attach_sdio:mmc0 ocr = B1FF8000
> mmc_attach_sdio:mmc0 R4_18V_PRESENT = 01000000, v18 = 1
> mmc_sdio_init_card:mmc0 ocr = B1300000
> mmc_sdio_init_card:mmc0: mmc_set_signal_voltage ret = 0
> mmc0: error -110 whilst initialising SDIO card
> mmc_attach_sdio:mmc0 ocr = 31FF8000
> mmc_attach_sdio:mmc0 R4_18V_PRESENT = 01000000, v18 = 1
> mmc_sdio_init_card:mmc0 ocr = B1300000
> mmc_sdio_init_card:mmc0: mmc_set_signal_voltage ret = 0
> mmc0: error -110 whilst initialising SDIO card
> mmc_attach_sdio:mmc0 ocr = 31FF8000
> mmc_attach_sdio:mmc0 R4_18V_PRESENT = 01000000, v18 = 1
> mmc_sdio_init_card:mmc0 ocr = B1300000
> mmc_sdio_init_card:mmc0: mmc_set_signal_voltage ret = 0
> mmc0: error -110 whilst initialising SDIO card
> mmc_attach_sdio:mmc0 ocr = 31FF8000
> mmc_attach_sdio:mmc0 R4_18V_PRESENT = 01000000, v18 = 1
> mmc_sdio_init_card:mmc0 ocr = B1300000
> mmc_sdio_init_card:mmc0: mmc_set_signal_voltage ret = 0
> mmc0: error -110 whilst initialising SDIO card
> EXT4-fs (dm-0): re-mounted. Opts: (null)
> 
> We have narrowed this down to the sending of the CMD11.  If this is NOT done the the ultra high speed card works.
> CMD11 is required for signal voltage switching.
> 
> The register dump from the host controller:
> 
> sdhci-pci 0000:03:00.0: SDHCI controller found [1180:0822] (rev 22)
> 
> 
> [    2.030053] mmc1: SDHCI controller on PCI [0000:02:05.0] using ADMA
> [    2.030187] sdhci: =========== REGISTER DUMP (mmc1)===========
> [    2.030268] sdhci: Sys addr: 0x00000000 | Version:  0x00001002
> [    2.030342] sdhci: Blk size: 0x00000000 | Blk cnt:  0x00000000
> [    2.030425] sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
> [    2.030503] sdhci: Present:  0x01ff0000 | Host ctl: 0x00000004
> [    2.030589] sdhci: Power:    0x00000000 | Blk gap:  0x00000000
> [    2.030668] sdhci: Wake-up:  0x00000000 | Clock:    0x00000000
> [    2.030753] sdhci: Timeout:  0x00000000 | Int stat: 0x00000000
> [    2.030832] sdhci: Int enab: 0x00ff0083 | Sig enab: 0x00ff0083
> [    2.030917] sdhci: AC12 err: 0x00000000 | Slot int: 0x000000ff
> [    2.030996] sdhci: Caps:     0x31fe32b2 | Caps_1:   0x00030503
> [    2.031082] sdhci: Cmd:      0x00000000 | Max curr: 0x00c80064
> [    2.031158] sdhci: Host ctl2: 0x00000000
> [    2.031242] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000
> [    2.031315] sdhci: ===========================================
> 
> 
> This shows that the controller is V3 and does support SDR50 and SDR104.
> 
> We can hack our way around this by adding a quirk to sdhci-pci.c for the controller to disable sending CMD11 
> 
> something along the lines of 
> #define SDHCI_QUIRK_NO_VOLTAGE_SIGNAL_CMD11_SUPPORT
> 
> and check in core.c (mmc_set_signal_voltage()).  and just not send the CMD11.
> 
> very ugly.
> 
> Any other suggestions ?
> 
> 
> 
> Philip
> 
> 
> 
> 
> On Nov 1, 2011, at 3:52 PM, Philip Rakity wrote:
> 
>> 
>> Chris,
>> 
>> Testing my SDIO 3.0 changes UHS mode 100 m/bps   Code works find on MMP2.
>> 
>> Using the system
>>> 64-bit Fedora 11 x86 with PCI-to-SD adapter card (Ricoh controller).
>> 
>> The code fails.  Bing found that if CMD11 is sent when doing the voltage switch timeout errors (-110) occur.
>> If CMD11 is not sent then everything. works.   Unfortunately CMD11 is required.  No error is returned when the CMD11 is sent.
>> 
>> I know there are some quirks for the controller in sdhci-pci.  
>> 
>> Any ideas who to ask about this if you do not know the answer ?
>> 
>> regards,
>> 
>> Philip
>> 
> 

--
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