imx6: move to Linux 4.9 kernel
[openwrt/openwrt.git] / package / kernel / linux / modules / video.mk
index cece87612f273f904b85eaecfe86ae1fe051486b..7baa77aa6bf0bdcc30d3276173c9508b2184564a 100644 (file)
@@ -18,13 +18,15 @@ V4L2_USB_DIR=usb
 define KernelPackage/backlight
        SUBMENU:=$(VIDEO_MENU)
        TITLE:=Backlight support
-       KCONFIG:=CONFIG_BACKLIGHT_CLASS_DEVICE=m \
+       DEPENDS:=@DISPLAY_SUPPORT
+       HIDDEN:=1
+       KCONFIG:=CONFIG_BACKLIGHT_CLASS_DEVICE \
                CONFIG_BACKLIGHT_LCD_SUPPORT=y \
                CONFIG_LCD_CLASS_DEVICE=n \
-               CONFIG_BACKLIGHT_PWM=n \
                CONFIG_BACKLIGHT_GENERIC=n \
                CONFIG_BACKLIGHT_ADP8860=n \
                CONFIG_BACKLIGHT_ADP8870=n \
+               CONFIG_BACKLIGHT_OT200=n \
                CONFIG_BACKLIGHT_PM8941_WLED=n
        FILES:=$(LINUX_DIR)/drivers/video/backlight/backlight.ko
        AUTOLOAD:=$(call AutoProbe,video backlight)
@@ -36,18 +38,13 @@ endef
 
 $(eval $(call KernelPackage,backlight))
 
-define AddDepends/backlight
-       SUBMENU:=$(VIDEO_MENU)
-       DEPENDS+=kmod-backlight $(1)
-endef
-
 define KernelPackage/backlight-pwm
+       SUBMENU:=$(VIDEO_MENU)
        TITLE:=PWM Backlight support
-       DEPENDS:=+kmod-pwm
-       KCONFIG:=CONFIG_BACKLIGHT_PWM=m
+       DEPENDS:=+kmod-backlight
+       KCONFIG:=CONFIG_BACKLIGHT_PWM
        FILES:=$(LINUX_DIR)/drivers/video/backlight/pwm_bl.ko
        AUTOLOAD:=$(call AutoProbe,video pwm_bl)
-       $(call AddDepends/backlight)
 endef
 
 define KernelPackage/backlight/backlight-pwm
@@ -105,7 +102,6 @@ define KernelPackage/fbcon
        CONFIG_CONSOLE_TRANSLATIONS=y \
        CONFIG_VT_CONSOLE=y \
        CONFIG_VT_HW_CONSOLE_BINDING=y
-  $(call AddDepends/fb)
   FILES:= \
        $(LINUX_DIR)/drivers/video/console/bitblit.ko \
        $(LINUX_DIR)/drivers/video/console/softcursor.ko \
@@ -171,12 +167,161 @@ endef
 $(eval $(call KernelPackage,fb-cfb-imgblt))
 
 
