This patch makes use of the standard MIPI Display Command Set to remove
some of the magic constants found in source code.

Signed-off-by: Priit Laes <pl...@plaes.org>
---
 drivers/staging/fbtft/fbtft-core.c   | 14 +++----
 drivers/staging/fbtft/fbtft_device.c | 71 ++++++++++++++++++++++++------------
 2 files changed, 54 insertions(+), 31 deletions(-)

diff --git a/drivers/staging/fbtft/fbtft-core.c 
b/drivers/staging/fbtft/fbtft-core.c
index b1e4516..7f7ff1b 100644
--- a/drivers/staging/fbtft/fbtft-core.c
+++ b/drivers/staging/fbtft/fbtft-core.c
@@ -35,6 +35,7 @@
 #include <linux/dma-mapping.h>
 #include <linux/of.h>
 #include <linux/of_gpio.h>
+#include <video/mipi_display.h>
 
 #include "fbtft.h"
 #include "internal.h"
@@ -319,16 +320,13 @@ EXPORT_SYMBOL(fbtft_unregister_backlight);
 static void fbtft_set_addr_win(struct fbtft_par *par, int xs, int ys, int xe,
                               int ye)
 {
-       /* Column address set */
-       write_reg(par, 0x2A,
-               (xs >> 8) & 0xFF, xs & 0xFF, (xe >> 8) & 0xFF, xe & 0xFF);
+       write_reg(par, MIPI_DCS_SET_COLUMN_ADDRESS,
+                 (xs >> 8) & 0xFF, xs & 0xFF, (xe >> 8) & 0xFF, xe & 0xFF);
 
-       /* Row address set */
-       write_reg(par, 0x2B,
-               (ys >> 8) & 0xFF, ys & 0xFF, (ye >> 8) & 0xFF, ye & 0xFF);
+       write_reg(par, MIPI_DCS_SET_PAGE_ADDRESS,
+                 (ys >> 8) & 0xFF, ys & 0xFF, (ye >> 8) & 0xFF, ye & 0xFF);
 
-       /* Memory write */
-       write_reg(par, 0x2C);
+       write_reg(par, MIPI_DCS_WRITE_MEMORY_START);
 }
 
 static void fbtft_reset(struct fbtft_par *par)
