]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge branch 'omap-clock-fixes' of git://git.pwsan.com/linux-2.6 master
authorTony Lindgren <tony@atomide.com>
Fri, 10 Apr 2009 19:03:31 +0000 (12:03 -0700)
committerTony Lindgren <tony@atomide.com>
Fri, 10 Apr 2009 19:03:31 +0000 (12:03 -0700)
Conflicts:
arch/arm/mach-omap2/board-omap3beagle.c

1  2 
arch/arm/mach-omap2/board-omap3beagle.c

index 346351e0fe8689fa79abb23fcb371a39605e6ef2,3a7a29d1f9a74c72137a6bda6b69b4694161f93b..19bc2a1f7fbead613db5e28756ac3b51ed1efb8d
@@@ -28,7 -28,6 +28,7 @@@
  #include <linux/mtd/partitions.h>
  #include <linux/mtd/nand.h>
  
 +#include <linux/regulator/machine.h>
  #include <linux/i2c/twl4030.h>
  
  #include <mach/hardware.h>
  #include <asm/mach/flash.h>
  
  #include <mach/board.h>
 +#include <mach/usb.h>
  #include <mach/common.h>
  #include <mach/gpmc.h>
  #include <mach/nand.h>
  #include <mach/mux.h>
 -#include <mach/usb.h>
+ #include <mach/timer-gp.h>
  
 +#include "twl4030-generic-scripts.h"
  #include "mmc-twl4030.h"
  
 +
  #define GPMC_CS0_BASE  0x60
  #define GPMC_CS_SIZE   0x30
  
