From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Date: Wed, 15 Oct 2014 12:08:05 +0200 Subject: [U-Boot] [PATCH 1/2] sunxi: axp152: Keep DRAM / Vddr at bootloader set value In-Reply-To: <1413366978-3599-1-git-send-email-hdegoede@redhat.com> References: <1413366978-3599-1-git-send-email-hdegoede@redhat.com> Message-ID: <543E4785.9090903@redhat.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, Ugh, this series is for the linux-sunxi 3.4 kernels and should have gone to a different list. Please ignore, I'll remove it from patchwork right away. Regards, Hans On 10/15/2014 11:56 AM, Hans de Goede wrote: > Some fex files contain wrong values, causing stability issues. > > Signed-off-by: Hans de Goede > --- > 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) { >