Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  *  linux/arch/arm/mach-mmp/avengers_lite.c
0004  *
0005  *  Support for the Marvell PXA168-based Avengers lite Development Platform.
0006  *
0007  *  Copyright (C) 2009-2010 Marvell International Ltd.
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 /* Avengers lite MFP configurations */
0027 static unsigned long avengers_lite_pin_config_V16F[] __initdata = {
0028     /* DEBUG_UART */
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     /* on-chip devices */
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