diff options
Diffstat (limited to 'drivers/staging/fbtft/fbtft_device.c')
-rw-r--r-- | drivers/staging/fbtft/fbtft_device.c | 75 |
1 files changed, 50 insertions, 25 deletions
diff --git a/drivers/staging/fbtft/fbtft_device.c b/drivers/staging/fbtft/fbtft_device.c index 071f79bd1..241d7c6be 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[] = { @@ -1287,7 +1312,7 @@ Device 'xxx' does not have a release() function, it is broken and must be fixed static int spi_device_found(struct device *dev, void *data) { - struct spi_device *spi = container_of(dev, struct spi_device, dev); + struct spi_device *spi = to_spi_device(dev); dev_info(dev, "%s %s %dkHz %d bits mode=0x%02X\n", spi->modalias, dev_name(dev), spi->max_speed_hz / 1000, spi->bits_per_word, @@ -1305,7 +1330,7 @@ static void pr_spi_devices(void) static int p_device_found(struct device *dev, void *data) { struct platform_device - *pdev = container_of(dev, struct platform_device, dev); + *pdev = to_platform_device(dev); if (strstr(pdev->name, "fb")) dev_info(dev, "%s id=%d pdata? %s\n", pdev->name, pdev->id, |