12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /*
- * linux/arch/arm/mach-w90x900/mach-nuc950evb.c
- *
- * Based on mach-s3c2410/mach-smdk2410.c by Jonas Dietsche
- *
- * Copyright (C) 2008 Nuvoton technology corporation.
- *
- * Wan ZongShun <mcuos.com@gmail.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation;version 2 of the License.
- * history:
- * Wang Qiang (rurality.linux@gmail.com) add LCD support
- *
- */
- #include <linux/platform_device.h>
- #include <asm/mach/arch.h>
- #include <asm/mach/map.h>
- #include <asm/mach-types.h>
- #include <mach/map.h>
- #include <mach/regs-ldm.h>
- #include <mach/fb.h>
- #include "nuc950.h"
- #ifdef CONFIG_FB_NUC900
- /* LCD Controller */
- static struct nuc900fb_display __initdata nuc950_lcd_info[] = {
- /* Giantplus Technology GPM1040A0 320x240 Color TFT LCD */
- [0] = {
- .type = LCM_DCCS_VA_SRC_RGB565,
- .width = 320,
- .height = 240,
- .xres = 320,
- .yres = 240,
- .bpp = 16,
- .pixclock = 200000,
- .left_margin = 34,
- .right_margin = 54,
- .hsync_len = 10,
- .upper_margin = 18,
- .lower_margin = 4,
- .vsync_len = 1,
- .dccs = 0x8e00041a,
- .devctl = 0x060800c0,
- .fbctrl = 0x00a000a0,
- .scale = 0x04000400,
- },
- };
- static struct nuc900fb_mach_info nuc950_fb_info __initdata = {
- #if defined(CONFIG_GPM1040A0_320X240)
- .displays = &nuc950_lcd_info[0],
- #else
- .displays = nuc950_lcd_info,
- #endif
- .num_displays = ARRAY_SIZE(nuc950_lcd_info),
- .default_display = 0,
- .gpio_dir = 0x00000004,
- .gpio_dir_mask = 0xFFFFFFFD,
- .gpio_data = 0x00000004,
- .gpio_data_mask = 0xFFFFFFFD,
- };
- #endif
- static void __init nuc950evb_map_io(void)
- {
- nuc950_map_io();
- nuc950_init_clocks();
- }
- static void __init nuc950evb_init(void)
- {
- nuc950_board_init();
- #ifdef CONFIG_FB_NUC900
- nuc900_fb_set_platdata(&nuc950_fb_info);
- #endif
- }
- MACHINE_START(W90P950EVB, "W90P950EVB")
- /* Maintainer: Wan ZongShun */
- .phys_io = W90X900_PA_UART,
- .io_pg_offst = (((u32)W90X900_VA_UART) >> 18) & 0xfffc,
- .boot_params = 0,
- .map_io = nuc950evb_map_io,
- .init_irq = nuc900_init_irq,
- .init_machine = nuc950evb_init,
- .timer = &nuc900_timer,
- MACHINE_END
|