On 05/26/2016 06:04 PM, 장민우 wrote: > There is no "default speed mode" in the JEDEC specification. > > It is that eMMC speed using the clock frequency not in high speed mode. > > In the mmc core driver of the kernel-3.9, bus width is changed from 1 > to 4 or 8 without EXT_CSD_CARD_TYPE_HS and HS_TIMING setting. > > But, bus width is not changed in the kernel 3.10. 3.10? Now..going to 4.7... I will not say anymore..Even though other guys can accept yours, but i'm not. Best Regards, Jaehoon Chung > > And the cause of this problem is that mmc_select_bus_width() is never > called in this situation, I think. > > So, you suggest when I want to use 20MHz clock frequency without high > speed setting, I should modify mmc driver. > > There is no problem with that. > > Thank you. > > Best regards, > Minwoo Jang. > > > > 2016-05-26 17:30 GMT+09:00 Jaehoon Chung <jh80.chung@xxxxxxxxxxx>: >> On 05/26/2016 03:34 PM, 장민우 wrote: >>> Yes, "default speed mode" what I mentioned is using below 26MHz clock >>> (not in high speed mode). >>> >>> While eMMC card is on the initializing step, it uses below 400KHz not 26MHz. >>> >>> I just want to use below 26MHz, because some customers want to use low >>> hertz clock. >> >> Just for some customers? Then You can add the workaround code in your local. >> >>> >>> So, eMMC versions and environments have nothing to do with "default speed mode". >> >> How do you set your "default speed mode"? (Support HS/DDR/HS200 etc..) >> >> It seems that can't set the lower hertz than 26MHz with only your patch. >> what hertz exactly? Your purpose is just hook for some customers. >> >> And i can't find "default speed mode" in eMMC SPEC. Could you explain where mentioned "default speed mode"? >> >> Best Regards, >> Jaehoon Chung >> >>> >>> If there is a misunderstanding, please let me know. >>> >>> Thank you. >>> >>> Best Regards, >>> Minwoo Jang >>> >>> >>> 2016-05-26 14:49 GMT+09:00 Jaehoon Chung <jh80.chung@xxxxxxxxxxx>: >>>> On 05/26/2016 02:16 PM, 장민우 wrote: >>>>> Hello, Jaehoon Chung. >>>>> >>>>> I mentioned "default speed mode" not hs200, hs400, ddr and hs mode. >>>> >>>> Yes, default speed mode is not HS400, HS400, DDR.. >>>> You mean "default speed mode" is 26MHz? >>>> >>>> As i know, default speed is 26MHz. and it used for initializing card. >>>> >>>>> >>>>> I think If "default speed mode" is set, there is no bus width change. >>>> >>>> There is DEVICE_TYPE[196] at ext_csd register. >>>> Device type should be selected one of them. (You can see the currently valid value.) >>>> >>>> I don't know exactly what your purpose. >>>> If i missed something, let me know in more detail about default speed, eMMC version, your environment. >>>> >>>> Best Regards, >>>> Jaehoon Chung >>>> >>>>> >>>>> If you have any advice to use "default speed mode" of the eMMC. please >>>>> let me know. >>>>> >>>>> Thank you. >>>>> >>>>> Best Regards, >>>>> Minwoo Jang. >>>>> >>>>> 2016-05-24 18:41 GMT+09:00 Jaehoon Chung <jh80.chung@xxxxxxxxxxx>: >>>>>> Hi, >>>>>> >>>>>> On 05/24/2016 06:07 PM, 장민우 wrote: >>>>>>> Dear linux-mmc. >>>>>>> >>>>>>> Hello, I'm Minwoo Jang. >>>>>>> >>>>>>> I have a question about using default speed of the eMMC. >>>>>>> >>>>>>> When default speed is used, mmc_select_bus_width() is never called. >>>>>>> >>>>>>> So, eMMC can not be set 4 bit or 8 bit bus width, I think. >>>>>>> >>>>>>> Please, give me your opinions on the following diff codes. >>>>>> >>>>>> In mmc_select_timing(), timing should be set to MMC_TIMING_HS or others. >>>>>> Then mmc_select_bus_width() should be entered. >>>>>> >>>>>> Best Regards, >>>>>> Jaehoon Chung >>>>>> >>>>>>> >>>>>>> Thank you. >>>>>>> >>>>>>> ===================================================== >>>>>>> >>>>>>> diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c >>>>>>> index 94b4462..3b1cc4d 100644 >>>>>>> --- a/drivers/mmc/core/mmc.c >>>>>>> +++ b/drivers/mmc/core/mmc.c >>>>>>> @@ -952,6 +952,8 @@ static int mmc_select_bus_width(struct mmc_card *card) >>>>>>> >>>>>>> if (!err) { >>>>>>> err = bus_width; >>>>>>> + pr_warn("%s: switch to bus width %d\n", >>>>>>> + mmc_hostname(host), (1 << bus_width)); >>>>>>> break; >>>>>>> } else { >>>>>>> pr_warn("%s: switch to bus width %d failed\n", >>>>>>> @@ -1500,6 +1502,14 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr, >>>>>>> if (err) >>>>>>> goto err; >>>>>>> } >>>>>>> + } else { >>>>>>> + /* Select the bus width for normal speed mode */ >>>>>>> + err = mmc_select_bus_width(card); >>>>>>> + if (IS_ERR_VALUE(err)) { >>>>>>> + pr_warn("%s: Selecting bus width failed\n", >>>>>>> + mmc_hostname(card->host)); >>>>>>> + goto err; >>>>>>> + } >>>>>>> } >>>>>>> >>>>>>> Best regards, >>>>>>> >>>>>>> MW Jang. >>>>>>> -- >>>>>>> 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 >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>> -- >>> 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 >>> >>> >>> >> > > > -- 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