2013年5月16日 星期四

OPP_Turbo 720MHz Fail ??

最近發現一個詭異問題,就是進入OPP Turbo (720MHz) 就會當機.
如果使用 OPP 120 (600MHz) 就沒有問題 .

找了好久還是不知道是發生啥事情. 最後想說是不是進入OPP Turbo 就會忽然耗電量過大或是其他沒注意到的地方.

就更改一下 Code , OPP Turbo mode 時候不要給足頻率 719MHz / 1.26V  .讓CPU 跑接近OPP Turbo 卻不是Turbo 所需要的頻率/電壓 , 看看會如何 !!

結果是 Pass , Why ??????
後來和 FAE 討論結果 , 依照他們之前的經驗 , 建議更換一下 PLL 的 M /N 值 !!
應為可能那組 M/N 值剛好會造成 PLL 被干擾部穩定 !!

好吧 , 修正一下 Code , 讓 N 由 24  開始 , 24 OSC 先除成為 1 MHz 在開始倍頻!!
這樣就OK 了 , 跑了一個晚上都沒問題 !!
Code Patch 如下:


diff -Nura linux-3.2.0-psp04.06.00.08.sdk-orignal/arch/arm/mach-omap2/clock33xx_data.c linux-3.2.0-psp04.06.00.08.sdk/arch/arm/mach-omap2/clock33xx_data.c
--- linux-3.2.0-psp04.06.00.08.sdk-orignal/arch/arm/mach-omap2/clock33xx_data.c 2013-05-15 12:18:26.848742174 +0800
+++ linux-3.2.0-psp04.06.00.08.sdk/arch/arm/mach-omap2/clock33xx_data.c 2013-05-15 16:57:16.922444075 +0800
@@ -280,7 +280,7 @@
     .idlest_mask    = AM33XX_ST_DPLL_CLK_MASK,
     .max_multiplier = AM33XX_MAX_DPLL_MULT,
     .max_divider    = AM33XX_MAX_DPLL_DIV,
-    .min_divider    = 1,
+    .min_divider    = 24,
 };