diff options
Diffstat (limited to 'drivers/video/omap2/displays')
| -rw-r--r-- | drivers/video/omap2/displays/panel-ili9342.c | 97 | 
1 files changed, 54 insertions, 43 deletions
diff --git a/drivers/video/omap2/displays/panel-ili9342.c b/drivers/video/omap2/displays/panel-ili9342.c index d7bf8b42164..a95c6bfcc86 100644 --- a/drivers/video/omap2/displays/panel-ili9342.c +++ b/drivers/video/omap2/displays/panel-ili9342.c @@ -52,11 +52,11 @@ static struct panel_config ili9342_panels[] = {  			.hsw		= 10,  			.hfp		= 10, -			.hbp		= 20, +			.hbp		= 10,  			.vsw		= 2, -			.vfp		= 4, -			.vbp		= 1, +			.vfp		= 2, +			.vbp		= 2,  			.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,  			.hsync_level	= OMAPDSS_SIG_ACTIVE_LOW, @@ -246,6 +246,10 @@ static int ili9342_panel_check_timings(struct omap_dss_device *dssdev,  	return r;  } +static int ili9342_get_recommended_bpp(struct omap_dss_device *dssdev) { +	return 24; +} +  static struct omap_dss_driver ili9342_driver = {  	.probe		= ili9342_panel_probe,  	.remove		= __exit_p(ili9342_panel_remove), @@ -257,6 +261,8 @@ static struct omap_dss_driver ili9342_driver = {  	.get_timings	= ili9342_panel_get_timings,  	.check_timings	= ili9342_panel_check_timings, +	.get_recommended_bpp = ili9342_get_recommended_bpp, +  	.driver         = {  		.name   = "ili9342_panel",  		.owner  = THIS_MODULE, @@ -308,11 +314,13 @@ static inline void ili9342_init_seq(struct spi_device *spi) {  	ili9342_write_cmd(spi, 0xB0);  	ili9342_write_data(spi, 0xE0); -	ili9342_write_cmd(spi, 0xB5); -	ili9342_write_data(spi, 0x04); -	ili9342_write_data(spi, 0x01); -	ili9342_write_data(spi, 0x0a); -	ili9342_write_data(spi, 0x14); +//  Timing settings + +//	ili9342_write_cmd(spi, 0xB5); +//	ili9342_write_data(spi, 0x04); +//	ili9342_write_data(spi, 0x01); +//	ili9342_write_data(spi, 0x0a); +//	ili9342_write_data(spi, 0x14);  	//ili9342_write_cmd(spi, 0xB1);  	//ili9342_write_data(spi, 0x00); @@ -340,48 +348,51 @@ static inline void ili9342_init_seq(struct spi_device *spi) {  	ili9342_write_cmd(spi, 0xC5);  	ili9342_write_data(spi, 0xF0); -	ili9342_write_cmd(spi, 0x36); -	ili9342_write_data(spi, 0x08); +// RGB color mode + +	//ili9342_write_cmd(spi, 0x36); +	//ili9342_write_data(spi, 0x08);  	ili9342_write_cmd(spi, 0xB6);  	ili9342_write_data(spi, 0x0A);  	ili9342_write_data(spi, 0x00);  	ili9342_write_data(spi, 0x1D);  	ili9342_write_data(spi, 0x04); +// GAMMA settings -	ili9342_write_cmd(spi, 0xE0); -	ili9342_write_data(spi, 0x00);  //00 -	ili9342_write_data(spi, 0x0A);  //01 -	ili9342_write_data(spi, 0x11);  //02 -	ili9342_write_data(spi, 0x06);  //04 -	ili9342_write_data(spi, 0x13);  //06 -	ili9342_write_data(spi, 0x09);  //13 -	ili9342_write_data(spi, 0x37);  //20 -	ili9342_write_data(spi, 0x79);  //27 -	ili9342_write_data(spi, 0x4A);  //43 -	ili9342_write_data(spi, 0x09);  //50 -	ili9342_write_data(spi, 0x0F);  //57 -	ili9342_write_data(spi, 0x0B);  //59 -	ili9342_write_data(spi, 0x19);  //61 -	ili9342_write_data(spi, 0x1D);  //62 -	ili9342_write_data(spi, 0x0F);  //63 - -	ili9342_write_cmd(spi, 0xE1); -	ili9342_write_data(spi, 0x00);  //63 -	ili9342_write_data(spi, 0x22);  //62 -	ili9342_write_data(spi, 0x26);  //61 -	ili9342_write_data(spi, 0x04);  //59 -	ili9342_write_data(spi, 0x10);  //57 -	ili9342_write_data(spi, 0x05);  //50 -	ili9342_write_data(spi, 0x3B);  //43 -	ili9342_write_data(spi, 0x34);  //26 -	ili9342_write_data(spi, 0x49);  //20 -	ili9342_write_data(spi, 0x06);  //13 -	ili9342_write_data(spi, 0x0C);  //06 -	ili9342_write_data(spi, 0x09);  //04 -	ili9342_write_data(spi, 0x2e);  //02 -	ili9342_write_data(spi, 0x35);  //01 -	ili9342_write_data(spi, 0x0F);  //00 +//	ili9342_write_cmd(spi, 0xE0); +//	ili9342_write_data(spi, 0x00);  //00 +//	ili9342_write_data(spi, 0x0A);  //01 +//	ili9342_write_data(spi, 0x11);  //02 +//	ili9342_write_data(spi, 0x06);  //04 +//	ili9342_write_data(spi, 0x13);  //06 +//	ili9342_write_data(spi, 0x09);  //13 +//	ili9342_write_data(spi, 0x37);  //20 +//	ili9342_write_data(spi, 0x79);  //27 +//	ili9342_write_data(spi, 0x4A);  //43 +//	ili9342_write_data(spi, 0x09);  //50 +//	ili9342_write_data(spi, 0x0F);  //57 +//	ili9342_write_data(spi, 0x0B);  //59 +//	ili9342_write_data(spi, 0x19);  //61 +//	ili9342_write_data(spi, 0x1D);  //62 +//	ili9342_write_data(spi, 0x0F);  //63 +// +//	ili9342_write_cmd(spi, 0xE1); +//	ili9342_write_data(spi, 0x00);  //63 +//	ili9342_write_data(spi, 0x22);  //62 +//	ili9342_write_data(spi, 0x26);  //61 +//	ili9342_write_data(spi, 0x04);  //59 +//	ili9342_write_data(spi, 0x10);  //57 +//	ili9342_write_data(spi, 0x05);  //50 +//	ili9342_write_data(spi, 0x3B);  //43 +//	ili9342_write_data(spi, 0x34);  //26 +//	ili9342_write_data(spi, 0x49);  //20 +//	ili9342_write_data(spi, 0x06);  //13 +//	ili9342_write_data(spi, 0x0C);  //06 +//	ili9342_write_data(spi, 0x09);  //04 +//	ili9342_write_data(spi, 0x2e);  //02 +//	ili9342_write_data(spi, 0x35);  //01 +//	ili9342_write_data(spi, 0x0F);  //00  	ili9342_write_cmd(spi, 0x35);  	ili9342_write_data(spi, 0x00);  |