Commit aae030fa authored by Kevin Hilman's avatar Kevin Hilman

OMAP2: add voltage domains and connect to powerdomains

Create basic voltagedomains for OMAP2 and associate OMAP2 powerdomains
with the newly created voltage domains.

While here, update copyright on powerdomain data to 2011.
Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
parent 8f1bec24
...@@ -91,7 +91,8 @@ obj-$(CONFIG_ARCH_OMAP4) += prcm.o cm2xxx_3xxx.o cminst44xx.o \ ...@@ -91,7 +91,8 @@ obj-$(CONFIG_ARCH_OMAP4) += prcm.o cm2xxx_3xxx.o cminst44xx.o \
# OMAP voltage domains # OMAP voltage domains
ifeq ($(CONFIG_PM),y) ifeq ($(CONFIG_PM),y)
voltagedomain-common := voltage.o voltagedomain-common := voltage.o
obj-$(CONFIG_ARCH_OMAP2) += $(voltagedomain-common) obj-$(CONFIG_ARCH_OMAP2) += $(voltagedomain-common) \
voltagedomains2xxx_data.o
obj-$(CONFIG_ARCH_OMAP3) += $(voltagedomain-common) \ obj-$(CONFIG_ARCH_OMAP3) += $(voltagedomain-common) \
voltagedomains3xxx_data.o voltagedomains3xxx_data.o
obj-$(CONFIG_ARCH_OMAP4) += $(voltagedomain-common) \ obj-$(CONFIG_ARCH_OMAP4) += $(voltagedomain-common) \
......
...@@ -342,10 +342,12 @@ void __init omap2_init_common_infrastructure(void) ...@@ -342,10 +342,12 @@ void __init omap2_init_common_infrastructure(void)
u8 postsetup_state; u8 postsetup_state;
if (cpu_is_omap242x()) { if (cpu_is_omap242x()) {
omap2xxx_voltagedomains_init();
omap242x_powerdomains_init(); omap242x_powerdomains_init();
omap242x_clockdomains_init(); omap242x_clockdomains_init();
omap2420_hwmod_init(); omap2420_hwmod_init();
} else if (cpu_is_omap243x()) { } else if (cpu_is_omap243x()) {
omap2xxx_voltagedomains_init();
omap243x_powerdomains_init(); omap243x_powerdomains_init();
omap243x_clockdomains_init(); omap243x_clockdomains_init();
omap2430_hwmod_init(); omap2430_hwmod_init();
......
/* /*
* OMAP2 and OMAP3 powerdomain control * OMAP2 and OMAP3 powerdomain control
* *
* Copyright (C) 2009-2010 Texas Instruments, Inc. * Copyright (C) 2009-2011 Texas Instruments, Inc.
* Copyright (C) 2007-2009 Nokia Corporation * Copyright (C) 2007-2009 Nokia Corporation
* *
* Derived from mach-omap2/powerdomain.c written by Paul Walmsley * Derived from mach-omap2/powerdomain.c written by Paul Walmsley
......
...@@ -37,6 +37,7 @@ static struct powerdomain dsp_pwrdm = { ...@@ -37,6 +37,7 @@ static struct powerdomain dsp_pwrdm = {
.pwrsts_mem_on = { .pwrsts_mem_on = {
[0] = PWRSTS_ON, [0] = PWRSTS_ON,
}, },
.voltdm = { .name = "core" },
}; };
static struct powerdomain mpu_24xx_pwrdm = { static struct powerdomain mpu_24xx_pwrdm = {
...@@ -51,6 +52,7 @@ static struct powerdomain mpu_24xx_pwrdm = { ...@@ -51,6 +52,7 @@ static struct powerdomain mpu_24xx_pwrdm = {
.pwrsts_mem_on = { .pwrsts_mem_on = {
[0] = PWRSTS_ON, [0] = PWRSTS_ON,
}, },
.voltdm = { .name = "core" },
}; };
static struct powerdomain core_24xx_pwrdm = { static struct powerdomain core_24xx_pwrdm = {
...@@ -68,6 +70,7 @@ static struct powerdomain core_24xx_pwrdm = { ...@@ -68,6 +70,7 @@ static struct powerdomain core_24xx_pwrdm = {
[1] = PWRSTS_OFF_RET_ON, /* MEM2ONSTATE */ [1] = PWRSTS_OFF_RET_ON, /* MEM2ONSTATE */
[2] = PWRSTS_OFF_RET_ON, /* MEM3ONSTATE */ [2] = PWRSTS_OFF_RET_ON, /* MEM3ONSTATE */
}, },
.voltdm = { .name = "core" },
}; };
...@@ -89,6 +92,7 @@ static struct powerdomain mdm_pwrdm = { ...@@ -89,6 +92,7 @@ static struct powerdomain mdm_pwrdm = {
.pwrsts_mem_on = { .pwrsts_mem_on = {
[0] = PWRSTS_ON, /* MEMONSTATE */ [0] = PWRSTS_ON, /* MEMONSTATE */
}, },
.voltdm = { .name = "core" },
}; };
/* /*
......
...@@ -180,6 +180,7 @@ static inline int omap_voltage_late_init(void) ...@@ -180,6 +180,7 @@ static inline int omap_voltage_late_init(void)
} }
#endif #endif
extern void omap2xxx_voltagedomains_init(void);
extern void omap3xxx_voltagedomains_init(void); extern void omap3xxx_voltagedomains_init(void);
extern void omap44xx_voltagedomains_init(void); extern void omap44xx_voltagedomains_init(void);
......
/*
* OMAP3 voltage domain data
*
* Copyright (C) 2011 Texas Instruments, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include "voltage.h"
static struct voltagedomain omap2_voltdm_core = {
.name = "core",
};
static struct voltagedomain omap2_voltdm_wkup = {
.name = "wakeup",
};
static struct voltagedomain *voltagedomains_omap2[] __initdata = {
&omap2_voltdm_core,
&omap2_voltdm_wkup,
NULL,
};
void __init omap2xxx_voltagedomains_init(void)
{
voltdm_init(voltagedomains_omap2);
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment