diff options
author | Taras Kondratiuk <taras@ti.com> | 2012-02-03 18:12:18 +0200 |
---|---|---|
committer | Ziyann <jaraidaniel@gmail.com> | 2014-10-01 12:57:14 +0200 |
commit | a1ca1089920702b73d4450ddae5a73f7a4e41a74 (patch) | |
tree | 920fab680c0f241ae238198170fccb41e320fd42 /arch/arm | |
parent | 36160fac8924a8e57839a570eefb8d6fd08f9220 (diff) | |
download | kernel_samsung_tuna-a1ca1089920702b73d4450ddae5a73f7a4e41a74.zip kernel_samsung_tuna-a1ca1089920702b73d4450ddae5a73f7a4e41a74.tar.gz kernel_samsung_tuna-a1ca1089920702b73d4450ddae5a73f7a4e41a74.tar.bz2 |
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 <taras@ti.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/control.h | 1 | ||||
-rwxr-xr-x | arch/arm/mach-omap2/opp4xxx_data.c | 12 |
2 files changed, 10 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/control.h b/arch/arm/mach-omap2/control.h index 5de7bad..f688010 100644 --- a/arch/arm/mach-omap2/control.h +++ b/arch/arm/mach-omap2/control.h @@ -189,6 +189,7 @@ #define OMAP44XX_CONTROL_FUSE_IVA_OPP100 0x22F #define OMAP44XX_CONTROL_FUSE_IVA_OPPTURBO 0x232 #define OMAP44XX_CONTROL_FUSE_IVA_OPPNITRO 0x235 +#define OMAP44XX_CONTROL_FUSE_IVA_OPPNITROSB 0x238 #define OMAP44XX_CONTROL_FUSE_MPU_OPP50 0x240 #define OMAP44XX_CONTROL_FUSE_MPU_OPP100 0x243 #define OMAP44XX_CONTROL_FUSE_MPU_OPPTURBO 0x246 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), |