14ed824d9SSudhakar Rajashekhara /* 24ed824d9SSudhakar Rajashekhara * Header file for TI DA8XX LCD controller platform data. 34ed824d9SSudhakar Rajashekhara * 44ed824d9SSudhakar Rajashekhara * Copyright (C) 2008-2009 MontaVista Software Inc. 54ed824d9SSudhakar Rajashekhara * Copyright (C) 2008-2009 Texas Instruments Inc 64ed824d9SSudhakar Rajashekhara * 74ed824d9SSudhakar Rajashekhara * This file is licensed under the terms of the GNU General Public License 84ed824d9SSudhakar Rajashekhara * version 2. This program is licensed "as is" without any warranty of any 94ed824d9SSudhakar Rajashekhara * kind, whether express or implied. 104ed824d9SSudhakar Rajashekhara */ 114ed824d9SSudhakar Rajashekhara 124ed824d9SSudhakar Rajashekhara #ifndef DA8XX_FB_H 134ed824d9SSudhakar Rajashekhara #define DA8XX_FB_H 144ed824d9SSudhakar Rajashekhara 154ed824d9SSudhakar Rajashekhara enum panel_shade { 164ed824d9SSudhakar Rajashekhara MONOCHROME = 0, 174ed824d9SSudhakar Rajashekhara COLOR_ACTIVE, 184ed824d9SSudhakar Rajashekhara COLOR_PASSIVE, 194ed824d9SSudhakar Rajashekhara }; 204ed824d9SSudhakar Rajashekhara 214ed824d9SSudhakar Rajashekhara enum raster_load_mode { 224ed824d9SSudhakar Rajashekhara LOAD_DATA = 1, 234ed824d9SSudhakar Rajashekhara LOAD_PALETTE, 244ed824d9SSudhakar Rajashekhara }; 254ed824d9SSudhakar Rajashekhara 26*26e71645SDarren Etheridge enum da8xx_frame_complete { 27*26e71645SDarren Etheridge DA8XX_FRAME_WAIT, 28*26e71645SDarren Etheridge DA8XX_FRAME_NOWAIT, 29*26e71645SDarren Etheridge }; 30*26e71645SDarren Etheridge 314ed824d9SSudhakar Rajashekhara struct da8xx_lcdc_platform_data { 324ed824d9SSudhakar Rajashekhara const char manu_name[10]; 334ed824d9SSudhakar Rajashekhara void *controller_data; 344ed824d9SSudhakar Rajashekhara const char type[25]; 354ed824d9SSudhakar Rajashekhara }; 364ed824d9SSudhakar Rajashekhara 374ed824d9SSudhakar Rajashekhara struct lcd_ctrl_config { 383b43ad20SManjunathappa, Prakash enum panel_shade panel_shade; 394ed824d9SSudhakar Rajashekhara 404ed824d9SSudhakar Rajashekhara /* AC Bias Pin Frequency */ 414ed824d9SSudhakar Rajashekhara int ac_bias; 424ed824d9SSudhakar Rajashekhara 434ed824d9SSudhakar Rajashekhara /* AC Bias Pin Transitions per Interrupt */ 444ed824d9SSudhakar Rajashekhara int ac_bias_intrpt; 454ed824d9SSudhakar Rajashekhara 464ed824d9SSudhakar Rajashekhara /* DMA burst size */ 474ed824d9SSudhakar Rajashekhara int dma_burst_sz; 484ed824d9SSudhakar Rajashekhara 494ed824d9SSudhakar Rajashekhara /* Bits per pixel */ 504ed824d9SSudhakar Rajashekhara int bpp; 514ed824d9SSudhakar Rajashekhara 524ed824d9SSudhakar Rajashekhara /* FIFO DMA Request Delay */ 534ed824d9SSudhakar Rajashekhara int fdd; 544ed824d9SSudhakar Rajashekhara 554ed824d9SSudhakar Rajashekhara /* TFT Alternative Signal Mapping (Only for active) */ 564ed824d9SSudhakar Rajashekhara unsigned char tft_alt_mode; 574ed824d9SSudhakar Rajashekhara 584ed824d9SSudhakar Rajashekhara /* 12 Bit Per Pixel (5-6-5) Mode (Only for passive) */ 594ed824d9SSudhakar Rajashekhara unsigned char stn_565_mode; 604ed824d9SSudhakar Rajashekhara 614ed824d9SSudhakar Rajashekhara /* Mono 8-bit Mode: 1=D0-D7 or 0=D0-D3 */ 624ed824d9SSudhakar Rajashekhara unsigned char mono_8bit_mode; 634ed824d9SSudhakar Rajashekhara 644ed824d9SSudhakar Rajashekhara /* Horizontal and Vertical Sync Edge: 0=rising 1=falling */ 654ed824d9SSudhakar Rajashekhara unsigned char sync_edge; 664ed824d9SSudhakar Rajashekhara 674ed824d9SSudhakar Rajashekhara /* Raster Data Order Select: 1=Most-to-least 0=Least-to-most */ 684ed824d9SSudhakar Rajashekhara unsigned char raster_order; 69fb8fa943SManjunathappa, Prakash 70fb8fa943SManjunathappa, Prakash /* DMA FIFO threshold */ 71fb8fa943SManjunathappa, Prakash int fifo_th; 724ed824d9SSudhakar Rajashekhara }; 734ed824d9SSudhakar Rajashekhara 744ed824d9SSudhakar Rajashekhara struct lcd_sync_arg { 754ed824d9SSudhakar Rajashekhara int back_porch; 764ed824d9SSudhakar Rajashekhara int front_porch; 774ed824d9SSudhakar Rajashekhara int pulse_width; 784ed824d9SSudhakar Rajashekhara }; 794ed824d9SSudhakar Rajashekhara 804ed824d9SSudhakar Rajashekhara /* ioctls */ 814ed824d9SSudhakar Rajashekhara #define FBIOGET_CONTRAST _IOR('F', 1, int) 824ed824d9SSudhakar Rajashekhara #define FBIOPUT_CONTRAST _IOW('F', 2, int) 834ed824d9SSudhakar Rajashekhara #define FBIGET_BRIGHTNESS _IOR('F', 3, int) 844ed824d9SSudhakar Rajashekhara #define FBIPUT_BRIGHTNESS _IOW('F', 3, int) 854ed824d9SSudhakar Rajashekhara #define FBIGET_COLOR _IOR('F', 5, int) 864ed824d9SSudhakar Rajashekhara #define FBIPUT_COLOR _IOW('F', 6, int) 874ed824d9SSudhakar Rajashekhara #define FBIPUT_HSYNC _IOW('F', 9, int) 884ed824d9SSudhakar Rajashekhara #define FBIPUT_VSYNC _IOW('F', 10, int) 894ed824d9SSudhakar Rajashekhara 90f772fabdSManjunathappa, Prakash /* Proprietary FB_SYNC_ flags */ 91f772fabdSManjunathappa, Prakash #define FB_SYNC_CLK_INVERT 0x40000000 92f772fabdSManjunathappa, Prakash 934ed824d9SSudhakar Rajashekhara #endif /* ifndef DA8XX_FB_H */ 944ed824d9SSudhakar Rajashekhara 95