diff options
author | Mark A. Greer <mgreer@mvista.com> | 2009-04-15 15:40:11 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2009-05-26 11:19:04 -0400 |
commit | f64691b3ab795268072e76ddb89290b6277cdf33 (patch) | |
tree | cc8de5ab3c90674905f6d8e141bcf345a81121f4 /arch/arm/mach-davinci/dm355.c | |
parent | 673dd36f0d0cf8893d6b46d524ad80e81076b885 (diff) |
davinci: Add base address and timer flexibility
The davinci timer code currently hardcodes the timer register
base addresses, the timer irq numbers, and the timers to use
for clock events and clocksource. This won't work for some
a new SoC so put those values into the soc_info structure
and set them up in the SoC-specific files.
Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-davinci/dm355.c')
-rw-r--r-- | arch/arm/mach-davinci/dm355.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/dm355.c b/arch/arm/mach-davinci/dm355.c index e8c01ffe818a..293a419a4a8e 100644 --- a/arch/arm/mach-davinci/dm355.c +++ b/arch/arm/mach-davinci/dm355.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <mach/psc.h> | 25 | #include <mach/psc.h> |
26 | #include <mach/mux.h> | 26 | #include <mach/mux.h> |
27 | #include <mach/irqs.h> | 27 | #include <mach/irqs.h> |
28 | #include <mach/time.h> | ||
28 | #include <mach/common.h> | 29 | #include <mach/common.h> |
29 | 30 | ||
30 | #include "clock.h" | 31 | #include "clock.h" |
@@ -616,6 +617,18 @@ static void __iomem *dm355_psc_bases[] = { | |||
616 | IO_ADDRESS(DAVINCI_PWR_SLEEP_CNTRL_BASE), | 617 | IO_ADDRESS(DAVINCI_PWR_SLEEP_CNTRL_BASE), |
617 | }; | 618 | }; |
618 | 619 | ||
620 | /* | ||
621 | * T0_BOT: Timer 0, bottom: clockevent source for hrtimers | ||
622 | * T0_TOP: Timer 0, top : clocksource for generic timekeeping | ||
623 | * T1_BOT: Timer 1, bottom: (used by DSP in TI DSPLink code) | ||
624 | * T1_TOP: Timer 1, top : <unused> | ||
625 | */ | ||
626 | struct davinci_timer_info dm355_timer_info = { | ||
627 | .timers = davinci_timer_instance, | ||
628 | .clockevent_id = T0_BOT, | ||
629 | .clocksource_id = T0_TOP, | ||
630 | }; | ||
631 | |||
619 | static struct davinci_soc_info davinci_soc_info_dm355 = { | 632 | static struct davinci_soc_info davinci_soc_info_dm355 = { |
620 | .io_desc = dm355_io_desc, | 633 | .io_desc = dm355_io_desc, |
621 | .io_desc_num = ARRAY_SIZE(dm355_io_desc), | 634 | .io_desc_num = ARRAY_SIZE(dm355_io_desc), |
@@ -632,6 +645,7 @@ static struct davinci_soc_info davinci_soc_info_dm355 = { | |||
632 | .intc_type = DAVINCI_INTC_TYPE_AINTC, | 645 | .intc_type = DAVINCI_INTC_TYPE_AINTC, |
633 | .intc_irq_prios = dm355_default_priorities, | 646 | .intc_irq_prios = dm355_default_priorities, |
634 | .intc_irq_num = DAVINCI_N_AINTC_IRQ, | 647 | .intc_irq_num = DAVINCI_N_AINTC_IRQ, |
648 | .timer_info = &dm355_timer_info, | ||
635 | }; | 649 | }; |
636 | 650 | ||
637 | void __init dm355_init(void) | 651 | void __init dm355_init(void) |