From 9960aa7cb58caadef8edf3a2582e30664a6b68dd Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Wed, 9 Dec 2015 20:26:00 +0200 Subject: drm/omap: move omapdss & displays under omapdrm Now that omapfb has its own copy of omapdss and display drivers, we can move omapdss and display drivers which omapdrm uses to omapdrm's directory. We also need to change the main drm Makefile so that omapdrm directory is always entered, because omapdss has a file that can't be built as a module. Signed-off-by: Tomi Valkeinen Acked-by: Dave Airlie Acked-by: Rob Clark --- drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/omapdrm/Kconfig | 3 +- drivers/gpu/drm/omapdrm/Makefile | 3 + drivers/gpu/drm/omapdrm/displays/Kconfig | 86 + drivers/gpu/drm/omapdrm/displays/Makefile | 14 + .../gpu/drm/omapdrm/displays/connector-analog-tv.c | 320 ++ drivers/gpu/drm/omapdrm/displays/connector-dvi.c | 398 ++ drivers/gpu/drm/omapdrm/displays/connector-hdmi.c | 348 ++ drivers/gpu/drm/omapdrm/displays/encoder-opa362.c | 278 + drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c | 320 ++ .../gpu/drm/omapdrm/displays/encoder-tpd12s015.c | 379 ++ drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 328 ++ drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 1388 +++++ .../omapdrm/displays/panel-lgphilips-lb035q02.c | 404 ++ .../drm/omapdrm/displays/panel-nec-nl8048hl11.c | 437 ++ .../drm/omapdrm/displays/panel-sharp-ls037v7dw01.c | 415 ++ .../drm/omapdrm/displays/panel-sony-acx565akm.c | 917 ++++ .../drm/omapdrm/displays/panel-tpo-td028ttec1.c | 511 ++ .../drm/omapdrm/displays/panel-tpo-td043mtea1.c | 686 +++ drivers/gpu/drm/omapdrm/dss/Kconfig | 135 + drivers/gpu/drm/omapdrm/dss/Makefile | 18 + drivers/gpu/drm/omapdrm/dss/apply.c | 1702 ++++++ drivers/gpu/drm/omapdrm/dss/core.c | 343 ++ drivers/gpu/drm/omapdrm/dss/dispc-compat.c | 667 +++ drivers/gpu/drm/omapdrm/dss/dispc-compat.h | 30 + drivers/gpu/drm/omapdrm/dss/dispc.c | 4234 +++++++++++++++ drivers/gpu/drm/omapdrm/dss/dispc.h | 918 ++++ drivers/gpu/drm/omapdrm/dss/dispc_coefs.c | 325 ++ drivers/gpu/drm/omapdrm/dss/display-sysfs.c | 356 ++ drivers/gpu/drm/omapdrm/dss/display.c | 338 ++ drivers/gpu/drm/omapdrm/dss/dpi.c | 899 ++++ drivers/gpu/drm/omapdrm/dss/dsi.c | 5607 ++++++++++++++++++++ drivers/gpu/drm/omapdrm/dss/dss-of.c | 183 + drivers/gpu/drm/omapdrm/dss/dss.c | 1329 +++++ drivers/gpu/drm/omapdrm/dss/dss.h | 468 ++ drivers/gpu/drm/omapdrm/dss/dss_features.c | 951 ++++ drivers/gpu/drm/omapdrm/dss/dss_features.h | 108 + drivers/gpu/drm/omapdrm/dss/hdmi.h | 370 ++ drivers/gpu/drm/omapdrm/dss/hdmi4.c | 839 +++ drivers/gpu/drm/omapdrm/dss/hdmi4_core.c | 904 ++++ drivers/gpu/drm/omapdrm/dss/hdmi4_core.h | 273 + drivers/gpu/drm/omapdrm/dss/hdmi5.c | 876 +++ drivers/gpu/drm/omapdrm/dss/hdmi5_core.c | 916 ++++ drivers/gpu/drm/omapdrm/dss/hdmi5_core.h | 304 ++ drivers/gpu/drm/omapdrm/dss/hdmi_common.c | 148 + drivers/gpu/drm/omapdrm/dss/hdmi_phy.c | 247 + drivers/gpu/drm/omapdrm/dss/hdmi_pll.c | 255 + drivers/gpu/drm/omapdrm/dss/hdmi_wp.c | 282 + drivers/gpu/drm/omapdrm/dss/manager-sysfs.c | 531 ++ drivers/gpu/drm/omapdrm/dss/manager.c | 263 + drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c | 225 + drivers/gpu/drm/omapdrm/dss/output.c | 267 + drivers/gpu/drm/omapdrm/dss/overlay-sysfs.c | 456 ++ drivers/gpu/drm/omapdrm/dss/overlay.c | 202 + drivers/gpu/drm/omapdrm/dss/pll.c | 389 ++ drivers/gpu/drm/omapdrm/dss/rfbi.c | 1078 ++++ drivers/gpu/drm/omapdrm/dss/sdi.c | 454 ++ drivers/gpu/drm/omapdrm/dss/venc.c | 997 ++++ drivers/gpu/drm/omapdrm/dss/video-pll.c | 211 + 59 files changed, 36333 insertions(+), 2 deletions(-) create mode 100644 drivers/gpu/drm/omapdrm/displays/Kconfig create mode 100644 drivers/gpu/drm/omapdrm/displays/Makefile create mode 100644 drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c create mode 100644 drivers/gpu/drm/omapdrm/displays/connector-dvi.c create mode 100644 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c create mode 100644 drivers/gpu/drm/omapdrm/displays/encoder-opa362.c create mode 100644 drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c create mode 100644 drivers/gpu/drm/omapdrm/displays/encoder-tpd12s015.c create mode 100644 drivers/gpu/drm/omapdrm/displays/panel-dpi.c create mode 100644 drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c create mode 100644 drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c create mode 100644 drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c create mode 100644 drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c create mode 100644 drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c create mode 100644 drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c create mode 100644 drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c create mode 100644 drivers/gpu/drm/omapdrm/dss/Kconfig create mode 100644 drivers/gpu/drm/omapdrm/dss/Makefile create mode 100644 drivers/gpu/drm/omapdrm/dss/apply.c create mode 100644 drivers/gpu/drm/omapdrm/dss/core.c create mode 100644 drivers/gpu/drm/omapdrm/dss/dispc-compat.c create mode 100644 drivers/gpu/drm/omapdrm/dss/dispc-compat.h create mode 100644 drivers/gpu/drm/omapdrm/dss/dispc.c create mode 100644 drivers/gpu/drm/omapdrm/dss/dispc.h create mode 100644 drivers/gpu/drm/omapdrm/dss/dispc_coefs.c create mode 100644 drivers/gpu/drm/omapdrm/dss/display-sysfs.c create mode 100644 drivers/gpu/drm/omapdrm/dss/display.c create mode 100644 drivers/gpu/drm/omapdrm/dss/dpi.c create mode 100644 drivers/gpu/drm/omapdrm/dss/dsi.c create mode 100644 drivers/gpu/drm/omapdrm/dss/dss-of.c create mode 100644 drivers/gpu/drm/omapdrm/dss/dss.c create mode 100644 drivers/gpu/drm/omapdrm/dss/dss.h create mode 100644 drivers/gpu/drm/omapdrm/dss/dss_features.c create mode 100644 drivers/gpu/drm/omapdrm/dss/dss_features.h create mode 100644 drivers/gpu/drm/omapdrm/dss/hdmi.h create mode 100644 drivers/gpu/drm/omapdrm/dss/hdmi4.c create mode 100644 drivers/gpu/drm/omapdrm/dss/hdmi4_core.c create mode 100644 drivers/gpu/drm/omapdrm/dss/hdmi4_core.h create mode 100644 drivers/gpu/drm/omapdrm/dss/hdmi5.c create mode 100644 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c create mode 100644 drivers/gpu/drm/omapdrm/dss/hdmi5_core.h create mode 100644 drivers/gpu/drm/omapdrm/dss/hdmi_common.c create mode 100644 drivers/gpu/drm/omapdrm/dss/hdmi_phy.c create mode 100644 drivers/gpu/drm/omapdrm/dss/hdmi_pll.c create mode 100644 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c create mode 100644 drivers/gpu/drm/omapdrm/dss/manager-sysfs.c create mode 100644 drivers/gpu/drm/omapdrm/dss/manager.c create mode 100644 drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c create mode 100644 drivers/gpu/drm/omapdrm/dss/output.c create mode 100644 drivers/gpu/drm/omapdrm/dss/overlay-sysfs.c create mode 100644 drivers/gpu/drm/omapdrm/dss/overlay.c create mode 100644 drivers/gpu/drm/omapdrm/dss/pll.c create mode 100644 drivers/gpu/drm/omapdrm/dss/rfbi.c create mode 100644 drivers/gpu/drm/omapdrm/dss/sdi.c create mode 100644 drivers/gpu/drm/omapdrm/dss/venc.c create mode 100644 drivers/gpu/drm/omapdrm/dss/video-pll.c (limited to 'drivers/gpu') diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile index 1e9ff4c3e3db..db6245f4b961 100644 --- a/drivers/gpu/drm/Makefile +++ b/drivers/gpu/drm/Makefile @@ -62,7 +62,7 @@ obj-$(CONFIG_DRM_ARMADA) += armada/ obj-$(CONFIG_DRM_ATMEL_HLCDC) += atmel-hlcdc/ obj-$(CONFIG_DRM_RCAR_DU) += rcar-du/ obj-$(CONFIG_DRM_SHMOBILE) +=shmobile/ -obj-$(CONFIG_DRM_OMAP) += omapdrm/ +obj-y += omapdrm/ obj-y += tilcdc/ obj-$(CONFIG_DRM_QXL) += qxl/ obj-$(CONFIG_DRM_BOCHS) += bochs/ diff --git a/drivers/gpu/drm/omapdrm/Kconfig b/drivers/gpu/drm/omapdrm/Kconfig index 6c220cd3497a..49b5b7df6ba4 100644 --- a/drivers/gpu/drm/omapdrm/Kconfig +++ b/drivers/gpu/drm/omapdrm/Kconfig @@ -1,4 +1,3 @@ - config DRM_OMAP tristate "OMAP DRM" depends on DRM @@ -24,3 +23,5 @@ config DRM_OMAP_NUM_CRTCS Select the number of video overlays which can be used as framebuffers. The remaining overlays are reserved for video. +source "drivers/gpu/drm/omapdrm/dss/Kconfig" +source "drivers/gpu/drm/omapdrm/displays/Kconfig" diff --git a/drivers/gpu/drm/omapdrm/Makefile b/drivers/gpu/drm/omapdrm/Makefile index 778372b062ad..d48d97f80e8c 100644 --- a/drivers/gpu/drm/omapdrm/Makefile +++ b/drivers/gpu/drm/omapdrm/Makefile @@ -3,6 +3,9 @@ # Direct Rendering Infrastructure (DRI) # +obj-y += dss/ +obj-y += displays/ + ccflags-y := -Iinclude/drm -Werror omapdrm-y := omap_drv.o \ omap_irq.o \ diff --git a/drivers/gpu/drm/omapdrm/displays/Kconfig b/drivers/gpu/drm/omapdrm/displays/Kconfig new file mode 100644 index 000000000000..574710141a61 --- /dev/null +++ b/drivers/gpu/drm/omapdrm/displays/Kconfig @@ -0,0 +1,86 @@ +menu "OMAP Display Device Drivers (new device model)" + depends on OMAP2_DSS + +config DISPLAY_ENCODER_OPA362 + tristate "OPA362 external analog amplifier" + help + Driver for OPA362 external analog TV amplifier controlled + through a GPIO. + +config DISPLAY_ENCODER_TFP410 + tristate "TFP410 DPI to DVI Encoder" + help + Driver for TFP410 DPI to DVI encoder. + +config DISPLAY_ENCODER_TPD12S015 + tristate "TPD12S015 HDMI ESD protection and level shifter" + help + Driver for TPD12S015, which offers HDMI ESD protection and level + shifting. + +config DISPLAY_CONNECTOR_DVI + tristate "DVI Connector" + depends on I2C + help + Driver for a generic DVI connector. + +config DISPLAY_CONNECTOR_HDMI + tristate "HDMI Connector" + help + Driver for a generic HDMI connector. + +config DISPLAY_CONNECTOR_ANALOG_TV + tristate "Analog TV Connector" + help + Driver for a generic analog TV connector. + +config DISPLAY_PANEL_DPI + tristate "Generic DPI panel" + help + Driver for generic DPI panels. + +config DISPLAY_PANEL_DSI_CM + tristate "Generic DSI Command Mode Panel" + depends on BACKLIGHT_CLASS_DEVICE + help + Driver for generic DSI command mode panels. + +config DISPLAY_PANEL_SONY_ACX565AKM + tristate "ACX565AKM Panel" + depends on SPI && BACKLIGHT_CLASS_DEVICE + help + This is the LCD panel used on Nokia N900 + +config DISPLAY_PANEL_LGPHILIPS_LB035Q02 + tristate "LG.Philips LB035Q02 LCD Panel" + depends on SPI + help + LCD Panel used on the Gumstix Overo Palo35 + +config DISPLAY_PANEL_SHARP_LS037V7DW01 + tristate "Sharp LS037V7DW01 LCD Panel" + depends on BACKLIGHT_CLASS_DEVICE + help + LCD Panel used in TI's SDP3430 and EVM boards + +config DISPLAY_PANEL_TPO_TD028TTEC1 + tristate "TPO TD028TTEC1 LCD Panel" + depends on SPI + help + LCD panel used in Openmoko. + +config DISPLAY_PANEL_TPO_TD043MTEA1 + tristate "TPO TD043MTEA1 LCD Panel" + depends on SPI + help + LCD Panel used in OMAP3 Pandora + +config DISPLAY_PANEL_NEC_NL8048HL11 + tristate "NEC NL8048HL11 Panel" + depends on SPI + depends on BACKLIGHT_CLASS_DEVICE + help + This NEC NL8048HL11 panel is TFT LCD used in the + Zoom2/3/3630 sdp boards. + +endmenu diff --git a/drivers/gpu/drm/omapdrm/displays/Makefile b/drivers/gpu/drm/omapdrm/displays/Makefile new file mode 100644 index 000000000000..9aa176bfbf2e --- /dev/null +++ b/drivers/gpu/drm/omapdrm/displays/Makefile @@ -0,0 +1,14 @@ +obj-$(CONFIG_DISPLAY_ENCODER_OPA362) += encoder-opa362.o +obj-$(CONFIG_DISPLAY_ENCODER_TFP410) += encoder-tfp410.o +obj-$(CONFIG_DISPLAY_ENCODER_TPD12S015) += encoder-tpd12s015.o +obj-$(CONFIG_DISPLAY_CONNECTOR_DVI) += connector-dvi.o +obj-$(CONFIG_DISPLAY_CONNECTOR_HDMI) += connector-hdmi.o +obj-$(CONFIG_DISPLAY_CONNECTOR_ANALOG_TV) += connector-analog-tv.o +obj-$(CONFIG_DISPLAY_PANEL_DPI) += panel-dpi.o +obj-$(CONFIG_DISPLAY_PANEL_DSI_CM) += panel-dsi-cm.o +obj-$(CONFIG_DISPLAY_PANEL_SONY_ACX565AKM) += panel-sony-acx565akm.o +obj-$(CONFIG_DISPLAY_PANEL_LGPHILIPS_LB035Q02) += panel-lgphilips-lb035q02.o +obj-$(CONFIG_DISPLAY_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o +obj-$(CONFIG_DISPLAY_PANEL_TPO_TD028TTEC1) += panel-tpo-td028ttec1.o +obj-$(CONFIG_DISPLAY_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o +obj-$(CONFIG_DISPLAY_PANEL_NEC_NL8048HL11) += panel-nec-nl8048hl11.o diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c new file mode 100644 index 000000000000..8511c648a15c --- /dev/null +++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c @@ -0,0 +1,320 @@ +/* + * Analog TV Connector driver + * + * Copyright (C) 2013 Texas Instruments + * Author: Tomi Valkeinen + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + */ + +#include +#include +#include +#include + +#include