Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
arm
mach-omap2
powerdomains2xxx_data.c
Go to the documentation of this file.
1
/*
2
* OMAP2XXX powerdomain definitions
3
*
4
* Copyright (C) 2007-2008, 2011 Texas Instruments, Inc.
5
* Copyright (C) 2007-2011 Nokia Corporation
6
*
7
* Paul Walmsley, Jouni Högander
8
*
9
* This program is free software; you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License version 2 as
11
* published by the Free Software Foundation.
12
*/
13
14
#include <linux/kernel.h>
15
#include <
linux/init.h
>
16
17
#include "
powerdomain.h
"
18
#include "
powerdomains2xxx_3xxx_data.h
"
19
20
#include "
prcm-common.h
"
21
#include "
prm2xxx_3xxx.h
"
22
#include "
prm-regbits-24xx.h
"
23
24
/* 24XX powerdomains and dependencies */
25
26
/* Powerdomains */
27
28
static
struct
powerdomain
dsp_pwrdm = {
29
.name =
"dsp_pwrdm"
,
30
.prcm_offs =
OMAP24XX_DSP_MOD
,
31
.pwrsts =
PWRSTS_OFF_RET_ON
,
32
.pwrsts_logic_ret =
PWRSTS_RET
,
33
.banks = 1,
34
.pwrsts_mem_ret = {
35
[0] =
PWRSTS_RET
,
36
},
37
.pwrsts_mem_on = {
38
[0] =
PWRSTS_ON
,
39
},
40
.voltdm = { .name =
"core"
},
41
};
42
43
static
struct
powerdomain
mpu_24xx_pwrdm = {
44
.name =
"mpu_pwrdm"
,
45
.prcm_offs =
MPU_MOD
,
46
.pwrsts =
PWRSTS_OFF_RET_ON
,
47
.pwrsts_logic_ret =
PWRSTS_OFF_RET
,
48
.banks = 1,
49
.pwrsts_mem_ret = {
50
[0] =
PWRSTS_RET
,
51
},
52
.pwrsts_mem_on = {
53
[0] =
PWRSTS_ON
,
54
},
55
.voltdm = { .name =
"core"
},
56
};
57
58
static
struct
powerdomain
core_24xx_pwrdm = {
59
.name =
"core_pwrdm"
,
60
.prcm_offs =
CORE_MOD
,
61
.pwrsts =
PWRSTS_OFF_RET_ON
,
62
.banks = 3,
63
.pwrsts_mem_ret = {
64
[0] =
PWRSTS_OFF_RET
,
/* MEM1RETSTATE */
65
[1] =
PWRSTS_OFF_RET
,
/* MEM2RETSTATE */
66
[2] =
PWRSTS_OFF_RET
,
/* MEM3RETSTATE */
67
},
68
.pwrsts_mem_on = {
69
[0] =
PWRSTS_OFF_RET_ON
,
/* MEM1ONSTATE */
70
[1] =
PWRSTS_OFF_RET_ON
,
/* MEM2ONSTATE */
71
[2] =
PWRSTS_OFF_RET_ON
,
/* MEM3ONSTATE */
72
},
73
.voltdm = { .name =
"core"
},
74
};
75
76
77
/*
78
* 2430-specific powerdomains
79
*/
80
81
/* XXX 2430 KILLDOMAINWKUP bit? No current users apparently */
82
83
static
struct
powerdomain
mdm_pwrdm = {
84
.name =
"mdm_pwrdm"
,
85
.prcm_offs =
OMAP2430_MDM_MOD
,
86
.pwrsts =
PWRSTS_OFF_RET_ON
,
87
.pwrsts_logic_ret =
PWRSTS_RET
,
88
.banks = 1,
89
.pwrsts_mem_ret = {
90
[0] =
PWRSTS_RET
,
/* MEMRETSTATE */
91
},
92
.pwrsts_mem_on = {
93
[0] =
PWRSTS_ON
,
/* MEMONSTATE */
94
},
95
.voltdm = { .name =
"core"
},
96
};
97
98
/*
99
*
100
*/
101
102
static
struct
powerdomain
*powerdomains_omap24xx[]
__initdata
= {
103
&
wkup_omap2_pwrdm
,
104
&
gfx_omap2_pwrdm
,
105
&dsp_pwrdm,
106
&mpu_24xx_pwrdm,
107
&core_24xx_pwrdm,
108
NULL
109
};
110
111
static
struct
powerdomain
*powerdomains_omap2430[]
__initdata
= {
112
&mdm_pwrdm,
113
NULL
114
};
115
116
void
__init
omap242x_powerdomains_init
(
void
)
117
{
118
if
(!
cpu_is_omap2420
())
119
return
;
120
121
pwrdm_register_platform_funcs
(&
omap2_pwrdm_operations
);
122
pwrdm_register_pwrdms
(powerdomains_omap24xx);
123
pwrdm_complete_init
();
124
}
125
126
void
__init
omap243x_powerdomains_init
(
void
)
127
{
128
if
(!
cpu_is_omap2430
())
129
return
;
130
131
pwrdm_register_platform_funcs
(&
omap2_pwrdm_operations
);
132
pwrdm_register_pwrdms
(powerdomains_omap24xx);
133
pwrdm_register_pwrdms
(powerdomains_omap2430);
134
pwrdm_complete_init
();
135
}
Generated on Thu Jan 10 2013 13:00:57 for Linux Kernel by
1.8.2