5 * Stefano Babic, DENX Software Engineering, sbabic@denx.de.
7 * Copyright (C) 2008-2009 MontaVista Software Inc.
8 * Copyright (C) 2008-2009 Texas Instruments Inc
10 * Based on the LCD driver for TI Avalanche processors written by
11 * Ajay Singh and Shalom Hai.
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 2 of the License, or
16 * (at your option)any later version.
18 * This program is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, write to the Free Software
25 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
42 enum raster_load_mode {
47 struct display_panel {
48 enum panel_type panel_type; /* QVGA */
51 enum panel_shade panel_shade;
55 const char name[25]; /* Full name <vendor>_<model> */
57 unsigned short height;
58 int hfp; /* Horizontal front porch */
59 int hbp; /* Horizontal back porch */
60 int hsw; /* Horizontal Sync Pulse Width */
61 int vfp; /* Vertical front porch */
62 int vbp; /* Vertical back porch */
63 int vsw; /* Vertical Sync Pulse Width */
64 unsigned int pxl_clk; /* Pixel clock */
65 unsigned char invert_pxl_clk; /* Invert Pixel clock */
68 struct da8xx_lcdc_platform_data {
69 const char manu_name[10];
70 void *controller_data;
72 void (*panel_power_ctrl)(int);
75 struct lcd_ctrl_config {
76 const struct display_panel *p_disp_panel;
78 /* AC Bias Pin Frequency */
81 /* AC Bias Pin Transitions per Interrupt */
90 /* FIFO DMA Request Delay */
93 /* TFT Alternative Signal Mapping (Only for active) */
94 unsigned char tft_alt_mode;
96 /* 12 Bit Per Pixel (5-6-5) Mode (Only for passive) */
97 unsigned char stn_565_mode;
99 /* Mono 8-bit Mode: 1=D0-D7 or 0=D0-D3 */
100 unsigned char mono_8bit_mode;
102 /* Invert line clock */
103 unsigned char invert_line_clock;
105 /* Invert frame clock */
106 unsigned char invert_frm_clock;
108 /* Horizontal and Vertical Sync Edge: 0=rising 1=falling */
109 unsigned char sync_edge;
111 /* Horizontal and Vertical Sync: Control: 0=ignore */
112 unsigned char sync_ctrl;
114 /* Raster Data Order Select: 1=Most-to-least 0=Least-to-most */
115 unsigned char raster_order;
118 struct lcd_sync_arg {
124 void da8xx_fb_disable(void);
125 void da8xx_video_init(const struct da8xx_panel *panel,
126 const struct lcd_ctrl_config *lcd_cfg, int bits_pixel);
128 #endif /* ifndef DA8XX_FB_H */