]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/arm/mach-omap2/board-3430sdp.c
OMAP3: cpuidle: configure latencies/thresholds from board file
[mv-sheeva.git] / arch / arm / mach-omap2 / board-3430sdp.c
index 5adef517a2b35f99fa5ca1470e3caca2776ac15b..99f295e81db49477129af2158a92b01ba9c3a50f 100644 (file)
@@ -46,6 +46,7 @@
 #include "mux.h"
 #include "sdram-qimonda-hyb18m512160af-6.h"
 #include "hsmmc.h"
+#include "pm.h"
 
 #define CONFIG_DISABLE_HFCLK 1
 
 
 #define TWL4030_MSECURE_GPIO 22
 
+/* FIXME: These values need to be updated based on more profiling on 3430sdp*/
+static struct cpuidle_params omap3_cpuidle_params_table[] = {
+       /* C1 */
+       {2, 2, 5},
+       /* C2 */
+       {10, 10, 30},
+       /* C3 */
+       {50, 50, 300},
+       /* C4 */
+       {1500, 1800, 4000},
+       /* C5 */
+       {2500, 7500, 12000},
+       /* C6 */
+       {3000, 8500, 15000},
+       /* C7 */
+       {10000, 30000, 300000},
+};
+
 static int board_keymap[] = {
        KEY(0, 0, KEY_LEFT),
        KEY(0, 1, KEY_RIGHT),
@@ -307,6 +326,7 @@ static void __init omap_3430sdp_init_irq(void)
 {
        omap_board_config = sdp3430_config;
        omap_board_config_size = ARRAY_SIZE(sdp3430_config);
+       omap3_pm_init_cpuidle(omap3_cpuidle_params_table);
        omap2_init_common_hw(hyb18m512160af6_sdrc_params, NULL);
        omap_init_irq();
        omap_gpio_init();