All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ARM: dts: exynos: Properly select eMMC HighSpeed mode
@ 2016-07-14 12:47 ` Krzysztof Kozlowski
  0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2016-07-14 12:47 UTC (permalink / raw)
  To: Jaehoon Chung, Kukjin Kim, Krzysztof Kozlowski, devicetree,
	linux-arm-kernel, linux-samsung-soc, linux-kernel
  Cc: Bartlomiej Zolnierkiewicz

Exynos5410 supports eMMC version 4.41 so HS200 is the top mode which
should be configured.  This is reflected in usage of
"samsung,exynos5250-dw-mshc" compatible.  However DTS contained also
property "mmc-hs400-1_8v" which is parsed by MMC core therefore
resulting in mixed configuration.  MMC core set HS400 but dwmmc_exynos
driver did not configure the data strobe for HS400 DDR mode.

Removal of HS400 properties fixes semi-random mmc errors during boot:
  mmc_host mmc0: Bus speed (slot 0) = 400000000Hz (slot req 200000000Hz, actual 200000000HZ div = 1)
  mmc0: mmc_select_hs400 failed, error -84
  mmc0: error -84 whilst initialising MMC card

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 arch/arm/boot/dts/exynos5410-odroidxu.dts | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5410-odroidxu.dts b/arch/arm/boot/dts/exynos5410-odroidxu.dts
index d9499310a301..7536164438ca 100644
--- a/arch/arm/boot/dts/exynos5410-odroidxu.dts
+++ b/arch/arm/boot/dts/exynos5410-odroidxu.dts
@@ -447,14 +447,12 @@
 	samsung,dw-mshc-ciu-div = <3>;
 	samsung,dw-mshc-sdr-timing = <0 4>;
 	samsung,dw-mshc-ddr-timing = <0 2>;
-	samsung,dw-mshc-hs400-timing = <0 2>;
 	samsung,read-strobe-delay = <90>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd>;
 	bus-width = <8>;
 	cap-mmc-highspeed;
 	mmc-hs200-1_8v;
-	mmc-hs400-1_8v;
 	vmmc-supply = <&ldo20_reg>;
 	vqmmc-supply = <&ldo11_reg>;
 };
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH] ARM: dts: exynos: Properly select eMMC HighSpeed mode
@ 2016-07-14 12:47 ` Krzysztof Kozlowski
  0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2016-07-14 12:47 UTC (permalink / raw)
  To: linux-arm-kernel

Exynos5410 supports eMMC version 4.41 so HS200 is the top mode which
should be configured.  This is reflected in usage of
"samsung,exynos5250-dw-mshc" compatible.  However DTS contained also
property "mmc-hs400-1_8v" which is parsed by MMC core therefore
resulting in mixed configuration.  MMC core set HS400 but dwmmc_exynos
driver did not configure the data strobe for HS400 DDR mode.

Removal of HS400 properties fixes semi-random mmc errors during boot:
  mmc_host mmc0: Bus speed (slot 0) = 400000000Hz (slot req 200000000Hz, actual 200000000HZ div = 1)
  mmc0: mmc_select_hs400 failed, error -84
  mmc0: error -84 whilst initialising MMC card

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 arch/arm/boot/dts/exynos5410-odroidxu.dts | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5410-odroidxu.dts b/arch/arm/boot/dts/exynos5410-odroidxu.dts
index d9499310a301..7536164438ca 100644
--- a/arch/arm/boot/dts/exynos5410-odroidxu.dts
+++ b/arch/arm/boot/dts/exynos5410-odroidxu.dts
@@ -447,14 +447,12 @@
 	samsung,dw-mshc-ciu-div = <3>;
 	samsung,dw-mshc-sdr-timing = <0 4>;
 	samsung,dw-mshc-ddr-timing = <0 2>;
-	samsung,dw-mshc-hs400-timing = <0 2>;
 	samsung,read-strobe-delay = <90>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd>;
 	bus-width = <8>;
 	cap-mmc-highspeed;
 	mmc-hs200-1_8v;
