diff options
author | Fabio Estevam <fabio.estevam@nxp.com> | 2016-09-12 11:38:36 -0300 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2016-10-04 12:01:14 +0200 |
commit | ba4e159f9804c02a87ed38be0ed669a348d78f25 (patch) | |
tree | 2fa21834b34f5ceb90b097dd6f63ab937da15625 /board/wandboard | |
parent | 53fec162061811a73c7dab3207f8fdb2343ae289 (diff) | |
download | u-boot-ba4e159f9804c02a87ed38be0ed669a348d78f25.tar.gz u-boot-ba4e159f9804c02a87ed38be0ed669a348d78f25.tar.bz2 u-boot-ba4e159f9804c02a87ed38be0ed669a348d78f25.zip |
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 <fabio.estevam@nxp.com>
Diffstat (limited to 'board/wandboard')
-rw-r--r-- | board/wandboard/spl.c | 6 |
1 files 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) |