2016-03-12 13:33:47

by Andy Yan

[permalink] [raw]
Subject: [PATCH 1/2] ARM: multi_v7_defconfig: enable CONFIG_PWM_ROCKCHIP=y

All the current rk3066 based boards use pwm modulate vdd_logic
voltage, the board may hang when the system boot and run to a higher
frequency without pwm enabled, so enable it as builtin.

Signed-off-by: Andy Yan <[email protected]>
---

arch/arm/configs/multi_v7_defconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index 8e8b2ac..94639b1 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -757,7 +757,7 @@ CONFIG_PWM_ATMEL=m
CONFIG_PWM_ATMEL_TCB=m
CONFIG_PWM_FSL_FTM=m
CONFIG_PWM_RENESAS_TPU=y
-CONFIG_PWM_ROCKCHIP=m
+CONFIG_PWM_ROCKCHIP=y
CONFIG_PWM_SAMSUNG=m
CONFIG_PWM_SUN4I=y
CONFIG_PWM_TEGRA=y
--
1.9.1


2016-03-12 13:33:57

by Andy Yan

[permalink] [raw]
Subject: [PATCH 2/2] ARM: multi_v7_defconfig: enable CONFIG_REGULATOR_PWM=y

Some platform like Rockchip rk3066 use pwm as a regulator to modulate
cpu voltage, so pwm regulator should be enabled at system boot time if
the system want to run with high frequency.

Signed-off-by: Andy Yan <[email protected]>
---

arch/arm/configs/multi_v7_defconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index 94639b1..e0178f2 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -477,7 +477,7 @@ CONFIG_REGULATOR_MAX77693=m
CONFIG_REGULATOR_MAX77802=m
CONFIG_REGULATOR_PALMAS=y
CONFIG_REGULATOR_PBIAS=y
-CONFIG_REGULATOR_PWM=m
+CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_RPM=y
CONFIG_REGULATOR_QCOM_SMD_RPM=y
CONFIG_REGULATOR_S2MPS11=y
--
1.9.1

2016-03-14 12:18:45

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH 1/2] ARM: multi_v7_defconfig: enable CONFIG_PWM_ROCKCHIP=y

On Sat, Mar 12, 2016 at 08:50:29PM +0800, Andy Yan wrote:
> All the current rk3066 based boards use pwm modulate vdd_logic
> voltage, the board may hang when the system boot and run to a higher
> frequency without pwm enabled, so enable it as builtin.

I don't understand the rationale here. Surely if the system can't safely
switch to a higher frequency because the regulator isn't available, then
it should be prevented from switching, shouldn't it?

Making this change alone will not prevent users from switching this back
to =m on their own. So either you need to add code to prevent a switch
to an unsupported frequency in the absence of the regulator, or you need
to change the PWM_ROCKCHIP Kconfig option to be bool instead, though the
latter is of course a somewhat ugly hack, whereas the former would be a
proper fix.

Thierry


Attachments:
(No filename) (836.00 B)
signature.asc (819.00 B)
Download all attachments

2016-03-14 12:21:24

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH 2/2] ARM: multi_v7_defconfig: enable CONFIG_REGULATOR_PWM=y

On Sat, Mar 12, 2016 at 08:51:40PM +0800, Andy Yan wrote:
> Some platform like Rockchip rk3066 use pwm as a regulator to modulate
> cpu voltage, so pwm regulator should be enabled at system boot time if
> the system want to run with high frequency.
>
> Signed-off-by: Andy Yan <[email protected]>
> ---
>
> arch/arm/configs/multi_v7_defconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

This really belongs in patch 1/2. But then the same comments hold true
and I think you'll need to come up with a proper fix that prevents the
switch to a higher frequency if don't have the necessary regulator, or
make the Kconfig symbol bool if all else fails.

If you make the Kconfig symbol bool I'd expect a really good explanation
in the commit message as to why it can't be fixed properly.

Thierry


Attachments:
(No filename) (818.00 B)
signature.asc (819.00 B)
Download all attachments