diff --git a/drivers/staging/fbtft/fbtft_device.c 
b/drivers/staging/fbtft/fbtft_device.c
index 071f79b..a0366e5 100644
--- a/drivers/staging/fbtft/fbtft_device.c
+++ b/drivers/staging/fbtft/fbtft_device.c
@@ -212,38 +212,63 @@ static int hy28b_init_sequence[] = {
        "0F 00 1 7 4 0 0 0 6 7"
 
 static int pitft_init_sequence[] = {
-       -1, 0x01, -2, 5, -1, 0x28, -1, 0xEF,
-       0x03, 0x80, 0x02, -1, 0xCF, 0x00, 0xC1, 0x30,
+       -1, MIPI_DCS_SOFT_RESET,
+       -2, 5,
+       -1, MIPI_DCS_SET_DISPLAY_OFF,
+       -1, 0xEF, 0x03, 0x80, 0x02,
+       -1, 0xCF, 0x00, 0xC1, 0x30,
        -1, 0xED, 0x64, 0x03, 0x12, 0x81,
        -1, 0xE8, 0x85, 0x00, 0x78,
        -1, 0xCB, 0x39, 0x2C, 0x00, 0x34, 0x02,
-       -1, 0xF7, 0x20, -1, 0xEA, 0x00, 0x00,
-       -1, 0xC0, 0x23, -1, 0xC1, 0x10, -1, 0xC5,
-       0x3e, 0x28, -1, 0xC7, 0x86, -1, 0x3A, 0x55,
-       -1, 0xB1, 0x00, 0x18, -1, 0xB6, 0x08, 0x82,
-       0x27, -1, 0xF2, 0x00, -1, 0x26, 0x01,
-       -1, 0xE0, 0x0F, 0x31, 0x2B, 0x0C, 0x0E, 0x08,
-       0x4E, 0xF1, 0x37, 0x07, 0x10, 0x03,
-       0x0E, 0x09, 0x00, -1, 0xE1, 0x00, 0x0E, 0x14,
-       0x03, 0x11, 0x07, 0x31, 0xC1, 0x48,
-       0x08, 0x0F, 0x0C, 0x31, 0x36, 0x0F, -1,
-       0x11, -2, 100, -1, 0x29, -2, 20, -3 };
+       -1, 0xF7, 0x20,
+       -1, 0xEA, 0x00, 0x00,
+       -1, 0xC0, 0x23,
+       -1, 0xC1, 0x10,
+       -1, 0xC5, 0x3E, 0x28,
+       -1, 0xC7, 0x86,
+       -1, MIPI_DCS_SET_PIXEL_FORMAT, 0x55,
+       -1, 0xB1, 0x00, 0x18,
+       -1, 0xB6, 0x08, 0x82, 0x27,
+       -1, 0xF2, 0x00,
+       -1, MIPI_DCS_SET_GAMMA_CURVE, 0x01,
+       -1, 0xE0, 0x0F, 0x31, 0x2B, 0x0C, 0x0E, 0x08, 0x4E,
+               0xF1, 0x37, 0x07, 0x10, 0x03, 0x0E, 0x09, 0x00,
+       -1, 0xE1, 0x00, 0x0E, 0x14, 0x03, 0x11, 0x07, 0x31,
+               0xC1, 0x48, 0x08, 0x0F, 0x0C, 0x31, 0x36, 0x0F,
+       -1, MIPI_DCS_EXIT_SLEEP_MODE,
+       -2, 100,
+       -1, MIPI_DCS_SET_DISPLAY_ON,
+       -2, 20,
+       -3
+};
 
 static int waveshare32b_init_sequence[] = {
        -1, 0xCB, 0x39, 0x2C, 0x00, 0x34, 0x02,
        -1, 0xCF, 0x00, 0xC1, 0x30,
-       -1, 0xE8, 0x85, 0x00, 0x78, -1, 0xEA, 0x00,
-       0x00, -1, 0xED, 0x64, 0x03, 0x12, 0x81,
-       -1, 0xF7, 0x20, -1, 0xC0, 0x23, -1, 0xC1,
-       0x10, -1, 0xC5, 0x3e, 0x28, -1, 0xC7, 0x86,
-       -1, 0x36, 0x28, -1, 0x3A, 0x55, -1, 0xB1, 0x00,
-       0x18, -1, 0xB6, 0x08, 0x82, 0x27,
-       -1, 0xF2, 0x00, -1, 0x26, 0x01,
+       -1, 0xE8, 0x85, 0x00, 0x78,
+       -1, 0xEA, 0x00, 0x00,
+       -1, 0xED, 0x64, 0x03, 0x12, 0x81,
+       -1, 0xF7, 0x20,
+       -1, 0xC0, 0x23,
+       -1, 0xC1, 0x10,
+       -1, 0xC5, 0x3E, 0x28,
+       -1, 0xC7, 0x86,
+       -1, MIPI_DCS_SET_ADDRESS_MODE, 0x28,
+       -1, MIPI_DCS_SET_PIXEL_FORMAT, 0x55,
+       -1, 0xB1, 0x00, 0x18,
+       -1, 0xB6, 0x08, 0x82, 0x27,
+       -1, 0xF2, 0x00,
+       -1, MIPI_DCS_SET_GAMMA_CURVE, 0x01,
        -1, 0xE0, 0x0F, 0x31, 0x2B, 0x0C, 0x0E, 0x08, 0x4E,
-       0xF1, 0x37, 0x07, 0x10, 0x03, 0x0E, 0x09, 0x00,
+               0xF1, 0x37, 0x07, 0x10, 0x03, 0x0E, 0x09, 0x00,
        -1, 0xE1, 0x00, 0x0E, 0x14, 0x03, 0x11, 0x07, 0x31,
-       0xC1, 0x48, 0x08, 0x0F, 0x0C, 0x31, 0x36, 0x0F,
-       -1, 0x11, -2, 120, -1, 0x29, -1, 0x2c, -3 };
+               0xC1, 0x48, 0x08, 0x0F, 0x0C, 0x31, 0x36, 0x0F,
+       -1, MIPI_DCS_EXIT_SLEEP_MODE,
+       -2, 120,
+       -1, MIPI_DCS_SET_DISPLAY_ON,
+       -1, MIPI_DCS_WRITE_MEMORY_START,
+       -3
+};
 
 /* Supported displays in alphabetical order */
 static struct fbtft_device_display displays[] = {
-- 
2.6.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to