最近發現一個詭異問題,就是進入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,
};