Commit c5107027 authored by Afzal Mohammed's avatar Afzal Mohammed Committed by Tony Lindgren

ARM: OMAP2+: AM43x: early init

Minimal early init - PRCM initialization not yet taken care.

Control module is similar (base address, feature register etc.) as
that of AM335x, while PRCM base address is different. Instead of
adding a new header file for AM43x, PRCM base address is added in
AM335x header file as it is similar to it to a large extent.
Signed-off-by: default avatarAfzal Mohammed <afzal@ti.com>
[tony@atomide.com: updated to drop am33xx_check_features()]
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent addb154a
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#define AM33XX_SCM_BASE 0x44E10000 #define AM33XX_SCM_BASE 0x44E10000
#define AM33XX_CTRL_BASE AM33XX_SCM_BASE #define AM33XX_CTRL_BASE AM33XX_SCM_BASE
#define AM33XX_PRCM_BASE 0x44E00000 #define AM33XX_PRCM_BASE 0x44E00000
#define AM43XX_PRCM_BASE 0x44DF0000
#define AM33XX_TAP_BASE (AM33XX_CTRL_BASE + 0x3FC) #define AM33XX_TAP_BASE (AM33XX_CTRL_BASE + 0x3FC)
#endif /* __ASM_ARCH_AM33XX_H */ #endif /* __ASM_ARCH_AM33XX_H */
...@@ -96,6 +96,7 @@ void am33xx_init_early(void); ...@@ -96,6 +96,7 @@ void am33xx_init_early(void);
void am35xx_init_early(void); void am35xx_init_early(void);
void ti81xx_init_early(void); void ti81xx_init_early(void);
void am33xx_init_early(void); void am33xx_init_early(void);
void am43xx_init_early(void);
void omap4430_init_early(void); void omap4430_init_early(void);
void omap5_init_early(void); void omap5_init_early(void);
void omap3_init_late(void); /* Do not use this one */ void omap3_init_late(void); /* Do not use this one */
......
...@@ -586,6 +586,19 @@ void __init am33xx_init_early(void) ...@@ -586,6 +586,19 @@ void __init am33xx_init_early(void)
} }
#endif #endif
#ifdef CONFIG_SOC_AM43XX
void __init am43xx_init_early(void)
{
omap2_set_globals_tap(AM335X_CLASS,
AM33XX_L4_WK_IO_ADDRESS(AM33XX_TAP_BASE));
omap2_set_globals_control(AM33XX_L4_WK_IO_ADDRESS(AM33XX_CTRL_BASE),
NULL);
omap2_set_globals_prm(AM33XX_L4_WK_IO_ADDRESS(AM43XX_PRCM_BASE));
omap2_set_globals_cm(AM33XX_L4_WK_IO_ADDRESS(AM43XX_PRCM_BASE), NULL);
omap3xxx_check_revision();
}
#endif
#ifdef CONFIG_ARCH_OMAP4 #ifdef CONFIG_ARCH_OMAP4
void __init omap4430_init_early(void) void __init omap4430_init_early(void)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment