OdroidXU3: add workaround for MFC crash issue
authorMarek Szyprowski <m.szyprowski@samsung.com>
Thu, 17 Sep 2015 10:53:16 +0000 (12:53 +0200)
committerJaehoon Chung <jh80.chung@samsung.com>
Thu, 6 Apr 2017 06:47:08 +0000 (15:47 +0900)
Most versions of MFC v8 firmware suffer from various hang and crash
issues. Most of those issues has been fixed in updated MFC v8 firmware
available for Exynos 5433, however using it on Odroid XU3 sometimes
causes random crashes. In our experiments it turned out that such
firmware works stable after increasing the MFC sclk rate from default
333MHz to 480MHz. This has been achieved by setting ACLK333 clock
divider to 1 (from 2) and setting CPLL rate to 480MHz (from 666MHz).

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Id38d914fddea7fa8fe7144e25cc47948184f9579

board/samsung/common/exynos5-dt.c
include/configs/odroid_xu3.h

index aec1f39..e653a52 100644 (file)
@@ -66,6 +66,18 @@ int exynos_init(void)
 {
        board_enable_audio_codec();
 
+#ifdef EXYNOS5422_MFC_CPLL_FIX
+       /*
+        * A workaround for MFC crash on Odroid XU3:
+        * 1. set ACLK333 divider to 1
+        * 2. set CPLL rate to 480MHz
+        */
+       writel(0xa0500201, 0x10020120);
+       udelay(10);
+
+       writel(0x03100900, 0x10020504);
+       udelay(10);
+#endif
        return 0;
 }
 
index f7ec478..eda7114 100644 (file)
        "dfu_alt_system="CONFIG_DFU_ALT_SYSTEM \
        "dfu_alt_info=Autoset by THOR/DFU command run.\0"
 
+/* Hacking */
+#define EXYNOS5422_MFC_CPLL_FIX
+
 #endif /* __CONFIG_H */