mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
ODROID-N2 : fbtft_device new fast spi lcd(ili9486) driver added.
Change-Id: Iaa24ea37679637729b0ca7b773b9c89e6a0167f5
This commit is contained in:
@@ -67,6 +67,29 @@ static void set_addr_win(struct fbtft_par *par, int xs, int ys, int xe, int ye)
|
||||
|
||||
static int set_var(struct fbtft_par *par)
|
||||
{
|
||||
#if defined(CONFIG_ARCH_MESON64_ODROID_COMMON)
|
||||
#define ILI9486_MADCTL_MV 0x20
|
||||
#define ILI9486_MADCTL_MX 0x40
|
||||
#define ILI9486_MADCTL_MY 0x80
|
||||
|
||||
u8 val = 0;
|
||||
|
||||
switch (par->info->var.rotate) {
|
||||
case 270:
|
||||
val = ILI9486_MADCTL_MV | ILI9486_MADCTL_MX;
|
||||
break;
|
||||
case 180:
|
||||
val = ILI9486_MADCTL_MY | ILI9486_MADCTL_MX;
|
||||
break;
|
||||
case 90:
|
||||
val = ILI9486_MADCTL_MV | ILI9486_MADCTL_MY;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
/* Memory Access Control */
|
||||
write_reg(par, MIPI_DCS_SET_ADDRESS_MODE, val | (par->bgr << 3));
|
||||
#else
|
||||
switch (par->info->var.rotate) {
|
||||
case 0:
|
||||
write_reg(par, MIPI_DCS_SET_ADDRESS_MODE,
|
||||
@@ -87,7 +110,7 @@ static int set_var(struct fbtft_par *par)
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -133,23 +133,55 @@ static void adafruit18_green_tab_set_addr_win(struct fbtft_par *par,
|
||||
|
||||
#if defined(CONFIG_ARCH_MESON64_ODROID_COMMON)
|
||||
static int odroid35_init_sequence[] = {
|
||||
/* Fast SPI-LCD Init */
|
||||
-1, 0xf1, 0x36, 0x04, 0x00, 0x3c, 0x0f, 0x8f,
|
||||
-1, 0xf2, 0x18, 0xa3, 0x12, 0x02, 0xb2, 0x12, 0xff, 0x10, 0x00,
|
||||
-1, 0xf8, 0x21, 0x04,
|
||||
-1, 0xf9, 0x00, 0x08,
|
||||
-1, 0x36, 0x08,
|
||||
-1, 0xb4, 0x00,
|
||||
-1, 0xc1, 0x41,
|
||||
-1, 0xc5, 0x00, 0x91, 0x80, 0x00,
|
||||
-1, 0xe0, 0x0f, 0x1f, 0x1c, 0x0c, 0x0f, 0x08, 0x48,
|
||||
0x98, 0x37, 0x0a, 0x13, 0x04, 0x11, 0x0d, 0x00,
|
||||
-1, 0xe1, 0x0f, 0x32, 0x2e, 0x0b, 0x0d, 0x05, 0x47,
|
||||
0x75, 0x37, 0x06, 0x10, 0x03, 0x24, 0x20, 0x00,
|
||||
-1, 0x3a, 0x55,
|
||||
/* Fast SPI-LCD Init : IPS(New Version LCD) */
|
||||
/* Passwd 1 */
|
||||
-1, 0xF0, 0x5A, 0x5A,
|
||||
/* Passwd 2 */
|
||||
-1, 0xF1, 0x5A, 0x5A,
|
||||
/* DISCTL */
|
||||
-1, 0xf2, 0x3B, 0x48, 0x03, 0x08, 0x08, 0x08, 0x08, 0x00, 0x08,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x54, 0x08, 0x08, 0x08, 0x08,
|
||||
/* PWRCTL */
|
||||
-1, 0xF4, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x3F, 0x79, 0x03, 0x3F, 0x79, 0x03,
|
||||
/* VCMCTL */
|
||||
-1, 0xF5, 0x00, 0x5D, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
|
||||
0x00, 0x5D, 0x75,
|
||||
/* SRCCTL */
|
||||
-1, 0xF6, 0x04, 0x00, 0x08, 0x03, 0x01, 0x00, 0x01, 0x00,
|
||||
/* IFCTL */
|
||||
-1, 0xF7, 0x48, 0x80, 0x10, 0x02, 0x00,
|
||||
/* PANELCTL */
|
||||
-1, 0xF8, 0x11, 0x00,
|
||||
/* GAMMASEL : RED */
|
||||
-1, 0xF9, 0x24,
|
||||
/* PGAMMACTL */
|
||||
-1, 0xFA, 0x0B, 0x0B, 0x05, 0x01, 0x0B, 0x20, 0x2C, 0x13,
|
||||
0x21, 0x24, 0x30, 0x32, 0x24, 0x00, 0x00, 0x01,
|
||||
/* GAMMASEL : GREEN */
|
||||
-1, 0xF9, 0x22,
|
||||
-1, 0xFA, 0x0B, 0x0B, 0x10, 0x31, 0x32, 0x35, 0x36, 0x11,
|
||||
0x1D, 0x23, 0x2F, 0x2F, 0x24, 0x00, 0x00, 0x01,
|
||||
/* GAMMASEL : BLUE */
|
||||
-1, 0xF9, 0x21,
|
||||
-1, 0xFA, 0x0B, 0x0B, 0x1A, 0x3A, 0x3F, 0x3F, 0x3F, 0x07,
|
||||
0x18, 0x1F, 0x28, 0x1E, 0x1A, 0x00, 0x00, 0x01,
|
||||
/* COLMCD */
|
||||
-1, 0x3A, 0x55, /* Base Customer Selection */
|
||||
/* 0x77 = 24 bits/pixel, 0x66 = 18 bits/pixel, 0x55 = 16 bits/pixel */
|
||||
/* MADCTL */
|
||||
-1, 0x36, 0x00,
|
||||
/* TEON */
|
||||
-1, 0x35, 0x00,
|
||||
/* PASET */
|
||||
-1, 0x2B, 0x00, 0x00, 0x01, 0xDF,
|
||||
/* CASET */
|
||||
-1, 0x2A, 0x00, 0x00, 0x01, 0x3F,
|
||||
/* SLPOUT */
|
||||
-1, 0x11,
|
||||
-1, 0x36, 0x28,
|
||||
-2, 0xff,
|
||||
/* 120ms Delay */
|
||||
-2, 0xFF,
|
||||
/* DISPON */
|
||||
-1, 0x29,
|
||||
/* end marker */
|
||||
-3,
|
||||
@@ -962,7 +994,7 @@ static struct fbtft_device_display displays[] = {
|
||||
.backlight = 1,
|
||||
.init_sequence = odroid35_init_sequence,
|
||||
},
|
||||
.bgr = true,
|
||||
.bgr = false,
|
||||
.gpios = (const struct fbtft_gpio []) {
|
||||
{ "reset", 478 },
|
||||
{ "dc", 477 },
|
||||
|
||||
Reference in New Issue
Block a user