brcm2708: add kmod-sound-soc-allo-boss-dac
[openwrt/openwrt.git] / target / linux / brcm2708 / modules.mk
index 7215a29ee00e71627c9b7e81fe33689015a41e3b..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)
@@ -48,11 +89,14 @@ define KernelPackage/sound-soc-adau1977-adc
   TITLE:=Support for ADAU1977 ADC
   KCONFIG:= \
        CONFIG_SND_BCM2708_SOC_ADAU1977_ADC \
+       CONFIG_SND_SOC_ADAU1977 \
        CONFIG_SND_SOC_ADAU1977_I2C
   FILES:= \
        $(LINUX_DIR)/sound/soc/bcm/snd-soc-adau1977-adc.ko \
+       $(LINUX_DIR)/sound/soc/codecs/snd-soc-adau1977.ko \
        $(LINUX_DIR)/sound/soc/codecs/snd-soc-adau1977-i2c.ko
-  AUTOLOAD:=$(call AutoLoad,68,snd-soc-adau1977-i2c snd-soc-adau1977-adc)
+  AUTOLOAD:=$(call AutoLoad,68,snd-soc-adau1977 snd-soc-adau1977-i2c \
+       snd-soc-adau1977-adc)
   DEPENDS:= \
        kmod-sound-soc-bcm2835-i2s \
        +kmod-i2c-bcm2708
@@ -65,6 +109,57 @@ 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:= \
+       CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC \
+       CONFIG_SND_SOC_PCM512x \
+       CONFIG_SND_SOC_PCM512x_I2C
+  FILES:= \
+       $(LINUX_DIR)/sound/soc/bcm/snd-soc-allo-piano-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-piano-dac)
+  DEPENDS:= \
+       kmod-sound-soc-bcm2835-i2s \
+       +kmod-i2c-bcm2708
+  $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-allo-piano-dac/description
+  This package contains support for Allo Piano DAC
+endef
+
+$(eval $(call KernelPackage,sound-soc-allo-piano-dac))
+
 define KernelPackage/sound-soc-audioinjector-pi-soundcard
   TITLE:=Support for AudioInjector Pi soundcard
   KCONFIG:= \
@@ -92,13 +187,16 @@ define KernelPackage/sound-soc-digidac1-soundcard
   KCONFIG:= \
        CONFIG_SND_DIGIDAC1_SOUNDCARD \
        CONFIG_SND_SOC_WM8741 \
+       CONFIG_SND_SOC_WM8804 \
        CONFIG_SND_SOC_WM8804_I2C
   FILES:= \
        $(LINUX_DIR)/sound/soc/bcm/snd-soc-digidac1-soundcard.ko \
        $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8741.ko \
+       $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko \
        $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804-i2c.ko
-  AUTOLOAD:=$(call AutoLoad,68,snd-soc-snd-soc-wm8741 \
-       snd-soc-snd-soc-wm8804-i2c snd-soc-digidac1-soundcard)
+  AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8741 \
+       snd-soc-wm8804 snd-soc-wm8804-i2c \
+       snd-soc-digidac1-soundcard)
   DEPENDS:= \
        kmod-sound-soc-bcm2835-i2s \
        +kmod-i2c-bcm2708
@@ -111,6 +209,71 @@ endef
 
 $(eval $(call KernelPackage,sound-soc-digidac1-soundcard))
 
