[ARM] Merge next-s3c-s3c6410 into for-rmk-devel
authorBen Dooks <ben-linux@fluff.org>
Thu, 7 May 2009 10:06:32 +0000 (11:06 +0100)
committerBen Dooks <ben-linux@fluff.org>
Thu, 7 May 2009 10:06:32 +0000 (11:06 +0100)
Merge branch 'next-s3c-s3c6410' into for-rmk-devel

1  2 
arch/arm/mach-s3c6410/Kconfig
arch/arm/mach-s3c6410/mach-smdk6410.c

Simple merge
@@@ -141,10 -182,143 +182,144 @@@ static struct platform_device *smdk6410
        &s3c_device_i2c0,
        &s3c_device_i2c1,
        &s3c_device_fb,
 +      &s3c_device_usb,
        &smdk6410_lcd_powerdev,
+       &smdk6410_smsc911x,
+ };
+ #ifdef CONFIG_SMDK6410_WM1190_EV1
+ /* S3C64xx internal logic & PLL */
+ static struct regulator_init_data wm8350_dcdc1_data = {
+       .constraints = {
+               .name = "PVDD_INT/PVDD_PLL",
+               .min_uV = 1200000,
+               .max_uV = 1200000,
+               .always_on = 1,
+               .apply_uV = 1,
+       },
+ };
+ /* Memory */
+ static struct regulator_init_data wm8350_dcdc3_data = {
+       .constraints = {
+               .name = "PVDD_MEM",
+               .min_uV = 1800000,
+               .max_uV = 1800000,
+               .always_on = 1,
+               .state_mem = {
+                        .uV = 1800000,
+                        .mode = REGULATOR_MODE_NORMAL,
+                        .enabled = 1,
+                },
+               .initial_state = PM_SUSPEND_MEM,
+       },
+ };
+ /* USB, EXT, PCM, ADC/DAC, USB, MMC */
+ static struct regulator_init_data wm8350_dcdc4_data = {
+       .constraints = {
+               .name = "PVDD_HI/PVDD_EXT/PVDD_SYS/PVCCM2MTV",
+               .min_uV = 3000000,
+               .max_uV = 3000000,
+               .always_on = 1,
+       },
+ };
+ /* ARM core */
+ static struct regulator_consumer_supply dcdc6_consumers[] = {
+       {
+               .supply = "vddarm",
+       }
+ };
+ static struct regulator_init_data wm8350_dcdc6_data = {
+       .constraints = {
+               .name = "PVDD_ARM",
+               .min_uV = 1000000,
+               .max_uV = 1300000,
+               .always_on = 1,
+               .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
+       },
+       .num_consumer_supplies = ARRAY_SIZE(dcdc6_consumers),
+       .consumer_supplies = dcdc6_consumers,
  };
  
+ /* Alive */
+ static struct regulator_init_data wm8350_ldo1_data = {
+       .constraints = {
+               .name = "PVDD_ALIVE",
+               .min_uV = 1200000,
+               .max_uV = 1200000,
+               .always_on = 1,
+               .apply_uV = 1,
+       },
+ };
+ /* OTG */
+ static struct regulator_init_data wm8350_ldo2_data = {
+       .constraints = {
+               .name = "PVDD_OTG",
+               .min_uV = 3300000,
+               .max_uV = 3300000,
+               .always_on = 1,
+       },
+ };
+ /* LCD */
+ static struct regulator_init_data wm8350_ldo3_data = {
+       .constraints = {
+               .name = "PVDD_LCD",
+               .min_uV = 3000000,
+               .max_uV = 3000000,
+               .always_on = 1,
+       },
+ };
+ /* OTGi/1190-EV1 HPVDD & AVDD */
+ static struct regulator_init_data wm8350_ldo4_data = {
+       .constraints = {
+               .name = "PVDD_OTGI/HPVDD/AVDD",
+               .min_uV = 1200000,
+               .max_uV = 1200000,
+               .apply_uV = 1,
+               .always_on = 1,
+       },
+ };
+ static struct {
+       int regulator;
+       struct regulator_init_data *initdata;
+ } wm1190_regulators[] = {
+       { WM8350_DCDC_1, &wm8350_dcdc1_data },
+       { WM8350_DCDC_3, &wm8350_dcdc3_data },
+       { WM8350_DCDC_4, &wm8350_dcdc4_data },
+       { WM8350_DCDC_6, &wm8350_dcdc6_data },
+       { WM8350_LDO_1, &wm8350_ldo1_data },
+       { WM8350_LDO_2, &wm8350_ldo2_data },
+       { WM8350_LDO_3, &wm8350_ldo3_data },
+       { WM8350_LDO_4, &wm8350_ldo4_data },
+ };
+ static int __init smdk6410_wm8350_init(struct wm8350 *wm8350)
+ {
+       int i;
+       /* Instantiate the regulators */
+       for (i = 0; i < ARRAY_SIZE(wm1190_regulators); i++)
+               wm8350_register_regulator(wm8350,
+                                         wm1190_regulators[i].regulator,
+                                         wm1190_regulators[i].initdata);
+       return 0;
+ }
+ static struct wm8350_platform_data __initdata smdk6410_wm8350_pdata = {
+       .init = smdk6410_wm8350_init,
+       .irq_high = 1,
+ };
+ #endif
  static struct i2c_board_info i2c_devs0[] __initdata = {
        { I2C_BOARD_INFO("24c08", 0x50), },
        { I2C_BOARD_INFO("wm8580", 0x1b), },