Commit 6fbd55d0 authored by Tony Lindgren's avatar Tony Lindgren

omap2/3/4: Fix omap2_map_common_io for multi-omap

Fix omap2_map_common_io for multi-omap
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 882c0518
...@@ -215,7 +215,7 @@ static void __init omap_2430sdp_init(void) ...@@ -215,7 +215,7 @@ static void __init omap_2430sdp_init(void)
static void __init omap_2430sdp_map_io(void) static void __init omap_2430sdp_map_io(void)
{ {
omap2_set_globals_243x(); omap2_set_globals_243x();
omap2_map_common_io(); omap243x_map_common_io();
} }
MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board") MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board")
......
...@@ -674,7 +674,7 @@ static void __init omap_3430sdp_init(void) ...@@ -674,7 +674,7 @@ static void __init omap_3430sdp_init(void)
static void __init omap_3430sdp_map_io(void) static void __init omap_3430sdp_map_io(void)
{ {
omap2_set_globals_343x(); omap2_set_globals_343x();
omap2_map_common_io(); omap34xx_map_common_io();
} }
MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board") MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
......
...@@ -69,7 +69,7 @@ static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { ...@@ -69,7 +69,7 @@ static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
static void __init omap_sdp_map_io(void) static void __init omap_sdp_map_io(void)
{ {
omap2_set_globals_36xx(); omap2_set_globals_36xx();
omap2_map_common_io(); omap34xx_map_common_io();
} }
static struct omap_board_config_kernel sdp_config[] __initdata = { static struct omap_board_config_kernel sdp_config[] __initdata = {
......
...@@ -87,7 +87,7 @@ static void __init omap_4430sdp_init(void) ...@@ -87,7 +87,7 @@ static void __init omap_4430sdp_init(void)
static void __init omap_4430sdp_map_io(void) static void __init omap_4430sdp_map_io(void)
{ {
omap2_set_globals_443x(); omap2_set_globals_443x();
omap2_map_common_io(); omap44xx_map_common_io();
} }
MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board") MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
......
...@@ -228,7 +228,7 @@ static void __init am3517_evm_init(void) ...@@ -228,7 +228,7 @@ static void __init am3517_evm_init(void)
static void __init am3517_evm_map_io(void) static void __init am3517_evm_map_io(void)
{ {
omap2_set_globals_343x(); omap2_set_globals_343x();
omap2_map_common_io(); omap34xx_map_common_io();
} }
MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM") MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM")
......
...@@ -337,7 +337,7 @@ static void __init omap_apollon_init(void) ...@@ -337,7 +337,7 @@ static void __init omap_apollon_init(void)
static void __init omap_apollon_map_io(void) static void __init omap_apollon_map_io(void)
{ {
omap2_set_globals_242x(); omap2_set_globals_242x();
omap2_map_common_io(); omap242x_map_common_io();
} }
MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon") MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon")
......
...@@ -710,7 +710,7 @@ static void __init cm_t35_init_irq(void) ...@@ -710,7 +710,7 @@ static void __init cm_t35_init_irq(void)
static void __init cm_t35_map_io(void) static void __init cm_t35_map_io(void)
{ {
omap2_set_globals_343x(); omap2_set_globals_343x();
omap2_map_common_io(); omap34xx_map_common_io();
} }
static struct omap_board_mux board_mux[] __initdata = { static struct omap_board_mux board_mux[] __initdata = {
......
...@@ -50,7 +50,7 @@ static void __init omap_generic_init(void) ...@@ -50,7 +50,7 @@ static void __init omap_generic_init(void)
static void __init omap_generic_map_io(void) static void __init omap_generic_map_io(void)
{ {
omap2_set_globals_242x(); /* should be 242x, 243x, or 343x */ omap2_set_globals_242x(); /* should be 242x, 243x, or 343x */
omap2_map_common_io(); omap242x_map_common_io();
} }
MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx") MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx")
......
...@@ -370,7 +370,7 @@ static void __init omap_h4_init(void) ...@@ -370,7 +370,7 @@ static void __init omap_h4_init(void)
static void __init omap_h4_map_io(void) static void __init omap_h4_map_io(void)
{ {
omap2_set_globals_242x(); omap2_set_globals_242x();
omap2_map_common_io(); omap242x_map_common_io();
} }
MACHINE_START(OMAP_H4, "OMAP2420 H4 board") MACHINE_START(OMAP_H4, "OMAP2420 H4 board")
......
...@@ -246,7 +246,7 @@ static void __init igep2_init(void) ...@@ -246,7 +246,7 @@ static void __init igep2_init(void)
static void __init igep2_map_io(void) static void __init igep2_map_io(void)
{ {
omap2_set_globals_343x(); omap2_set_globals_343x();
omap2_map_common_io(); omap34xx_map_common_io();
} }
MACHINE_START(IGEP0020, "IGEP v2 board") MACHINE_START(IGEP0020, "IGEP v2 board")
......
...@@ -404,7 +404,7 @@ static void __init omap_ldp_init(void) ...@@ -404,7 +404,7 @@ static void __init omap_ldp_init(void)
static void __init omap_ldp_map_io(void) static void __init omap_ldp_map_io(void)
{ {
omap2_set_globals_343x(); omap2_set_globals_343x();
omap2_map_common_io(); omap34xx_map_common_io();
} }
MACHINE_START(OMAP_LDP, "OMAP LDP board") MACHINE_START(OMAP_LDP, "OMAP LDP board")
......
...@@ -99,7 +99,7 @@ static void __init n8x0_onenand_init(void) {} ...@@ -99,7 +99,7 @@ static void __init n8x0_onenand_init(void) {}
static void __init n8x0_map_io(void) static void __init n8x0_map_io(void)
{ {
omap2_set_globals_242x(); omap2_set_globals_242x();
omap2_map_common_io(); omap242x_map_common_io();
} }
static void __init n8x0_init_irq(void) static void __init n8x0_init_irq(void)
......
...@@ -455,7 +455,7 @@ static void __init omap3_beagle_init(void) ...@@ -455,7 +455,7 @@ static void __init omap3_beagle_init(void)
static void __init omap3_beagle_map_io(void) static void __init omap3_beagle_map_io(void)
{ {
omap2_set_globals_343x(); omap2_set_globals_343x();
omap2_map_common_io(); omap34xx_map_common_io();
} }
MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board") MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
......
...@@ -702,7 +702,7 @@ static void __init omap3_evm_init(void) ...@@ -702,7 +702,7 @@ static void __init omap3_evm_init(void)
static void __init omap3_evm_map_io(void) static void __init omap3_evm_map_io(void)
{ {
omap2_set_globals_343x(); omap2_set_globals_343x();
omap2_map_common_io(); omap34xx_map_common_io();
} }
MACHINE_START(OMAP3EVM, "OMAP3 EVM") MACHINE_START(OMAP3EVM, "OMAP3 EVM")
......
...@@ -423,7 +423,7 @@ static void __init omap3pandora_init(void) ...@@ -423,7 +423,7 @@ static void __init omap3pandora_init(void)
static void __init omap3pandora_map_io(void) static void __init omap3pandora_map_io(void)
{ {
omap2_set_globals_343x(); omap2_set_globals_343x();
omap2_map_common_io(); omap34xx_map_common_io();
} }
MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console") MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console")
......
...@@ -557,7 +557,7 @@ static void __init omap3_touchbook_init(void) ...@@ -557,7 +557,7 @@ static void __init omap3_touchbook_init(void)
static void __init omap3_touchbook_map_io(void) static void __init omap3_touchbook_map_io(void)
{ {
omap2_set_globals_343x(); omap2_set_globals_343x();
omap2_map_common_io(); omap34xx_map_common_io();
} }
MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board") MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board")
......
...@@ -469,7 +469,7 @@ static void __init overo_init(void) ...@@ -469,7 +469,7 @@ static void __init overo_init(void)
static void __init overo_map_io(void) static void __init overo_map_io(void)
{ {
omap2_set_globals_343x(); omap2_set_globals_343x();
omap2_map_common_io(); omap34xx_map_common_io();
} }
MACHINE_START(OVERO, "Gumstix Overo") MACHINE_START(OVERO, "Gumstix Overo")
......
...@@ -93,7 +93,7 @@ static void __init rx51_init(void) ...@@ -93,7 +93,7 @@ static void __init rx51_init(void)
static void __init rx51_map_io(void) static void __init rx51_map_io(void)
{ {
omap2_set_globals_343x(); omap2_set_globals_343x();
omap2_map_common_io(); omap34xx_map_common_io();
} }
MACHINE_START(NOKIA_RX51, "Nokia RX-51 board") MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
......
...@@ -87,7 +87,7 @@ static void __init omap_zoom2_init(void) ...@@ -87,7 +87,7 @@ static void __init omap_zoom2_init(void)
static void __init omap_zoom2_map_io(void) static void __init omap_zoom2_map_io(void)
{ {
omap2_set_globals_343x(); omap2_set_globals_343x();
omap2_map_common_io(); omap34xx_map_common_io();
} }
MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board") MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
static void __init omap_zoom_map_io(void) static void __init omap_zoom_map_io(void)
{ {
omap2_set_globals_36xx(); omap2_set_globals_36xx();
omap2_map_common_io(); omap34xx_map_common_io();
} }
static struct omap_board_config_kernel zoom_config[] __initdata = { static struct omap_board_config_kernel zoom_config[] __initdata = {
......
...@@ -236,37 +236,54 @@ static struct map_desc omap44xx_io_desc[] __initdata = { ...@@ -236,37 +236,54 @@ static struct map_desc omap44xx_io_desc[] __initdata = {
}; };
#endif #endif
void __init omap2_map_common_io(void) static void __init _omap2_map_common_io(void)
{
/* Normally devicemaps_init() would flush caches and tlb after
* mdesc->map_io(), but we must also do it here because of the CPU
* revision check below.
*/
local_flush_tlb_all();
flush_cache_all();
omap2_check_revision();
omap_sram_init();
omapfb_reserve_sdram();
omap_vram_reserve_sdram();
}
#ifdef CONFIG_ARCH_OMAP2420
void __init omap242x_map_common_io()
{ {
#if defined(CONFIG_ARCH_OMAP2420)
iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc));
iotable_init(omap242x_io_desc, ARRAY_SIZE(omap242x_io_desc)); iotable_init(omap242x_io_desc, ARRAY_SIZE(omap242x_io_desc));
_omap2_map_common_io();
}
#endif #endif
#if defined(CONFIG_ARCH_OMAP2430) #ifdef CONFIG_ARCH_OMAP2430
void __init omap243x_map_common_io()
{
iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc));
iotable_init(omap243x_io_desc, ARRAY_SIZE(omap243x_io_desc)); iotable_init(omap243x_io_desc, ARRAY_SIZE(omap243x_io_desc));
_omap2_map_common_io();
}
#endif #endif
#if defined(CONFIG_ARCH_OMAP34XX) #ifdef CONFIG_ARCH_OMAP34XX
void __init omap34xx_map_common_io()
{
iotable_init(omap34xx_io_desc, ARRAY_SIZE(omap34xx_io_desc)); iotable_init(omap34xx_io_desc, ARRAY_SIZE(omap34xx_io_desc));
_omap2_map_common_io();
}
#endif #endif
#if defined(CONFIG_ARCH_OMAP4) #ifdef CONFIG_ARCH_OMAP4
void __init omap44xx_map_common_io()
{
iotable_init(omap44xx_io_desc, ARRAY_SIZE(omap44xx_io_desc)); iotable_init(omap44xx_io_desc, ARRAY_SIZE(omap44xx_io_desc));
#endif _omap2_map_common_io();
/* Normally devicemaps_init() would flush caches and tlb after
* mdesc->map_io(), but we must also do it here because of the CPU
* revision check below.
*/
local_flush_tlb_all();
flush_cache_all();
omap2_check_revision();
omap_sram_init();
omapfb_reserve_sdram();
omap_vram_reserve_sdram();
} }
#endif
/* /*
* omap2_init_reprogram_sdrc - reprogram SDRC timing parameters * omap2_init_reprogram_sdrc - reprogram SDRC timing parameters
......
...@@ -268,7 +268,38 @@ struct omap_sdrc_params; ...@@ -268,7 +268,38 @@ struct omap_sdrc_params;
extern void omap1_map_common_io(void); extern void omap1_map_common_io(void);
extern void omap1_init_common_hw(void); extern void omap1_init_common_hw(void);
extern void omap2_map_common_io(void); #ifdef CONFIG_ARCH_OMAP2420
extern void omap242x_map_common_io(void);
#else
static inline void omap242x_map_common_io(void)
{
}
#endif
#ifdef CONFIG_ARCH_OMAP2430
extern void omap243x_map_common_io(void);
#else
static inline void omap243x_map_common_io(void)
{
}
#endif
#ifdef CONFIG_ARCH_OMAP34XX
extern void omap34xx_map_common_io(void);
#else
static inline void omap34xx_map_common_io(void)
{
}
#endif
#ifdef CONFIG_ARCH_OMAP4
extern void omap44xx_map_common_io(void);
#else
static inline void omap44xx_map_common_io(void)
{
}
#endif
extern void omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, extern void omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0,
struct omap_sdrc_params *sdrc_cs1); struct omap_sdrc_params *sdrc_cs1);
......
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