]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
Merge branch 'pm-2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman...
authorTony Lindgren <tony@atomide.com>
Wed, 24 Feb 2010 03:22:48 +0000 (19:22 -0800)
committerTony Lindgren <tony@atomide.com>
Wed, 24 Feb 2010 03:22:48 +0000 (19:22 -0800)
1  2 
arch/arm/mach-omap2/board-3430sdp.c
arch/arm/mach-omap2/board-rx51.c

index a10e96f48aeaf88d7d6b449f0df4b7139c0192d6,d4647abb56f3aba9180f3696ef5e696c20e99261..f312b151375368fac4a0ed641e0d6fa30262d7fe
@@@ -46,6 -46,7 +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 */
+       {1, 2, 2, 5},
+       /* C2 */
+       {1, 10, 10, 30},
+       /* C3 */
+       {1, 50, 50, 300},
+       /* C4 */
+       {1, 1500, 1800, 4000},
+       /* C5 */
+       {1, 2500, 7500, 12000},
+       /* C6 */
+       {1, 3000, 8500, 15000},
+       /* C7 */
+       {1, 10000, 30000, 300000},
+ };
  static int board_keymap[] = {
        KEY(0, 0, KEY_LEFT),
        KEY(0, 1, KEY_RIGHT),
@@@ -307,6 -326,7 +326,7 @@@ static void __init omap_3430sdp_init_ir
  {
        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();
@@@ -760,12 -780,6 +780,12 @@@ static struct flash_partitions sdp_flas
        },
  };
  
 +static struct omap_musb_board_data musb_board_data = {
 +      .interface_type         = MUSB_INTERFACE_ULPI,
 +      .mode                   = MUSB_OTG,
 +      .power                  = 100,
 +};
 +
  static void __init omap_3430sdp_init(void)
  {
        omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
                                ARRAY_SIZE(sdp3430_spi_board_info));
        ads7846_dev_init();
        omap_serial_init();
 -      usb_musb_init();
 +      usb_musb_init(&musb_board_data);
        board_smc91x_init();
        sdp_flash_init(sdp_flash_partitions);
        sdp3430_display_init();
index 0ccb8b46d15752068255cb067894e8f852a99f4b,acfb898a3aadfe464fbb8f5d713c45764dec3ede..b155c366c6501e421e5e5e6e022b9aeebfaea36a
@@@ -16,6 -16,7 +16,7 @@@
  #include <linux/clk.h>
  #include <linux/io.h>
  #include <linux/gpio.h>
+ #include <linux/leds.h>
  
  #include <mach/hardware.h>
  #include <asm/mach-types.h>
  #include <plat/usb.h>
  
  #include "mux.h"
+ #include "pm.h"
+ #define RX51_GPIO_SLEEP_IND 162
  
  struct omap_sdrc_params *rx51_get_sdram_timings(void);
  
+ static struct gpio_led gpio_leds[] = {
+       {
+               .name   = "sleep_ind",
+               .gpio   = RX51_GPIO_SLEEP_IND,
+       },
+ };
+ static struct gpio_led_platform_data gpio_led_info = {
+       .leds           = gpio_leds,
+       .num_leds       = ARRAY_SIZE(gpio_leds),
+ };
+ static struct platform_device leds_gpio = {
+       .name   = "leds-gpio",
+       .id     = -1,
+       .dev    = {
+               .platform_data  = &gpio_led_info,
+       },
+ };
+ static struct cpuidle_params rx51_cpuidle_params[] = {
+       /* C1 */
+       {1, 110, 162, 5},
+       /* C2 */
+       {1, 106, 180, 309},
+       /* C3 */
+       {0, 107, 410, 46057},
+       /* C4 */
+       {0, 121, 3374, 46057},
+       /* C5 */
+       {1, 855, 1146, 46057},
+       /* C6 */
+       {0, 7580, 4134, 484329},
+       /* C7 */
+       {1, 7505, 15274, 484329},
+ };
  static struct omap_lcd_config rx51_lcd_config = {
        .ctrl_name      = "internal",
  };
@@@ -62,6 -103,7 +103,7 @@@ static void __init rx51_init_irq(void
  
        omap_board_config = rx51_config;
        omap_board_config_size = ARRAY_SIZE(rx51_config);
+       omap3_pm_init_cpuidle(rx51_cpuidle_params);
        sdrc_params = rx51_get_sdram_timings();
        omap2_init_common_hw(sdrc_params, sdrc_params);
        omap_init_irq();
@@@ -78,22 -120,18 +120,24 @@@ static struct omap_board_mux board_mux[
  #define board_mux     NULL
  #endif
  
 +static struct omap_musb_board_data musb_board_data = {
 +      .interface_type         = MUSB_INTERFACE_ULPI,
 +      .mode                   = MUSB_PERIPHERAL,
 +      .power                  = 0,
 +};
 +
  static void __init rx51_init(void)
  {
        omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
        omap_serial_init();
 -      usb_musb_init();
 +      usb_musb_init(&musb_board_data);
        rx51_peripherals_init();
  
        /* Ensure SDRC pins are mux'd for self-refresh */
        omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT);
        omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT);
+       platform_device_register(&leds_gpio);
  }
  
  static void __init rx51_map_io(void)