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> 29a09e64fbSRussell King #include <mach/mux.h> 30a09e64fbSRussell King #include <mach/usb.h> 31a09e64fbSRussell King #include <mach/board.h> 32a09e64fbSRussell King #include <mach/common.h> 331dbae815STony Lindgren 341dbae815STony Lindgren static void __init omap_generic_init_irq(void) 351dbae815STony Lindgren { 3618f49ea2STony Lindgren omap2_init_common_hw(); 371dbae815STony Lindgren omap_init_irq(); 381dbae815STony Lindgren } 391dbae815STony Lindgren 401dbae815STony Lindgren static struct omap_uart_config generic_uart_config __initdata = { 411dbae815STony Lindgren .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)), 421dbae815STony Lindgren }; 431dbae815STony Lindgren 441dbae815STony Lindgren static struct omap_mmc_config generic_mmc_config __initdata = { 451dbae815STony Lindgren .mmc [0] = { 461dbae815STony Lindgren .enabled = 0, 471dbae815STony Lindgren .wire4 = 0, 481dbae815STony Lindgren .wp_pin = -1, 491dbae815STony Lindgren .power_pin = -1, 501dbae815STony Lindgren .switch_pin = -1, 511dbae815STony Lindgren }, 521dbae815STony Lindgren }; 531dbae815STony Lindgren 541dbae815STony Lindgren static struct omap_board_config_kernel generic_config[] = { 551dbae815STony Lindgren { OMAP_TAG_UART, &generic_uart_config }, 561dbae815STony Lindgren { OMAP_TAG_MMC, &generic_mmc_config }, 571dbae815STony Lindgren }; 581dbae815STony Lindgren 591dbae815STony Lindgren static void __init omap_generic_init(void) 601dbae815STony Lindgren { 611dbae815STony Lindgren omap_board_config = generic_config; 621dbae815STony Lindgren omap_board_config_size = ARRAY_SIZE(generic_config); 631dbae815STony Lindgren omap_serial_init(); 641dbae815STony Lindgren } 651dbae815STony Lindgren 661dbae815STony Lindgren static void __init omap_generic_map_io(void) 671dbae815STony Lindgren { 68c8d2eb8eSPaul Walmsley omap2_set_globals_242x(); /* should be 242x, 243x, or 343x */ 6918f49ea2STony Lindgren omap2_map_common_io(); 701dbae815STony Lindgren } 711dbae815STony Lindgren 721dbae815STony Lindgren MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx") 731dbae815STony Lindgren /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */ 741dbae815STony Lindgren .phys_io = 0x48000000, 751dbae815STony Lindgren .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 761dbae815STony Lindgren .boot_params = 0x80000100, 771dbae815STony Lindgren .map_io = omap_generic_map_io, 781dbae815STony Lindgren .init_irq = omap_generic_init_irq, 791dbae815STony Lindgren .init_machine = omap_generic_init, 801dbae815STony Lindgren .timer = &omap_timer, 811dbae815STony Lindgren MACHINE_END 82