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