diff options
| -rw-r--r-- | arch/arm/mach-omap2/omap_opp_data.h | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/opp3xxx_data.c | 41 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/pm-debug.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/voltagedomains3xxx_data.c | 5 | 
4 files changed, 50 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/omap_opp_data.h b/arch/arm/mach-omap2/omap_opp_data.h index 336fdfcf88b..93a489969a2 100644 --- a/arch/arm/mach-omap2/omap_opp_data.h +++ b/arch/arm/mach-omap2/omap_opp_data.h @@ -87,6 +87,9 @@ extern int __init omap_init_opp_table(struct omap_opp_def *opp_def,  extern struct omap_volt_data omap34xx_vddmpu_volt_data[];  extern struct omap_volt_data omap34xx_vddcore_volt_data[];  extern struct omap_volt_data omap36xx_vddmpu_volt_data[]; +#ifdef CONFIG_MACH_OMAP3_H1_DVT2 +extern struct omap_volt_data omap36xx_olioh1_vddmpu_volt_data[]; +#endif   extern struct omap_volt_data omap36xx_vddcore_volt_data[];  extern struct omap_volt_data omap443x_vdd_mpu_volt_data[]; diff --git a/arch/arm/mach-omap2/opp3xxx_data.c b/arch/arm/mach-omap2/opp3xxx_data.c index 0f5af3377af..f715f6ffd1d 100644 --- a/arch/arm/mach-omap2/opp3xxx_data.c +++ b/arch/arm/mach-omap2/opp3xxx_data.c @@ -73,6 +73,16 @@ struct omap_volt_data omap36xx_vddmpu_volt_data[] = {  	VOLT_DATA_DEFINE(0, 0, 0, 0),  }; + +struct omap_volt_data omap36xx_olioh1_vddmpu_volt_data[] = { +	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP50_UV, OMAP3630_CONTROL_FUSE_OPP50_VDD1, 0xf4, 0x0c), +	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP100_UV, OMAP3630_CONTROL_FUSE_OPP100_VDD1, 0xf9, 0x16), +	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP120_UV, OMAP3630_CONTROL_FUSE_OPP120_VDD1, 0xfa, 0x23), +	/* VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP1G_UV, OMAP3630_CONTROL_FUSE_OPP1G_VDD1, 0xfa, 0x27), */ +	VOLT_DATA_DEFINE(0, 0, 0, 0), +}; + +  /* VDD2 */  #define OMAP3630_VDD_CORE_OPP50_UV		1000000 @@ -149,6 +159,32 @@ static struct omap_opp_def __initdata omap36xx_opp_def_list[] = {  	OPP_INITIALIZER("iva", false, 800000000, OMAP3630_VDD_MPU_OPP1G_UV),  }; +static struct omap_opp_def __initdata omap36xx_olioh1_opp_def_list[] = { +	/* MPU OPP1 - OPP50 */ +	OPP_INITIALIZER("mpu", true,  300000000, OMAP3630_VDD_MPU_OPP50_UV), +	/* MPU OPP2 - OPP100 */ +	OPP_INITIALIZER("mpu", true,  600000000, OMAP3630_VDD_MPU_OPP100_UV), +	/* MPU OPP3 - OPP-Turbo */ +	OPP_INITIALIZER("mpu", true, 800000000, OMAP3630_VDD_MPU_OPP120_UV), +	/* MPU OPP4 - OPP-SB */ +	/* OPP_INITIALIZER("mpu", true, 1000000000, OMAP3630_VDD_MPU_OPP1G_UV), */ + +	/* L3 OPP1 - OPP50 */ +	OPP_INITIALIZER("l3_main", true, 100000000, OMAP3630_VDD_CORE_OPP50_UV), +	/* L3 OPP2 - OPP100, OPP-Turbo, OPP-SB */ +	OPP_INITIALIZER("l3_main", true, 200000000, OMAP3630_VDD_CORE_OPP100_UV), + +	/* DSP OPP1 - OPP50 */ +	OPP_INITIALIZER("iva", true,  260000000, OMAP3630_VDD_MPU_OPP50_UV), +	/* DSP OPP2 - OPP100 */ +	OPP_INITIALIZER("iva", true,  520000000, OMAP3630_VDD_MPU_OPP100_UV), +	/* DSP OPP3 - OPP-Turbo */ +	OPP_INITIALIZER("iva", false, 660000000, OMAP3630_VDD_MPU_OPP120_UV), +	/* DSP OPP4 - OPP-SB */ +	OPP_INITIALIZER("iva", false, 800000000, OMAP3630_VDD_MPU_OPP1G_UV), +}; + +  /**   * omap3_opp_init() - initialize omap3 opp table   */ @@ -160,8 +196,13 @@ int __init omap3_opp_init(void)  		return r;  	if (cpu_is_omap3630()) +#ifdef CONFIG_MACH_OMAP3_H1_DVT2 +		r = omap_init_opp_table(omap36xx_olioh1_opp_def_list, +			ARRAY_SIZE(omap36xx_olioh1_opp_def_list)); +#else  		r = omap_init_opp_table(omap36xx_opp_def_list,  			ARRAY_SIZE(omap36xx_opp_def_list)); +#endif  	else  		r = omap_init_opp_table(omap34xx_opp_def_list,  			ARRAY_SIZE(omap34xx_opp_def_list)); diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c index 94036241cec..119e6756883 100644 --- a/arch/arm/mach-omap2/pm-debug.c +++ b/arch/arm/mach-omap2/pm-debug.c @@ -39,7 +39,7 @@  #include "pm-debug-regs.h"  /* enable_off_mode is the runtime flag for enable/disable of offmode */ -u32 enable_off_mode; +u32 enable_off_mode = 1;  /*   * global_disable_off_mode supercedes enable_off_mode and keeps diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c index 261bb7cb4e6..c9a39119036 100644 --- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c +++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c @@ -109,8 +109,13 @@ void __init omap3xxx_voltagedomains_init(void)  	 */  #ifdef CONFIG_PM_OPP  	if (cpu_is_omap3630()) { +#ifdef CONFIG_MACH_OMAP3_H1_DVT2 +		omap3_voltdm_mpu.volt_data  = omap36xx_olioh1_vddmpu_volt_data; +		omap3_voltdm_core.volt_data = omap36xx_vddcore_volt_data; +#else  		omap3_voltdm_mpu.volt_data = omap36xx_vddmpu_volt_data;  		omap3_voltdm_core.volt_data = omap36xx_vddcore_volt_data; +#endif /*  CONFIG_MACH_OMAP3_H1_DVT2 */  	} else {  		omap3_voltdm_mpu.volt_data = omap34xx_vddmpu_volt_data;  		omap3_voltdm_core.volt_data = omap34xx_vddcore_volt_data;  |