Skip to content

Commit

Permalink
OMAP2: add voltage domains and connect to powerdomains
Browse files Browse the repository at this point in the history
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: Kevin Hilman <khilman@ti.com>
  • Loading branch information
Kevin Hilman committed Sep 15, 2011
1 parent 8f1bec2 commit aae030f
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 2 deletions.
3 changes: 2 additions & 1 deletion arch/arm/mach-omap2/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,8 @@ obj-$(CONFIG_ARCH_OMAP4) += prcm.o cm2xxx_3xxx.o cminst44xx.o \
# OMAP voltage domains
ifeq ($(CONFIG_PM),y)
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) \
voltagedomains3xxx_data.o
obj-$(CONFIG_ARCH_OMAP4) += $(voltagedomain-common) \
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/mach-omap2/io.c
Original file line number Diff line number Diff line change
Expand Up @@ -342,10 +342,12 @@ void __init omap2_init_common_infrastructure(void)
u8 postsetup_state;

if (cpu_is_omap242x()) {
omap2xxx_voltagedomains_init();
omap242x_powerdomains_init();
omap242x_clockdomains_init();
omap2420_hwmod_init();
} else if (cpu_is_omap243x()) {
omap2xxx_voltagedomains_init();
omap243x_powerdomains_init();
omap243x_clockdomains_init();
omap2430_hwmod_init();
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-omap2/powerdomain2xxx_3xxx.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* 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
*
* Derived from mach-omap2/powerdomain.c written by Paul Walmsley
Expand Down
4 changes: 4 additions & 0 deletions arch/arm/mach-omap2/powerdomains2xxx_data.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ static struct powerdomain dsp_pwrdm = {
.pwrsts_mem_on = {
[0] = PWRSTS_ON,
},
.voltdm = { .name = "core" },
};

static struct powerdomain mpu_24xx_pwrdm = {
Expand All @@ -51,6 +52,7 @@ static struct powerdomain mpu_24xx_pwrdm = {
.pwrsts_mem_on = {
[0] = PWRSTS_ON,
},
.voltdm = { .name = "core" },
};

static struct powerdomain core_24xx_pwrdm = {
Expand All @@ -68,6 +70,7 @@ static struct powerdomain core_24xx_pwrdm = {
[1] = PWRSTS_OFF_RET_ON, /* MEM2ONSTATE */
[2] = PWRSTS_OFF_RET_ON, /* MEM3ONSTATE */
},
.voltdm = { .name = "core" },
};


Expand All @@ -89,6 +92,7 @@ static struct powerdomain mdm_pwrdm = {
.pwrsts_mem_on = {
[0] = PWRSTS_ON, /* MEMONSTATE */
},
.voltdm = { .name = "core" },
};

/*
Expand Down
1 change: 1 addition & 0 deletions arch/arm/mach-omap2/voltage.h
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ static inline int omap_voltage_late_init(void)
}
#endif

extern void omap2xxx_voltagedomains_init(void);
extern void omap3xxx_voltagedomains_init(void);
extern void omap44xx_voltagedomains_init(void);

Expand Down
32 changes: 32 additions & 0 deletions arch/arm/mach-omap2/voltagedomains2xxx_data.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* 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);
}

0 comments on commit aae030f

Please sign in to comment.