@@@ -107,16 -105,10 +108,16 @@@ static struct platform_device omap3beag
        .resource       = &omap3beagle_nand_resource,
  };
  
 +#include "sdram-micron-mt46h32m32lf-6.h"
 +
  static struct omap_uart_config omap3_beagle_uart_config __initdata = {
        .enabled_uarts  = ((1 << 0) | (1 << 1) | (1 << 2)),
  };
  
 +static struct twl4030_usb_data beagle_usb_data = {
 +      .usb_mode       = T2_USB_MODE_ULPI,
 +};
 +
  static struct twl4030_hsmmc_info mmc[] = {
        {
                .mmc            = 1,
        {}      /* Terminator */
  };
  
 +static struct regulator_consumer_supply beagle_vmmc1_supply = {
 +      .supply                 = "vmmc",
 +};
 +
 +static struct regulator_consumer_supply beagle_vsim_supply = {
 +      .supply                 = "vmmc_aux",
 +};
 +
  static struct gpio_led gpio_leds[];
  
  static int beagle_twl_gpio_setup(struct device *dev,
        mmc[0].gpio_cd = gpio + 0;
        twl4030_mmc_init(mmc);
  
 +      /* link regulators to MMC adapters */
 +      beagle_vmmc1_supply.dev = mmc[0].dev;
 +      beagle_vsim_supply.dev = mmc[0].dev;
 +
        /* REVISIT: need ehci-omap hooks for external VBUS
         * power switch and overcurrent detect
         */
@@@ -176,114 -156,12 +177,114 @@@ static struct twl4030_gpio_platform_dat
        .setup          = beagle_twl_gpio_setup,
  };
  
 +static struct platform_device omap3_beagle_lcd_device = {
 +      .name           = "omap3beagle_lcd",
 +      .id             = -1,
 +};
 +
 +static struct regulator_consumer_supply beagle_vdac_supply = {
 +      .supply         = "vdac",
 +      .dev            = &omap3_beagle_lcd_device.dev,
 +};
 +
 +static struct regulator_consumer_supply beagle_vdvi_supply = {
 +      .supply         = "vdvi",
 +      .dev            = &omap3_beagle_lcd_device.dev,
 +};
 +
 +/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
 +static struct regulator_init_data beagle_vmmc1 = {
 +      .constraints = {
 +              .min_uV                 = 1850000,
 +              .max_uV                 = 3150000,
 +              .valid_modes_mask       = REGULATOR_MODE_NORMAL
 +                                      | REGULATOR_MODE_STANDBY,
 +              .valid_ops_mask         = REGULATOR_CHANGE_VOLTAGE
 +                                      | REGULATOR_CHANGE_MODE
 +                                      | REGULATOR_CHANGE_STATUS,
 +      },
 +      .num_consumer_supplies  = 1,
 +      .consumer_supplies      = &beagle_vmmc1_supply,
 +};
 +
 +/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
 +static struct regulator_init_data beagle_vsim = {
 +      .constraints = {
 +              .min_uV                 = 1800000,
 +              .max_uV                 = 3000000,
 +              .valid_modes_mask       = REGULATOR_MODE_NORMAL
 +                                      | REGULATOR_MODE_STANDBY,
 +              .valid_ops_mask         = REGULATOR_CHANGE_VOLTAGE
 +                                      | REGULATOR_CHANGE_MODE
 +                                      | REGULATOR_CHANGE_STATUS,
 +      },
 +      .num_consumer_supplies  = 1,
 +      .consumer_supplies      = &beagle_vsim_supply,
 +};
 +
 +/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
 +static struct regulator_init_data beagle_vdac = {
 +      .constraints = {
 +              .min_uV                 = 1800000,
 +              .max_uV                 = 1800000,
 +              .valid_modes_mask       = REGULATOR_MODE_NORMAL
 +                                      | REGULATOR_MODE_STANDBY,
 +              .valid_ops_mask         = REGULATOR_CHANGE_MODE
 +                                      | REGULATOR_CHANGE_STATUS,
 +      },
 +      .num_consumer_supplies  = 1,
 +      .consumer_supplies      = &beagle_vdac_supply,
 +};
 +
 +/* VPLL2 for digital video outputs */
 +static struct regulator_init_data beagle_vpll2 = {
 +      .constraints = {
 +              .name                   = "VDVI",
 +              .min_uV                 = 1800000,
 +              .max_uV                 = 1800000,
 +              .valid_modes_mask       = REGULATOR_MODE_NORMAL
 +                                      | REGULATOR_MODE_STANDBY,
 +              .valid_ops_mask         = REGULATOR_CHANGE_MODE
 +                                      | REGULATOR_CHANGE_STATUS,
 +      },
 +      .num_consumer_supplies  = 1,
 +      .consumer_supplies      = &beagle_vdvi_supply,
 +};
 +
 +static const struct twl4030_resconfig beagle_resconfig[] = {
 +      /* disable regulators that u-boot left enabled; the
 +       * devices' drivers should be managing these.
 +       */
 +      { .resource = RES_VAUX3, },     /* not even connected! */
 +      { .resource = RES_VMMC1, },
 +      { .resource = RES_VSIM, },
 +      { .resource = RES_VPLL2, },
 +      { .resource = RES_VDAC, },
 +      { .resource = RES_VUSB_1V5, },
 +      { .resource = RES_VUSB_1V8, },
 +      { .resource = RES_VUSB_3V1, },
 +      { 0, },
 +};
 +
 +static struct twl4030_power_data beagle_power_data = {
 +      .resource_config        = beagle_resconfig,
 +      /* REVISIT can't use GENERIC3430_T2SCRIPTS_DATA;
 +       * among other things, it makes reboot fail.
 +       */
 +};
 +
  static struct twl4030_platform_data beagle_twldata = {
        .irq_base       = TWL4030_IRQ_BASE,
        .irq_end        = TWL4030_IRQ_END,
  
        /* platform_data for children goes here */
 +      .usb            = &beagle_usb_data,
        .gpio           = &beagle_gpio_data,
 +      .power          = &beagle_power_data,
 +      .vmmc1          = &beagle_vmmc1,
 +      .vsim           = &beagle_vsim,
 +      .vdac           = &beagle_vdac,
 +      .vpll2          = &beagle_vpll2,
  };
  
  static struct i2c_board_info __initdata beagle_i2c_boardinfo[] = {
@@@ -307,11 -185,19 +308,14 @@@ static int __init omap3_beagle_i2c_init
  
  static void __init omap3_beagle_init_irq(void)
  {
 -      omap2_init_common_hw(NULL);
 +      omap2_init_common_hw(mt46h32m32lf6_sdrc_params);
        omap_init_irq();
+ #ifdef CONFIG_OMAP_32K_TIMER
+       omap2_gp_clockevent_set_gptimer(12);
+ #endif
        omap_gpio_init();
  }
  
 -static struct platform_device omap3_beagle_lcd_device = {
 -      .name           = "omap3beagle_lcd",
 -      .id             = -1,
 -};
 -
  static struct omap_lcd_config omap3_beagle_lcd_config __initdata = {
        .ctrl_name      = "internal",
  };
@@@ -433,7 -319,6 +437,7 @@@ static void __init omap3_beagle_init(vo
        gpio_direction_output(170, true);
  
        usb_musb_init();
 +      usb_ehci_init();
        omap3beagle_flash_init();
  }