-	mmc-hs400-1_8v;
 	vmmc-supply = <&ldo20_reg>;
 	vqmmc-supply = <&ldo11_reg>;
 };
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: ARM: dts: exynos: Properly select eMMC HighSpeed mode
  2016-07-14 12:47 ` Krzysztof Kozlowski
@ 2016-07-15  3:26   ` Alim Akhtar
  -1 siblings, 0 replies; 6+ messages in thread
From: Alim Akhtar @ 2016-07-15  3:26 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Jaehoon Chung, Kukjin Kim, devicetree,
	linux-arm-kernel, linux-samsung-soc, linux-kernel
  Cc: Bartlomiej Zolnierkiewicz

Hi Krzysztof,

On 07/14/2016 06:17 PM, Krzysztof Kozlowski wrote:
> Exynos5410 supports eMMC version 4.41 so HS200 is the top mode which
> should be configured.  This is reflected in usage of
> "samsung,exynos5250-dw-mshc" compatible.  However DTS contained also
> property "mmc-hs400-1_8v" which is parsed by MMC core therefore
> resulting in mixed configuration.  MMC core set HS400 but dwmmc_exynos
> driver did not configure the data strobe for HS400 DDR mode.
>
> Removal of HS400 properties fixes semi-random mmc errors during boot:
>    mmc_host mmc0: Bus speed (slot 0) = 400000000Hz (slot req 200000000Hz, actual 200000000HZ div = 1)
>    mmc0: mmc_select_hs400 failed, error -84
>    mmc0: error -84 whilst initialising MMC card
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---
>   arch/arm/boot/dts/exynos5410-odroidxu.dts | 2 --
>   1 file changed, 2 deletions(-)
>
> diff --git a/arch/arm/boot/dts/exynos5410-odroidxu.dts b/arch/arm/boot/dts/exynos5410-odroidxu.dts
> index d9499310a301..7536164438ca 100644
> --- a/arch/arm/boot/dts/exynos5410-odroidxu.dts
> +++ b/arch/arm/boot/dts/exynos5410-odroidxu.dts
> @@ -447,14 +447,12 @@
>   	samsung,dw-mshc-ciu-div = <3>;
>   	samsung,dw-mshc-sdr-timing = <0 4>;
>   	samsung,dw-mshc-ddr-timing = <0 2>;
> -	samsung,dw-mshc-hs400-timing = <0 2>;
not sure but can we use /delete-property/ option for this removable?
>   	samsung,read-strobe-delay = <90>;
this also need to be removed.
>   	pinctrl-names = "default";
>   	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd>;
>   	bus-width = <8>;
>   	cap-mmc-highspeed;
>   	mmc-hs200-1_8v;
> -	mmc-hs400-1_8v;
same as above if possible use /delete-property/
>   	vmmc-supply = <&ldo20_reg>;
>   	vqmmc-supply = <&ldo11_reg>;
>   };
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ARM: dts: exynos: Properly select eMMC HighSpeed mode
@ 2016-07-15  3:26   ` Alim Akhtar
  0 siblings, 0 replies; 6+ messages in thread
From: Alim Akhtar @ 2016-07-15  3:26 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Krzysztof,

On 07/14/2016 06:17 PM, Krzysztof Kozlowski wrote:
> Exynos5410 supports eMMC version 4.41 so HS200 is the top mode which
> should be configured.  This is reflected in usage of
> "samsung,exynos5250-dw-mshc" compatible.  However DTS contained also
> property "mmc-hs400-1_8v" which is parsed by MMC core therefore
> resulting in mixed configuration.  MMC core set HS400 but dwmmc_exynos
> driver did not configure the data strobe for HS400 DDR mode.
>
> Removal of HS400 properties fixes semi-random mmc errors during boot:
>    mmc_host mmc0: Bus speed (slot 0) = 400000000Hz (slot req 200000000Hz, actual 200000000HZ div = 1)
>    mmc0: mmc_select_hs400 failed, error -84
>    mmc0: error -84 whilst initialising MMC card
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---
>   arch/arm/boot/dts/exynos5410-odroidxu.dts | 2 --
>   1 file changed, 2 deletions(-)
>
> diff --git a/arch/arm/boot/dts/exynos5410-odroidxu.dts b/arch/arm/boot/dts/exynos5410-odroidxu.dts
> index d9499310a301..7536164438ca 100644
> --- a/arch/arm/boot/dts/exynos5410-odroidxu.dts
> +++ b/arch/arm/boot/dts/exynos5410-odroidxu.dts
> @@ -447,14 +447,12 @@
>   	samsung,dw-mshc-ciu-div = <3>;
>   	samsung,dw-mshc-sdr-timing = <0 4>;
>   	samsung,dw-mshc-ddr-timing = <0 2>;
> -	samsung,dw-mshc-hs400-timing = <0 2>;
not sure but can we use /delete-property/ option for this removable?
>   	samsung,read-strobe-delay = <90>;
this also need to be removed.
>   	pinctrl-names = "default";
>   	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd>;
>   	bus-width = <8>;
>   	cap-mmc-highspeed;
>   	mmc-hs200-1_8v;
> -	mmc-hs400-1_8v;
same as above if possible use /delete-property/
>   	vmmc-supply = <&ldo20_reg>;
>   	vqmmc-supply = <&ldo11_reg>;
>   };
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ARM: dts: exynos: Properly select eMMC HighSpeed mode
  2016-07-15  3:26   ` Alim Akhtar
