@@ -71,6 +71,7 @@ struct voltagedomain {
struct omap_vc_channel *vc;
const struct omap_vfsm_instance *vfsm;
struct omap_vp_instance *vp;
+ struct omap_abb_instance *abb;
struct omap_voltdm_pmic *pmic;
/* VC/VP register access functions: SoC specific */
@@ -26,6 +26,7 @@
#include "voltage.h"
#include "vc.h"
#include "vp.h"
+#include "abb.h"
/*
* VDD data
@@ -96,6 +97,8 @@ void __init omap3xxx_voltagedomains_init(void)
if (cpu_is_omap3630()) {
omap3_vdd1_info.volt_data = omap36xx_vddmpu_volt_data;
omap3_vdd2_info.volt_data = omap36xx_vddcore_volt_data;
+
+ omap3_voltdm_mpu.abb = &omap36xx_abb_mpu;
} else {
omap3_vdd1_info.volt_data = omap34xx_vddmpu_volt_data;
omap3_vdd2_info.volt_data = omap34xx_vddcore_volt_data;
@@ -32,6 +32,7 @@
#include "omap_opp_data.h"
#include "vc.h"
#include "vp.h"
+#include "abb.h"
static const struct omap_vfsm_instance omap4_vdd_mpu_vfsm = {
.voltsetup_reg = OMAP4_PRM_VOLTSETUP_MPU_RET_SLEEP_OFFSET,
@@ -60,6 +61,7 @@ static struct voltagedomain omap4_voltdm_mpu = {
.vc = &omap4_vc_mpu,
.vfsm = &omap4_vdd_mpu_vfsm,
.vp = &omap4_vp_mpu,
+ .abb = &omap4_abb_mpu,
.vdd = &omap4_vdd_mpu_info,
};
@@ -72,6 +74,7 @@ static struct voltagedomain omap4_voltdm_iva = {
.vc = &omap4_vc_iva,
.vfsm = &omap4_vdd_iva_vfsm,
.vp = &omap4_vp_iva,
+ .abb = &omap4_abb_iva,
.vdd = &omap4_vdd_iva_info,
};
Starting with OMAP36xx, some voltage domains have an ABB ldo meant to insure stability when that voltage domain is operating at a high OPP. This patch adds struct omap_abb_instance to struct voltagedomain and populates the data for those voltage domains that have an ABB ldo on both 36xx and 44xx silicon. Signed-off-by: Mike Turquette <mturquette@ti.com> --- arch/arm/mach-omap2/voltage.h | 1 + arch/arm/mach-omap2/voltagedomains3xxx_data.c | 3 +++ arch/arm/mach-omap2/voltagedomains44xx_data.c | 3 +++ 3 files changed, 7 insertions(+), 0 deletions(-)