aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-davinci/dm644x.c
diff options
context:
space:
mode:
authorMark A. Greer <mgreer@mvista.com>2009-04-15 15:39:33 -0400
committerKevin Hilman <khilman@deeprootsystems.com>2009-05-26 11:16:46 -0400
commitd81d188cafecbc9e01df51527ac4c84a5b19e033 (patch)
tree40b26ea71d32547e50913dbdc4a2adec5fc8e809 /arch/arm/mach-davinci/dm644x.c
parent66e0c3991c5a1735dd8add77ab8aff5005f57681 (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/dm644x.c')
-rw-r--r--arch/arm/mach-davinci/dm644x.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c
index 648160c2960d..7b15faba56ed 100644
--- a/arch/arm/mach-davinci/dm644x.c
+++ b/arch/arm/mach-davinci/dm644x.c
@@ -485,6 +485,10 @@ static struct davinci_id dm644x_ids[] = {
485 }, 485 },
486}; 486};
487 487
488static void __iomem *dm644x_psc_bases[] = {
489 IO_ADDRESS(DAVINCI_PWR_SLEEP_CNTRL_BASE),
490};
491
488static struct davinci_soc_info davinci_soc_info_dm644x = { 492static struct davinci_soc_info davinci_soc_info_dm644x = {
489 .io_desc = dm644x_io_desc, 493 .io_desc = dm644x_io_desc,
490 .io_desc_num = ARRAY_SIZE(dm644x_io_desc), 494 .io_desc_num = ARRAY_SIZE(dm644x_io_desc),
@@ -492,6 +496,8 @@ static struct davinci_soc_info davinci_soc_info_dm644x = {
492 .ids = dm644x_ids, 496 .ids = dm644x_ids,
493 .ids_num = ARRAY_SIZE(dm644x_ids), 497 .ids_num = ARRAY_SIZE(dm644x_ids),
494 .cpu_clks = dm644x_clks, 498 .cpu_clks = dm644x_clks,
499 .psc_bases = dm644x_psc_bases,
500 .psc_bases_num = ARRAY_SIZE(dm644x_psc_bases),
495}; 501};
496 502
497void __init dm644x_init(void) 503void __init dm644x_init(void)