1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Header file for TI DA8XX LCD controller platform data. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright (C) 2008-2009 MontaVista Software Inc. 5*4882a593Smuzhiyun * Copyright (C) 2008-2009 Texas Instruments Inc 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * This file is licensed under the terms of the GNU General Public License 8*4882a593Smuzhiyun * version 2. This program is licensed "as is" without any warranty of any 9*4882a593Smuzhiyun * kind, whether express or implied. 10*4882a593Smuzhiyun */ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #ifndef DA8XX_FB_H 13*4882a593Smuzhiyun #define DA8XX_FB_H 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun enum panel_shade { 16*4882a593Smuzhiyun MONOCHROME = 0, 17*4882a593Smuzhiyun COLOR_ACTIVE, 18*4882a593Smuzhiyun COLOR_PASSIVE, 19*4882a593Smuzhiyun }; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun enum raster_load_mode { 22*4882a593Smuzhiyun LOAD_DATA = 1, 23*4882a593Smuzhiyun LOAD_PALETTE, 24*4882a593Smuzhiyun }; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun enum da8xx_frame_complete { 27*4882a593Smuzhiyun DA8XX_FRAME_WAIT, 28*4882a593Smuzhiyun DA8XX_FRAME_NOWAIT, 29*4882a593Smuzhiyun }; 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun struct da8xx_lcdc_platform_data { 32*4882a593Smuzhiyun const char manu_name[10]; 33*4882a593Smuzhiyun void *controller_data; 34*4882a593Smuzhiyun const char type[25]; 35*4882a593Smuzhiyun }; 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun struct lcd_ctrl_config { 38*4882a593Smuzhiyun enum panel_shade panel_shade; 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun /* AC Bias Pin Frequency */ 41*4882a593Smuzhiyun int ac_bias; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun /* AC Bias Pin Transitions per Interrupt */ 44*4882a593Smuzhiyun int ac_bias_intrpt; 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun /* DMA burst size */ 47*4882a593Smuzhiyun int dma_burst_sz; 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun /* Bits per pixel */ 50*4882a593Smuzhiyun int bpp; 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun /* FIFO DMA Request Delay */ 53*4882a593Smuzhiyun int fdd; 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun /* TFT Alternative Signal Mapping (Only for active) */ 56*4882a593Smuzhiyun unsigned char tft_alt_mode; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun /* 12 Bit Per Pixel (5-6-5) Mode (Only for passive) */ 59*4882a593Smuzhiyun unsigned char stn_565_mode; 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun /* Mono 8-bit Mode: 1=D0-D7 or 0=D0-D3 */ 62*4882a593Smuzhiyun unsigned char mono_8bit_mode; 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun /* Horizontal and Vertical Sync Edge: 0=rising 1=falling */ 65*4882a593Smuzhiyun unsigned char sync_edge; 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun /* Raster Data Order Select: 1=Most-to-least 0=Least-to-most */ 68*4882a593Smuzhiyun unsigned char raster_order; 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun /* DMA FIFO threshold */ 71*4882a593Smuzhiyun int fifo_th; 72*4882a593Smuzhiyun }; 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun struct lcd_sync_arg { 75*4882a593Smuzhiyun int back_porch; 76*4882a593Smuzhiyun int front_porch; 77*4882a593Smuzhiyun int pulse_width; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun /* ioctls */ 81*4882a593Smuzhiyun #define FBIOGET_CONTRAST _IOR('F', 1, int) 82*4882a593Smuzhiyun #define FBIOPUT_CONTRAST _IOW('F', 2, int) 83*4882a593Smuzhiyun #define FBIGET_BRIGHTNESS _IOR('F', 3, int) 84*4882a593Smuzhiyun #define FBIPUT_BRIGHTNESS _IOW('F', 3, int) 85*4882a593Smuzhiyun #define FBIGET_COLOR _IOR('F', 5, int) 86*4882a593Smuzhiyun #define FBIPUT_COLOR _IOW('F', 6, int) 87*4882a593Smuzhiyun #define FBIPUT_HSYNC _IOW('F', 9, int) 88*4882a593Smuzhiyun #define FBIPUT_VSYNC _IOW('F', 10, int) 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun /* Proprietary FB_SYNC_ flags */ 91*4882a593Smuzhiyun #define FB_SYNC_CLK_INVERT 0x40000000 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun #endif /* ifndef DA8XX_FB_H */ 94*4882a593Smuzhiyun 95