Add a driver that will work with most MIPI DBI compatible SPI panels. This avoids adding a driver for every new MIPI DBI compatible controller that is to be used by Linux. The 'compatible' Device Tree property with a '.bin' suffix will be used to load a firmware file that contains the controller configuration. Example (driver will load sainsmart18.bin): display@0 { compatible = "sainsmart18", "panel-mipi-dbi-spi"; ... }; v5: - kconfig: s/DRM_KMS_CMA_HELPER/DRM_GEM_CMA_HELPER/ (Sam) - kconfig: Add select VIDEOMODE_HELPERS (Sam) - kconfig: Add wiki url in the description (Sam) - Split out and use of_get_drm_panel_display_mode()(Sam) - Only use the first compatible to look for a firmware file since the binding mandates 2 compatibles. - Make having a firmware file mandatory so we can print an error message if it's missing to improve the user experience. It's very unlikely that a controller doesn't need to be initialized and if it doesn't, it's possible to have a firmware file containing only a DCS NOP. v4: - Move driver to drm/tiny where the other drivers of its kind are located. The driver module will not be shared with a future DPI driver after all. v3: - Move properties to DT (Maxime) - The MIPI DPI spec has optional support for DPI where the controller is configured over DBI. Rework the command functions so they can be moved to drm_mipi_dbi and shared with a future panel-mipi-dpi-spi driver v2: - Drop model property and use compatible instead (Rob) - Add wiki entry in MAINTAINERS Acked-by: Maxime Ripard <maxime@cerno.tech> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Signed-off-by: Maxime Ripard <maxime@cerno.tech> Link: https://patchwork.freedesktop.org/patch/msgid/20220227124713.39766-6-noralf@tronnes.org
18 lines
694 B
Makefile
18 lines
694 B
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
obj-$(CONFIG_DRM_ARCPGU) += arcpgu.o
|
|
obj-$(CONFIG_DRM_BOCHS) += bochs.o
|
|
obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus.o
|
|
obj-$(CONFIG_DRM_GM12U320) += gm12u320.o
|
|
obj-$(CONFIG_DRM_PANEL_MIPI_DBI) += panel-mipi-dbi.o
|
|
obj-$(CONFIG_DRM_SIMPLEDRM) += simpledrm.o
|
|
obj-$(CONFIG_TINYDRM_HX8357D) += hx8357d.o
|
|
obj-$(CONFIG_TINYDRM_ILI9163) += ili9163.o
|
|
obj-$(CONFIG_TINYDRM_ILI9225) += ili9225.o
|
|
obj-$(CONFIG_TINYDRM_ILI9341) += ili9341.o
|
|
obj-$(CONFIG_TINYDRM_ILI9486) += ili9486.o
|
|
obj-$(CONFIG_TINYDRM_MI0283QT) += mi0283qt.o
|
|
obj-$(CONFIG_TINYDRM_REPAPER) += repaper.o
|
|
obj-$(CONFIG_TINYDRM_ST7586) += st7586.o
|
|
obj-$(CONFIG_TINYDRM_ST7735R) += st7735r.o
|