diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-omap3h1.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-omap3h1.c | 164 | 
1 files changed, 147 insertions, 17 deletions
| diff --git a/arch/arm/mach-omap2/board-omap3h1.c b/arch/arm/mach-omap2/board-omap3h1.c index 311910b52e8..ab06bb48943 100644 --- a/arch/arm/mach-omap2/board-omap3h1.c +++ b/arch/arm/mach-omap2/board-omap3h1.c @@ -141,8 +141,6 @@ static int __init omap3h1_spi_init(void) {  } - -  static struct mpu_platform_data mpu_data = {  	.int_config  = 0x00,  	.level_shifter = 0, @@ -154,12 +152,12 @@ static struct mpu_platform_data mpu_data = {  static struct lm3530_platform_data omap3h1_backlight_platform_data = {  	.mode = LM3530_BL_MODE_MANUAL,  	//.als_input_mode = LM3530_INPUT_ALS1, -	.max_current = LM3530_FS_CURR_12mA, +	.max_current = LM3530_FS_CURR_29mA,  	//.pwm_pol_hi = true,  	//.als_avrg_time = LM3530_ALS_AVRG_TIME_512ms,  	.brt_ramp_law = 0, -	.brt_ramp_fall = LM3530_RAMP_TIME_2s, -	.brt_ramp_rise = LM3530_RAMP_TIME_2s, +	.brt_ramp_fall = LM3530_RAMP_TIME_1s, +	.brt_ramp_rise = LM3530_RAMP_TIME_1s,  	//.als1_resistor_sel = LM3530_ALS_IMPD_13_53kOhm,  	//.als2_resistor_sel = LM3530_ALS_IMPD_Z,  	//.als_vmin = 730,	/* mV */ @@ -197,11 +195,58 @@ static struct platform_device omap3h1_vbat = {  	},  }; +/* --------------------------------------------------------------------------- */ +  static struct regulator_init_data tps65910_dummy = {  	.supply_regulator = "VBAT",      .constraints.always_on  = true,  }; +/* --------------------------------------------------------------------------- */ + +static struct regulator_consumer_supply tps65910_touch3_supply[] = { +    REGULATOR_SUPPLY("avdd", "1-004a"), +}; + +static struct regulator_init_data tps65910_touch3 = { +	.supply_regulator = "VBAT", +    .constraints = { +        .min_uV            = 3300000, +        .max_uV            = 3300000, +        .valid_modes_mask  = REGULATOR_MODE_NORMAL, +        .valid_ops_mask    = REGULATOR_CHANGE_VOLTAGE, +        .always_on         = true, +        .apply_uV		   = true, +    }, +    .num_consumer_supplies = ARRAY_SIZE(tps65910_touch3_supply), +    .consumer_supplies     = tps65910_touch3_supply, +}; + +/* --------------------------------------------------------------------------- */ + +static struct regulator_consumer_supply tps65910_vibrator_supply[] = { +      REGULATOR_SUPPLY("vaux2", "drv2605"), +}; + +static struct regulator_init_data tps65910_vibrator = { +	.supply_regulator = "VBAT", +    .constraints = { +        .min_uV            = 3300000, +        .max_uV            = 3300000, +        .valid_modes_mask  = REGULATOR_MODE_NORMAL, +        .valid_ops_mask    = REGULATOR_CHANGE_VOLTAGE, +        .always_on         = true, +        .apply_uV		   = true, +    }, +    .num_consumer_supplies = ARRAY_SIZE(tps65910_vibrator_supply), +    .consumer_supplies     = tps65910_vibrator_supply, +}; + + + +/* --------------------------------------------------------------------------- */ + +  static struct regulator_init_data tps65910_3v3 = {  	.supply_regulator = "VBAT",      .constraints = { @@ -214,6 +259,14 @@ static struct regulator_init_data tps65910_3v3 = {      },  }; + +/* --------------------------------------------------------------------------- */ + +static struct regulator_consumer_supply tps65910_1v8_supply[] = { +    REGULATOR_SUPPLY("vdds_dsi", "omapdss"), +    REGULATOR_SUPPLY("vin", "1-0038"), +}; +  static struct regulator_init_data tps65910_1v8 = {  	.supply_regulator = "VBAT",      .constraints = { @@ -224,8 +277,73 @@ static struct regulator_init_data tps65910_1v8 = {          .always_on         = true,          .apply_uV		   = true,      }, +    .num_consumer_supplies = ARRAY_SIZE(tps65910_1v8_supply), +    .consumer_supplies     = tps65910_1v8_supply, +}; + +/* --------------------------------------------------------------------------- */ + +static struct regulator_consumer_supply tps65910_vpll_supply[] = { +  }; + +static struct regulator_init_data tps65910_vpll = { +	.supply_regulator = "VBAT", +    .constraints = { +        .min_uV            = 1800000, +        .max_uV            = 1800000, +        .valid_modes_mask  = REGULATOR_MODE_NORMAL, +        .valid_ops_mask    = REGULATOR_CHANGE_VOLTAGE, +        .always_on         = true, +        .apply_uV		   = true, +    }, +    .num_consumer_supplies = ARRAY_SIZE(tps65910_vpll_supply), +    .consumer_supplies     = tps65910_vpll_supply, +}; + + +/* --------------------------------------------------------------------------- */ + +static struct regulator_consumer_supply tps65910_touch_supply[] = { +    REGULATOR_SUPPLY("vdd", "1-004a" ), +}; + +static struct regulator_init_data tps65910_touch = { +	.supply_regulator = "VBAT", +    .constraints = { +        .min_uV            = 1800000, +        .max_uV            = 1800000, +        .valid_modes_mask  = REGULATOR_MODE_NORMAL, +        .valid_ops_mask    = REGULATOR_CHANGE_VOLTAGE, +        .always_on         = true, +        .apply_uV		   = true, +    }, +    .num_consumer_supplies = ARRAY_SIZE(tps65910_touch_supply), +    .consumer_supplies     = tps65910_touch_supply, +}; + + +/* --------------------------------------------------------------------------- */ + +static struct regulator_consumer_supply tps65910_accel_supply[] = { +     REGULATOR_SUPPLY("vdd", "mpu6515"),  }; +static struct regulator_init_data tps65910_accel = { +	.supply_regulator = "VBAT", +    .constraints = { +        .min_uV            = 1800000, +        .max_uV            = 1800000, +        .valid_modes_mask  = REGULATOR_MODE_NORMAL, +        .valid_ops_mask    = REGULATOR_CHANGE_VOLTAGE, +        .always_on         = true, +        .apply_uV		   = true, +    }, +    .num_consumer_supplies = ARRAY_SIZE(tps65910_accel_supply), +    .consumer_supplies     = tps65910_accel_supply, +}; + +/* --------------------------------------------------------------------------- */ +  static struct regulator_consumer_supply tps65910_vdd1_supply[] = {      REGULATOR_SUPPLY("vcc", "cpu0"),  }; @@ -244,6 +362,8 @@ static struct regulator_init_data tps65910_vdd1 = {      .consumer_supplies     = tps65910_vdd1_supply,  }; +/* --------------------------------------------------------------------------- */ +  static struct regulator_consumer_supply tps65910_vdd2_supply[] = {      REGULATOR_SUPPLY("vcc", "l3_main.0"),  }; @@ -262,23 +382,33 @@ static struct regulator_init_data tps65910_vdd2 = {      .consumer_supplies     = tps65910_vdd2_supply,  }; +/* --------------------------------------------------------------------------- */ +  static struct tps65910_board omap3h1_tps65910_pdata = {  	.irq = 7 + OMAP_INTC_START,  	.en_ck32k_xtal = true, -    .tps65910_pmic_init_data[TPS65910_REG_VRTC]     = &tps65910_dummy,      .tps65910_pmic_init_data[TPS65910_REG_VIO]      = &tps65910_1v8,      .tps65910_pmic_init_data[TPS65910_REG_VDD1]     = &tps65910_vdd1,      .tps65910_pmic_init_data[TPS65910_REG_VDD2]     = &tps65910_vdd2, -    .tps65910_pmic_init_data[TPS65910_REG_VDD3]     = &tps65910_dummy, -    .tps65910_pmic_init_data[TPS65910_REG_VDIG1]    = &tps65910_1v8, -    .tps65910_pmic_init_data[TPS65910_REG_VDIG2]    = &tps65910_dummy, -    .tps65910_pmic_init_data[TPS65910_REG_VPLL]     = &tps65910_1v8, -    .tps65910_pmic_init_data[TPS65910_REG_VDAC]     = &tps65910_dummy, -    .tps65910_pmic_init_data[TPS65910_REG_VAUX1]    = &tps65910_dummy, -    .tps65910_pmic_init_data[TPS65910_REG_VAUX2]    = &tps65910_3v3, +    .tps65910_pmic_init_data[TPS65910_REG_VDIG1]    = &tps65910_accel, +    .tps65910_pmic_init_data[TPS65910_REG_VDIG2]    = &tps65910_touch, +    .tps65910_pmic_init_data[TPS65910_REG_VPLL]     = &tps65910_vpll, + +    .tps65910_pmic_init_data[TPS65910_REG_VMMC]     = &tps65910_touch3, +    .tps65910_pmic_init_data[TPS65910_REG_VAUX2]    = &tps65910_vibrator, +     +    /* This one is actually connected to BT */ +          .tps65910_pmic_init_data[TPS65910_REG_VAUX33]   = &tps65910_3v3, -    .tps65910_pmic_init_data[TPS65910_REG_VMMC]     = &tps65910_3v3, +     +    /* not actually used */ + +    .tps65910_pmic_init_data[TPS65910_REG_VRTC]     = &tps65910_dummy, +    .tps65910_pmic_init_data[TPS65910_REG_VDAC]     = &tps65910_dummy, +    .tps65910_pmic_init_data[TPS65910_REG_VAUX1]    = &tps65910_dummy, /* 2v85 */ +    .tps65910_pmic_init_data[TPS65910_REG_VDD3]     = &tps65910_dummy, +  };  static struct i2c_board_info __initdata omap3h1_i2c1_board_info[] = { @@ -293,9 +423,9 @@ static struct i2c_board_info __initdata omap3h1_i2c1_board_info[] = {              .platform_data = &mpu_data,           },           {  -     	      /* Backlight */ -    	   	I2C_BOARD_INFO("lm3530-led", 0x38), -             .platform_data = &omap3h1_backlight_platform_data, +            /* Backlight */ +            I2C_BOARD_INFO("lm3530-led", 0x38), +            .platform_data = &omap3h1_backlight_platform_data,      	 },           {              I2C_BOARD_INFO("mXT224", 0x4a), |