diff --git a/drivers/video/fbdev/msm/Kconfig b/drivers/video/fbdev/msm/Kconfig index 2fd08f89390d..094bdcee9db8 100644 --- a/drivers/video/fbdev/msm/Kconfig +++ b/drivers/video/fbdev/msm/Kconfig @@ -979,6 +979,16 @@ config FB_MSM_MDSS_HDMI_MHL_SII8334 MHL (Mobile High-Definition Link) technology uses USB connector to output HDMI content +config FB_MSM_MDSS_MHL3 + depends on FB_MSM_MDSS_HDMI_PANEL + bool "MHL3 SII8620 Support" + default n + ---help--- + Support the SiliconImage 8620 MHL Tx transmitter that uses + USB connector to output HDMI content. Transmitter is an + i2c device acting as an HDMI to MHL bridge. Chip supports + MHL 3.0 standard. + config FB_MSM_MDSS_DSI_CTRL_STATUS tristate "DSI controller status check feature" ---help--- diff --git a/drivers/video/fbdev/msm/Makefile b/drivers/video/fbdev/msm/Makefile index bf350ebdeec1..82d32615d654 100644 --- a/drivers/video/fbdev/msm/Makefile +++ b/drivers/video/fbdev/msm/Makefile @@ -1,5 +1,7 @@ ccflags-y += -I$(src) -Idrivers/staging/android +obj-$(CONFIG_FB_MSM_MDSS_MHL3) += mhl3/ + mdss-mdp3-objs = mdp3.o mdp3_dma.o mdp3_ctrl.o dsi_status_v2.o mdss-mdp3-objs += mdp3_ppp.o mdp3_ppp_hwio.o mdp3_ppp_data.o obj-$(CONFIG_FB_MSM_MDSS_MDP3) += mdss-mdp3.o diff --git a/drivers/video/fbdev/msm/mhl3/Makefile b/drivers/video/fbdev/msm/mhl3/Makefile index 77708958259f..2b4d21038ea0 100644 --- a/drivers/video/fbdev/msm/mhl3/Makefile +++ b/drivers/video/fbdev/msm/mhl3/Makefile @@ -1,165 +1,27 @@ -# -# Makefile for the Silicon Image 8620 MHL TX device driver -# -# example invocations: -# For regular Linux builds -# make ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- clean debug -# make ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- clean release -# make ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- clean clean -# -# For Android driver builds - Specify different tool-chain and kernel revision -# export PATH=~/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH -# make ARCH=arm KERNELPATH=~/rowboat-android/kernel CROSS_COMPILE=arm-eabi- clean debug -# make ARCH=arm KERNELPATH=~/rowboat-android/kernel CROSS_COMPILE=arm-eabi- clean release -# make ARCH=arm KERNELPATH=~/rowboat-android/kernel CROSS_COMPILE=arm-eabi- clean clean -# -# For Android 4.0.3 (ICS): -# export PATH=~/rowboat-android/TI-Android-ICS-4.0.3_AM37x_3.0.0/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH -# make ARCH=arm KERNELPATH=~/rowboat-android/TI-Android-ICS-4.0.3_AM37x_3.0.0/kernel CROSS_COMPILE=arm-eabi- clean debug -# make ARCH=arm KERNELPATH=~/rowboat-android/TI-Android-ICS-4.0.3_AM37x_3.0.0/kernel CROSS_COMPILE=arm-eabi- clean release -# make ARCH=arm KERNELPATH=~/rowboat-android/TI-Android-ICS-4.0.3_AM37x_3.0.0/kernel CROSS_COMPILE=arm-eabi- clean clean -# -# For Android 4.2.2 (JB) Linaro release 13.04 for PandaBoard: -# export PATH=$PATH:~/Linaro-13.04/android/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7-linaro/bin -# make ARCH=arm KERNELPATH=~/Linaro-13.04/android/kernel/linaro/pandaboard CROSS_COMPILE=arm-eabi- clean debug -# make ARCH=arm KERNELPATH=~/Linaro-13.04/android/kernel/linaro/pandaboard CROSS_COMPILE=arm-eabi- clean release -# make ARCH=arm KERNELPATH=~/Linaro-13.04/android/kernel/linaro/pandaboard CROSS_COMPILE=arm-eabi- clean clean -# +ccflags-y += -I$(src) -# Silicon Image uses DEVELOPER_BUILD_ID for sandbox build to be identified during testing. -ifneq ($(DEVELOPER_BUILD_ID),) -DEVELOPER_BUILD_COPY=cp sii$(MHL_PRODUCT_NUM)drv.ko sii$(MHL_PRODUCT_NUM)drv$(DEVELOPER_BUILD_ID).ko -endif - -ifneq ($(KERNELRELEASE),) -# kbuild part of makefile - -# -# color annotations to use instead of leading newline chars ccflags-y += -DANSI_COLORS - +ccflags-y += -DDEBUG +ccflags-y += -DMHL_BUILD_NUM=1 +ccflags-y += -DDEVELOPER_BUILD_ID=1 ccflags-y += -DBUILD_NUM_STRING=\"$(MHL_BUILD_NUM)$(DEVELOPER_BUILD_ID)\" -ccflags-y += -DMHL_PRODUCT_NUM=$(MHL_PRODUCT_NUM) +ccflags-y += -DMHL_PRODUCT_NUM=8620 ccflags-y += -DMHL_DRIVER_NAME=\"sii$(MHL_PRODUCT_NUM)drv\" ccflags-y += -DMHL_DEVICE_NAME=\"sii-$(MHL_PRODUCT_NUM)\" - -# Support Device Tree? -ifeq ($(DT_SUPPORT),1) -ccflags-y += -DSIMG_USE_DTS -endif - -# Kernel level supported -ccflags-y += -DLINUX_KERNEL_VER=$(LINUX_KERNEL_VER) -# -# FORCE_OCBUS_FOR_ECTS is used to identify code added for ECTS temporary fix that prohibits use of eCBUS. -# in addition module parameter force_ocbus_for_ects needs to be set as 1 to achieve ECTS operation. -ccflags-y += -DFORCE_OCBUS_FOR_ECTS -# -# PC_MODE_VIDEO_TIMING_SUPPORT is for cases where no VIC is available from either AVIF or VSIF. -ccflags-y += -DPC_MODE_VIDEO_TIMING_SUPPORT -# -# MANUAL_INFO_FRAME_CLEAR_AT_HPD_DRIVEN_HIGH is to clear all infoframes -# upon driving HPD high instead of when SCDT goes low. -ccflags-y += -DMANUAL_INFO_FRAME_CLEAR_AT_HPD_DRIVEN_HIGH -# -# MEDIA_DATA_TUNNEL_SUPPORT -# Default is enabled. Comment next line to disable. -ccflags-y += -DMEDIA_DATA_TUNNEL_SUPPORT -# -# Include REMOTE BUTTON PROTOCOL code or not -ccflags-$(CONFIG_DEBUG_DRIVER) += -DINCLUDE_RBP=1 - -ccflags-$(CONFIG_DEBUG_DRIVER) += -DINCLUDE_HID=$(INCLUDE_HID) - -# Example of use of SiI6031 is wrapped under the following definition -# It also illustrates how 8620 driver may be integrated into MSM platform -# the flag should be disabled if not building for MSM -ccflags-$(CONFIG_DEBUG_DRIVER) += -DINCLUDE_SII6031=$(INCLUDE_SII6031) -# -# MANUAL_EDID_FETCH uses DDC master directly, instead of h/w automated method. +ccflags-y += $(MHL_HOST_PLATFORM) ccflags-y += -DMANUAL_EDID_FETCH +ccflags-y += -DPRINT_DDC_ABORTS +ccflags-y += -DSIMG_USE_DTS +ccflags-y += -DINCLUDE_HID=0 +ccflags-y += -DINCLUDE_RBP=0 +ccflags-y += -DLINUX_KERNEL_VER=310 +ccflags-y += -DINCLUDE_SII6031=0 -# If CI2CA pin is pulled HIGH, you must define the following flag -#ccflags-y += -DALT_I2C_ADDR - -# PRINT_DDC_ABORTS enables logging of all DDC_ABORTs. Default "disabled" - helps MHL2 hot plug. -# Enable only if you must for debugging. -#ccflags-y += -DPRINT_DDC_ABORTS - -# CoC_FSM_MONITORING exports CoC state machine to GPIO pins -# Enable only if you must for debugging. -ccflags-y += -DCoC_FSM_MONITORING -DBIST_MONITORING - -#BIST_DONE_DEBUG adds register dump prior to RAP{CBUS_MODE_UP} -#ccflags-y += -DBIST_DONE_DEBUG - -# For si_emsc_hid-mt.c -ccflags-y += -Idrivers/hid - -# Optimzations and/or workaround -ccflags-y += -DDISABLE_SPI_DMA -ccflags-y += -DUSE_SPIOPTIMIZE -ccflags-y += -DGCS_QUIRKS_FOR_SIMG - -ccflags-$(CONFIG_DEBUG_DRIVER) += -DDEBUG - -# Enable VBUS sense and related operations -ccflags-$(CONFIG_DEBUG_DRIVER) += -DENABLE_VBUS_SENSE - -#support for DVI sources and sinks in MHL3 mode. -ccflags-$(CONFIG_DEBUG_DRIVER) += -DMHL3_DVI_SUPPORT - -#add HDMI VSDB to upstream EDID when downstream sink is DVI -#ccflags-$(CONFIG_DEBUG_DRIVER) += -DMHL3_DVI_SUPPORT_FORCE_HDMI -# -# the next lines are optional - they enable greater verbosity in debug output -#ccflags-$(CONFIG_DEBUG_DRIVER) += -DENABLE_EDID_DEBUG_PRINT -#ccflags-$(CONFIG_DEBUG_DRIVER) += -DENABLE_DUMP_INFOFRAME -# -# uncomment next line to prevent EDID parsing. Useful for debugging. -#ccflags-$(CONFIG_DEBUG_DRIVER) += -DEDID_PASSTHROUGH - -obj-$(CONFIG_SII$(MHL_PRODUCT_NUM)_MHL_TX) += sii$(MHL_PRODUCT_NUM)drv.o -sii$(MHL_PRODUCT_NUM)drv-objs += platform.o -sii$(MHL_PRODUCT_NUM)drv-objs += mhl_linux_tx.o -sii$(MHL_PRODUCT_NUM)drv-objs += mhl_rcp_inputdev.o -sii$(MHL_PRODUCT_NUM)drv-objs += mhl_rbp_inputdev.o -sii$(MHL_PRODUCT_NUM)drv-objs += mhl_supp.o -sii$(MHL_PRODUCT_NUM)drv-objs += si_8620_drv.o -sii$(MHL_PRODUCT_NUM)drv-objs += si_mhl2_edid_3d.o -sii$(MHL_PRODUCT_NUM)drv-objs += si_mdt_inputdev.o -ifeq ($(INCLUDE_HID),1) -sii$(MHL_PRODUCT_NUM)drv-objs += si_emsc_hid.o -sii$(MHL_PRODUCT_NUM)drv-objs += si_emsc_hid-mt.o -endif -else - -# Normal Makefile - -# If a kernel is not specified, default to the kernel used with Android Ice Cream Sandwich -ifneq ($(KERNELPATH),) -KERNELDIR=$(KERNELPATH) -else -KERNELDIR=~/src/linux-2.6.36 -#KERNELDIR=~/src/Android_ICS/kernel -endif -ARCH=arm - -PWD := $(shell pwd) - -.PHONY: clean - -release: - make -C $(KERNELDIR) M=$(PWD) CONFIG_SII$(MHL_PRODUCT_NUM)_MHL_TX=m CONFIG_MEDIA_DATA_TUNNEL_SUPPORT=y modules - $(CROSS_COMPILE)strip --strip-debug sii$(MHL_PRODUCT_NUM)drv.ko - $(DEVELOPER_BUILD_COPY) - -debug: - rm -f platform.o - make -C $(KERNELDIR) M=$(PWD) CONFIG_SII$(MHL_PRODUCT_NUM)_MHL_TX=m CONFIG_MEDIA_DATA_TUNNEL_SUPPORT=y CONFIG_DEBUG_DRIVER=y modules - $(DEVELOPER_BUILD_COPY) - -clean: - make -C $(KERNELDIR) M=$(PWD) CONFIG_SII$(MHL_PRODUCT_NUM)_MHL_TX=m clean - -endif +mdss-mhl3-objs := platform.o +mdss-mhl3-objs += mhl_linux_tx.o +mdss-mhl3-objs += mhl_rcp_inputdev.o +mdss-mhl3-objs += mhl_supp.o +mdss-mhl3-objs += si_8620_drv.o +mdss-mhl3-objs += si_mhl2_edid_3d.o +mdss-mhl3-objs += si_mdt_inputdev.o +obj-y += mdss-mhl3.o