4ce3641cdb7252ec909a35b4a84896258e01033b
[glsdk/meta-ti-glsdk.git] / recipes-kernel / linux / linux-3.0 / bias / 0006-OMAP3-Voltage-add-ABB-data-to-voltage-domains.patch
1 From a98ba42c4b039046d7816ccc5394d72557780b30 Mon Sep 17 00:00:00 2001
2 From: Mike Turquette <mturquette@ti.com>
3 Date: Thu, 21 Jul 2011 12:31:50 +0200
4 Subject: [PATCH 6/8] OMAP3+: Voltage: add ABB data to voltage domains
6 Starting with OMAP36xx, some voltage domains have an ABB ldo meant to
7 insure stability when that voltage domain is operating at a high OPP.
9 This patch adds struct omap_abb_instance to struct voltagedomain and
10 populates the data for those voltage domains that have an ABB ldo on
11 both 36xx and 44xx silicon.
13 Signed-off-by: Mike Turquette <mturquette@ti.com>
14 ---
15 arch/arm/mach-omap2/voltage.h | 1 +
16 arch/arm/mach-omap2/voltagedomains3xxx_data.c | 3 +++
17 arch/arm/mach-omap2/voltagedomains44xx_data.c | 3 +++
18 3 files changed, 7 insertions(+), 0 deletions(-)
20 diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
21 index 2aa6c43..4fe35d7 100644
22 --- a/arch/arm/mach-omap2/voltage.h
23 +++ b/arch/arm/mach-omap2/voltage.h
24 @@ -69,6 +69,7 @@ struct voltagedomain {
25 struct omap_vc_channel *vc;
26 const struct omap_vfsm_instance *vfsm;
27 struct omap_vp_instance *vp;
28 + struct omap_abb_instance *abb;
29 struct omap_voltdm_pmic *pmic;
31 /* VC/VP register access functions: SoC specific */
32 diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
33 index b0d0ae1..cdcfbdf 100644
34 --- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
35 +++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
36 @@ -26,6 +26,7 @@
37 #include "voltage.h"
38 #include "vc.h"
39 #include "vp.h"
40 +#include "abb.h"
42 /*
43 * VDD data
44 @@ -90,6 +91,8 @@ void __init omap3xxx_voltagedomains_init(void)
45 if (cpu_is_omap3630()) {
46 omap3_voltdm_mpu.volt_data = omap36xx_vddmpu_volt_data;
47 omap3_voltdm_core.volt_data = omap36xx_vddcore_volt_data;
48 +
49 + omap3_voltdm_mpu.abb = &omap36xx_abb_mpu;
50 } else {
51 omap3_voltdm_mpu.volt_data = omap34xx_vddmpu_volt_data;
52 omap3_voltdm_core.volt_data = omap34xx_vddcore_volt_data;
53 diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
54 index c4584e9..11e2458 100644
55 --- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
56 +++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
57 @@ -31,6 +31,7 @@
58 #include "omap_opp_data.h"
59 #include "vc.h"
60 #include "vp.h"
61 +#include "abb.h"
63 static const struct omap_vfsm_instance omap4_vdd_mpu_vfsm = {
64 .voltsetup_reg = OMAP4_PRM_VOLTSETUP_MPU_RET_SLEEP_OFFSET,
65 @@ -53,6 +54,7 @@ static struct voltagedomain omap4_voltdm_mpu = {
66 .vc = &omap4_vc_mpu,
67 .vfsm = &omap4_vdd_mpu_vfsm,
68 .vp = &omap4_vp_mpu,
69 + .abb = &omap4_abb_mpu,
70 };
72 static struct voltagedomain omap4_voltdm_iva = {
73 @@ -64,6 +66,7 @@ static struct voltagedomain omap4_voltdm_iva = {
74 .vc = &omap4_vc_iva,
75 .vfsm = &omap4_vdd_iva_vfsm,
76 .vp = &omap4_vp_iva,
77 + .abb = &omap4_abb_iva,
78 };
80 static struct voltagedomain omap4_voltdm_core = {
81 --
82 1.6.6.1