The simpledrm driver is a DRM driver for simple-framebuffer framebuffers as provided by the kernel's boot code. This driver enables basic graphical output on many different graphics devices that are provided by the platform (e.g., EFI, VESA, embedded framebuffers). With the kernel's simple-framebuffer infrastructure, the kernel receives a pre-configured framebuffer from the system (i.e., firmware, boot loader). It creates a platform device to which simpledrm attaches. The system's framebuffer consists of a memory range, size and format. Based on these values, simpledrm creates a DRM devices. No actual modesetting is possible. A firmware framebuffer might also be specified via device-tree files. If no device platform data is given, try the DT device node. Make sure required hardware clocks and regulators are enabled while the firmware framebuffer is in use. The basic code has been taken from the simplefb driver and adapted to DRM. Clocks are released automatically via devres helpers. The drivers displays a console on simpledrm's framebuffer. The default framebuffer format is being used. v4: * disable simplefb if simpledrm has been selected (Maxime) v3: * add disable function that clears screen to black (Daniel) * set shadow buffering only for fbdev emulation * set platform-driver data during device creation v2: * rename driver to simpledrm * add dri-devel to MAINTAINERS entry * put native format first in primary-plane format list (Daniel) * inline simplekms_device_cleanup() (Daniel) * use helpers for shadow-buffered planes * fix whitespace errors * add Device Tree match table * clean-up parser wrappers * use strscpy() Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> # fbdev support Acked-by: Maxime Ripard <maxime@cerno.tech> Tested-by: nerdopolis <bluescreen_avenger@verizon.net> Link: https://patchwork.freedesktop.org/patch/msgid/20210430105840.30515-5-tzimmermann@suse.de Link: https://patchwork.freedesktop.org/patch/msgid/20210430105840.30515-6-tzimmermann@suse.de Link: https://patchwork.freedesktop.org/patch/msgid/20210430105840.30515-7-tzimmermann@suse.de Link: https://patchwork.freedesktop.org/patch/msgid/20210430105840.30515-8-tzimmermann@suse.de Link: https://patchwork.freedesktop.org/patch/msgid/20210430105840.30515-9-tzimmermann@suse.de
160 lines
4.6 KiB
Plaintext
160 lines
4.6 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
config DRM_ARCPGU
|
|
tristate "ARC PGU"
|
|
depends on DRM && OF
|
|
select DRM_KMS_CMA_HELPER
|
|
select DRM_KMS_HELPER
|
|
help
|
|
Choose this option if you have an ARC PGU controller.
|
|
|
|
If M is selected the module will be called arcpgu.
|
|
|
|
config DRM_CIRRUS_QEMU
|
|
tristate "Cirrus driver for QEMU emulated device"
|
|
depends on DRM && PCI && MMU
|
|
select DRM_KMS_HELPER
|
|
select DRM_GEM_SHMEM_HELPER
|
|
help
|
|
This is a KMS driver for emulated cirrus device in qemu.
|
|
It is *NOT* intended for real cirrus devices. This requires
|
|
the modesetting userspace X.org driver.
|
|
|
|
Cirrus is obsolete, the hardware was designed in the 90ies
|
|
and can't keep up with todays needs. More background:
|
|
https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/
|
|
|
|
Better alternatives are:
|
|
- stdvga (DRM_BOCHS, qemu -vga std, default in qemu 2.2+)
|
|
- qxl (DRM_QXL, qemu -vga qxl, works best with spice)
|
|
- virtio (DRM_VIRTIO_GPU), qemu -vga virtio)
|
|
|
|
config DRM_GM12U320
|
|
tristate "GM12U320 driver for USB projectors"
|
|
depends on DRM && USB
|
|
select DRM_KMS_HELPER
|
|
select DRM_GEM_SHMEM_HELPER
|
|
help
|
|
This is a KMS driver for projectors which use the GM12U320 chipset
|
|
for video transfer over USB2/3, such as the Acer C120 mini projector.
|
|
|
|
config DRM_SIMPLEDRM
|
|
tristate "Simple framebuffer driver"
|
|
depends on DRM
|
|
select DRM_GEM_SHMEM_HELPER
|
|
select DRM_KMS_HELPER
|
|
help
|
|
DRM driver for simple platform-provided framebuffers.
|
|
|
|
This driver assumes that the display hardware has been initialized
|
|
by the firmware or bootloader before the kernel boots. Scanout
|
|
buffer, size, and display format must be provided via device tree,
|
|
UEFI, VESA, etc.
|
|
|
|
On x86 and compatible, you should also select CONFIG_X86_SYSFB to
|
|
use UEFI and VESA framebuffers.
|
|
|
|
config TINYDRM_HX8357D
|
|
tristate "DRM support for HX8357D 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 the following HX8357D panels:
|
|
* YX350HV15-T 3.5" 340x350 TFT (Adafruit 3.5")
|
|
|
|
If M is selected the module will be called hx8357d.
|
|
|
|
config TINYDRM_ILI9225
|
|
tristate "DRM support for ILI9225 display panels"
|
|
depends on DRM && SPI
|
|
select DRM_KMS_HELPER
|
|
select DRM_KMS_CMA_HELPER
|
|
select DRM_MIPI_DBI
|
|
help
|
|
DRM driver for the following Ilitek ILI9225 panels:
|
|
* No-name 2.2" color screen module
|
|
|
|
If M is selected the module will be called ili9225.
|
|
|
|
config TINYDRM_ILI9341
|
|
tristate "DRM support for ILI9341 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 the following Ilitek ILI9341 panels:
|
|
* YX240QV29-T 2.4" 240x320 TFT (Adafruit 2.4")
|
|
|
|
If M is selected the module will be called ili9341.
|
|
|
|
config TINYDRM_ILI9486
|
|
tristate "DRM support for ILI9486 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 the following Ilitek ILI9486 panels:
|
|
* PISCREEN 3.5" 320x480 TFT (Ozzmaker 3.5")
|
|
* RPILCD 3.5" 320x480 TFT (Waveshare 3.5")
|
|
|
|
If M is selected the module will be called ili9486.
|
|
|
|
config TINYDRM_MI0283QT
|
|
tristate "DRM support for MI0283QT"
|
|
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 the Multi-Inno MI0283QT display panel
|
|
If M is selected the module will be called mi0283qt.
|
|
|
|
config TINYDRM_REPAPER
|
|
tristate "DRM support for Pervasive Displays RePaper panels (V231)"
|
|
depends on DRM && SPI
|
|
select DRM_KMS_HELPER
|
|
select DRM_KMS_CMA_HELPER
|
|
help
|
|
DRM driver for the following Pervasive Displays panels:
|
|
1.44" TFT EPD Panel (E1144CS021)
|
|
1.90" TFT EPD Panel (E1190CS021)
|
|
2.00" TFT EPD Panel (E2200CS021)
|
|
2.71" TFT EPD Panel (E2271CS021)
|
|
|
|
If M is selected the module will be called repaper.
|
|
|
|
config TINYDRM_ST7586
|
|
tristate "DRM support for Sitronix ST7586 display panels"
|
|
depends on DRM && SPI
|
|
select DRM_KMS_HELPER
|
|
select DRM_KMS_CMA_HELPER
|
|
select DRM_MIPI_DBI
|
|
help
|
|
DRM driver for the following Sitronix ST7586 panels:
|
|
* LEGO MINDSTORMS EV3
|
|
|
|
If M is selected the module will be called st7586.
|
|
|
|
config TINYDRM_ST7735R
|
|
tristate "DRM support for Sitronix ST7715R/ST7735R 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 Sitronix ST7715R/ST7735R with one of the following
|
|
LCDs:
|
|
* Jianda JD-T18003-T01 1.8" 128x160 TFT
|
|
* Okaya RH128128T 1.44" 128x128 TFT
|
|
|
|
If M is selected the module will be called st7735r.
|