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/dm646x.c | |
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/dm646x.c')
-rw-r--r-- | arch/arm/mach-davinci/dm646x.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/dm646x.c b/arch/arm/mach-davinci/dm646x.c index 7cf9705be9ce..3c61543c7cfa 100644 --- a/arch/arm/mach-davinci/dm646x.c +++ b/arch/arm/mach-davinci/dm646x.c | |||
@@ -465,6 +465,10 @@ static struct davinci_id dm646x_ids[] = { | |||
465 | }, | 465 | }, |
466 | }; | 466 | }; |
467 | 467 | ||
468 | static void __iomem *dm646x_psc_bases[] = { | ||
469 | IO_ADDRESS(DAVINCI_PWR_SLEEP_CNTRL_BASE), | ||
470 | }; | ||
471 | |||
468 | static struct davinci_soc_info davinci_soc_info_dm646x = { | 472 | static struct davinci_soc_info davinci_soc_info_dm646x = { |
469 | .io_desc = dm646x_io_desc, | 473 | .io_desc = dm646x_io_desc, |
470 | .io_desc_num = ARRAY_SIZE(dm646x_io_desc), | 474 | .io_desc_num = ARRAY_SIZE(dm646x_io_desc), |
@@ -472,6 +476,8 @@ static struct davinci_soc_info davinci_soc_info_dm646x = { | |||
472 | .ids = dm646x_ids, | 476 | .ids = dm646x_ids, |
473 | .ids_num = ARRAY_SIZE(dm646x_ids), | 477 | .ids_num = ARRAY_SIZE(dm646x_ids), |
474 | .cpu_clks = dm646x_clks, | 478 | .cpu_clks = dm646x_clks, |
479 | .psc_bases = dm646x_psc_bases, | ||
480 | .psc_bases_num = ARRAY_SIZE(dm646x_psc_bases), | ||
475 | }; | 481 | }; |
476 | 482 | ||
477 | void __init dm646x_init(void) | 483 | void __init dm646x_init(void) |