aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-omap2/board-generic.c18
-rw-r--r--arch/arm/mach-omap2/common.h2
-rw-r--r--arch/arm/mach-omap2/io.c10
-rw-r--r--arch/arm/mach-omap2/irq.c2
-rw-r--r--arch/arm/mach-omap2/timer.c5
5 files changed, 36 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
index 202934657867..2f2abfb82d84 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -112,6 +112,24 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)")
112MACHINE_END 112MACHINE_END
113#endif 113#endif
114 114
115#ifdef CONFIG_SOC_AM33XX
116static const char *am33xx_boards_compat[] __initdata = {
117 "ti,am33xx",
118 NULL,
119};
120
121DT_MACHINE_START(AM33XX_DT, "Generic AM33XX (Flattened Device Tree)")
122 .reserve = omap_reserve,
123 .map_io = am33xx_map_io,
124 .init_early = am33xx_init_early,
125 .init_irq = omap_init_irq,
126 .handle_irq = omap3_intc_handle_irq,
127 .init_machine = omap_generic_init,
128 .timer = &omap3_am33xx_timer,
129 .dt_compat = am33xx_boards_compat,
130MACHINE_END
131#endif
132
115#ifdef CONFIG_ARCH_OMAP4 133#ifdef CONFIG_ARCH_OMAP4
116static const char *omap4_boards_compat[] __initdata = { 134static const char *omap4_boards_compat[] __initdata = {
117 "ti,omap4", 135 "ti,omap4",
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h
index be9dfd1abe60..56f687bebd0a 100644
--- a/arch/arm/mach-omap2/common.h
+++ b/arch/arm/mach-omap2/common.h
@@ -120,6 +120,7 @@ extern void omap2_init_common_infrastructure(void);
120extern struct sys_timer omap2_timer; 120extern struct sys_timer omap2_timer;
121extern struct sys_timer omap3_timer; 121extern struct sys_timer omap3_timer;
122extern struct sys_timer omap3_secure_timer; 122extern struct sys_timer omap3_secure_timer;
123extern struct sys_timer omap3_am33xx_timer;
123extern struct sys_timer omap4_timer; 124extern struct sys_timer omap4_timer;
124 125
125void omap2420_init_early(void); 126void omap2420_init_early(void);
@@ -130,6 +131,7 @@ void omap3630_init_early(void);
130void omap3_init_early(void); /* Do not use this one */ 131void omap3_init_early(void); /* Do not use this one */
131void am35xx_init_early(void); 132void am35xx_init_early(void);
132void ti81xx_init_early(void); 133void ti81xx_init_early(void);
134void am33xx_init_early(void);
133void omap4430_init_early(void); 135void omap4430_init_early(void);
134void omap3_init_late(void); /* Do not use this one */ 136void omap3_init_late(void); /* Do not use this one */
135void omap4430_init_late(void); 137void omap4430_init_late(void);
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 8d014ba04abc..5d6b2346bf75 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -477,6 +477,16 @@ void __init ti81xx_init_late(void)
477} 477}
478#endif 478#endif
479 479
480#ifdef CONFIG_SOC_AM33XX
481void __init am33xx_init_early(void)
482{
483 omap2_set_globals_am33xx();
484 omap3xxx_check_revision();
485 ti81xx_check_features();
486 omap_common_init_early();
487}
488#endif
489
480#ifdef CONFIG_ARCH_OMAP4 490#ifdef CONFIG_ARCH_OMAP4
481void __init omap4430_init_early(void) 491void __init omap4430_init_early(void)
482{ 492{
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
index fdc4303be563..428685f65060 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -279,7 +279,7 @@ int __init omap_intc_of_init(struct device_node *node,
279 return 0; 279 return 0;
280} 280}
281 281
282#ifdef CONFIG_ARCH_OMAP3 282#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM33XX)
283static struct omap3_intc_regs intc_context[ARRAY_SIZE(irq_banks)]; 283static struct omap3_intc_regs intc_context[ARRAY_SIZE(irq_banks)];
284 284
285void omap_intc_save_context(void) 285void omap_intc_save_context(void)
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
index 840929bd9dae..ea6a0eb13f05 100644
--- a/arch/arm/mach-omap2/timer.c
+++ b/arch/arm/mach-omap2/timer.c
@@ -368,6 +368,11 @@ OMAP_SYS_TIMER_INIT(3_secure, OMAP3_SECURE_TIMER, OMAP3_CLKEV_SOURCE,
368OMAP_SYS_TIMER(3_secure) 368OMAP_SYS_TIMER(3_secure)
369#endif 369#endif
370 370
371#ifdef CONFIG_SOC_AM33XX
372OMAP_SYS_TIMER_INIT(3_am33xx, 1, OMAP4_MPU_SOURCE, 2, OMAP4_MPU_SOURCE)
373OMAP_SYS_TIMER(3_am33xx)
374#endif
375
371#ifdef CONFIG_ARCH_OMAP4 376#ifdef CONFIG_ARCH_OMAP4
372#ifdef CONFIG_LOCAL_TIMERS 377#ifdef CONFIG_LOCAL_TIMERS
373static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, 378static DEFINE_TWD_LOCAL_TIMER(twd_local_timer,