diff options
Diffstat (limited to 'arch/arm/mach-omap2/powerdomains2xxx_data.c')
-rw-r--r-- | arch/arm/mach-omap2/powerdomains2xxx_data.c | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/arch/arm/mach-omap2/powerdomains2xxx_data.c b/arch/arm/mach-omap2/powerdomains2xxx_data.c index cc389fb2005d..bb4394e3b621 100644 --- a/arch/arm/mach-omap2/powerdomains2xxx_data.c +++ b/arch/arm/mach-omap2/powerdomains2xxx_data.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * OMAP2XXX powerdomain definitions | 2 | * OMAP2XXX powerdomain definitions |
3 | * | 3 | * |
4 | * Copyright (C) 2007-2008 Texas Instruments, Inc. | 4 | * Copyright (C) 2007-2008, 2011 Texas Instruments, Inc. |
5 | * Copyright (C) 2007-2011 Nokia Corporation | 5 | * Copyright (C) 2007-2011 Nokia Corporation |
6 | * | 6 | * |
7 | * Paul Walmsley, Jouni Högander | 7 | * Paul Walmsley, Jouni Högander |
@@ -28,7 +28,6 @@ | |||
28 | static struct powerdomain dsp_pwrdm = { | 28 | static struct powerdomain dsp_pwrdm = { |
29 | .name = "dsp_pwrdm", | 29 | .name = "dsp_pwrdm", |
30 | .prcm_offs = OMAP24XX_DSP_MOD, | 30 | .prcm_offs = OMAP24XX_DSP_MOD, |
31 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX), | ||
32 | .pwrsts = PWRSTS_OFF_RET_ON, | 31 | .pwrsts = PWRSTS_OFF_RET_ON, |
33 | .pwrsts_logic_ret = PWRSTS_RET, | 32 | .pwrsts_logic_ret = PWRSTS_RET, |
34 | .banks = 1, | 33 | .banks = 1, |
@@ -43,7 +42,6 @@ static struct powerdomain dsp_pwrdm = { | |||
43 | static struct powerdomain mpu_24xx_pwrdm = { | 42 | static struct powerdomain mpu_24xx_pwrdm = { |
44 | .name = "mpu_pwrdm", | 43 | .name = "mpu_pwrdm", |
45 | .prcm_offs = MPU_MOD, | 44 | .prcm_offs = MPU_MOD, |
46 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX), | ||
47 | .pwrsts = PWRSTS_OFF_RET_ON, | 45 | .pwrsts = PWRSTS_OFF_RET_ON, |
48 | .pwrsts_logic_ret = PWRSTS_OFF_RET, | 46 | .pwrsts_logic_ret = PWRSTS_OFF_RET, |
49 | .banks = 1, | 47 | .banks = 1, |
@@ -58,7 +56,6 @@ static struct powerdomain mpu_24xx_pwrdm = { | |||
58 | static struct powerdomain core_24xx_pwrdm = { | 56 | static struct powerdomain core_24xx_pwrdm = { |
59 | .name = "core_pwrdm", | 57 | .name = "core_pwrdm", |
60 | .prcm_offs = CORE_MOD, | 58 | .prcm_offs = CORE_MOD, |
61 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX), | ||
62 | .pwrsts = PWRSTS_OFF_RET_ON, | 59 | .pwrsts = PWRSTS_OFF_RET_ON, |
63 | .banks = 3, | 60 | .banks = 3, |
64 | .pwrsts_mem_ret = { | 61 | .pwrsts_mem_ret = { |
@@ -78,14 +75,11 @@ static struct powerdomain core_24xx_pwrdm = { | |||
78 | * 2430-specific powerdomains | 75 | * 2430-specific powerdomains |
79 | */ | 76 | */ |
80 | 77 | ||
81 | #ifdef CONFIG_SOC_OMAP2430 | ||
82 | |||
83 | /* XXX 2430 KILLDOMAINWKUP bit? No current users apparently */ | 78 | /* XXX 2430 KILLDOMAINWKUP bit? No current users apparently */ |
84 | 79 | ||
85 | static struct powerdomain mdm_pwrdm = { | 80 | static struct powerdomain mdm_pwrdm = { |
86 | .name = "mdm_pwrdm", | 81 | .name = "mdm_pwrdm", |
87 | .prcm_offs = OMAP2430_MDM_MOD, | 82 | .prcm_offs = OMAP2430_MDM_MOD, |
88 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP2430), | ||
89 | .pwrsts = PWRSTS_OFF_RET_ON, | 83 | .pwrsts = PWRSTS_OFF_RET_ON, |
90 | .pwrsts_logic_ret = PWRSTS_RET, | 84 | .pwrsts_logic_ret = PWRSTS_RET, |
91 | .banks = 1, | 85 | .banks = 1, |
@@ -97,27 +91,41 @@ static struct powerdomain mdm_pwrdm = { | |||
97 | }, | 91 | }, |
98 | }; | 92 | }; |
99 | 93 | ||
100 | #endif /* CONFIG_SOC_OMAP2430 */ | 94 | /* |
101 | 95 | * | |
102 | /* As powerdomains are added or removed above, this list must also be changed */ | 96 | */ |
103 | static struct powerdomain *powerdomains_omap2xxx[] __initdata = { | ||
104 | 97 | ||
98 | static struct powerdomain *powerdomains_omap24xx[] __initdata = { | ||
105 | &wkup_omap2_pwrdm, | 99 | &wkup_omap2_pwrdm, |
106 | &gfx_omap2_pwrdm, | 100 | &gfx_omap2_pwrdm, |
107 | |||
108 | #ifdef CONFIG_ARCH_OMAP2 | ||
109 | &dsp_pwrdm, | 101 | &dsp_pwrdm, |
110 | &mpu_24xx_pwrdm, | 102 | &mpu_24xx_pwrdm, |
111 | &core_24xx_pwrdm, | 103 | &core_24xx_pwrdm, |
112 | #endif | 104 | NULL |
105 | }; | ||
113 | 106 | ||
114 | #ifdef CONFIG_SOC_OMAP2430 | 107 | static struct powerdomain *powerdomains_omap2430[] __initdata = { |
115 | &mdm_pwrdm, | 108 | &mdm_pwrdm, |
116 | #endif | ||
117 | NULL | 109 | NULL |
118 | }; | 110 | }; |
119 | 111 | ||
120 | void __init omap2xxx_powerdomains_init(void) | 112 | void __init omap242x_powerdomains_init(void) |
113 | { | ||
114 | if (!cpu_is_omap2420()) | ||
115 | return; | ||
116 | |||
117 | pwrdm_register_platform_funcs(&omap2_pwrdm_operations); | ||
118 | pwrdm_register_pwrdms(powerdomains_omap24xx); | ||
119 | pwrdm_complete_init(); | ||
120 | } | ||
121 | |||
122 | void __init omap243x_powerdomains_init(void) | ||
121 | { | 123 | { |
122 | pwrdm_init(powerdomains_omap2xxx, &omap2_pwrdm_operations); | 124 | if (!cpu_is_omap2430()) |
125 | return; | ||
126 | |||
127 | pwrdm_register_platform_funcs(&omap2_pwrdm_operations); | ||
128 | pwrdm_register_pwrdms(powerdomains_omap24xx); | ||
129 | pwrdm_register_pwrdms(powerdomains_omap2430); | ||
130 | pwrdm_complete_init(); | ||
123 | } | 131 | } |