diff options
-rw-r--r-- | arch/arm/mach-omap2/board-generic.c | 18 | ||||
-rw-r--r-- | arch/arm/mach-omap2/common.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/io.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-omap2/irq.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/timer.c | 5 |
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)") | |||
112 | MACHINE_END | 112 | MACHINE_END |
113 | #endif | 113 | #endif |
114 | 114 | ||
115 | #ifdef CONFIG_SOC_AM33XX | ||
116 | static const char *am33xx_boards_compat[] __initdata = { | ||
117 | "ti,am33xx", | ||
118 | NULL, | ||
119 | }; | ||
120 | |||
121 | DT_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, | ||
130 | MACHINE_END | ||
131 | #endif | ||
132 | |||
115 | #ifdef CONFIG_ARCH_OMAP4 | 133 | #ifdef CONFIG_ARCH_OMAP4 |
116 | static const char *omap4_boards_compat[] __initdata = { | 134 | static 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); | |||
120 | extern struct sys_timer omap2_timer; | 120 | extern struct sys_timer omap2_timer; |
121 | extern struct sys_timer omap3_timer; | 121 | extern struct sys_timer omap3_timer; |
122 | extern struct sys_timer omap3_secure_timer; | 122 | extern struct sys_timer omap3_secure_timer; |
123 | extern struct sys_timer omap3_am33xx_timer; | ||
123 | extern struct sys_timer omap4_timer; | 124 | extern struct sys_timer omap4_timer; |
124 | 125 | ||
125 | void omap2420_init_early(void); | 126 | void omap2420_init_early(void); |
@@ -130,6 +131,7 @@ void omap3630_init_early(void); | |||
130 | void omap3_init_early(void); /* Do not use this one */ | 131 | void omap3_init_early(void); /* Do not use this one */ |
131 | void am35xx_init_early(void); | 132 | void am35xx_init_early(void); |
132 | void ti81xx_init_early(void); | 133 | void ti81xx_init_early(void); |
134 | void am33xx_init_early(void); | ||
133 | void omap4430_init_early(void); | 135 | void omap4430_init_early(void); |
134 | void omap3_init_late(void); /* Do not use this one */ | 136 | void omap3_init_late(void); /* Do not use this one */ |
135 | void omap4430_init_late(void); | 137 | void 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 | ||
481 | void __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 |
481 | void __init omap4430_init_early(void) | 491 | void __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) |
283 | static struct omap3_intc_regs intc_context[ARRAY_SIZE(irq_banks)]; | 283 | static struct omap3_intc_regs intc_context[ARRAY_SIZE(irq_banks)]; |
284 | 284 | ||
285 | void omap_intc_save_context(void) | 285 | void 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, | |||
368 | OMAP_SYS_TIMER(3_secure) | 368 | OMAP_SYS_TIMER(3_secure) |
369 | #endif | 369 | #endif |
370 | 370 | ||
371 | #ifdef CONFIG_SOC_AM33XX | ||
372 | OMAP_SYS_TIMER_INIT(3_am33xx, 1, OMAP4_MPU_SOURCE, 2, OMAP4_MPU_SOURCE) | ||
373 | OMAP_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 |
373 | static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, | 378 | static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, |