@ 2016-07-15  7:36     ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2016-07-15  7:36 UTC (permalink / raw)
  To: Alim Akhtar, Jaehoon Chung, Kukjin Kim, devicetree,
	linux-arm-kernel, linux-samsung-soc, linux-kernel
  Cc: Bartlomiej Zolnierkiewicz

On 07/15/2016 05:26 AM, Alim Akhtar wrote:
> Hi Krzysztof,
> 
> On 07/14/2016 06:17 PM, Krzysztof Kozlowski wrote:
>> Exynos5410 supports eMMC version 4.41 so HS200 is the top mode which
>> should be configured.  This is reflected in usage of
>> "samsung,exynos5250-dw-mshc" compatible.  However DTS contained also
>> property "mmc-hs400-1_8v" which is parsed by MMC core therefore
>> resulting in mixed configuration.  MMC core set HS400 but dwmmc_exynos
>> driver did not configure the data strobe for HS400 DDR mode.
>>
>> Removal of HS400 properties fixes semi-random mmc errors during boot:
>>    mmc_host mmc0: Bus speed (slot 0) = 400000000Hz (slot req
>> 200000000Hz, actual 200000000HZ div = 1)
>>    mmc0: mmc_select_hs400 failed, error -84
>>    mmc0: error -84 whilst initialising MMC card
>>
>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>> ---
>>   arch/arm/boot/dts/exynos5410-odroidxu.dts | 2 --
>>   1 file changed, 2 deletions(-)
>>
>> diff --git a/arch/arm/boot/dts/exynos5410-odroidxu.dts
>> b/arch/arm/boot/dts/exynos5410-odroidxu.dts
>> index d9499310a301..7536164438ca 100644
>> --- a/arch/arm/boot/dts/exynos5410-odroidxu.dts
>> +++ b/arch/arm/boot/dts/exynos5410-odroidxu.dts
>> @@ -447,14 +447,12 @@
>>       samsung,dw-mshc-ciu-div = <3>;
>>       samsung,dw-mshc-sdr-timing = <0 4>;
>>       samsung,dw-mshc-ddr-timing = <0 2>;
>> -    samsung,dw-mshc-hs400-timing = <0 2>;
> not sure but can we use /delete-property/ option for this removable?

