From ba4e159f9804c02a87ed38be0ed669a348d78f25 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Mon, 12 Sep 2016 11:38:36 -0300 Subject: [PATCH] wandboard: Fix hang when going into low frequency 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 --- 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 c513b22d82..a21a3d0f21 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) -- 2.39.5