Re: [PATCH] ARM: dts: exynos: remove the cd-gpios property for eMMC of odroid-xu3/4

From: Jaehoon Chung
Date: Tue Nov 22 2016 - 03:19:44 EST


On 11/22/2016 04:51 PM, Andrzej Hajda wrote:
> On 22.11.2016 02:24, Jaehoon Chung wrote:
>> On 11/22/2016 02:06 AM, Krzysztof Kozlowski wrote:
>>> On Mon, Nov 21, 2016 at 04:10:32PM +0900, Jaehoon Chung wrote:
>>>> Odroid-xu3/4 didn't need to use the cd-gpios for detecting card.
>>>> Because Host controller has the CDETECT register through SDx_CDN line.
>>>> Host controller can know whether card is inserted or not with this
>>>> register.
>>>>
>>>> When i have checked the Odroid-xu3/4, they are using CDETECT register.
>>>> (Not using exteranl cd-gpio.)
>>> Makes sense. Just one question: the sd0_cd pinctrl setting should stay,
>>> right?
>> Right, It needs to use SD0_CD function.
>> I have tested on Odroid-XU3/XU4.
>>
>> Tested with the below cases.
>>
>> 1) On boot with SD-card (without eMMC)
>> - Inserted eMMC : Detected
>> - Removed eMMC : Detected
>>
>> 2) On boot with Sd-card (with eMMC)
>> - Detected
>>
>> 3) On boot with eMMC
>> - Detected
>
> I suspect that MMC device (or its parts) should be always awake to keep
> working CDETECT register. With cd-gpio it should be possible to power it
> off when unused but still having detection working, am I right? I am not
> familiar enough with the code to be certain that it improves PM but it
> could be the case.

CDETECT register is used only "card is present or not". not needs to keep power..

>
> My other question is about polling thread, original patch was developed
> to avoid polling thread which caused occasional hangs, crashes and
> unnecessary work. Since then lot of mmc code changed and I do not follow
> these changes. So my question is if this patch will not re-enable polling?

This patch didn't use polling scheme. It just uses the CDETECT register for detecting.
And Host controller has enabled the Card detect bit at INTMSK register.
(For interrupt handling)

Best Regards,
Jaehoon Chung

>
> Regards
> Andrzej
>
>>
>> Best Regards,
>> Jaehoon Chung
>>
>>> Best regards,
>>> Krzysztof
>>>
>>>> Fixes: fb1aeedb61ad ("ARM: dts: add mmc detect gpio for exynos5422-odroidxu3")
>>>> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
>>>> ---
>>>> arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 1 -
>>>> 1 file changed, 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>>>> index 9e63328..05b9afdd 100644
>>>> --- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>>>> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>>>> @@ -510,7 +510,6 @@
>>>> &mmc_0 {
>>>> status = "okay";
>>>> mmc-pwrseq = <&emmc_pwrseq>;
>>>> - cd-gpios = <&gpc0 2 GPIO_ACTIVE_LOW>;
>>>> card-detect-delay = <200>;
>>>> samsung,dw-mshc-ciu-div = <3>;
>>>> samsung,dw-mshc-sdr-timing = <0 4>;
>>>> --
>>>> 2.10.1
>>>>
>>>
>>>
>>
>>
>
>
>