Re: use default speed of the eMMC

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

 



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



[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux