[U-Boot] [PATCH 1/2] sunxi: axp152: Keep DRAM / Vddr at bootloader set value

Hans de Goede hdegoede at redhat.com
Wed Oct 15 12:08:05 CEST 2014


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 <hdegoede at 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) {
> 


More information about the U-Boot mailing list