linux-rockchip.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] fix rk3066a based boards hang when cpufreq changes
@ 2016-01-15 13:23 Andy Yan
       [not found] ` <1452864223-423-1-git-send-email-andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Andy Yan @ 2016-01-15 13:23 UTC (permalink / raw)
  To: heiko-4mtYJXux2i+zQB+pC5nmwQ, naobsd-Re5JQEeQqe8AvxtiuMwx3w
  Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, linux-lFZ/pmaqli7XmaaqVzeoHQ,
	devicetree-u79uwXL29TY76Z2rM5mHXA, galak-sgV2jX0FEOL9JmXXK+q4OQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	pawel.moll-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8,
	inux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Andy Yan


I found the rayeager board always hang in the system boot
process or when cpufreq change. When check the BSP code[0]
from ChipSpark, I found the current vdd_arm voltage is too
low and so is the vdd_logic voltage, which should be modulated
by PWM3.

So I increase the vdd_arm voltage and enabled pwm3 as a pwm
regulator here.

[0] https://github.com/RockchipOpensourceCommunity/px2-android-kernel-3.0/blob/master/arch/arm/mach-rkpx2/board-rkpx2-sdk.c

Changes in v2:
- move the opp table to rk3066a.dtsi, make it as the default opp table
  for rk3066a based board.
- also enable the pwm regulator for bqcurie2 and Marsboard

Andy Yan (2):
  ARM: dts: rockchip: increase vdd_arm voltage for rk3066a based boards
  ARM: dts: rockchip: enable pwm3 as pwm regulator for rk3066a based
    boards

 arch/arm/boot/dts/rk3066a-bqcurie2.dts  | 16 ++++++++++++++++
 arch/arm/boot/dts/rk3066a-marsboard.dts | 16 ++++++++++++++++
 arch/arm/boot/dts/rk3066a-rayeager.dts  | 16 ++++++++++++++++
 arch/arm/boot/dts/rk3066a.dtsi          | 12 +++++++-----
 4 files changed, 55 insertions(+), 5 deletions(-)

-- 
1.9.1



--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH v2 1/2] ARM: dts: rockchip: increase vdd_arm voltage for rk3066a based boards
       [not found] ` <1452864223-423-1-git-send-email-andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
