On 08/07/2014 04:18 PM, Jean-Michel Hautbois wrote: > 2014-08-07 8:59 GMT+02:00 Jean-Michel Hautbois > <jean-michel.hautbois@xxxxxxxxxxx>: >> 2014-08-06 16:21 GMT+02:00 Jean-Michel Hautbois >> <jean-michel.hautbois@xxxxxxxxxxx>: >>> 2014-08-06 15:37 GMT+02:00 Fabio Estevam <festevam@xxxxxxxxx>: >>>> On Wed, Aug 6, 2014 at 10:27 AM, Jean-Michel Hautbois >>>> <jean-michel.hautbois@xxxxxxxxxxx> wrote: >>>>> 2014-08-06 13:44 GMT+02:00 Jaehoon Chung <jh80.chung@xxxxxxxxxxx>: >>>>>> Hi, >>>>> >>>>> Hi Jaehoon, >>>>> >>>>>> In my case, -84 error is related with timing. >>>>>> I recommend to check your clock source or pin strength. >> >> I have dumped /sys/kernel/debug/mmc1/ios in both kernel releases. >> >> In the current kernel (3.16) : >> $> cat /sys/kernel/debug/mmc1/ios >> clock: 52000000 Hz >> actual clock: 49500000 Hz >> vdd: 21 (3.3 ~ 3.4 V) >> bus mode: 2 (push-pull) >> chip select: 0 (don't care) >> power mode: 2 (on) >> bus width: 3 (8 bits) >> timing spec: 8 (mmc DDR52) >> signal voltage: 0 (3.30 V) >> >> In the Freescale kernel (3.10.17) : >> $> cat /sys/kernel/debug/mmc1/ios >> clock: 52000000 Hz >> actual clock: 49500000 Hz >> vdd: 7 (1.65 - 1.95 V) >> bus mode: 2 (push-pull) >> chip select: 0 (don't care) >> power mode: 2 (on) >> bus width: 3 (8 bits) >> timing spec: 7 (sd uhs DDR50) >> signal voltage: 0 (3.30 V) >> >> As you can see, there is at least too differences : VDD is not the >> same I don't know why yet, and neither is timing spec. This seems to >> be the real cause... >> Investigating now, but any advice is interesting ! :) UHS mode is run the voltage-change sequence. So printed that vdd is 1.8v at linux3.10. >> >> Thanks, >> JM > > OK, I juste tested to get back on part of the commit > 79f7ae7c45a6ccf04e2908337461dee615f6afb0 : > > diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c > index 1ab5f3a..e22d851 100644 > --- a/drivers/mmc/core/mmc.c > +++ b/drivers/mmc/core/mmc.c > @@ -1264,7 +1264,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr, > goto err; > } > mmc_card_set_ddr_mode(card); > - mmc_set_timing(card->host, MMC_TIMING_UHS_DDR50); > + mmc_set_timing(card->host, MMC_TIMING_MMC_DDR52); > mmc_set_bus_width(card->host, bus_width); > } > } > > > I just did the inverse, that means using MMC_TIMING_UHS_DDR50 and not > MMC_TIMING_MMC_DDR52 and I don't have any errors now. Is your card eMMC or SD(T-flash)? Which card do you use? Did you check dt-file? Best Regards, Jaehoon Chung > > Reverting the commit is not the solution, I need to know why the > timings are not the good ones now... > JM > -- 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