igep00x0, beagle and omap3evm: fixing bug at prcm_init
authorRicardo Salveti de Araujo <ricardo.salveti@linaro.org>
Thu, 4 Aug 2011 02:18:25 +0000 (19:18 -0700)
committerAnand Gadiyar <gadiyar@ti.com>
Thu, 4 Aug 2011 02:18:25 +0000 (19:18 -0700)
Commit 73eb46434657c8c2c9e7c9146406031fc4d124ce changed get_cpu_rev()
to be a generic function for all omap 3 based boards, to remove
duplicated code. As a side effect, the behavior changed for beagle and
omap3evm when the board is based on 37XX, returning a different value
then CPU3430_ES2, causing a bug at prcm_init.

The fix is already applied for overo, as you can see from commit
24b8b7f41a83540433024854736518876257672c, changing the index calculation
to behave correctly with all board revs. This patch only applies the
same fix for the other omap 3 based boards that could be affected.

BugLink: https://bugs.launchpad.net/ubuntu/+source/x-loader/+bug/813407
Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
Acked-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
board/igep00x0/igep00x0.c
board/omap3530beagle/omap3530beagle.c
board/omap3evm/omap3evm.c

index 5550741..df32062 100644 (file)
@@ -169,7 +169,7 @@ void prcm_init(void)
         * and sil_index will get the values for that SysClk for the
         * appropriate silicon rev.
         */
-       sil_index = get_cpu_rev() - 1;
+       sil_index = !(get_cpu_rev() == CPU_3XX_ES10);
 
        /* Unlock MPU DPLL (slows things down, and needed later) */
        sr32(CM_CLKEN_PLL_MPU, 0, 3, PLL_LOW_POWER_BYPASS);
index 102c6d9..ba52ea7 100644 (file)
@@ -439,7 +439,7 @@ void prcm_init(void)
         * and sil_index will get the values for that SysClk for the
         * appropriate silicon rev.
         */
-       sil_index = get_cpu_rev() - 1;
+       sil_index = !(get_cpu_rev() == CPU_3XX_ES10);
 
        /* Unlock MPU DPLL (slows things down, and needed later) */
        sr32(CM_CLKEN_PLL_MPU, 0, 3, PLL_LOW_POWER_BYPASS);
index 6048964..5eabc26 100644 (file)
@@ -271,7 +271,7 @@ void prcm_init(void)
         * and sil_index will get the values for that SysClk for the
         * appropriate silicon rev.
         */
-       sil_index = get_cpu_rev() - 1;
+       sil_index = !(get_cpu_rev() == CPU_3XX_ES10);
 
        /* Unlock MPU DPLL (slows things down, and needed later) */
        sr32(CM_CLKEN_PLL_MPU, 0, 3, PLL_LOW_POWER_BYPASS);