+define KernelPackage/sound-soc-dionaudio-loco
+  TITLE:=Support for Dion Audio LOCO DAC-AMP
+  KCONFIG:= \
+       CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO \
+       CONFIG_SND_SOC_PCM5102A
+  FILES:= \
+       $(LINUX_DIR)/sound/soc/bcm/snd-soc-dionaudio-loco.ko \
+       $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
+  AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a \
+       snd-soc-dionaudio-loco)
+  DEPENDS:= \
+       kmod-sound-soc-bcm2835-i2s
+  $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-dionaudio-loco/description
+  This package contains support for Dion Audio LOCO DAC-AMP
+endef
+
+$(eval $(call KernelPackage,sound-soc-dionaudio-loco))
+
+define KernelPackage/sound-soc-dionaudio-loco-v2
+  TITLE:=Support for Dion Audio LOCO-V2 DAC-AMP
+  KCONFIG:= \
+        CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO_V2 \
+        CONFIG_SND_SOC_PCM512x \
+        CONFIG_SND_SOC_PCM512x_I2C
+  FILES:= \
+        $(LINUX_DIR)/sound/soc/bcm/snd-soc-dionaudio-loco.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 snd-soc-pcm512x-i2c \
+        snd-soc-dionaudio-loco)
+  DEPENDS:= \
+        kmod-sound-soc-bcm2835-i2s
+  $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-dionaudio-loco-v2/description
+  This package contains support for Dion Audio LOCO-V2 DAC-AMP
+endef
+
+$(eval $(call KernelPackage,sound-soc-dionaudio-loco-v2))
+
+define KernelPackage/sound-soc-fe-pi
+  TITLE:=Support for Fe-Pi Audio Sound Card
+  KCONFIG:= \
+       CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO \
+       CONFIG_SND_SOC_SGTL5000
+  FILES:= \
+       $(LINUX_DIR)/sound/soc/bcm/snd-soc-fe-pi-audio.ko \
+       $(LINUX_DIR)/sound/soc/codecs/snd-soc-sgtl5000.ko
+  AUTOLOAD:=$(call AutoLoad,68,snd-soc-sgtl5000 \
+       snd-soc-fe-pi-audio)
+  DEPENDS:= \
+       kmod-sound-soc-bcm2835-i2s
+  $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-fe-pi/description
+  This package contains support for Fe-Pi Audio Sound Card
+endef
+
+$(eval $(call KernelPackage,sound-soc-fe-pi))
+
 define KernelPackage/sound-soc-hifiberry-dac
   TITLE:=Support for HifiBerry DAC
   KCONFIG:= \
@@ -156,7 +319,7 @@ endef
 $(eval $(call KernelPackage,sound-soc-hifiberry-dacplus))
 
 define KernelPackage/sound-soc-hifiberry-digi
-  TITLE:=Support for HifiBerry Digi
+  TITLE:=Support for HifiBerry Digi / Digi+ / Digi+ Pro
   KCONFIG:= \
        CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI \
        CONFIG_SND_SOC_WM8804
@@ -221,6 +384,30 @@ endef
 
 $(eval $(call KernelPackage,sound-soc-iqaudio-dac))
 
+define KernelPackage/sound-soc-iqaudio-digi
+  TITLE:=Support for IQaudIO-DIGI
+  KCONFIG:= \
+       CONFIG_SND_BCM2708_SOC_IQAUDIO_DIGI \
+       CONFIG_SND_SOC_WM8804 \
+       CONFIG_SND_SOC_WM8804_I2C
+  FILES:= \
+       $(LINUX_DIR)/sound/soc/bcm/snd-soc-iqaudio-digi.ko \
+       $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko \
+       $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804-i2c.ko
+  AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-wm8804-i2c \
+       snd-soc-iqaudio-digi)
+  DEPENDS:= \
+       kmod-sound-soc-bcm2835-i2s \
+       +kmod-i2c-bcm2708
+  $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-iqaudio-digi/description
+  This package contains support for IQaudIO-DIGI
+endef
+
+$(eval $(call KernelPackage,sound-soc-iqaudio-digi))
+
 define KernelPackage/sound-soc-justboom-dac
   TITLE:=Support for JustBoom DAC
   KCONFIG:= \
@@ -263,6 +450,26 @@ endef
 
 $(eval $(call KernelPackage,sound-soc-justboom-digi))
 
+define KernelPackage/sound-soc-pisound
+  TITLE:=Support for Blokas Labs PiSound
+  KCONFIG:= \
+       CONFIG_SND_PISOUND \
+       CONFIG_SND_SOC_PCM5102A
+  FILES:= \
+       $(LINUX_DIR)/sound/soc/bcm/snd-soc-pisound.ko \
+       $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
+  AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a snd-soc-pisound)
+  DEPENDS:= \
+       kmod-sound-soc-bcm2835-i2s
+  $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-pisound/description
+  This package contains support for Blokas Labs PiSound
+endef
+
+$(eval $(call KernelPackage,sound-soc-pisound))
+
 define KernelPackage/sound-soc-raspidac3
   TITLE:=Support for RaspiDAC Rev.3x
   KCONFIG:= \
@@ -278,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)
@@ -470,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