brcm2708: add kmod-sound-soc-allo-boss-dac
[openwrt/openwrt.git] / target / linux / brcm2708 / modules.mk
index a49f9d48b66e24064f45599db3c0b5fb625172d6..7f52883f1516e80db26bbbdee2ba01cf55c90348 100644 (file)
@@ -5,6 +5,46 @@
 # See /LICENSE for more information.
 #
 
+define KernelPackage/drm-vc4
+  SUBMENU:=$(VIDEO_MENU)
+  TITLE:=Broadcom VC4 Graphics
+  DEPENDS:= \
+       @TARGET_brcm2708 +kmod-drm \
+       +LINUX_4_14:kmod-sound-core \
+       +LINUX_4_14:kmod-sound-soc-core
+  KCONFIG:= \
+       CONFIG_DRM_VC4 \
+       CONFIG_DRM_VC4_HDMI_CEC=n
+  FILES:= \
+       $(LINUX_DIR)/drivers/gpu/drm/vc4/vc4.ko \
+       $(LINUX_DIR)/drivers/gpu/drm/drm_kms_helper.ko
+  AUTOLOAD:=$(call AutoProbe,vc4)
+endef
+
+define KernelPackage/drm-vc4/description
+  Direct Rendering Manager (DRM) support for Broadcom VideoCore IV GPU
+  used in BCM2835, BCM2836 and BCM2837 SoCs (e.g. Raspberry Pi).
+endef
+
+$(eval $(call KernelPackage,drm-vc4))
+
+
+define KernelPackage/hwmon-rpi-poe-fan
+  SUBMENU:=$(HWMON_MENU)
+  TITLE:=Raspberry Pi PoE HAT fan
+  DEPENDS:=@TARGET_brcm2708 @LINUX_4_14 +kmod-hwmon-core
+  KCONFIG:=CONFIG_SENSORS_RPI_POE_FAN
+  FILES:=$(LINUX_DIR)/drivers/hwmon/rpi-poe-fan.ko
+  AUTOLOAD:=$(call AutoProbe,rpi-poe-fan)
+endef
+
+define KernelPackage/hwmon-rpi-poe-fan/description
+  Raspberry Pi PoE HAT fan driver
+endef
+
+$(eval $(call KernelPackage,hwmon-rpi-poe-fan))
+
+
 define KernelPackage/sound-arm-bcm2835
   TITLE:=BCM2835 ALSA driver
   KCONFIG:= \
@@ -12,7 +52,8 @@ define KernelPackage/sound-arm-bcm2835
        CONFIG_SND_BCM2835 \
        CONFIG_SND_ARMAACI=n
   FILES:= \
-       $(LINUX_DIR)/sound/arm/snd-bcm2835.ko
+       $(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-audio/snd-bcm2835.ko@ge4.12 \
+       $(LINUX_DIR)/sound/arm/snd-bcm2835.ko@lt4.12
   AUTOLOAD:=$(call AutoLoad,68,snd-bcm2835)
   DEPENDS:=@TARGET_brcm2708
   $(call AddDepends/sound)
@@ -68,6 +109,33 @@ endef
 
 $(eval $(call KernelPackage,sound-soc-adau1977-adc))
 
+
+define KernelPackage/sound-soc-allo-boss-dac
+  TITLE:=Support for Allo Boss DAC
+  KCONFIG:= \
+       CONFIG_SND_BCM2708_SOC_ALLO_BOSS_DAC \
+       CONFIG_SND_SOC_PCM512x \
+       CONFIG_SND_SOC_PCM512x_I2C
+  FILES:= \
+       $(LINUX_DIR)/sound/soc/bcm/snd-soc-allo-boss-dac.ko \
+       $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
+       $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
+  AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x-i2c snd-soc-pcm512x \
+       snd-soc-allo-boss-dac)
+  DEPENDS:= \
+       @LINUX_4_14 \
+       +kmod-i2c-bcm2708 \
+       kmod-sound-soc-bcm2835-i2s
+  $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-allo-boss-dac/description
+  This package contains support for Allo Boss DAC
+endef
+
+$(eval $(call KernelPackage,sound-soc-allo-boss-dac))
+
+
 define KernelPackage/sound-soc-allo-piano-dac
   TITLE:=Support for Allo Piano DAC
   KCONFIG:= \
@@ -417,6 +485,7 @@ define KernelPackage/sound-soc-raspidac3
   AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
        snd-soc-tpa6130a2 snd-soc-raspidac3)
   DEPENDS:= \
+       @LINUX_4_9 \
        kmod-sound-soc-bcm2835-i2s \
        +kmod-i2c-bcm2708
   $(call AddDepends/sound)
@@ -609,9 +678,11 @@ $(eval $(call KernelPackage,i2c-bcm2835))
 define KernelPackage/video-bcm2835
   TITLE:=Broadcom BCM2835 camera interface driver
   KCONFIG:= \
-       CONFIG_VIDEO_BCM2835=y \
+       CONFIG_VIDEO_BCM2835$(if $(CONFIG_LINUX_4_9),=y) \
        CONFIG_VIDEO_BCM2835_MMAL
-  FILES:= $(LINUX_DIR)/drivers/media/platform/bcm2835/bcm2835-v4l2.ko
+  FILES:= \
+       $(LINUX_DIR)/drivers/media/platform/bcm2835/bcm2835-v4l2.ko@lt4.12 \
+       $(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko@ge4.12
   AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
   $(call AddDepends/video,@TARGET_brcm2708 +kmod-video-videobuf2)
 endef