Re: use default speed of the eMMC

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

 



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



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

  Powered by Linux