forked from Minki/linux
4b6dd3cae3
Support Boe Himax8279d 8.0" 1200x1920 TFT LCD panel, it is a MIPI DSI panel. V11: - Use the backlight support in drm_panel to simplify the driver (Sam) V10: - Adjust init code, make the format more concise (Emil) V9: - kill off default_off_cmds (Emil) - use mipi_dsi_dcs_set_display_{on,off} in their enable/disable callbacks. (Emil) - Adjusting the delay function (Emil) V8: - modify PARENTHESIS_ALIGNMENT format (Sam) - use gpios are required API replace optional gpio API (Emil) V7: - Modify communication address V6: - Add the information of the reviewer - Remove unnecessary delays, The udelay_range code gracefully returns without hitting the scheduler on a delay of 0. (Derek) - Merge the same data structures, like display_mode and off_cmds (Derek) - Optimize the processing of results returned by devm_gpiod_get_optional (Derek) V5: - Add the information of the reviewer (Sam) - Delete unnecessary header files #include <linux/fb.h> (Sam) - The config DRM_PANEL_BOE_HIMAX8279D appears twice. Drop one of them (Sam) - ADD static, set_gpios function is not used outside this module (Sam) V4: - Frefix all function maes with boe_ (Sam) - Fsed "enable_gpio" replace "reset_gpio", Make it look clearer (Sam) - Sort include lines alphabetically (Sam) - Fixed entries in the makefile must be sorted alphabetically (Sam) - Add send_mipi_cmds function to avoid duplicating the code (Sam) - Add the necessary delay(reset_delay_t5) between reset and sending the initialization command (Rock wang) V3: - Remove unnecessary delays in sending initialization commands (Jitao Shi) V2: - Use SPDX identifier (Sam) - Use necessary header files replace drmP.h (Sam) - Delete unnecessary header files #include <linux/err.h> (Sam) - Specifies a GPIOs array to control the reset timing, instead of reading "dsi-reset-sequence" data from DTS (Sam) - Delete backlight_disable() function when already disabled (Sam) - Use devm_of_find_backlight() replace of_find_backlight_by_node() (Sam) - Move the necessary data in the DTS to the current file, like porch, display_mode and Init code etc. (Sam) - Add compatible device "boe,himax8279d10p" (Sam) V1: - Support Boe Himax8279d 8.0" 1200x1920 TFT LCD panel, it is a MIPI DSI panel. Signed-off-by: Jerry Han <jerry.han.hq@gmail.com> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Reviewed-by: Derek Basehore <dbasehore@chromium.org> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Reported-by: kbuild test robot <lkp@intel.com> Cc: Jitao Shi <jitao.shi@mediatek.com> Cc: Rock wang <rock_wang@himax.com.cn> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> [fixed boe_panel_get_modes + backlight] Link: https://patchwork.freedesktop.org/patch/msgid/20191212115208.3878-1-jerry.han.hq@gmail.com
370 lines
11 KiB
Plaintext
370 lines
11 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
||
config DRM_PANEL
|
||
bool
|
||
depends on DRM
|
||
help
|
||
Panel registration and lookup framework.
|
||
|
||
menu "Display Panels"
|
||
depends on DRM && DRM_PANEL
|
||
|
||
config DRM_PANEL_ARM_VERSATILE
|
||
tristate "ARM Versatile panel driver"
|
||
depends on OF
|
||
depends on MFD_SYSCON
|
||
select VIDEOMODE_HELPERS
|
||
help
|
||
This driver supports the ARM Versatile panels connected to ARM
|
||
reference designs. The panel is detected using special registers
|
||
in the Versatile family syscon registers.
|
||
|
||
config DRM_PANEL_BOE_HIMAX8279D
|
||
tristate "Boe Himax8279d panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for Boe Himax8279d
|
||
TFT-LCD modules. The panel has a 1200x1920 resolution and uses
|
||
24 bit RGB per pixel. It provides a MIPI DSI interface to
|
||
the host and has a built-in LED backlight.
|
||
|
||
config DRM_PANEL_LVDS
|
||
tristate "Generic LVDS panel driver"
|
||
depends on OF
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
select VIDEOMODE_HELPERS
|
||
help
|
||
This driver supports LVDS panels that don't require device-specific
|
||
handling of power supplies or control signals. It implements automatic
|
||
backlight handling if the panel is attached to a backlight controller.
|
||
|
||
config DRM_PANEL_SIMPLE
|
||
tristate "support for simple panels"
|
||
depends on OF
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
select VIDEOMODE_HELPERS
|
||
help
|
||
DRM panel driver for dumb panels that need at most a regulator and
|
||
a GPIO to be powered up. Optionally a backlight can be attached so
|
||
that it can be automatically turned off when the panel goes into a
|
||
low power state.
|
||
|
||
config DRM_PANEL_FEIYANG_FY07024DI26A30D
|
||
tristate "Feiyang FY07024DI26A30-D MIPI-DSI LCD panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y if you want to enable support for panels based on the
|
||
Feiyang FY07024DI26A30-D MIPI-DSI interface.
|
||
|
||
config DRM_PANEL_ILITEK_IL9322
|
||
tristate "Ilitek ILI9322 320x240 QVGA panels"
|
||
depends on OF && SPI
|
||
select REGMAP
|
||
help
|
||
Say Y here if you want to enable support for Ilitek IL9322
|
||
QVGA (320x240) RGB, YUV and ITU-T BT.656 panels.
|
||
|
||
config DRM_PANEL_ILITEK_ILI9881C
|
||
tristate "Ilitek ILI9881C-based panels"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y if you want to enable support for panels based on the
|
||
Ilitek ILI9881c controller.
|
||
|
||
config DRM_PANEL_INNOLUX_P079ZCA
|
||
tristate "Innolux P079ZCA panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for Innolux P079ZCA
|
||
TFT-LCD modules. The panel has a 1024x768 resolution and uses
|
||
24 bit RGB per pixel. It provides a MIPI DSI interface to
|
||
the host and has a built-in LED backlight.
|
||
|
||
config DRM_PANEL_JDI_LT070ME05000
|
||
tristate "JDI LT070ME05000 WUXGA DSI panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for JDI DSI video mode
|
||
panel as found in Google Nexus 7 (2013) devices.
|
||
The panel has a 1200(RGB)×1920 (WUXGA) resolution and uses
|
||
24 bit per pixel.
|
||
|
||
config DRM_PANEL_KINGDISPLAY_KD097D04
|
||
tristate "Kingdisplay kd097d04 panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for Kingdisplay kd097d04
|
||
TFT-LCD modules. The panel has a 1536x2048 resolution and uses
|
||
24 bit RGB per pixel. It provides a MIPI DSI interface to
|
||
the host and has a built-in LED backlight.
|
||
|
||
config DRM_PANEL_SAMSUNG_LD9040
|
||
tristate "Samsung LD9040 RGB/SPI panel"
|
||
depends on OF && SPI
|
||
select VIDEOMODE_HELPERS
|
||
|
||
config DRM_PANEL_LG_LB035Q02
|
||
tristate "LG LB035Q024573 RGB panel"
|
||
depends on GPIOLIB && OF && SPI
|
||
help
|
||
Say Y here if you want to enable support for the LB035Q02 RGB panel
|
||
(found on the Gumstix Overo Palo35 board). To compile this driver as
|
||
a module, choose M here.
|
||
|
||
config DRM_PANEL_LG_LG4573
|
||
tristate "LG4573 RGB/SPI panel"
|
||
depends on OF && SPI
|
||
select VIDEOMODE_HELPERS
|
||
help
|
||
Say Y here if you want to enable support for LG4573 RGB panel.
|
||
To compile this driver as a module, choose M here.
|
||
|
||
config DRM_PANEL_NEC_NL8048HL11
|
||
tristate "NEC NL8048HL11 RGB panel"
|
||
depends on GPIOLIB && OF && SPI
|
||
help
|
||
Say Y here if you want to enable support for the NEC NL8048HL11 RGB
|
||
panel (found on the Zoom2/3/3630 SDP boards). To compile this driver
|
||
as a module, choose M here.
|
||
|
||
config DRM_PANEL_NOVATEK_NT39016
|
||
tristate "Novatek NT39016 RGB/SPI panel"
|
||
depends on OF && SPI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
select REGMAP_SPI
|
||
help
|
||
Say Y here if you want to enable support for the panels built
|
||
around the Novatek NT39016 display controller.
|
||
|
||
config DRM_PANEL_OLIMEX_LCD_OLINUXINO
|
||
tristate "Olimex LCD-OLinuXino panel"
|
||
depends on OF
|
||
depends on I2C
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
The panel is used with different sizes LCDs, from 480x272 to
|
||
1280x800, and 24 bit per pixel.
|
||
|
||
Say Y here if you want to enable support for Olimex Ltd.
|
||
LCD-OLinuXino panel.
|
||
|
||
config DRM_PANEL_ORISETECH_OTM8009A
|
||
tristate "Orise Technology otm8009a 480x800 dsi 2dl panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for Orise Technology
|
||
otm8009a 480x800 dsi 2dl panel.
|
||
|
||
config DRM_PANEL_OSD_OSD101T2587_53TS
|
||
tristate "OSD OSD101T2587-53TS DSI 1920x1200 video mode panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for One Stop Displays
|
||
OSD101T2587-53TS 10.1" 1920x1200 dsi panel.
|
||
|
||
config DRM_PANEL_PANASONIC_VVX10F034N00
|
||
tristate "Panasonic VVX10F034N00 1920x1200 video mode panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for Panasonic VVX10F034N00
|
||
WUXGA (1920x1200) Novatek NT1397-based DSI panel as found in some
|
||
Xperia Z2 tablets
|
||
|
||
config DRM_PANEL_RASPBERRYPI_TOUCHSCREEN
|
||
tristate "Raspberry Pi 7-inch touchscreen panel"
|
||
depends on DRM_MIPI_DSI
|
||
help
|
||
Say Y here if you want to enable support for the Raspberry
|
||
Pi 7" Touchscreen. To compile this driver as a module,
|
||
choose M here.
|
||
|
||
config DRM_PANEL_RAYDIUM_RM67191
|
||
tristate "Raydium RM67191 FHD 1080x1920 DSI video mode panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for Raydium RM67191 FHD
|
||
(1080x1920) DSI panel.
|
||
|
||
config DRM_PANEL_RAYDIUM_RM68200
|
||
tristate "Raydium RM68200 720x1280 DSI video mode panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for Raydium RM68200
|
||
720x1280 DSI video mode panel.
|
||
|
||
config DRM_PANEL_ROCKTECH_JH057N00900
|
||
tristate "Rocktech JH057N00900 MIPI touchscreen panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for Rocktech JH057N00900
|
||
MIPI DSI panel as e.g. used in the Librem 5 devkit. It has a
|
||
resolution of 720x1440 pixels, a built in backlight and touch
|
||
controller.
|
||
Touch input support is provided by the goodix driver and needs to be
|
||
selected separately.
|
||
|
||
config DRM_PANEL_RONBO_RB070D30
|
||
tristate "Ronbo Electronics RB070D30 panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for Ronbo Electronics
|
||
RB070D30 1024x600 DSI panel.
|
||
|
||
config DRM_PANEL_SAMSUNG_S6D16D0
|
||
tristate "Samsung S6D16D0 DSI video mode panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
select VIDEOMODE_HELPERS
|
||
|
||
config DRM_PANEL_SAMSUNG_S6E3HA2
|
||
tristate "Samsung S6E3HA2 DSI video mode panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
select VIDEOMODE_HELPERS
|
||
|
||
config DRM_PANEL_SAMSUNG_S6E63J0X03
|
||
tristate "Samsung S6E63J0X03 DSI command mode panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
select VIDEOMODE_HELPERS
|
||
|
||
config DRM_PANEL_SAMSUNG_S6E63M0
|
||
tristate "Samsung S6E63M0 RGB/SPI panel"
|
||
depends on OF
|
||
depends on SPI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for Samsung S6E63M0
|
||
AMOLED LCD panel.
|
||
|
||
config DRM_PANEL_SAMSUNG_S6E8AA0
|
||
tristate "Samsung S6E8AA0 DSI video mode panel"
|
||
depends on OF
|
||
select DRM_MIPI_DSI
|
||
select VIDEOMODE_HELPERS
|
||
|
||
config DRM_PANEL_SEIKO_43WVF1G
|
||
tristate "Seiko 43WVF1G panel"
|
||
depends on OF
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
select VIDEOMODE_HELPERS
|
||
help
|
||
Say Y here if you want to enable support for the Seiko
|
||
43WVF1G controller for 800x480 LCD panels
|
||
|
||
config DRM_PANEL_SHARP_LQ101R1SX01
|
||
tristate "Sharp LQ101R1SX01 panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for Sharp LQ101R1SX01
|
||
TFT-LCD modules. The panel has a 2560x1600 resolution and uses
|
||
24 bit RGB per pixel. It provides a dual MIPI DSI interface to
|
||
the host and has a built-in LED backlight.
|
||
|
||
To compile this driver as a module, choose M here: the module
|
||
will be called panel-sharp-lq101r1sx01.
|
||
|
||
config DRM_PANEL_SHARP_LS037V7DW01
|
||
tristate "Sharp LS037V7DW01 VGA LCD panel"
|
||
depends on GPIOLIB && OF && REGULATOR
|
||
help
|
||
Say Y here if you want to enable support for Sharp LS037V7DW01 VGA
|
||
(480x640) LCD panel (found on the TI SDP3430 board).
|
||
|
||
config DRM_PANEL_SHARP_LS043T1LE01
|
||
tristate "Sharp LS043T1LE01 qHD video mode panel"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for Sharp LS043T1LE01 qHD
|
||
(540x960) DSI panel as found on the Qualcomm APQ8074 Dragonboard
|
||
|
||
config DRM_PANEL_SITRONIX_ST7701
|
||
tristate "Sitronix ST7701 panel driver"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for the Sitronix
|
||
ST7701 controller for 480X864 LCD panels with MIPI/RGB/SPI
|
||
system interfaces.
|
||
|
||
config DRM_PANEL_SITRONIX_ST7789V
|
||
tristate "Sitronix ST7789V panel"
|
||
depends on OF && SPI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for the Sitronix
|
||
ST7789V controller for 240x320 LCD panels
|
||
|
||
config DRM_PANEL_SONY_ACX565AKM
|
||
tristate "Sony ACX565AKM panel"
|
||
depends on GPIOLIB && OF && SPI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for the Sony ACX565AKM
|
||
800x600 3.5" panel (found on the Nokia N900).
|
||
|
||
config DRM_PANEL_TPO_TD028TTEC1
|
||
tristate "Toppoly (TPO) TD028TTEC1 panel driver"
|
||
depends on OF && SPI
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for TPO TD028TTEC1 480x640
|
||
2.8" panel (found on the OpenMoko Neo FreeRunner and Neo 1973).
|
||
|
||
config DRM_PANEL_TPO_TD043MTEA1
|
||
tristate "Toppoly (TPO) TD043MTEA1 panel driver"
|
||
depends on GPIOLIB && OF && REGULATOR && SPI
|
||
help
|
||
Say Y here if you want to enable support for TPO TD043MTEA1 800x480
|
||
4.3" panel (found on the OMAP3 Pandora board).
|
||
|
||
config DRM_PANEL_TPO_TPG110
|
||
tristate "TPO TPG 800x400 panel"
|
||
depends on OF && SPI && GPIOLIB
|
||
depends on BACKLIGHT_CLASS_DEVICE
|
||
help
|
||
Say Y here if you want to enable support for TPO TPG110
|
||
400CH LTPS TFT LCD Single Chip Digital Driver for up to
|
||
800x400 LCD panels.
|
||
|
||
config DRM_PANEL_TRULY_NT35597_WQXGA
|
||
tristate "Truly WQXGA"
|
||
depends on OF
|
||
depends on DRM_MIPI_DSI
|
||
help
|
||
Say Y here if you want to enable support for Truly NT35597 WQXGA Dual DSI
|
||
Video Mode panel
|
||
endmenu
|