No need for this. This property is set only here - in Odroid XU DTS.

>>       samsung,read-strobe-delay = <90>;
> this also need to be removed.

Ah, right, thanks!

>>       pinctrl-names = "default";
>>       pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8
>> &sd0_cd>;
>>       bus-width = <8>;
>>       cap-mmc-highspeed;
>>       mmc-hs200-1_8v;
>> -    mmc-hs400-1_8v;
> same as above if possible use /delete-property/

Same, no need because this does not come from other DTS/DTSI.

>>       vmmc-supply = <&ldo20_reg>;
>>       vqmmc-supply = <&ldo11_reg>;
>>   };
>>
> 

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ARM: dts: exynos: Properly select eMMC HighSpeed mode
@ 2016-07-15  7:36     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2016-07-15  7:36 UTC (permalink / raw)
  To: linux-arm-kernel

On 07/15/2016 05:26 AM, Alim Akhtar wrote:
> Hi Krzysztof,
> 
> On 07/14/2016 06:17 PM, Krzysztof Kozlowski wrote:
>> Exynos5410 supports eMMC version 4.41 so HS200 is the top mode which
>> should be configured.  This is reflected in usage of
>> "samsung,exynos5250-dw-mshc" compatible.  However DTS contained also
>> property "mmc-hs400-1_8v" which is parsed by MMC core therefore
>> resulting in mixed configuration.  MMC core set HS400 but dwmmc_exynos
>> driver did not configure the data strobe for HS400 DDR mode.
>>
>> Removal of HS400 properties fixes semi-random mmc errors during boot:
>>    mmc_host mmc0: Bus speed (slot 0) = 400000000Hz (slot req
>> 200000000Hz, actual 200000000HZ div = 1)
>>    mmc0: mmc_select_hs400 failed, error -84
>>    mmc0: error -84 whilst initialising MMC card
>>
>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>> ---
>>   arch/arm/boot/dts/exynos5410-odroidxu.dts | 2 --
>>   1 file changed, 2 deletions(-)
>>
>> diff --git a/arch/arm/boot/dts/exynos5410-odroidxu.dts
>> b/arch/arm/boot/dts/exynos5410-odroidxu.dts
>> index d9499310a301..7536164438ca 100644
>> --- a/arch/arm/boot/dts/exynos5410-odroidxu.dts
>> +++ b/arch/arm/boot/dts/exynos5410-odroidxu.dts
>> @@ -447,14 +447,12 @@
>>       samsung,dw-mshc-ciu-div = <3>;
>>       samsung,dw-mshc-sdr-timing = <0 4>;
>>       samsung,dw-mshc-ddr-timing = <0 2>;
>> -    samsung,dw-mshc-hs400-timing = <0 2>;
> not sure but can we use /delete-property/ option for this removable?

No need for this. This property is set only here - in Odroid XU DTS.

>>       samsung,read-strobe-delay = <90>;
> this also need to be removed.

Ah, right, thanks!

>>       pinctrl-names = "default";
>>       pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8
>> &sd0_cd>;
>>       bus-width = <8>;
>>       cap-mmc-highspeed;
>>       mmc-hs200-1_8v;
>> -    mmc-hs400-1_8v;
> same as above if possible use /delete-property/

Same, no need because this does not come from other DTS/DTSI.

>>       vmmc-supply = <&ldo20_reg>;
>>       vqmmc-supply = <&ldo11_reg>;
>>   };
>>
> 

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-07-15  7:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-14 12:47 [PATCH] ARM: dts: exynos: Properly select eMMC HighSpeed mode Krzysztof Kozlowski
2016-07-14 12:47 ` Krzysztof Kozlowski
2016-07-15  3:26 ` Alim Akhtar
2016-07-15  3:26   ` Alim Akhtar
2016-07-15  7:36   ` Krzysztof Kozlowski
2016-07-15  7:36     ` Krzysztof Kozlowski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.