Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1419659 > unrolled thread

[PATCH v2 2/2] ARM: dts: sd_600eval: Fix eMMC lockup issue

Started bySrinivas Kandagatla <srinivas.kandagatla@linaro.org>
First post2016-06-10 20:30 +0200
Last post2016-06-13 18:30 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v2 2/2] ARM: dts: sd_600eval: Fix eMMC lockup issue Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-06-10 20:30 +0200
    Re: [PATCH v2 2/2] ARM: dts: sd_600eval: Fix eMMC lockup issue Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-06-12 06:50 +0200
      Re: [PATCH v2 2/2] ARM: dts: sd_600eval: Fix eMMC lockup issue Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-06-13 18:30 +0200

#1419659 — [PATCH v2 2/2] ARM: dts: sd_600eval: Fix eMMC lockup issue

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2016-06-10 20:30 +0200
Subject[PATCH v2 2/2] ARM: dts: sd_600eval: Fix eMMC lockup issue
Message-ID<rIzlU-8dw-55@gated-at.bofh.it>
From: Parth Pancholi <parth.pancholi@einfochips.com>

This board locks up if we stress test the eMMC, as the regulator s4 is
unable to supply enough current for all the peripherials attached to it.
As this supply is wired up to most of the peripherials including DDR,
it resulted in such lockup.

This patch fixes this issue by setting s4 regulator correctly with
Auto power mode.

Reported-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
[Srinivas Kandagatla: rewrote the change log]
Tested-by: Girish Sharma <girish.sharma@einfochips.com>
Signed-off-by: Parth Pancholi <parth.pancholi@einfochips.com>
---
 arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts b/arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts
index 7df0108..39ae2bc 100644
--- a/arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts
+++ b/arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts
@@ -1,6 +1,7 @@
 #include "qcom-apq8064-v2.0.dtsi"
 #include "qcom-apq8064-arrow-sd-600eval-pins.dtsi"
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/mfd/qcom-rpm.h>
 
 / {
 	model = "Arrow Electronics, APQ8064 SD_600eval";
@@ -82,7 +83,8 @@
 				s4 {
 					regulator-min-microvolt	= <1800000>;
 					regulator-max-microvolt	= <1800000>;
-					qcom,switch-mode-frequency = <3200000>;
+					qcom,switch-mode-frequency = <1600000>;
+					qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
 					bias-pull-down;
 					regulator-always-on;
 				};
-- 
2.8.3

[toc] | [next] | [standalone]


#1420162

FromBjorn Andersson <bjorn.andersson@linaro.org>
Date2016-06-12 06:50 +0200
Message-ID<rJ5vr-485-5@gated-at.bofh.it>
In reply to#1419659
On Fri 10 Jun 11:19 PDT 2016, Srinivas Kandagatla wrote:

> From: Parth Pancholi <parth.pancholi@einfochips.com>
> 
> This board locks up if we stress test the eMMC, as the regulator s4 is
> unable to supply enough current for all the peripherials attached to it.
> As this supply is wired up to most of the peripherials including DDR,
> it resulted in such lockup.
> 
> This patch fixes this issue by setting s4 regulator correctly with
> Auto power mode.
> 
> Reported-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> [Srinivas Kandagatla: rewrote the change log]
> Tested-by: Girish Sharma <girish.sharma@einfochips.com>
> Signed-off-by: Parth Pancholi <parth.pancholi@einfochips.com>

If I read the msm-3.4 tree correctly most (perhaps all) 8064 devices
should have this setup.

Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

> ---
>  arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts b/arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts
> index 7df0108..39ae2bc 100644
> --- a/arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts
> +++ b/arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts
> @@ -1,6 +1,7 @@
>  #include "qcom-apq8064-v2.0.dtsi"
>  #include "qcom-apq8064-arrow-sd-600eval-pins.dtsi"
>  #include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/mfd/qcom-rpm.h>
>  
>  / {
>  	model = "Arrow Electronics, APQ8064 SD_600eval";
> @@ -82,7 +83,8 @@
>  				s4 {
>  					regulator-min-microvolt	= <1800000>;
>  					regulator-max-microvolt	= <1800000>;
> -					qcom,switch-mode-frequency = <3200000>;
> +					qcom,switch-mode-frequency = <1600000>;
> +					qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
>  					bias-pull-down;
>  					regulator-always-on;
>  				};
> -- 
> 2.8.3
> 

[toc] | [prev] | [next] | [standalone]


#1421039

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2016-06-13 18:30 +0200
Message-ID<rJCUp-iw-3@gated-at.bofh.it>
In reply to#1420162

On 12/06/16 05:47, Bjorn Andersson wrote:
> On Fri 10 Jun 11:19 PDT 2016, Srinivas Kandagatla wrote:
>
>> From: Parth Pancholi <parth.pancholi@einfochips.com>
>>
>> This board locks up if we stress test the eMMC, as the regulator s4 is
>> unable to supply enough current for all the peripherials attached to it.
>> As this supply is wired up to most of the peripherials including DDR,
>> it resulted in such lockup.
>>
>> This patch fixes this issue by setting s4 regulator correctly with
>> Auto power mode.
>>
>> Reported-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
>> [Srinivas Kandagatla: rewrote the change log]
>> Tested-by: Girish Sharma <girish.sharma@einfochips.com>
>> Signed-off-by: Parth Pancholi <parth.pancholi@einfochips.com>
>
> If I read the msm-3.4 tree correctly most (perhaps all) 8064 devices
> should have this setup.
>
I agree, we should patch other boards as well with the same value.


> Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>

thanks,
srini
>
> Regards,
> Bjorn
>
>> ---
>>   arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts b/arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts
>> index 7df0108..39ae2bc 100644
>> --- a/arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts
>> +++ b/arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts
>> @@ -1,6 +1,7 @@
>>   #include "qcom-apq8064-v2.0.dtsi"
>>   #include "qcom-apq8064-arrow-sd-600eval-pins.dtsi"
>>   #include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/mfd/qcom-rpm.h>
>>
>>   / {
>>   	model = "Arrow Electronics, APQ8064 SD_600eval";
>> @@ -82,7 +83,8 @@
>>   				s4 {
>>   					regulator-min-microvolt	= <1800000>;
>>   					regulator-max-microvolt	= <1800000>;
>> -					qcom,switch-mode-frequency = <3200000>;
>> +					qcom,switch-mode-frequency = <1600000>;
>> +					qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
>>   					bias-pull-down;
>>   					regulator-always-on;
>>   				};
>> --
>> 2.8.3
>>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web