msm: mdss: add support for mhl3 compilation
Update makefile and Kconfig to support compilation of driver for SiI 8620 MHL Tx i2c device. Change-Id: Icf87c5bc059892433bc2ed88a5266adab92402ae Signed-off-by: Casey Piper <cpiper@codeaurora.org> [cip@codeaurora.org: Moved updates to new file locations] Signed-off-by: Clarence Ip <cip@codeaurora.org>
This commit is contained in:
parent
0db193b16b
commit
616011665d
3 changed files with 32 additions and 158 deletions
|
@ -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---
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue