From a1ca1089920702b73d4450ddae5a73f7a4e41a74 Mon Sep 17 00:00:00 2001 From: Taras Kondratiuk Date: Fri, 3 Feb 2012 18:12:18 +0200 Subject: OMAP4: OPP/voltage: Add voltage for IVA OPP NitroSB On OMAP4460/70 IVA OPP Nitro and OPP NitroSB voltages are the same, but they should have different nTargets for SmartReflex. Wrong nTargets lead to lower voltage and possible instability at OPPSB. Change-Id: I92558908b4e91eb64680e47e01ff82dedf93aad3 Signed-off-by: Taras Kondratiuk --- arch/arm/mach-omap2/opp4xxx_data.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'arch/arm/mach-omap2/opp4xxx_data.c') diff --git a/arch/arm/mach-omap2/opp4xxx_data.c b/arch/arm/mach-omap2/opp4xxx_data.c index 2fe107f..4acaa89 100755 --- a/arch/arm/mach-omap2/opp4xxx_data.c +++ b/arch/arm/mach-omap2/opp4xxx_data.c @@ -179,12 +179,14 @@ struct omap_volt_data omap446x_vdd_mpu_volt_data[] = { #define OMAP4460_VDD_IVA_OPP100_UV 1140000 #define OMAP4460_VDD_IVA_OPPTURBO_UV 1291000 #define OMAP4460_VDD_IVA_OPPNITRO_UV 1375000 +#define OMAP4460_VDD_IVA_OPPNITROSB_UV 1376000 struct omap_volt_data omap446x_vdd_iva_volt_data[] = { VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPP50_UV, 13000, OMAP44XX_CONTROL_FUSE_IVA_OPP50, 0xf4, 0x0c, OMAP_ABB_NOMINAL_OPP), VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPP100_UV, 0, OMAP44XX_CONTROL_FUSE_IVA_OPP100, 0xf9, 0x16, OMAP_ABB_NOMINAL_OPP), VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPPTURBO_UV, 0, OMAP44XX_CONTROL_FUSE_IVA_OPPTURBO, 0xfa, 0x23, OMAP_ABB_NOMINAL_OPP), VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPPNITRO_UV, 0, OMAP44XX_CONTROL_FUSE_IVA_OPPNITRO, 0xfa, 0x23, OMAP_ABB_FAST_OPP), + VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPPNITROSB_UV, 0, OMAP44XX_CONTROL_FUSE_IVA_OPPNITROSB, 0xfa, 0x23, OMAP_ABB_FAST_OPP), VOLT_DATA_DEFINE(0, 0, 0, 0, 0, 0), }; @@ -223,6 +225,7 @@ static struct omap_vdd_dep_volt omap446x_vdd_iva_core_dep_data[] = { {.main_vdd_volt = OMAP4460_VDD_IVA_OPP100_UV, .dep_vdd_volt = OMAP4460_VDD_CORE_OPP100_UV}, {.main_vdd_volt = OMAP4460_VDD_IVA_OPPTURBO_UV, .dep_vdd_volt = OMAP4460_VDD_CORE_OPP100_UV}, {.main_vdd_volt = OMAP4460_VDD_IVA_OPPNITRO_UV, .dep_vdd_volt = OMAP4460_VDD_CORE_OPP100_UV}, + {.main_vdd_volt = OMAP4460_VDD_IVA_OPPNITROSB_UV, .dep_vdd_volt = OMAP4460_VDD_CORE_OPP100_UV}, }; struct omap_vdd_dep_info omap446x_vddiva_dep_info[] = { @@ -264,7 +267,7 @@ static struct omap_opp_def __initdata omap446x_opp_def_list[] = { /* IVA OPP4 - OPP-Nitro */ OPP_INITIALIZER("iva", "virt_iva_ck", "iva", false, 430000000, OMAP4460_VDD_IVA_OPPNITRO_UV), /* IVA OPP5 - OPP-Nitro SpeedBin*/ - OPP_INITIALIZER("iva", "virt_iva_ck", "iva", false, 500000000, OMAP4460_VDD_IVA_OPPNITRO_UV), + OPP_INITIALIZER("iva", "virt_iva_ck", "iva", false, 500000000, OMAP4460_VDD_IVA_OPPNITROSB_UV), /* SGX OPP1 - OPP50 */ OPP_INITIALIZER("gpu", "dpll_per_m7x2_ck", "core", true, 153600000, OMAP4460_VDD_CORE_OPP50_UV), @@ -317,12 +320,14 @@ struct omap_volt_data omap447x_vdd_mpu_volt_data[] = { #define OMAP4470_VDD_IVA_OPP100_UV 1137000 #define OMAP4470_VDD_IVA_OPPTURBO_UV 1287000 #define OMAP4470_VDD_IVA_OPPNITRO_UV 1375000 +#define OMAP4470_VDD_IVA_OPPNITROSB_UV 1376000 struct omap_volt_data omap447x_vdd_iva_volt_data[] = { VOLT_DATA_DEFINE(OMAP4470_VDD_IVA_OPP50_UV, 0, OMAP44XX_CONTROL_FUSE_IVA_OPP50, 0xf4, 0x0c, OMAP_ABB_NOMINAL_OPP), VOLT_DATA_DEFINE(OMAP4470_VDD_IVA_OPP100_UV, 0, OMAP44XX_CONTROL_FUSE_IVA_OPP100, 0xf9, 0x16, OMAP_ABB_NOMINAL_OPP), VOLT_DATA_DEFINE(OMAP4470_VDD_IVA_OPPTURBO_UV, 0, OMAP44XX_CONTROL_FUSE_IVA_OPPTURBO, 0xfa, 0x23, OMAP_ABB_NOMINAL_OPP), VOLT_DATA_DEFINE(OMAP4470_VDD_IVA_OPPNITRO_UV, 0, OMAP44XX_CONTROL_FUSE_IVA_OPPNITRO, 0xfa, 0x23, OMAP_ABB_FAST_OPP), + VOLT_DATA_DEFINE(OMAP4470_VDD_IVA_OPPNITROSB_UV, 0, OMAP44XX_CONTROL_FUSE_IVA_OPPNITROSB, 0xfa, 0x23, OMAP_ABB_FAST_OPP), VOLT_DATA_DEFINE(0, 0, 0, 0, 0, 0), }; @@ -361,6 +366,7 @@ static struct omap_vdd_dep_volt omap447x_vdd_iva_core_dep_data[] = { {.main_vdd_volt = OMAP4470_VDD_IVA_OPP100_UV, .dep_vdd_volt = OMAP4470_VDD_CORE_OPP100_UV}, {.main_vdd_volt = OMAP4470_VDD_IVA_OPPTURBO_UV, .dep_vdd_volt = OMAP4470_VDD_CORE_OPP100_UV}, {.main_vdd_volt = OMAP4470_VDD_IVA_OPPNITRO_UV, .dep_vdd_volt = OMAP4470_VDD_CORE_OPP100_UV}, + {.main_vdd_volt = OMAP4470_VDD_IVA_OPPNITROSB_UV, .dep_vdd_volt = OMAP4470_VDD_CORE_OPP100_UV}, }; struct omap_vdd_dep_info omap447x_vddiva_dep_info[] = { @@ -404,7 +410,7 @@ static struct omap_opp_def __initdata omap447x_opp_low_def_list[] = { /* IVA OPP4 - OPP-Nitro */ OPP_INITIALIZER("iva", "virt_iva_ck", "iva", false, 430000000, OMAP4470_VDD_IVA_OPPNITRO_UV), /* IVA OPP5 - OPP-Nitro SpeedBin*/ - OPP_INITIALIZER("iva", "virt_iva_ck", "iva", false, 500000000, OMAP4470_VDD_IVA_OPPNITRO_UV), + OPP_INITIALIZER("iva", "virt_iva_ck", "iva", false, 500000000, OMAP4470_VDD_IVA_OPPNITROSB_UV), /* SGX OPP1 - OPP50 */ OPP_INITIALIZER("gpu", "dpll_per_m7x2_ck", "core", true, 153600000, OMAP4470_VDD_CORE_OPP50_UV), @@ -464,7 +470,7 @@ static struct omap_opp_def __initdata omap447x_opp_high_def_list[] = { /* IVA OPP4 - OPP-Nitro */ OPP_INITIALIZER("iva", "virt_iva_ck", "iva", false, 430000000, OMAP4470_VDD_IVA_OPPNITRO_UV), /* IVA OPP5 - OPP-Nitro SpeedBin*/ - OPP_INITIALIZER("iva", "virt_iva_ck", "iva", false, 500000000, OMAP4470_VDD_IVA_OPPNITRO_UV), + OPP_INITIALIZER("iva", "virt_iva_ck", "iva", false, 500000000, OMAP4470_VDD_IVA_OPPNITROSB_UV), /* SGX OPP1 - OPP50 */ OPP_INITIALIZER("gpu", "dpll_per_m7x2_ck", "core", true, 192000000, OMAP4470_VDD_CORE_OPP50_UV), -- cgit v1.1