diff options
Diffstat (limited to 'arch/arm')
| -rw-r--r-- | arch/arm/configs/omap3_h1_defconfig | 6 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/board-omap3h1.c | 164 |
2 files changed, 150 insertions, 20 deletions
diff --git a/arch/arm/configs/omap3_h1_defconfig b/arch/arm/configs/omap3_h1_defconfig index e5f57b8f2c4..f026bc906a5 100644 --- a/arch/arm/configs/omap3_h1_defconfig +++ b/arch/arm/configs/omap3_h1_defconfig @@ -472,14 +472,14 @@ CONFIG_CPU_FREQ_STAT_DETAILS=y # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y -# CONFIG_CPU_FREQ_GOV_INTERACTIVE is not set +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y # CONFIG_GENERIC_CPUFREQ_CPU0 is not set 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), |