diff options
Diffstat (limited to 'drivers/video/omap2/displays/panel-ili9342.c')
| -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); |