diff --git a/sysdrv/source/kernel/drivers/gpu/drm/tiny/Kconfig b/sysdrv/source/kernel/drivers/gpu/drm/tiny/Kconfig index 2b6414f0f..5449e2757 100644 --- a/sysdrv/source/kernel/drivers/gpu/drm/tiny/Kconfig +++ b/sysdrv/source/kernel/drivers/gpu/drm/tiny/Kconfig @@ -53,6 +53,18 @@ config TINYDRM_ILI9225 If M is selected the module will be called ili9225. +config TINYDRM_ILI9340 + tristate "DRM support for ILI9340 display panels" + depends on DRM && SPI + select DRM_KMS_HELPER + select DRM_KMS_CMA_HELPER + select DRM_MIPI_DBI + select BACKLIGHT_CLASS_DEVICE + help + DRM driver for some Ilitek ILI9340 panels + + If M is selected the module will be called ili9340. + config TINYDRM_ILI9341 tristate "DRM support for ILI9341 display panels" depends on DRM && SPI diff --git a/sysdrv/source/kernel/drivers/gpu/drm/tiny/Makefile b/sysdrv/source/kernel/drivers/gpu/drm/tiny/Makefile index 6ae4e9e5a..27237c1d2 100644 --- a/sysdrv/source/kernel/drivers/gpu/drm/tiny/Makefile +++ b/sysdrv/source/kernel/drivers/gpu/drm/tiny/Makefile @@ -4,6 +4,7 @@ obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus.o obj-$(CONFIG_DRM_GM12U320) += gm12u320.o obj-$(CONFIG_TINYDRM_HX8357D) += hx8357d.o obj-$(CONFIG_TINYDRM_ILI9225) += ili9225.o +obj-$(CONFIG_TINYDRM_ILI9340) += ili9340.o obj-$(CONFIG_TINYDRM_ILI9341) += ili9341.o obj-$(CONFIG_TINYDRM_ILI9486) += ili9486.o obj-$(CONFIG_TINYDRM_MI0283QT) += mi0283qt.o diff --git a/sysdrv/source/kernel/drivers/gpu/drm/tiny/ili9340.c b/sysdrv/source/kernel/drivers/gpu/drm/tiny/ili9340.c new file mode 100644 index 000000000..23f0c9f97 --- /dev/null +++ b/sysdrv/source/kernel/drivers/gpu/drm/tiny/ili9340.c @@ -0,0 +1,278 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * DRM driver for Ilitek ILI9340 panels + * + * Copyright 2018 David Lechner + * + * Based on mi0283qt.c: + * Copyright 2016 Noralf Trønnes + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include