diff options
author | Mark A. Greer <mgreer@mvista.com> | 2009-04-15 15:39:33 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2009-05-26 11:16:46 -0400 |
commit | d81d188cafecbc9e01df51527ac4c84a5b19e033 (patch) | |
tree | 40b26ea71d32547e50913dbdc4a2adec5fc8e809 /arch/arm/mach-davinci/include | |
parent | 66e0c3991c5a1735dd8add77ab8aff5005f57681 (diff) |
davinci: Add support for multiple PSCs
The current code to support the DaVinci Power and Sleep Controller (PSC)
assumes that there is only one controller. This assumption is no longer
valid so expand the support to allow greater than one PSC.
To accomplish this, put the base addresses for the PSCs in the SoC
infrastructure so it can be referenced by the PSC code. This also
requires adding an extra parameter to davinci_psc_config() to specify
the PSC that is to be enabled/disabled.
Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-davinci/include')
-rw-r--r-- | arch/arm/mach-davinci/include/mach/common.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-davinci/include/mach/psc.h | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/arch/arm/mach-davinci/include/mach/common.h b/arch/arm/mach-davinci/include/mach/common.h index 97782a765882..7851d5680c13 100644 --- a/arch/arm/mach-davinci/include/mach/common.h +++ b/arch/arm/mach-davinci/include/mach/common.h | |||
@@ -34,6 +34,8 @@ struct davinci_soc_info { | |||
34 | struct davinci_id *ids; | 34 | struct davinci_id *ids; |
35 | unsigned long ids_num; | 35 | unsigned long ids_num; |
36 | struct davinci_clk *cpu_clks; | 36 | struct davinci_clk *cpu_clks; |
37 | void __iomem **psc_bases; | ||
38 | unsigned long psc_bases_num; | ||
37 | }; | 39 | }; |
38 | 40 | ||
39 | extern struct davinci_soc_info davinci_soc_info; | 41 | extern struct davinci_soc_info davinci_soc_info; |
diff --git a/arch/arm/mach-davinci/include/mach/psc.h b/arch/arm/mach-davinci/include/mach/psc.h index 55a90d419fac..ab8a2586d1cc 100644 --- a/arch/arm/mach-davinci/include/mach/psc.h +++ b/arch/arm/mach-davinci/include/mach/psc.h | |||
@@ -27,6 +27,8 @@ | |||
27 | #ifndef __ASM_ARCH_PSC_H | 27 | #ifndef __ASM_ARCH_PSC_H |
28 | #define __ASM_ARCH_PSC_H | 28 | #define __ASM_ARCH_PSC_H |
29 | 29 | ||
30 | #define DAVINCI_PWR_SLEEP_CNTRL_BASE 0x01C41000 | ||
31 | |||
30 | /* Power and Sleep Controller (PSC) Domains */ | 32 | /* Power and Sleep Controller (PSC) Domains */ |
31 | #define DAVINCI_GPSC_ARMDOMAIN 0 | 33 | #define DAVINCI_GPSC_ARMDOMAIN 0 |
32 | #define DAVINCI_GPSC_DSPDOMAIN 1 | 34 | #define DAVINCI_GPSC_DSPDOMAIN 1 |
@@ -116,8 +118,8 @@ | |||
116 | #define DM646X_LPSC_TIMER1 35 | 118 | #define DM646X_LPSC_TIMER1 35 |
117 | #define DM646X_LPSC_ARM_INTC 45 | 119 | #define DM646X_LPSC_ARM_INTC 45 |
118 | 120 | ||
119 | extern int davinci_psc_is_clk_active(unsigned int id); | 121 | extern int davinci_psc_is_clk_active(unsigned int ctlr, unsigned int id); |
120 | extern void davinci_psc_config(unsigned int domain, unsigned int id, | 122 | extern void davinci_psc_config(unsigned int domain, unsigned int ctlr, |
121 | char enable); | 123 | unsigned int id, char enable); |
122 | 124 | ||
123 | #endif /* __ASM_ARCH_PSC_H */ | 125 | #endif /* __ASM_ARCH_PSC_H */ |