diff options
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap/dvfs/0001-OMAP3-PM-Adding-T2-enabling-of-smartreflex.patch')
-rw-r--r-- | extras/recipes-kernel/linux/linux-omap/dvfs/0001-OMAP3-PM-Adding-T2-enabling-of-smartreflex.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap/dvfs/0001-OMAP3-PM-Adding-T2-enabling-of-smartreflex.patch b/extras/recipes-kernel/linux/linux-omap/dvfs/0001-OMAP3-PM-Adding-T2-enabling-of-smartreflex.patch new file mode 100644 index 00000000..eafc4d30 --- /dev/null +++ b/extras/recipes-kernel/linux/linux-omap/dvfs/0001-OMAP3-PM-Adding-T2-enabling-of-smartreflex.patch | |||
@@ -0,0 +1,60 @@ | |||
1 | From 8548db6d3cf115b29142f803d701122dc4cbb775 Mon Sep 17 00:00:00 2001 | ||
2 | From: Thara Gopinath <thara@ti.com> | ||
3 | Date: Fri, 31 Dec 2010 13:35:02 +0530 | ||
4 | Subject: [PATCH 01/20] OMAP3: PM: Adding T2 enabling of smartreflex | ||
5 | |||
6 | The smartreflex bit on twl4030 needs to be enabled by default irrespective | ||
7 | of whether smartreflex module is enabled on the OMAP side or not. | ||
8 | This is because without this bit enabled the voltage scaling through | ||
9 | vp forceupdate does not function properly on OMAP3. | ||
10 | |||
11 | Signed-off-by: Thara Gopinath <thara@ti.com> | ||
12 | --- | ||
13 | arch/arm/mach-omap2/omap_twl.c | 16 ++++++++++++++++ | ||
14 | 1 files changed, 16 insertions(+), 0 deletions(-) | ||
15 | |||
16 | diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c | ||
17 | index 15f8c6c..a59f36b 100644 | ||
18 | --- a/arch/arm/mach-omap2/omap_twl.c | ||
19 | +++ b/arch/arm/mach-omap2/omap_twl.c | ||
20 | @@ -58,7 +58,9 @@ | ||
21 | static bool is_offset_valid; | ||
22 | static u8 smps_offset; | ||
23 | |||
24 | +#define TWL4030_DCDC_GLOBAL_CFG 0x06 | ||
25 | #define REG_SMPS_OFFSET 0xE0 | ||
26 | +#define SMARTREFLEX_ENABLE BIT(3) | ||
27 | |||
28 | unsigned long twl4030_vsel_to_uv(const u8 vsel) | ||
29 | { | ||
30 | @@ -256,6 +258,7 @@ int __init omap4_twl_init(void) | ||
31 | int __init omap3_twl_init(void) | ||
32 | { | ||
33 | struct voltagedomain *voltdm; | ||
34 | + u8 temp; | ||
35 | |||
36 | if (!cpu_is_omap34xx()) | ||
37 | return -ENODEV; | ||
38 | @@ -267,6 +270,19 @@ int __init omap3_twl_init(void) | ||
39 | omap3_core_volt_info.vp_vddmax = OMAP3630_VP2_VLIMITTO_VDDMAX; | ||
40 | } | ||
41 | |||
42 | + /* | ||
43 | + * The smartreflex bit on twl4030 needs to be enabled by | ||
44 | + * default irrespective of whether smartreflex module is | ||
45 | + * enabled on the OMAP side or not. This is because without | ||
46 | + * this bit enabled the voltage scaling through | ||
47 | + * vp forceupdate does not function properly on OMAP3. | ||
48 | + */ | ||
49 | + twl_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &temp, | ||
50 | + TWL4030_DCDC_GLOBAL_CFG); | ||
51 | + temp |= SMARTREFLEX_ENABLE; | ||
52 | + twl_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, temp, | ||
53 | + TWL4030_DCDC_GLOBAL_CFG); | ||
54 | + | ||
55 | voltdm = omap_voltage_domain_lookup("mpu"); | ||
56 | omap_voltage_register_pmic(voltdm, &omap3_mpu_volt_info); | ||
57 | |||
58 | -- | ||
59 | 1.6.6.1 | ||
60 | |||