1 /* linux/include/asm/arch-nuc900/fb.h 2 * 3 * Copyright (c) 2008 Nuvoton technology corporation 4 * All rights reserved. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * Changelog: 12 * 13 * 2008/08/26 vincen.zswan modify this file for LCD. 14 */ 15 16 #ifndef __ASM_ARM_FB_H 17 #define __ASM_ARM_FB_H 18 19 20 21 /* LCD Controller Hardware Desc */ 22 struct nuc900fb_hw { 23 unsigned int lcd_dccs; 24 unsigned int lcd_device_ctrl; 25 unsigned int lcd_mpulcd_cmd; 26 unsigned int lcd_int_cs; 27 unsigned int lcd_crtc_size; 28 unsigned int lcd_crtc_dend; 29 unsigned int lcd_crtc_hr; 30 unsigned int lcd_crtc_hsync; 31 unsigned int lcd_crtc_vr; 32 unsigned int lcd_va_baddr0; 33 unsigned int lcd_va_baddr1; 34 unsigned int lcd_va_fbctrl; 35 unsigned int lcd_va_scale; 36 unsigned int lcd_va_test; 37 unsigned int lcd_va_win; 38 unsigned int lcd_va_stuff; 39 }; 40 41 /* LCD Display Description */ 42 struct nuc900fb_display { 43 /* LCD Image type */ 44 unsigned type; 45 46 /* LCD Screen Size */ 47 unsigned short width; 48 unsigned short height; 49 50 /* LCD Screen Info */ 51 unsigned short xres; 52 unsigned short yres; 53 unsigned short bpp; 54 55 unsigned long pixclock; 56 unsigned short left_margin; 57 unsigned short right_margin; 58 unsigned short hsync_len; 59 unsigned short upper_margin; 60 unsigned short lower_margin; 61 unsigned short vsync_len; 62 63 /* hardware special register value */ 64 unsigned int dccs; 65 unsigned int devctl; 66 unsigned int fbctrl; 67 unsigned int scale; 68 }; 69 70 struct nuc900fb_mach_info { 71 struct nuc900fb_display *displays; 72 unsigned num_displays; 73 unsigned default_display; 74 /* GPIO Setting Info */ 75 unsigned gpio_dir; 76 unsigned gpio_dir_mask; 77 unsigned gpio_data; 78 unsigned gpio_data_mask; 79 }; 80 81 extern void __init nuc900_fb_set_platdata(struct nuc900fb_mach_info *); 82 83 #endif /* __ASM_ARM_FB_H */ 84