1/* linux/arch/arm/mach-msm/board-mahimahi.c 2 * 3 * Copyright (C) 2009 Google, Inc. 4 * Copyright (C) 2009 HTC Corporation. 5 * Author: Dima Zavin <dima@android.com> 6 * 7 * This software is licensed under the terms of the GNU General Public 8 * License version 2, as published by the Free Software Foundation, and 9 * may be copied, distributed, and modified under those terms. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 */ 17 18#include <linux/delay.h> 19#include <linux/gpio.h> 20#include <linux/init.h> 21#include <linux/input.h> 22#include <linux/io.h> 23#include <linux/kernel.h> 24#include <linux/platform_device.h> 25 26#include <asm/mach-types.h> 27#include <asm/mach/arch.h> 28#include <asm/mach/map.h> 29#include <asm/setup.h> 30 31#include <mach/board.h> 32#include <mach/hardware.h> 33#include <mach/system.h> 34 35#include "board-mahimahi.h" 36#include "devices.h" 37#include "proc_comm.h" 38 39static uint debug_uart; 40 41module_param_named(debug_uart, debug_uart, uint, 0); 42 43static struct platform_device *devices[] __initdata = { 44#if !defined(CONFIG_MSM_SERIAL_DEBUGGER) 45 &msm_device_uart1, 46#endif 47 &msm_device_uart_dm1, 48 &msm_device_nand, 49}; 50 51static void __init mahimahi_init(void) 52{ 53 platform_add_devices(devices, ARRAY_SIZE(devices)); 54} 55 56static void __init mahimahi_fixup(struct machine_desc *desc, struct tag *tags, 57 char **cmdline, struct meminfo *mi) 58{ 59 mi->nr_banks = 2; 60 mi->bank[0].start = PHYS_OFFSET; 61 mi->bank[0].node = PHYS_TO_NID(PHYS_OFFSET); 62 mi->bank[0].size = (219*1024*1024); 63 mi->bank[1].start = MSM_HIGHMEM_BASE; 64 mi->bank[1].node = PHYS_TO_NID(MSM_HIGHMEM_BASE); 65 mi->bank[1].size = MSM_HIGHMEM_SIZE; 66} 67 68static void __init mahimahi_map_io(void) 69{ 70 msm_map_common_io(); 71 msm_clock_init(); 72} 73 74extern struct sys_timer msm_timer; 75 76MACHINE_START(MAHIMAHI, "mahimahi") 77#ifdef CONFIG_MSM_DEBUG_UART 78 .phys_io = MSM_DEBUG_UART_PHYS, 79 .io_pg_offst = ((MSM_DEBUG_UART_BASE) >> 18) & 0xfffc, 80#endif 81 .boot_params = 0x20000100, 82 .fixup = mahimahi_fixup, 83 .map_io = mahimahi_map_io, 84 .init_irq = msm_init_irq, 85 .init_machine = mahimahi_init, 86 .timer = &msm_timer, 87MACHINE_END 88