diff options
author | R Sricharan <r.sricharan@ti.com> | 2013-07-03 02:22:04 -0400 |
---|---|---|
committer | Rajendra Nayak <rnayak@ti.com> | 2013-08-13 01:30:35 -0400 |
commit | a3a9384a115756e275ed3845b5f92f21efd5a691 (patch) | |
tree | 8cf19874fec3600b2cf9d4d95f142166bde0c09d | |
parent | bfe9211a30a6814fed3191292304cb407f5afe83 (diff) |
ARM: DRA7: Reuse io tables and add a new .init_early
The IO descriptor tables for DRA7 are a complete reuse from OMAP5.
A new dra7xx_init_early() does the base address inits.
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
-rw-r--r-- | arch/arm/mach-omap2/common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/io.c | 20 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap54xx.h | 4 |
3 files changed, 23 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h index dfcc182ecff9..4a5684b96492 100644 --- a/arch/arm/mach-omap2/common.h +++ b/arch/arm/mach-omap2/common.h | |||
@@ -110,6 +110,7 @@ void omap3630_init_late(void); | |||
110 | void am35xx_init_late(void); | 110 | void am35xx_init_late(void); |
111 | void ti81xx_init_late(void); | 111 | void ti81xx_init_late(void); |
112 | int omap2_common_pm_late_init(void); | 112 | int omap2_common_pm_late_init(void); |
113 | void dra7xx_init_early(void); | ||
113 | 114 | ||
114 | #ifdef CONFIG_SOC_BUS | 115 | #ifdef CONFIG_SOC_BUS |
115 | void omap_soc_device_init(void); | 116 | void omap_soc_device_init(void); |
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 4a3f06f02859..3656b8009a1c 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -251,7 +251,7 @@ static struct map_desc omap44xx_io_desc[] __initdata = { | |||
251 | }; | 251 | }; |
252 | #endif | 252 | #endif |
253 | 253 | ||
254 | #ifdef CONFIG_SOC_OMAP5 | 254 | #if defined(CONFIG_SOC_OMAP5) || defined(CONFIG_SOC_DRA7XX) |
255 | static struct map_desc omap54xx_io_desc[] __initdata = { | 255 | static struct map_desc omap54xx_io_desc[] __initdata = { |
256 | { | 256 | { |
257 | .virtual = L3_54XX_VIRT, | 257 | .virtual = L3_54XX_VIRT, |
@@ -333,7 +333,7 @@ void __init omap4_map_io(void) | |||
333 | } | 333 | } |
334 | #endif | 334 | #endif |
335 | 335 | ||
336 | #ifdef CONFIG_SOC_OMAP5 | 336 | #if defined(CONFIG_SOC_OMAP5) || defined(CONFIG_SOC_DRA7XX) |
337 | void __init omap5_map_io(void) | 337 | void __init omap5_map_io(void) |
338 | { | 338 | { |
339 | iotable_init(omap54xx_io_desc, ARRAY_SIZE(omap54xx_io_desc)); | 339 | iotable_init(omap54xx_io_desc, ARRAY_SIZE(omap54xx_io_desc)); |
@@ -653,6 +653,22 @@ void __init omap5_init_early(void) | |||
653 | } | 653 | } |
654 | #endif | 654 | #endif |
655 | 655 | ||
656 | #ifdef CONFIG_SOC_DRA7XX | ||
657 | void __init dra7xx_init_early(void) | ||
658 | { | ||
659 | omap2_set_globals_tap(-1, OMAP2_L4_IO_ADDRESS(DRA7XX_TAP_BASE)); | ||
660 | omap2_set_globals_control(OMAP2_L4_IO_ADDRESS(OMAP54XX_SCM_BASE), | ||
661 | OMAP2_L4_IO_ADDRESS(DRA7XX_CTRL_BASE)); | ||
662 | omap2_set_globals_prm(OMAP2_L4_IO_ADDRESS(OMAP54XX_PRM_BASE)); | ||
663 | omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(DRA7XX_CM_CORE_AON_BASE), | ||
664 | OMAP2_L4_IO_ADDRESS(OMAP54XX_CM_CORE_BASE)); | ||
665 | omap2_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP54XX_PRCM_MPU_BASE)); | ||
666 | omap_prm_base_init(); | ||
667 | omap_cm_base_init(); | ||
668 | } | ||
669 | #endif | ||
670 | |||
671 | |||
656 | void __init omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0, | 672 | void __init omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0, |
657 | struct omap_sdrc_params *sdrc_cs1) | 673 | struct omap_sdrc_params *sdrc_cs1) |
658 | { | 674 | { |
diff --git a/arch/arm/mach-omap2/omap54xx.h b/arch/arm/mach-omap2/omap54xx.h index a086ba15868b..2d35c5709408 100644 --- a/arch/arm/mach-omap2/omap54xx.h +++ b/arch/arm/mach-omap2/omap54xx.h | |||
@@ -30,4 +30,8 @@ | |||
30 | #define OMAP54XX_CTRL_BASE 0x4a002800 | 30 | #define OMAP54XX_CTRL_BASE 0x4a002800 |
31 | #define OMAP54XX_SAR_RAM_BASE 0x4ae26000 | 31 | #define OMAP54XX_SAR_RAM_BASE 0x4ae26000 |
32 | 32 | ||
33 | #define DRA7XX_CM_CORE_AON_BASE 0x4a005000 | ||
34 | #define DRA7XX_CTRL_BASE 0x4a003400 | ||
35 | #define DRA7XX_TAP_BASE 0x4ae0c000 | ||
36 | |||
33 | #endif /* __ASM_SOC_OMAP555554XX_H */ | 37 | #endif /* __ASM_SOC_OMAP555554XX_H */ |