2013-02-12 16:46:46 +05:30
/*
* Header containing platform_data structs for omap panels
*
* Copyright ( C ) 2013 Texas Instruments
* Author : Tomi Valkeinen < tomi . valkeinen @ ti . com >
* Archit Taneja < archit @ ti . com >
*
* Copyright ( C ) 2011 Texas Instruments
* Author : Mayuresh Janorkar < mayur @ ti . com >
*
* Copyright ( C ) 2010 Canonical Ltd .
* Author : Bryan Wu < bryan . wu @ canonical . com >
*
* This program is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License version 2 as published by
* the Free Software Foundation .
*
* This program is distributed in the hope that it will be useful , but WITHOUT
* ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE . See the GNU General Public License for
* more details .
*
* You should have received a copy of the GNU General Public License along with
* this program . If not , see < http : //www.gnu.org/licenses/>.
*/
# ifndef __OMAP_PANEL_DATA_H
# define __OMAP_PANEL_DATA_H
struct omap_dss_device ;
/**
* struct panel_generic_dpi_data - panel driver configuration data
* @ name : panel name
* @ platform_enable : platform specific panel enable function
* @ platform_disable : platform specific panel disable function
2013-02-12 14:59:17 +05:30
* @ num_gpios : number of gpios connected to panel
* @ gpios : gpio numbers on the platform
* @ gpio_invert : configure gpio as active high or low
2013-02-12 16:46:46 +05:30
*/
struct panel_generic_dpi_data {
const char * name ;
int ( * platform_enable ) ( struct omap_dss_device * dssdev ) ;
void ( * platform_disable ) ( struct omap_dss_device * dssdev ) ;
2013-02-12 14:59:17 +05:30
int num_gpios ;
int gpios [ 10 ] ;
bool gpio_invert [ 10 ] ;
2013-02-12 16:46:46 +05:30
} ;
/**
* struct panel_n8x0_data - N800 panel driver configuration data
*/
struct panel_n8x0_data {
int ( * platform_enable ) ( struct omap_dss_device * dssdev ) ;
void ( * platform_disable ) ( struct omap_dss_device * dssdev ) ;
int panel_reset ;
int ctrl_pwrdown ;
} ;
/**
* struct nokia_dsi_panel_data - Nokia DSI panel driver configuration data
* @ name : panel name
* @ use_ext_te : use external TE
* @ ext_te_gpio : external TE GPIO
* @ esd_interval : interval of ESD checks , 0 = disabled ( ms )
* @ ulps_timeout : time to wait before entering ULPS , 0 = disabled ( ms )
* @ use_dsi_backlight : true if panel uses DSI command to control backlight
* @ pin_config : DSI pin configuration
*/
struct nokia_dsi_panel_data {
const char * name ;
int reset_gpio ;
bool use_ext_te ;
int ext_te_gpio ;
unsigned esd_interval ;
unsigned ulps_timeout ;
bool use_dsi_backlight ;
struct omap_dsi_pin_config pin_config ;
} ;
/**
* struct picodlp_panel_data - picodlp panel driver configuration data
* @ picodlp_adapter_id : i2c_adapter number for picodlp
*/
struct picodlp_panel_data {
int picodlp_adapter_id ;
int emu_done_gpio ;
int pwrgood_gpio ;
} ;
/**
* struct tfp410_platform_data - tfp410 panel driver configuration data
* @ i2c_bus_num : i2c bus id for the panel
* @ power_down_gpio : gpio number for PD pin ( or - 1 if not available )
*/
struct tfp410_platform_data {
int i2c_bus_num ;
int power_down_gpio ;
} ;
2013-02-12 14:59:17 +05:30
/**
* sharp ls panel driver configuration data
* @ resb_gpio : reset signal
* @ ini_gpio : power on control
* @ mo_gpio : selection for resolution ( VGA / QVGA )
* @ lr_gpio : selection for horizontal scanning direction
* @ ud_gpio : selection for vertical scanning direction
*/
struct panel_sharp_ls037v7dw01_data {
int resb_gpio ;
int ini_gpio ;
int mo_gpio ;
int lr_gpio ;
int ud_gpio ;
} ;
/**
* acx565akm panel driver configuration data
* @ reset_gpio : reset signal
*/
struct panel_acx565akm_data {
int reset_gpio ;
} ;
/**
* nec nl8048 panel driver configuration data
* @ res_gpio : reset signal
* @ qvga_gpio : selection for resolution ( QVGA / WVGA )
*/
struct panel_nec_nl8048_data {
int res_gpio ;
int qvga_gpio ;
} ;
/**
* tpo td043 panel driver configuration data
* @ nreset_gpio : reset signal
*/
struct panel_tpo_td043_data {
int nreset_gpio ;
} ;
2013-02-12 16:46:46 +05:30
# endif /* __OMAP_PANEL_DATA_H */