11dbae815STony Lindgren /*
2f30c2269SUwe Zeisberger  * linux/arch/arm/mach-omap2/board-generic.c
31dbae815STony Lindgren  *
41dbae815STony Lindgren  * Copyright (C) 2005 Nokia Corporation
51dbae815STony Lindgren  * Author: Paul Mundt <paul.mundt@nokia.com>
61dbae815STony Lindgren  *
71dbae815STony Lindgren  * Modified from mach-omap/omap1/board-generic.c
81dbae815STony Lindgren  *
91dbae815STony Lindgren  * Code for generic OMAP2 board. Should work on many OMAP2 systems where
101dbae815STony Lindgren  * the bootloader passes the board-specific data to the kernel.
111dbae815STony Lindgren  * Do not put any board specific code to this file; create a new machine
121dbae815STony Lindgren  * type if you need custom low-level initializations.
131dbae815STony Lindgren  *
141dbae815STony Lindgren  * This program is free software; you can redistribute it and/or modify
151dbae815STony Lindgren  * it under the terms of the GNU General Public License version 2 as
161dbae815STony Lindgren  * published by the Free Software Foundation.
171dbae815STony Lindgren  */
181dbae815STony Lindgren 
191dbae815STony Lindgren #include <linux/kernel.h>
201dbae815STony Lindgren #include <linux/init.h>
211dbae815STony Lindgren #include <linux/device.h>
221dbae815STony Lindgren 
23a09e64fbSRussell King #include <mach/hardware.h>
241dbae815STony Lindgren #include <asm/mach-types.h>
251dbae815STony Lindgren #include <asm/mach/arch.h>
261dbae815STony Lindgren #include <asm/mach/map.h>
271dbae815STony Lindgren 
28a09e64fbSRussell King #include <mach/gpio.h>
29ce491cf8STony Lindgren #include <plat/mux.h>
30ce491cf8STony Lindgren #include <plat/usb.h>
31ce491cf8STony Lindgren #include <plat/board.h>
32ce491cf8STony Lindgren #include <plat/common.h>
331dbae815STony Lindgren 
34b3c6df3aSPaul Walmsley static struct omap_board_config_kernel generic_config[] = {
35b3c6df3aSPaul Walmsley };
36b3c6df3aSPaul Walmsley 
371dbae815STony Lindgren static void __init omap_generic_init_irq(void)
381dbae815STony Lindgren {
39b3c6df3aSPaul Walmsley 	omap_board_config = generic_config;
40b3c6df3aSPaul Walmsley 	omap_board_config_size = ARRAY_SIZE(generic_config);
4158cda884SJean Pihet 	omap2_init_common_hw(NULL, NULL);
421dbae815STony Lindgren 	omap_init_irq();
431dbae815STony Lindgren }
441dbae815STony Lindgren 
451dbae815STony Lindgren static void __init omap_generic_init(void)
461dbae815STony Lindgren {
471dbae815STony Lindgren 	omap_serial_init();
481dbae815STony Lindgren }
491dbae815STony Lindgren 
501dbae815STony Lindgren static void __init omap_generic_map_io(void)
511dbae815STony Lindgren {
52c8d2eb8eSPaul Walmsley 	omap2_set_globals_242x(); /* should be 242x, 243x, or 343x */
5318f49ea2STony Lindgren 	omap2_map_common_io();
541dbae815STony Lindgren }
551dbae815STony Lindgren 
561dbae815STony Lindgren MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx")
571dbae815STony Lindgren 	/* Maintainer: Paul Mundt <paul.mundt@nokia.com> */
581dbae815STony Lindgren 	.phys_io	= 0x48000000,
59b4224b23SSantosh Shilimkar 	.io_pg_offst	= ((0xfa000000) >> 18) & 0xfffc,
601dbae815STony Lindgren 	.boot_params	= 0x80000100,
611dbae815STony Lindgren 	.map_io		= omap_generic_map_io,
621dbae815STony Lindgren 	.init_irq	= omap_generic_init_irq,
631dbae815STony Lindgren 	.init_machine	= omap_generic_init,
641dbae815STony Lindgren 	.timer		= &omap_timer,
651dbae815STony Lindgren MACHINE_END
66