summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormattis fjallstrom <mattis@acm.org>2014-12-16 10:48:09 -0800
committermattis fjallstrom <mattis@acm.org>2014-12-16 10:48:09 -0800
commitc49660a6cce1cd8a2d316a28ed2e2e1d65ff7ec5 (patch)
tree94222fec7911d1d3512b3fd77d7f971a1ae06d83
parentb2de5771de6ed2daa89f9ae69deed21054791721 (diff)
parent64d066d70cf7f5d5ef5358aa2f1897b10c3ef96f (diff)
downloadolio-linux-3.10-c49660a6cce1cd8a2d316a28ed2e2e1d65ff7ec5.tar.xz
olio-linux-3.10-c49660a6cce1cd8a2d316a28ed2e2e1d65ff7ec5.zip
Merge branch 'android-3.10-bringup' of ssh://internal.oliodevices.com:29418/kernel/omap into android-3.10-bringup
-rw-r--r--drivers/video/omap2/displays/panel-ili9342.c97
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);