0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #include <linux/init.h>
0011 #include <linux/kernel.h>
0012 #include <linux/gpio-pxa.h>
0013 #include <linux/platform_device.h>
0014
0015 #include <asm/mach-types.h>
0016 #include <asm/mach/arch.h>
0017 #include "addr-map.h"
0018 #include "mfp-pxa168.h"
0019 #include "pxa168.h"
0020 #include "irqs.h"
0021
0022
0023 #include "common.h"
0024 #include <linux/delay.h>
0025
0026
0027 static unsigned long avengers_lite_pin_config_V16F[] __initdata = {
0028
0029 GPIO88_UART2_TXD,
0030 GPIO89_UART2_RXD,
0031 };
0032
0033 static struct pxa_gpio_platform_data pxa168_gpio_pdata = {
0034 .irq_base = MMP_GPIO_TO_IRQ(0),
0035 };
0036
0037 static void __init avengers_lite_init(void)
0038 {
0039 mfp_config(ARRAY_AND_SIZE(avengers_lite_pin_config_V16F));
0040
0041
0042 pxa168_add_uart(2);
0043 platform_device_add_data(&pxa168_device_gpio, &pxa168_gpio_pdata,
0044 sizeof(struct pxa_gpio_platform_data));
0045 platform_device_register(&pxa168_device_gpio);
0046 }
0047
0048 MACHINE_START(AVENGERS_LITE, "PXA168 Avengers lite Development Platform")
0049 .map_io = mmp_map_io,
0050 .nr_irqs = MMP_NR_IRQS,
0051 .init_irq = pxa168_init_irq,
0052 .init_time = pxa168_timer_init,
0053 .init_machine = avengers_lite_init,
0054 .restart = pxa168_restart,
0055 MACHINE_END