diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig index f6889f649bc182..1b7d27cba7a4c1 100644 --- a/drivers/gpu/drm/tiny/Kconfig +++ b/drivers/gpu/drm/tiny/Kconfig @@ -212,3 +212,15 @@ config TINYDRM_ST7735R * Okaya RH128128T 1.44" 128x128 TFT If M is selected the module will be called st7735r. +config TINYDRM_ST7796S + tristate "DRM support for ST7796(S) LCD Controller" + depends on DRM && SPI + select DRM_KMS_HELPER + select DRM_KMS_CMA_HELPER + select DRM_MIPI_DBI + help + Choose this option if you have a LCD display with a ST7796(S) + controller. This driver provides the DRM support for the + ST7796(S) controller through the Tiny DRM subsystem. + + If M is selected the module will be called st7796s. diff --git a/drivers/gpu/drm/tiny/Makefile b/drivers/gpu/drm/tiny/Makefile index 76dde89a044b7d..d16d664eb39582 100644 --- a/drivers/gpu/drm/tiny/Makefile +++ b/drivers/gpu/drm/tiny/Makefile @@ -16,3 +16,4 @@ obj-$(CONFIG_TINYDRM_MI0283QT) += mi0283qt.o obj-$(CONFIG_TINYDRM_REPAPER) += repaper.o obj-$(CONFIG_TINYDRM_ST7586) += st7586.o obj-$(CONFIG_TINYDRM_ST7735R) += st7735r.o +obj-$(CONFIG_TINYDRM_ST7796) += st7796.o diff --git a/drivers/gpu/drm/tiny/st7796.c b/drivers/gpu/drm/tiny/st7796.c new file mode 100644 index 00000000000000..8d0ed631f70803 --- /dev/null +++ b/drivers/gpu/drm/tiny/st7796.c @@ -0,0 +1,328 @@ +/* + * DRM driver for Sitronix ST7796S panels + * + * Copyright 2016 Noralf Trønnes + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include