[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