@ 2016-01-15 13:25   ` Andy Yan
  2016-01-15 13:26   ` [PATCH v2 2/2] ARM: dts: rockchip: enable pwm3 as pwm regulator " Andy Yan
  2016-01-17 23:16   ` [PATCH v2 0/2] fix rk3066a based boards hang when cpufreq changes Heiko Stuebner
  2 siblings, 0 replies; 4+ messages in thread
From: Andy Yan @ 2016-01-15 13:25 UTC (permalink / raw)
  To: heiko-4mtYJXux2i+zQB+pC5nmwQ, naobsd-Re5JQEeQqe8AvxtiuMwx3w
  Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, linux-lFZ/pmaqli7XmaaqVzeoHQ,
	devicetree-u79uwXL29TY76Z2rM5mHXA, galak-sgV2jX0FEOL9JmXXK+q4OQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	pawel.moll-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8,
	inux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Andy Yan

The current vdd_arm voltage is too low, increase it will make
the system more stable.

Signed-off-by: Andy Yan <andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>

---

Changes in v2:
- move the opp table to rk3066a.dtsi, make it as the default opp table
  for rk3066a based board.

 arch/arm/boot/dts/rk3066a.dtsi | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/arch/arm/boot/dts/rk3066a.dtsi b/arch/arm/boot/dts/rk3066a.dtsi
index 946f187..ff0530e 100644
--- a/arch/arm/boot/dts/rk3066a.dtsi
+++ b/arch/arm/boot/dts/rk3066a.dtsi
@@ -61,11 +61,13 @@
 			reg = <0x0>;
 			operating-points = <
 				/* kHz    uV */
-				1008000 1075000
-				 816000 1025000
-				 600000 1025000
-				 504000 1000000
-				 312000  975000
+				1416000 1300000
+				1200000 1175000
+				1008000 1125000
+				816000  1125000
+				600000  1100000
+				504000  1100000
+				312000  1075000
 			>;
 			clock-latency = <40000>;
 			clocks = <&cru ARMCLK>;
-- 
1.9.1



--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH v2 2/2] ARM: dts: rockchip: enable pwm3 as pwm regulator for rk3066a based boards
       [not found] ` <1452864223-423-1-git-send-email-andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
  2016-01-15 13:25   ` [PATCH v2 1/2] ARM: dts: rockchip: increase vdd_arm voltage for rk3066a based boards Andy Yan
@ 2016-01-15 13:26   ` Andy Yan
  2016-01-17 23:16   ` [PATCH v2 0/2] fix rk3066a based boards hang when cpufreq changes Heiko Stuebner
  2 siblings, 0 replies; 4+ messages in thread
From: Andy Yan @ 2016-01-15 13:26 UTC (permalink / raw)
  To: heiko-4mtYJXux2i+zQB+pC5nmwQ, naobsd-Re5JQEeQqe8AvxtiuMwx3w
  Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, linux-lFZ/pmaqli7XmaaqVzeoHQ,
	devicetree-u79uwXL29TY76Z2rM5mHXA, galak-sgV2jX0FEOL9JmXXK+q4OQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	pawel.moll-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8,
	inux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Andy Yan

Rayeager/Bqcurie2/Marsboard use pwm3 modulate the vdd_logic voltage,
so enable it.

Signed-off-by: Andy Yan <andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>

---

Changes in v2:
- also enable the pwm regulator for bqcurie2 and Marsboard

 arch/arm/boot/dts/rk3066a-bqcurie2.dts  | 16 ++++++++++++++++
 arch/arm/boot/dts/rk3066a-marsboard.dts | 16 ++++++++++++++++
 arch/arm/boot/dts/rk3066a-rayeager.dts  | 16 ++++++++++++++++
 3 files changed, 48 insertions(+)

diff --git a/arch/arm/boot/dts/rk3066a-bqcurie2.dts b/arch/arm/boot/dts/rk3066a-bqcurie2.dts
index 38c91a8..90a4c4d 100644
--- a/arch/arm/boot/dts/rk3066a-bqcurie2.dts
+++ b/arch/arm/boot/dts/rk3066a-bqcurie2.dts
@@ -53,6 +53,18 @@
 		reg = <0x60000000 0x40000000>;
 	};
 
+	pwm_regulator: pwm-regulator {
+		compatible = "pwm-regulator";
+		pwms = <&pwm3 0 1000>;
+		regulator-name = "vdd_logic";
+		regulator-min-microvolt = <1200000>;
+		regulator-max-microvolt = <1200000>;
+		regulator-always-on;
+		voltage-table = <1000000 100>,
+				<1200000 42>;
+		status = "okay";
+	};
+
 	vcc_sd0: fixed-regulator {
 		compatible = "regulator-fixed";
 		regulator-name = "sdmmc-supply";
@@ -203,6 +215,10 @@
 	disable-wp;
 };
 
+&pwm3 {
+	status = "okay";
+};
+
 &uart0 {
 	status = "okay";
 };
diff --git a/arch/arm/boot/dts/rk3066a-marsboard.dts b/arch/arm/boot/dts/rk3066a-marsboard.dts
index 7cdc308..4852e32 100644
--- a/arch/arm/boot/dts/rk3066a-marsboard.dts
+++ b/arch/arm/boot/dts/rk3066a-marsboard.dts
@@ -52,6 +52,18 @@
 		reg = <0x60000000 0x40000000>;
 	};
 
+	pwm_regulator: pwm-regulator {
+		compatible = "pwm-regulator";
+		pwms = <&pwm3 0 1000>;
+		regulator-name = "vdd_logic";
+		regulator-min-microvolt = <1200000>;
+		regulator-max-microvolt = <1200000>;
+		regulator-always-on;
+		voltage-table = <1000000 100>,
+				<1200000 42>;
+		status = "okay";
+	};
+
 	vcc_sd0: sdmmc-regulator {
 		compatible = "regulator-fixed";
 		regulator-name = "sdmmc-supply";
@@ -194,6 +206,10 @@
 	};
 };
 
+&pwm3 {
+	status = "okay";
+};
+
 &uart0 {
 	status = "okay";
 };
diff --git a/arch/arm/boot/dts/rk3066a-rayeager.dts b/arch/arm/boot/dts/rk3066a-rayeager.dts
index 0bf6876..7127e3f 100644
--- a/arch/arm/boot/dts/rk3066a-rayeager.dts
+++ b/arch/arm/boot/dts/rk3066a-rayeager.dts
@@ -78,6 +78,18 @@
 		};
 	};
 
+	pwm_regulator: pwm-regulator {
+		compatible = "pwm-regulator";
+		pwms = <&pwm3 0 1000>;
+		regulator-name = "vdd_logic";
+		regulator-min-microvolt = <1200000>;
+		regulator-max-microvolt = <1200000>;
+		regulator-always-on;
+		voltage-table = <1000000 100>,
+				<1200000 42>;
+		status = "okay";
+	};
+
 	vsys: vsys-regulator {
 		compatible = "regulator-fixed";
 		regulator-name = "vsys";
@@ -435,6 +447,10 @@
 	status = "okay";
 };
 
+&pwm3 {
+	status = "okay";
+};
+
 &saradc {
 	vref-supply = <&vcc_25>;
 	status = "okay";
-- 
1.9.1



--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH v2 0/2] fix rk3066a based boards hang when cpufreq changes
       [not found] ` <1452864223-423-1-git-send-email-andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
  2016-01-15 13:25   ` [PATCH v2 1/2] ARM: dts: rockchip: increase vdd_arm voltage for rk3066a based boards Andy Yan
  2016-01-15 13:26   ` [PATCH v2 2/2] ARM: dts: rockchip: enable pwm3 as pwm regulator " Andy Yan
