[U-Boot] [PATCH] mx23: Put back RAM voltage level to its original value

Robert Nelson robertcnelson at gmail.com
Fri Apr 26 20:14:58 CEST 2013


On Fri, Apr 26, 2013 at 11:01 AM, Fabio Estevam <festevam at gmail.com> wrote:
> From: Fabio Estevam <fabio.estevam at freescale.com>
>
> commit 5c2f444c9 (mxs: Reset the EMI block on mx23) changed the DDR voltage
> level, which causes mx23evk to fail to load a kernel.
>
> Put back the original values, so that mx23evk can boot a kernel again.
>
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>

Tested-by: Robert Nelson <robertcnelson at gmail.com>

> ---
>  arch/arm/cpu/arm926ejs/mxs/spl_mem_init.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_mem_init.c b/arch/arm/cpu/arm926ejs/mxs/spl_mem_init.c
> index bc2d69c..4950490 100644
> --- a/arch/arm/cpu/arm926ejs/mxs/spl_mem_init.c
> +++ b/arch/arm/cpu/arm926ejs/mxs/spl_mem_init.c
> @@ -234,7 +234,7 @@ static void mx23_mem_setup_vddmem(void)
>         struct mxs_power_regs *power_regs =
>                 (struct mxs_power_regs *)MXS_POWER_BASE;
>
> -       writel((0x10 << POWER_VDDMEMCTRL_TRG_OFFSET) |
> +       writel((0x12 << POWER_VDDMEMCTRL_TRG_OFFSET) |
>                 POWER_VDDMEMCTRL_ENABLE_ILIMIT |
>                 POWER_VDDMEMCTRL_ENABLE_LINREG |
>                 POWER_VDDMEMCTRL_PULLDOWN_ACTIVE,
> @@ -242,7 +242,7 @@ static void mx23_mem_setup_vddmem(void)
>
>         early_delay(10000);
>
> -       writel((0x10 << POWER_VDDMEMCTRL_TRG_OFFSET) |
> +       writel((0x12 << POWER_VDDMEMCTRL_TRG_OFFSET) |
>                 POWER_VDDMEMCTRL_ENABLE_LINREG,
>                 &power_regs->hw_power_vddmemctrl);
>  }
> --
> 1.7.9.5

Sweet! This fixes the random memory issues I was seeing on my
imx233-oLinuXno-Micro when using u-boot..

I Used memtester for memory verification..

u-boot v2013.04 & v3.9-rc7

root at arm:/home/debian# memtester 24M
memtester version 4.2.2 (32-bit)
Copyright (C) 2010 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffff000
want 24MB (25165824 bytes)
got  24MB (25165824 bytes), trying mlock ...locked.
Loop 1:
  Stuck Address       : ok
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok
  Block Sequential    : testing 254FAILURE: 0xfefefefe != 0xfefe00fe
at offset 0x002c11bc.
  Checkerboard        : setting  37^C

u-boot v2013.04 + mx23: Put back RAM voltage level to its original
valueu-boot & v3.9-rc7

root at arm:/home/debian# memtester 24M
memtester version 4.2.2 (32-bit)
Copyright (C) 2010 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).


pagesize is 4096
pagesizemask is 0xfffff000
want 24MB (25165824 bytes)
got  24MB (25165824 bytes), trying mlock ...locked.
Loop 1:
  Stuck Address       : ok
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok
  Block Sequential    : ok
  Checkerboard        : ok
  Bit Spread          : ok
  Bit Flip            : ok
  Walking Ones        : ok
  Walking Zeroes      : ok
  8-bit Writes        : ok
  16-bit Writes       : ok

Loop 2:
  Stuck Address       : ok

root at arm:/home/debian# cat /proc/cpuinfo
processor	: 0
model name	: ARM926EJ-S rev 5 (v5l)
BogoMIPS	: 226.09
Features	: swp half thumb fastmult edsp java
CPU implementer	: 0x41
CPU architecture: 5TEJ
CPU variant	: 0x0
CPU part	: 0x926
CPU revision	: 5

Hardware	: Freescale i.MX23 (Device Tree)
Revision	: 0000
Serial		: 0000000000000000

root at arm:/home/debian# uname -a
Linux arm 3.9.0-rc7-imxv5-x0.9 #2 Thu Apr 25 15:27:14 CDT 2013
armv5tejl GNU/Linux

Regards,

-- 
Robert Nelson
http://www.rcn-ee.com/


More information about the U-Boot mailing list