18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * linux/arch/arm/mach-mmp/avengers_lite.c 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Support for the Marvell PXA168-based Avengers lite Development Platform. 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci * Copyright (C) 2009-2010 Marvell International Ltd. 88c2ecf20Sopenharmony_ci */ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#include <linux/init.h> 118c2ecf20Sopenharmony_ci#include <linux/kernel.h> 128c2ecf20Sopenharmony_ci#include <linux/gpio-pxa.h> 138c2ecf20Sopenharmony_ci#include <linux/platform_device.h> 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci#include <asm/mach-types.h> 168c2ecf20Sopenharmony_ci#include <asm/mach/arch.h> 178c2ecf20Sopenharmony_ci#include "addr-map.h" 188c2ecf20Sopenharmony_ci#include "mfp-pxa168.h" 198c2ecf20Sopenharmony_ci#include "pxa168.h" 208c2ecf20Sopenharmony_ci#include "irqs.h" 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci#include "common.h" 248c2ecf20Sopenharmony_ci#include <linux/delay.h> 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci/* Avengers lite MFP configurations */ 278c2ecf20Sopenharmony_cistatic unsigned long avengers_lite_pin_config_V16F[] __initdata = { 288c2ecf20Sopenharmony_ci /* DEBUG_UART */ 298c2ecf20Sopenharmony_ci GPIO88_UART2_TXD, 308c2ecf20Sopenharmony_ci GPIO89_UART2_RXD, 318c2ecf20Sopenharmony_ci}; 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_cistatic struct pxa_gpio_platform_data pxa168_gpio_pdata = { 348c2ecf20Sopenharmony_ci .irq_base = MMP_GPIO_TO_IRQ(0), 358c2ecf20Sopenharmony_ci}; 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_cistatic void __init avengers_lite_init(void) 388c2ecf20Sopenharmony_ci{ 398c2ecf20Sopenharmony_ci mfp_config(ARRAY_AND_SIZE(avengers_lite_pin_config_V16F)); 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci /* on-chip devices */ 428c2ecf20Sopenharmony_ci pxa168_add_uart(2); 438c2ecf20Sopenharmony_ci platform_device_add_data(&pxa168_device_gpio, &pxa168_gpio_pdata, 448c2ecf20Sopenharmony_ci sizeof(struct pxa_gpio_platform_data)); 458c2ecf20Sopenharmony_ci platform_device_register(&pxa168_device_gpio); 468c2ecf20Sopenharmony_ci} 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ciMACHINE_START(AVENGERS_LITE, "PXA168 Avengers lite Development Platform") 498c2ecf20Sopenharmony_ci .map_io = mmp_map_io, 508c2ecf20Sopenharmony_ci .nr_irqs = MMP_NR_IRQS, 518c2ecf20Sopenharmony_ci .init_irq = pxa168_init_irq, 528c2ecf20Sopenharmony_ci .init_time = pxa168_timer_init, 538c2ecf20Sopenharmony_ci .init_machine = avengers_lite_init, 548c2ecf20Sopenharmony_ci .restart = pxa168_restart, 558c2ecf20Sopenharmony_ciMACHINE_END 56