+define KernelPackage/fb-sys-fops
+  SUBMENU:=$(VIDEO_MENU)
+  TITLE:=Framebuffer software sys ops support
+  DEPENDS:=+kmod-fb
+  KCONFIG:=CONFIG_FB_SYS_FOPS
+  FILES:=$(LINUX_DIR)/drivers/video/fbdev/core/fb_sys_fops.ko
+  AUTOLOAD:=$(call AutoLoad,07,fbsysfops)
+endef
+
+define KernelPackage/fb-sys-fops/description
+ Kernel support for framebuffer sys ops
+endef
+
+$(eval $(call KernelPackage,fb-sys-fops))
+
+define KernelPackage/drm
+  SUBMENU:=$(VIDEO_MENU)
+  TITLE:=Direct Rendering Manager (DRM) support
+  HIDDEN:=1
+  DEPENDS:=+kmod-dma-buf
+  KCONFIG:=CONFIG_DRM \
+       CONFIG_DRM_FBDEV_EMULATION=n \
+       CONFIG_DRM_LOAD_EDID_FIRMWARE=n \
+       CONFIG_DRM_IMX=n \
+       CONFIG_DRM_PTN3460=n \
+       CONFIG_DRM_PS8622=n \
+       CONFIG_DRM_TDFX=n \
+       CONFIG_DRM_R128=n \
+       CONFIG_DRM_RADEON=n \
+       CONFIG_DRM_AMDGPU=n \
+       CONFIG_DRM_NOUVEAU=n \
+       CONFIG_DRM_MGA=n \
+       CONFIG_DRM_VIA=n \
+       CONFIG_DRM_SAVAGE=n \
+       CONFIG_DRM_VGEM=n \
+       CONFIG_DRM_EXYNOS=n \
+       CONFIG_DRM_VMWGFX=n \
+       CONFIG_DRM_UDL=n \
+       CONFIG_DRM_AST=n \
+       CONFIG_DRM_MGAG200=n \
+       CONFIG_DRM_CIRRUS_QEMU=n \
+       CONFIG_DRM_ARMADA=n \
+       CONFIG_DRM_TILCDC=n \
+       CONFIG_DRM_QXL=n \
+       CONFIG_DRM_BOCHS=n \
+       CONFIG_DRM_FSL_DCU=n \
+       CONFIG_DRM_STI=n \
+       CONFIG_DRM_NXP_PTN3460=n \
+       CONFIG_DRM_PARADE_PS8622=n \
+       CONFIG_DRM_I2C_ADV7511=n \
+       CONFIG_DRM_I2C_CH7006=n \
+       CONFIG_DRM_I2C_SIL164=n \
+       CONFIG_DRM_I2C_NXP_TDA998X=n
+  FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm.ko
+  AUTOLOAD:=$(call AutoLoad,05,drm)
+endef
+
+define KernelPackage/drm/description
+  Direct Rendering Manager (DRM) core support
+endef
+
+$(eval $(call KernelPackage,drm))
+
+define KernelPackage/drm-imx
+  SUBMENU:=$(VIDEO_MENU)
+  TITLE:=Freescale i.MX DRM support
+  DEPENDS:=@TARGET_imx6 +kmod-drm +kmod-fb +kmod-fb-cfb-copyarea +kmod-fb-cfb-imgblt +kmod-fb-cfb-fillrect +kmod-fb-sys-fops
+  KCONFIG:=CONFIG_DRM_IMX \
+       CONFIG_DRM_FBDEV_EMULATION=y \
+       CONFIG_IMX_IPUV3_CORE \
+       CONFIG_RESET_CONTROLLER=y \
+       CONFIG_DRM_IMX_IPUV3 \
+       CONFIG_IMX_IPUV3 \
+       CONFIG_DRM_KMS_HELPER \
+       CONFIG_FB_SYS_FILLRECT \
+       CONFIG_FB_SYS_COPYAREA \
+       CONFIG_FB_SYS_IMAGEBLIT \
+       CONFIG_DRM_KMS_FB_HELPER=y \
+       CONFIG_DRM_GEM_CMA_HELPER=y \
+       CONFIG_DRM_KMS_CMA_HELPER=y \
+       CONFIG_DRM_IMX_FB_HELPER \
+       CONFIG_DRM_IMX_PARALLEL_DISPLAY=n \
+       CONFIG_DRM_IMX_TVE=n \
+       CONFIG_DRM_IMX_LDB=n \
+       CONFIG_DRM_IMX_HDMI=n
+  FILES:= \
+       $(LINUX_DIR)/drivers/gpu/drm/imx/imxdrm.ko \
+       $(LINUX_DIR)/drivers/gpu/ipu-v3/imx-ipu-v3.ko \
+       $(LINUX_DIR)/drivers/gpu/drm/imx/imx-ipuv3-crtc.ko \
+       $(LINUX_DIR)/drivers/video/fbdev/core/syscopyarea.ko \
+       $(LINUX_DIR)/drivers/video/fbdev/core/sysfillrect.ko \
+       $(LINUX_DIR)/drivers/video/fbdev/core/sysimgblt.ko \
+       $(LINUX_DIR)/drivers/gpu/drm/drm_kms_helper.ko
+  AUTOLOAD:=$(call AutoLoad,05,imxdrm imx-ipu-v3 imx-ipuv3-crtc)
+endef
+
+define KernelPackage/drm-imx/description
+  Direct Rendering Manager (DRM) support for Freescale i.MX
+endef
+
+$(eval $(call KernelPackage,drm-imx))
+
+define KernelPackage/drm-imx-hdmi
+  SUBMENU:=$(VIDEO_MENU)
+  TITLE:=Freescale i.MX HDMI DRM support
+  DEPENDS:=+kmod-sound-core kmod-drm-imx
+  KCONFIG:=CONFIG_DRM_IMX_HDMI \
+       CONFIG_DRM_DW_HDMI_AHB_AUDIO
+  FILES:= \
+       $(LINUX_DIR)/drivers/gpu/drm/bridge/dw-hdmi.ko \
+       $(LINUX_DIR)/drivers/gpu/drm/bridge/dw-hdmi-ahb-audio.ko \
+       $(LINUX_DIR)/drivers/gpu/drm/imx/dw_hdmi-imx.ko
+  AUTOLOAD:=$(call AutoLoad,05,dw-hdmi dw-hdmi-ahb-audio.ko dw_hdmi-imx)
+endef
+
+define KernelPackage/drm-imx-hdmi/description
+  Direct Rendering Manager (DRM) support for Freescale i.MX HDMI
+endef
+
+$(eval $(call KernelPackage,drm-imx-hdmi))
+
+define KernelPackage/drm-imx-ldb
+  SUBMENU:=$(VIDEO_MENU)
+  TITLE:=Freescale i.MX LVDS DRM support
+  DEPENDS:=+kmod-backlight kmod-drm-imx
+  KCONFIG:=CONFIG_DRM_IMX_LDB \
+       CONFIG_DRM_PANEL_SIMPLE \
+       CONFIG_DRM_PANEL=y \
+       CONFIG_DRM_PANEL_SAMSUNG_LD9040=n \
+       CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=n \
+       CONFIG_DRM_PANEL_LG_LG4573=n \
+       CONFIG_DRM_PANEL_LD9040=n \
+       CONFIG_DRM_PANEL_S6E8AA0=n
+  FILES:=$(LINUX_DIR)/drivers/gpu/drm/imx/imx-ldb.ko \
+       $(LINUX_DIR)/drivers/gpu/drm/panel/panel-simple.ko
+  AUTOLOAD:=$(call AutoLoad,05,imx-ldb)
+endef
+
+define KernelPackage/drm-imx-ldb/description
+  Direct Rendering Manager (DRM) support for Freescale i.MX LVDS
+endef
+
+$(eval $(call KernelPackage,drm-imx-ldb))
+
+
+#
+# Video Capture
+#
+
 define KernelPackage/video-core
   SUBMENU:=$(VIDEO_MENU)
   TITLE=Video4Linux support
   DEPENDS:=@PCI_SUPPORT||USB_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core
   KCONFIG:= \
-       CONFIG_MEDIA_SUPPORT=m \
+       CONFIG_MEDIA_SUPPORT \
        CONFIG_MEDIA_CAMERA_SUPPORT=y \
        CONFIG_VIDEO_DEV \
        CONFIG_VIDEO_V4L1=y \
@@ -205,10 +350,9 @@ define AddDepends/video
 endef
 
 define AddDepends/camera
-  SUBMENU:=$(VIDEO_MENU)
+$(AddDepends/video)
   KCONFIG+=CONFIG_MEDIA_USB_SUPPORT=y \
         CONFIG_MEDIA_CAMERA_SUPPORT=y
-  DEPENDS+=kmod-video-core $(1)
 endef