/* * linux/arch/arm/mach-mmp/teton_bga.c * * Support for the Marvell PXA168 Teton BGA Development Platform. * * Author: Mark F. Brown * * This code is based on aspenite.c * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * publishhed by the Free Software Foundation. */ #include #include #include #include #include #include #include #include #include #include #include #include #include "common.h" static unsigned long teton_bga_pin_config[] __initdata = { /* UART1 */ GPIO107_UART1_TXD, GPIO108_UART1_RXD, /* Keypad */ GPIO109_KP_MKIN1, GPIO110_KP_MKIN0, GPIO111_KP_MKOUT7, GPIO112_KP_MKOUT6, }; static unsigned int teton_bga_matrix_key_map[] = { KEY(0, 6, KEY_ESC), KEY(0, 7, KEY_ENTER), KEY(1, 6, KEY_LEFT), KEY(1, 7, KEY_RIGHT), }; static struct pxa27x_keypad_platform_data teton_bga_keypad_info __initdata = { .matrix_key_rows = 2, .matrix_key_cols = 8, .matrix_key_map = teton_bga_matrix_key_map, .matrix_key_map_size = ARRAY_SIZE(teton_bga_matrix_key_map), .debounce_interval = 30, }; static void __init teton_bga_init(void) { mfp_config(ARRAY_AND_SIZE(teton_bga_pin_config)); /* on-chip devices */ pxa168_add_uart(1); pxa168_add_keypad(&teton_bga_keypad_info); } MACHINE_START(TETON_BGA, "PXA168-based Teton BGA Development Platform") .phys_io = APB_PHYS_BASE, .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc, .map_io = mmp_map_io, .nr_irqs = IRQ_BOARD_START, .init_irq = pxa168_init_irq, .timer = &pxa168_timer, .init_machine = teton_bga_init, MACHINE_END