1/* 2 * linux/arch/arm/mach-mmp/avengers_lite.c 3 * 4 * Support for the Marvell PXA168-based Avengers lite Development Platform. 5 * 6 * Copyright (C) 2009-2010 Marvell International Ltd. 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License version 2 as 10 * publishhed by the Free Software Foundation. 11 */ 12 13#include <linux/init.h> 14#include <linux/kernel.h> 15#include <linux/gpio-pxa.h> 16#include <linux/platform_device.h> 17 18#include <asm/mach-types.h> 19#include <asm/mach/arch.h> 20#include <mach/addr-map.h> 21#include <mach/mfp-pxa168.h> 22#include <mach/pxa168.h> 23#include <mach/irqs.h> 24 25 26#include "common.h" 27#include <linux/delay.h> 28 29/* Avengers lite MFP configurations */ 30static unsigned long avengers_lite_pin_config_V16F[] __initdata = { 31 /* DEBUG_UART */ 32 GPIO88_UART2_TXD, 33 GPIO89_UART2_RXD, 34}; 35 36static struct pxa_gpio_platform_data pxa168_gpio_pdata = { 37 .irq_base = MMP_GPIO_TO_IRQ(0), 38}; 39 40static void __init avengers_lite_init(void) 41{ 42 mfp_config(ARRAY_AND_SIZE(avengers_lite_pin_config_V16F)); 43 44 /* on-chip devices */ 45 pxa168_add_uart(2); 46 platform_device_add_data(&pxa168_device_gpio, &pxa168_gpio_pdata, 47 sizeof(struct pxa_gpio_platform_data)); 48 platform_device_register(&pxa168_device_gpio); 49} 50 51MACHINE_START(AVENGERS_LITE, "PXA168 Avengers lite Development Platform") 52 .map_io = mmp_map_io, 53 .nr_irqs = MMP_NR_IRQS, 54 .init_irq = pxa168_init_irq, 55 .init_time = pxa168_timer_init, 56 .init_machine = avengers_lite_init, 57 .restart = pxa168_restart, 58MACHINE_END 59