[U-Boot] [PATCH] i.MX28: Fix VDDIO and VDDA setup

Matthias Fuchs matthias.fuchs at esd.eu
Tue Jan 31 11:24:36 CET 2012


I tested both patch on my mx28evk. At least I cannot notice any
missbehavior :-) Downloading the patched u-boot via USB recovery
download still does not work.

Marek, did you find any further mentionable difference between bootlets
code and current u-boot implementation?

Matthias

On 31.01.2012 01:00, Marek Vasut wrote:
> The DC power STS shouldn't be checked if booting off 5V supply.
> 
> Signed-off-by: Marek Vasut <marek.vasut at gmail.com>
> Cc: Wolfgang Denk <wd at denx.de>
> Cc: Detlev Zundel <dzu at denx.de>
> Cc: Stefano Babic <sbabic at denx.de>
> Cc: Robert Deliën <robert at delien.nl>
> Cc: Fabio Estevam <festevam at gmail.com>
> Cc: Matthias Fuchs <matthias.fuchs at esd.eu>
> ---
>  arch/arm/cpu/arm926ejs/mx28/spl_power_init.c |   16 ++++++++++++----
>  1 files changed, 12 insertions(+), 4 deletions(-)
> 
> Note: Guys, please give this a testrun. I think it might fix the issue Robert
> was observing. I dug into the imx-bootlets and the bootrom X-Files and found
> this paranormal piece of code. Adding it fixes the boot issue on my crappy
> board.
> 
> M
> 
> diff --git a/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c b/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
> index ee0f237..c6c25d9 100644
> --- a/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
> +++ b/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
> @@ -802,7 +802,9 @@ void mx28_power_set_vddio(uint32_t new_target, uint32_t new_brownout)
>  			clrsetbits_le32(&power_regs->hw_power_vddioctrl,
>  				POWER_VDDIOCTRL_TRG_MASK, diff);
>  
> -			if (powered_by_linreg)
> +			if (powered_by_linreg ||
> +				(readl(&power_regs->hw_power_sts) &
> +					POWER_STS_VDD5V_GT_VDDIO))
>  				early_delay(1500);
>  			else {
>  				while (!(readl(&power_regs->hw_power_sts) &
> @@ -837,7 +839,9 @@ void mx28_power_set_vddio(uint32_t new_target, uint32_t new_brownout)
>  			clrsetbits_le32(&power_regs->hw_power_vddioctrl,
>  				POWER_VDDIOCTRL_TRG_MASK, diff);
>  
> -			if (powered_by_linreg)
> +			if (powered_by_linreg ||
> +				(readl(&power_regs->hw_power_sts) &
> +					POWER_STS_VDD5V_GT_VDDIO))
>  				early_delay(1500);
>  			else {
>  				while (!(readl(&power_regs->hw_power_sts) &
> @@ -895,7 +899,9 @@ void mx28_power_set_vddd(uint32_t new_target, uint32_t new_brownout)
>  			clrsetbits_le32(&power_regs->hw_power_vdddctrl,
>  				POWER_VDDDCTRL_TRG_MASK, diff);
>  
> -			if (powered_by_linreg)
> +			if (powered_by_linreg ||
> +				(readl(&power_regs->hw_power_sts) &
> +					POWER_STS_VDD5V_GT_VDDIO))
>  				early_delay(1500);
>  			else {
>  				while (!(readl(&power_regs->hw_power_sts) &
> @@ -930,7 +936,9 @@ void mx28_power_set_vddd(uint32_t new_target, uint32_t new_brownout)
>  			clrsetbits_le32(&power_regs->hw_power_vdddctrl,
>  					POWER_VDDDCTRL_TRG_MASK, diff);
>  
> -			if (powered_by_linreg)
> +			if (powered_by_linreg ||
> +				(readl(&power_regs->hw_power_sts) &
> +					POWER_STS_VDD5V_GT_VDDIO))
>  				early_delay(1500);
>  			else {
>  				while (!(readl(&power_regs->hw_power_sts) &


-- 
------------------------------------------------------------------------
Dipl.-Ing. Matthias Fuchs
Head of System Design

esd electronic system design gmbh
Vahrenwalder Str. 207 - 30165 Hannover - GERMANY
Phone: +49-511-37298-0 - Fax: +49-511-37298-68
Please visit our homepage http://www.esd.eu
Quality Products - Made in Germany

Besuchen Sie uns auf der embedded world 2012
in Halle 4, Stand 129
vom 28. Februar - 01. März 2012 in Nürnberg!
------------------------------------------------------------------------
Geschäftsführer: Klaus Detering
Amtsgericht Hannover HRB 51373 - VAT-ID DE 115672832
-------------------------------------------------------------------------


More information about the U-Boot mailing list