@ 2016-01-17 23:16   ` Heiko Stuebner
  2 siblings, 0 replies; 4+ messages in thread
From: Heiko Stuebner @ 2016-01-17 23:16 UTC (permalink / raw)
  To: Andy Yan
  Cc: naobsd-Re5JQEeQqe8AvxtiuMwx3w, robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
	linux-lFZ/pmaqli7XmaaqVzeoHQ, devicetree-u79uwXL29TY76Z2rM5mHXA,
	galak-sgV2jX0FEOL9JmXXK+q4OQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	pawel.moll-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8,
	inux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Hi Andy,

Am Freitag, 15. Januar 2016, 21:23:43 schrieb Andy Yan:
> I found the rayeager board always hang in the system boot
> process or when cpufreq change. When check the BSP code[0]
> from ChipSpark, I found the current vdd_arm voltage is too
> low and so is the vdd_logic voltage, which should be modulated
> by PWM3.
> 
> So I increase the vdd_arm voltage and enabled pwm3 as a pwm
> regulator here.

applied both to my dts32 branch for 4.6

Thanks
Heiko
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2016-01-17 23:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-15 13:23 [PATCH v2 0/2] fix rk3066a based boards hang when cpufreq changes Andy Yan
     [not found] ` <1452864223-423-1-git-send-email-andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2016-01-15 13:25   ` [PATCH v2 1/2] ARM: dts: rockchip: increase vdd_arm voltage for rk3066a based boards Andy Yan
2016-01-15 13:26   ` [PATCH v2 2/2] ARM: dts: rockchip: enable pwm3 as pwm regulator " Andy Yan
2016-01-17 23:16   ` [PATCH v2 0/2] fix rk3066a based boards hang when cpufreq changes Heiko Stuebner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).