[PATCH] arm: dts: fix rk3066a based boards vdd_log voltage initialization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 19 Sep 2016 17:38:10 +0800
Andy Yan <andy.yan at rock-chips.com> wrote:

> On 2016?09?19? 17:25, Boris Brezillon wrote:
> > On Mon, 19 Sep 2016 16:44:56 +0800
> > Andy Yan <andy.yan at rock-chips.com> wrote:
> >  
> >> The current rk3066a based boards(Rayeager, Bqcurie2, Marsboard) use
> >> pwm modulate vdd_logic voltage, but the pwm is default disabled and
> >> the pwm pin acts as a gpio before pwm regulator probed, so the pwm
> >> regulator driver will get a zero dutycycle at probe time, so change
> >> the initial dutycycle to zero to match pwm_regulator_init_state check.
> >>
> >> Signed-off-by: Andy Yan <andy.yan at rock-chips.com>
> >>
> >> ---
> >>
> >>   arch/arm/boot/dts/rk3066a-bqcurie2.dts  | 2 +-
> >>   arch/arm/boot/dts/rk3066a-marsboard.dts | 2 +-
> >>   arch/arm/boot/dts/rk3066a-rayeager.dts  | 2 +-
> >>   3 files changed, 3 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/arch/arm/boot/dts/rk3066a-bqcurie2.dts b/arch/arm/boot/dts/rk3066a-bqcurie2.dts
> >> index bc674ee..618450d 100644
> >> --- a/arch/arm/boot/dts/rk3066a-bqcurie2.dts
> >> +++ b/arch/arm/boot/dts/rk3066a-bqcurie2.dts
> >> @@ -61,7 +61,7 @@
> >>   		regulator-min-microvolt = <1200000>;
> >>   		regulator-max-microvolt = <1200000>;
> >>   		regulator-always-on;
> >> -		voltage-table = <1000000 100>,
> >> +		voltage-table = <1000000 0>,
> >>   				<1200000 42>;  
> > So, it seems you are reversing the PWM polarity here. Are you sure you
> > shouldn't change the 2nd entry of this table (<1200000 58>)?  
> 
> 
>      no, 42% duty cycle give a stable 1.2v vdd_logic voltage on my 
> board. As i explained in the commit, the pwm was default at a disabled 
> state before regulator_register success at pwm_regulator probe, so 
> pwm_regulator_init_state  function will get  a zero dutycycle from 
> pwm_get_relative_dutycycle. I have to change the dutycycle of  fist 
> table to zero to match the following check, other wise the function will 
> return defualt value(-EINVAL), then the pwm regulator register failed.

Is 0% duty really producing a 1V output, or are you just changing it to
make it work?

BTW, I'm not sure we should fail when the current PWM state does not
match one of the value in the voltage-table.

> >  
> >>   		status = "okay";
> >>   	};
> >> diff --git a/arch/arm/boot/dts/rk3066a-marsboard.dts b/arch/arm/boot/dts/rk3066a-marsboard.dts
> >> index a2b763e..ddc680b 100644
> >> --- a/arch/arm/boot/dts/rk3066a-marsboard.dts
> >> +++ b/arch/arm/boot/dts/rk3066a-marsboard.dts
> >> @@ -59,7 +59,7 @@
> >>   		regulator-min-microvolt = <1200000>;
> >>   		regulator-max-microvolt = <1200000>;
> >>   		regulator-always-on;
> >> -		voltage-table = <1000000 100>,
> >> +		voltage-table = <1000000 0>,
> >>   				<1200000 42>;
> >>   		status = "okay";
> >>   	};
> >> diff --git a/arch/arm/boot/dts/rk3066a-rayeager.dts b/arch/arm/boot/dts/rk3066a-rayeager.dts
> >> index 2536b3a..30aee99 100644
> >> --- a/arch/arm/boot/dts/rk3066a-rayeager.dts
> >> +++ b/arch/arm/boot/dts/rk3066a-rayeager.dts
> >> @@ -84,7 +84,7 @@
> >>   		regulator-min-microvolt = <1200000>;
> >>   		regulator-max-microvolt = <1200000>;
> >>   		regulator-always-on;
> >> -		voltage-table = <1000000 100>,
> >> +		voltage-table = <1000000 0>,
> >>   				<1200000 42>;
> >>   		status = "okay";
> >>   	};  
> >
> >
> >  
> 
> 




[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux