On Wed, 15 Oct 2014 22:13:54 +0300
Siarhei Siamashka <siarhei.siamas...@gmail.com> wrote:

> On Wed, 15 Oct 2014 12:10:44 +0200
> Hans de Goede <hdego...@redhat.com> wrote:
> 
> > Some fex files contain wrong values, causing stability issues.
> > 
> > Signed-off-by: Hans de Goede <hdego...@redhat.com>
> > ---
> >  drivers/power/axp152.c | 22 ++++++++++++----------
> >  1 file changed, 12 insertions(+), 10 deletions(-)
> > 
> > diff --git a/drivers/power/axp152.c b/drivers/power/axp152.c
> > index 77132e1..3b8e68f 100644
> > --- a/drivers/power/axp152.c
> > +++ b/drivers/power/axp152.c
> > @@ -541,15 +541,17 @@ static struct regulator_init_data 
> > regl_init_data[AXP152_REGULATOR_COUNT] = {
> >                     .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
> >             }
> >     },
> > -   [axp152_dcdc3] = { /* Vddr, power on 1.5V, Android from fex */
> > +   [axp152_dcdc3] = { /* Vddr, power on 1.5V, use u-boot value */
> >             .num_consumer_supplies = 1,
> >             .consumer_supplies = &axp152_dcdc3_supply,
> >             .constraints = {
> > -                   .min_uV =  1500 * 1000,
> > -                   .max_uV =  1500 * 1000,
> > +                   .min_uV =  1000 * 1000,
> > +                   .max_uV =  1600 * 1000,
> >                     .always_on = 1,
> > -                   .apply_uV = 1,
> > -                   .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
> > +                   /*
> > +                    * We do not allow changing the DRAM voltage, because
> > +                    * of stability, so no REGULATOR_CHANGE_VOLTAGE.
> > +                    */
> >             }
> >     },
> >     [axp152_dcdc4] = { /* Vcpu, power on 1.25V, Android from fex */
> > @@ -622,11 +624,11 @@ static int __init axp_board_init(void)
> >  
> >     /* Note we ignore the dcdc2_vol key as dcdc2 is set by the dvfs code */
> >  
> > -   ret = script_parser_fetch("target", "dcdc3_vol", &val, sizeof(int));
> > -   if (ret == 0) {
> > -           regl_init_data[axp152_dcdc3].constraints.min_uV = val * 1000;
> > -           regl_init_data[axp152_dcdc3].constraints.max_uV = val * 1000;
> > -   }
> > +   /*
> > +    * Note we ignore the dcdc3_vol key as that sometimes contains wrong
> > +    * values make the dram unstable, instead we stick with the bootloader
> > +    * set voltage.
> > +    */
> >  
> >     ret = script_parser_fetch("target", "dcdc4_vol", &val, sizeof(int));
> >     if (ret == 0) {
> 
> Thanks, looks good.
> 
> Should we also try ti preserve the dcdc4 value from the bootloader for
> AXP152? It provides power for VDD-DLL, just like dcdc3 in the case of
> AXP209. Regarding other differences, on Allwinner A10/A20, VCC-DRAM
> seems to be usually taking 1.5V from some other sources (not as a
> direct output from AXP209).
> 
> BTW, this is inconsistent with my older patch
>     
> https://github.com/linux-sunxi/linux-sunxi/commit/5052b83aa44dc16d6662d8d9d936166c139ad8c5
> I tried to make it deliberately spammy, so that if anyone encounters
> any regression, identifying the root cause would be easy. However your
> approach is clearly more correct.
> 
> Acked-by: Siarhei Siamashka <siarhei.siamas...@gmail.com>

Thanks, pushed to stage/sunxi-3.4

And the final reminder. If any of the AXP152 users on this mailing list
could make and test a similar patch for protecting dcdc4 voltage
(VDD-DLL), that would be really great. Because it would allow us to
configure the VDD-DLL voltage in u-boot and potentially gain some DRAM
clock speed uplift on this hardware without worrying about clashing
with the settings from FEX.

-- 
Best regards,
Siarhei Siamashka

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to