[U-Boot] [PATCH] wandboard: Fix hang when going into low frequency

From: Fabio Estevam fabio.estevam@nxp.com
A kernel hang is observed when running wandboard 3.14 kernel and going to the lowest operational point of cpufreq:
# ifconfig eth0 down # echo 1 > /sys/class/graphics/fb0/blank
The problem is caused by incorrect setting of the REFR field of register MDREF. Setting it to 4 refresh commands per refresh cycle fixes the hang.
Signed-off-by: Fabio Estevam fabio.estevam@nxp.com --- Tom/Stefano,
I know it is late, but hopefully this one can make into 2016.09.
Thanks
board/wandboard/spl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/board/wandboard/spl.c b/board/wandboard/spl.c index 085095c..aca820b 100644 --- a/board/wandboard/spl.c +++ b/board/wandboard/spl.c @@ -188,7 +188,7 @@ static struct mx6_ddr_sysinfo mem_q = { .rst_to_cke = 0x23, .sde_to_rst = 0x10, .refsel = 1, /* Refresh cycles at 32KHz */ - .refr = 7, /* 8 refresh commands per refresh cycle */ + .refr = 3, /* 4 refresh commands per refresh cycle */ };
static struct mx6_mmdc_calibration mx6dl_1g_mmdc_calib = { @@ -231,7 +231,7 @@ static struct mx6_ddr_sysinfo mem_dl = { .rst_to_cke = 0x23, .sde_to_rst = 0x10, .refsel = 1, /* Refresh cycles at 32KHz */ - .refr = 7, /* 8 refresh commands per refresh cycle */ + .refr = 3, /* 4 refresh commands per refresh cycle */ };
/* DDR 32bit 512MB */ @@ -250,7 +250,7 @@ static struct mx6_ddr_sysinfo mem_s = { .rst_to_cke = 0x23, .sde_to_rst = 0x10, .refsel = 1, /* Refresh cycles at 32KHz */ - .refr = 7, /* 8 refresh commands per refresh cycle */ + .refr = 3, /* 4 refresh commands per refresh cycle */ };
static void ccgr_init(void)
participants (1)
-
Fabio Estevam