aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/modules
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-02-08 21:58:55 +0100
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-02-14 14:10:51 +0100
commit7d7aa2fd924c27829ec25f825481554dd81bce97 (patch)
tree658b87b89331670266163e522ea5fb52535633cb /target/linux/bcm27xx/modules
parente7bfda2c243e66a75ff966ba04c28b1590b5d24c (diff)
downloadupstream-7d7aa2fd924c27829ec25f825481554dd81bce97.tar.gz
upstream-7d7aa2fd924c27829ec25f825481554dd81bce97.tar.bz2
upstream-7d7aa2fd924c27829ec25f825481554dd81bce97.zip
brcm2708: rename target to bcm27xx
This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Despite, since subtargets range from bcm2708 to bcm2711, it seems appropriate to use bcm27xx instead of bcm2708 (again, as already done for BOARDNAME). This also renames the packages brcm2708-userland and brcm2708-gpu-fw. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/modules')
-rw-r--r--target/linux/bcm27xx/modules/hwmon.mk36
-rw-r--r--target/linux/bcm27xx/modules/i2c.mk21
-rw-r--r--target/linux/bcm27xx/modules/other.mk75
-rw-r--r--target/linux/bcm27xx/modules/sound.mk908
-rw-r--r--target/linux/bcm27xx/modules/spi.mk43
-rw-r--r--target/linux/bcm27xx/modules/video.mk85
6 files changed, 1168 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/modules/hwmon.mk b/target/linux/bcm27xx/modules/hwmon.mk
new file mode 100644
index 0000000000..5081cee1d3
--- /dev/null
+++ b/target/linux/bcm27xx/modules/hwmon.mk
@@ -0,0 +1,36 @@
+#
+# Copyright (C) 2019 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define KernelPackage/hwmon-raspberrypi
+ TITLE:=Raspberry Pi voltage monitor
+ KCONFIG:=CONFIG_SENSORS_RASPBERRYPI_HWMON
+ FILES:=$(LINUX_DIR)/drivers/hwmon/raspberrypi-hwmon.ko
+ AUTOLOAD:=$(call AutoLoad,60,raspberrypi-hwmon)
+ $(call AddDepends/hwmon,@TARGET_bcm27xx)
+endef
+
+define KernelPackage/hwmon-raspberrypi/description
+ Kernel module for voltage sensor on the Raspberry Pi
+endef
+
+$(eval $(call KernelPackage,hwmon-raspberrypi))
+
+
+define KernelPackage/hwmon-rpi-poe-fan
+ SUBMENU:=$(HWMON_MENU)
+ TITLE:=Raspberry Pi PoE HAT fan
+ DEPENDS:=@TARGET_bcm27xx +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))
diff --git a/target/linux/bcm27xx/modules/i2c.mk b/target/linux/bcm27xx/modules/i2c.mk
new file mode 100644
index 0000000000..15beac41e5
--- /dev/null
+++ b/target/linux/bcm27xx/modules/i2c.mk
@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2019 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+I2C_BCM2835_MODULES:=\
+ CONFIG_I2C_BCM2835:drivers/i2c/busses/i2c-bcm2835
+
+define KernelPackage/i2c-bcm2835
+ $(call i2c_defaults,$(I2C_BCM2835_MODULES),59)
+ TITLE:=Broadcom BCM2835 I2C master controller driver
+ DEPENDS:=@TARGET_bcm27xx +kmod-i2c-core
+endef
+
+define KernelPackage/i2c-bcm2835/description
+ This package contains the Broadcom 2835 I2C master controller driver
+endef
+
+$(eval $(call KernelPackage,i2c-bcm2835))
diff --git a/target/linux/bcm27xx/modules/other.mk b/target/linux/bcm27xx/modules/other.mk
new file mode 100644
index 0000000000..077c5e67a8
--- /dev/null
+++ b/target/linux/bcm27xx/modules/other.mk
@@ -0,0 +1,75 @@
+#
+# Copyright (C) 2019 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define KernelPackage/pwm-bcm2835
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=BCM2835 PWM driver
+ KCONFIG:= \
+ CONFIG_PWM=y \
+ CONFIG_PWM_BCM2835
+ FILES:=$(LINUX_DIR)/drivers/pwm/pwm-bcm2835.ko
+ AUTOLOAD:=$(call AutoLoad,60,pwm-bcm2835)
+ DEPENDS:=@TARGET_bcm27xx
+endef
+
+define KernelPackage/pwm-bcm2835/description
+ This package contains the PWM framework driver for BCM2835 controller (Raspberry Pi)
+endef
+
+$(eval $(call KernelPackage,pwm-bcm2835))
+
+
+define KernelPackage/random-bcm2835
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=BCM2835 HW Random Number Generator
+ KCONFIG:= \
+ CONFIG_HW_RANDOM_BCM2835
+ FILES:=$(LINUX_DIR)/drivers/char/hw_random/bcm2835-rng.ko
+ AUTOLOAD:=$(call AutoLoad,11,bcm2835-rng)
+ DEPENDS:=@TARGET_bcm27xx +kmod-random-core
+endef
+
+define KernelPackage/random-bcm2835/description
+ This package contains the Broadcom 2835 HW random number generator driver
+endef
+
+$(eval $(call KernelPackage,random-bcm2835))
+
+
+define KernelPackage/smi-bcm2835
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=BCM2835 SMI driver
+ KCONFIG:=CONFIG_BCM2835_SMI
+ FILES:=$(LINUX_DIR)/drivers/misc/bcm2835_smi.ko
+ AUTOLOAD:=$(call AutoLoad,20,bcm2835_smi)
+ DEPENDS:=@TARGET_bcm27xx
+endef
+
+define KernelPackage/smi-bcm2835/description
+ This package contains the Character device driver for Broadcom Secondary
+ Memory Interface
+endef
+
+$(eval $(call KernelPackage,smi-bcm2835))
+
+
+define KernelPackage/smi-bcm2835-dev
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=BCM2835 SMI device driver
+ KCONFIG:=CONFIG_BCM2835_SMI_DEV
+ FILES:=$(LINUX_DIR)/drivers/char/broadcom/bcm2835_smi_dev.ko
+ AUTOLOAD:=$(call AutoLoad,21,bcm2835_smi_dev)
+ DEPENDS:=@TARGET_bcm27xx +kmod-smi-bcm2835
+endef
+
+define KernelPackage/smi-bcm2835-dev/description
+ This driver provides a character device interface (ioctl + read/write) to
+ Broadcom's Secondary Memory interface. The low-level functionality is provided
+ by the SMI driver itself.
+endef
+
+$(eval $(call KernelPackage,smi-bcm2835-dev))
diff --git a/target/linux/bcm27xx/modules/sound.mk b/target/linux/bcm27xx/modules/sound.mk
new file mode 100644
index 0000000000..8d449a51fa
--- /dev/null
+++ b/target/linux/bcm27xx/modules/sound.mk
@@ -0,0 +1,908 @@
+#
+# Copyright (C) 2019 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define KernelPackage/sound-arm-bcm2835
+ TITLE:=BCM2835 ALSA driver
+ KCONFIG:= \
+ CONFIG_SND_ARM=y \
+ CONFIG_SND_BCM2835 \
+ CONFIG_SND_ARMAACI=n
+ FILES:= \
+ $(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-audio/snd-bcm2835.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-bcm2835)
+ DEPENDS:=@TARGET_bcm27xx
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-arm-bcm2835/description
+ This package contains the BCM2835 ALSA pcm card driver
+endef
+
+$(eval $(call KernelPackage,sound-arm-bcm2835))
+
+
+define KernelPackage/sound-soc-bcm2835-i2s
+ TITLE:=SoC Audio support for the Broadcom 2835 I2S module
+ KCONFIG:= \
+ CONFIG_SND_BCM2835_SOC_I2S \
+ CONFIG_SND_SOC_AD193X_SPI=n \
+ CONFIG_SND_SOC_AD193X_I2C=n \
+ CONFIG_SND_SOC_DMAENGINE_PCM=y \
+ CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-bcm2835-i2s.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-bcm2835-i2s)
+ DEPENDS:=@TARGET_bcm27xx +kmod-sound-soc-core
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-bcm2835-i2s/description
+ This package contains support for codecs attached to the Broadcom 2835 I2S interface
+endef
+
+$(eval $(call KernelPackage,sound-soc-bcm2835-i2s))
+
+
+define KernelPackage/sound-soc-rpi-simple-soundcard
+ TITLE:=Support for Raspberry Pi simple soundcards
+ KCONFIG:= \
+ CONFIG_SND_RPI_SIMPLE_SOUNDCARD
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-simple-soundcard.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-rpi-simple-soundcard)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-rpi-simple-soundcard/description
+ This package contains support for Raspbery Pi simple soundcards
+endef
+
+$(eval $(call KernelPackage,sound-soc-rpi-simple-soundcard))
+
+
+define KernelPackage/sound-soc-rpi-wm8804-soundcard
+ TITLE:=Support for Raspberry Pi generic WM8804 soundcards
+ KCONFIG:= \
+ CONFIG_SND_RPI_WM8804_SOUNDCARD
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-wm8804-soundcard.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-rpi-wm8804-soundcard)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-rpi-wm8804-soundcard/description
+ This package contains support for Raspbery Pi simple soundcards
+endef
+
+$(eval $(call KernelPackage,sound-soc-rpi-wm8804-soundcard))
+
+
+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/codecs/snd-soc-adau1977.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-adau1977-i2c.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-adau1977 snd-soc-adau1977-i2c)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-sound-soc-rpi-simple-soundcard \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-adau1977-adc/description
+ This package contains support for ADAU1977 ADC
+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:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(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-digione
+ TITLE:=Support for Allo Piano DigiOne
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE \
+ CONFIG_SND_SOC_WM8804 \
+ CONFIG_SND_SOC_WM8804_I2C
+ FILES:= \
+ $(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-i2c snd-soc-wm8804 \
+ snd-soc-allo-digione)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-sound-soc-rpi-wm8804-soundcard \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-allo-digione/description
+ This package contains support for Allo DigiOne
+endef
+
+$(eval $(call KernelPackage,sound-soc-allo-digione))
+
+
+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-bcm2835 \
+ +kmod-regmap-i2c
+ $(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-allo-piano-dac-plus
+ TITLE:=Support for Allo Piano DAC Plus
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC_PLUS \
+ CONFIG_SND_SOC_PCM512x \
+ CONFIG_SND_SOC_PCM512x_I2C
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-allo-piano-dac-plus.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-plus)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-allo-piano-dac-plus/description
+ This package contains support for Allo Piano DAC Plus
+endef
+
+$(eval $(call KernelPackage,sound-soc-allo-piano-dac-plus))
+
+
+define KernelPackage/sound-soc-audiosense-pi
+ TITLE:=Support for AudioSense Add-On Soundcard
+ KCONFIG:= \
+ CONFIG_SND_AUDIOSENSE_PI \
+ CONFIG_SND_SOC_TLV320AIC32X4 \
+ CONFIG_SND_SOC_TLV320AIC32X4_I2C
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-audiosense-pi.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-tlv320aic32x4.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-tlv320aic32x4-i2c.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-tlv320aic32x4-i2c snd-soc-tlv320aic32x4 \
+ snd-soc-audiosense-pi)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-audiosense-pi/description
+ This package contains support for AudioSense Add-On Soundcard
+endef
+
+$(eval $(call KernelPackage,sound-soc-audiosense-pi))
+
+
+define KernelPackage/sound-soc-allo-katana-codec
+ TITLE:=Support for Allo Katana DAC
+ KCONFIG:= \
+ CONFIG_SND_AUDIO_GRAPH_CARD \
+ CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC \
+ CONFIG_SND_SOC_PCM512x \
+ CONFIG_SND_SOC_PCM512x_I2C \
+ CONFIG_SND_SIMPLE_CARD_UTILS
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-allo-katana-codec.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-katana-codec)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-allo-katana-codec/description
+ This package contains support for Allo Katana DAC
+endef
+
+$(eval $(call KernelPackage,sound-soc-allo-katana-codec))
+
+
+define KernelPackage/sound-soc-audioinjector-octo-soundcard
+ TITLE:=Support for AudioInjector Octo soundcard
+ KCONFIG:= \
+ CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD \
+ CONFIG_SND_SOC_CS42XX8 \
+ CONFIG_SND_SOC_CS42XX8_I2C
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-audioinjector-octo-soundcard.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-cs42xx8.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-cs42xx8-i2c.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc- \
+ snd-soc-audioinjector-octo-soundcard)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-audioinjector-octo-soundcard/description
+ This package contains support for AudioInjector Octo soundcard
+endef
+
+$(eval $(call KernelPackage,sound-soc-audioinjector-octo-soundcard))
+
+
+define KernelPackage/sound-soc-audioinjector-pi-soundcard
+ TITLE:=Support for AudioInjector Pi soundcard
+ KCONFIG:= \
+ CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD \
+ CONFIG_SND_SOC_WM8731
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-audioinjector-pi-soundcard.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8731.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8731 \
+ snd-soc-audioinjector-pi-soundcard)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c \
+ +kmod-regmap-spi
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-audioinjector-pi-soundcard/description
+ This package contains support for AudioInjector Pi soundcard
+endef
+
+$(eval $(call KernelPackage,sound-soc-audioinjector-pi-soundcard))
+
+
+define KernelPackage/sound-soc-digidac1-soundcard
+ TITLE:=Support for RRA DigiDAC1
+ 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-wm8741 \
+ snd-soc-wm8804 snd-soc-wm8804-i2c \
+ snd-soc-digidac1-soundcard)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c \
+ +kmod-regmap-spi
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-digidac1-soundcard/description
+ This package contains support for RRA DigiDAC1
+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 \
+ +kmod-regmap-i2c
+ $(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 \
+ +kmod-regmap-i2c
+ $(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-googlevoicehat
+ TITLE:=Support for Google VoiceHAT Sound Card
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD \
+ CONFIG_SND_SOC_VOICEHAT
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-googlevoicehat-codec.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-googlevoicehat-codec)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-sound-soc-rpi-simple-soundcard
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-googlevoicehat/description
+ This package contains support for Google VoiceHAT Sound Card
+endef
+
+$(eval $(call KernelPackage,sound-soc-googlevoicehat))
+
+
+define KernelPackage/sound-soc-hifiberry-dac
+ TITLE:=Support for HifiBerry DAC
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC \
+ CONFIG_SND_SOC_PCM5102A
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-sound-soc-rpi-simple-soundcard \
+ +kmod-i2c-bcm2835
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-hifiberry-dac/description
+ This package contains support for HifiBerry DAC
+endef
+
+$(eval $(call KernelPackage,sound-soc-hifiberry-dac))
+
+
+define KernelPackage/sound-soc-hifiberry-dacplus
+ TITLE:=Support for HifiBerry DAC+ / DAC+ Pro
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS \
+ CONFIG_SND_SOC_PCM512x
+ FILES:= \
+ $(LINUX_DIR)/drivers/clk/clk-hifiberry-dacpro.ko \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dacplus.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
+ AUTOLOAD:=$(call AutoLoad,68,clk-hifiberry-dacpro snd-soc-pcm512x \
+ snd-soc-hifiberry-dacplus)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-hifiberry-dacplus/description
+ This package contains support for HifiBerry DAC+ / DAC+ Pro
+endef
+
+$(eval $(call KernelPackage,sound-soc-hifiberry-dacplus))
+
+
+define KernelPackage/sound-soc-hifiberry-dacplusadc
+ TITLE:=Support for HifiBerry DAC+ADC
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC \
+ CONFIG_SND_SOC_PCM512x \
+ CONFIG_SND_SOC_DMIC
+ FILES:= \
+ $(LINUX_DIR)/drivers/clk/clk-hifiberry-dacpro.ko \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dacplusadc.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-dmic.ko
+ AUTOLOAD:=$(call AutoLoad,68,clk-hifiberry-dacpro snd-soc-pcm512x \
+ snd-soc-dmic snd-soc-hifiberry-dacplusadc)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-hifiberry-dacplusadc/description
+ This package contains support for HifiBerry DAC+ADC
+endef
+
+$(eval $(call KernelPackage,sound-soc-hifiberry-dacplusadc))
+
+
+define KernelPackage/sound-soc-hifiberry-dacplusdsp
+ TITLE:=Support for HifiBerry DAC+DSP
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSDSP
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dacplusdsp.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-hifiberry-dacplusdsp)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-sound-soc-rpi-simple-soundcard
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-hifiberry-dacplusdsp/description
+ This package contains support for HifiBerry DAC+DSP
+endef
+
+$(eval $(call KernelPackage,sound-soc-hifiberry-dacplusdsp))
+
+
+define KernelPackage/sound-soc-hifiberry-dacplushd
+ TITLE:=Support for HifiBerry DAC+HD
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSHD \
+ CONFIG_SND_SOC_PCM179X \
+ CONFIG_SND_SOC_PCM179X_I2C
+ FILES:= \
+ $(LINUX_DIR)/drivers/clk/clk-hifiberry-dachd.ko \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dacplushd.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm179x-codec.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm179x-i2c.ko
+ AUTOLOAD:=$(call AutoLoad,68,clk-hifiberry-dachd snd-soc-pcm179x-codec \
+ snd-soc-pcm179x-i2c snd-soc-hifiberry-dacplushd)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-hifiberry-dacplushd/description
+ This package contains support for HifiBerry DAC+HD
+endef
+
+$(eval $(call KernelPackage,sound-soc-hifiberry-dacplushd))
+
+
+define KernelPackage/sound-soc-hifiberry-dacplusadc-pro
+ TITLE:=Support for HifiBerry DAC+ADC PRO
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADCPRO \
+ CONFIG_SND_SOC_PCM186X \
+ CONFIG_SND_SOC_PCM186X_I2C \
+ CONFIG_SND_SOC_PCM512x \
+ CONFIG_SND_SOC_PCM512x_I2C
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dacplusadcpro.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm186x.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm186x-i2c.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-pcm186x snd-soc-pcm186x-i2c \
+ snd-soc-pcm512x snd-soc-pcm512x-i2c snd-soc-hifiberry-dacplusadcpro)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-hifiberry-dacplusadc-pro/description
+ This package contains support for HifiBerry DAC+ADC PRO
+endef
+
+$(eval $(call KernelPackage,sound-soc-hifiberry-dacplusadc-pro))
+
+
+define KernelPackage/sound-soc-hifiberry-digi
+ TITLE:=Support for HifiBerry Digi / Digi+ / Digi+ Pro
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI \
+ CONFIG_SND_SOC_WM8804
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-sound-soc-rpi-wm8804-soundcard \
+ +kmod-i2c-bcm2835
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-hifiberry-digi/description
+ This package contains support for HifiBerry Digi
+endef
+
+$(eval $(call KernelPackage,sound-soc-hifiberry-digi))
+
+
+define KernelPackage/sound-soc-hifiberry-amp
+ TITLE:=Support for HifiBerry Amp
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP \
+ CONFIG_SND_SOC_TAS5713
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-tas5713.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-tas5713)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-sound-soc-rpi-simple-soundcard \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-hifiberry-amp/description
+ This package contains support for HifiBerry Amp
+endef
+
+$(eval $(call KernelPackage,sound-soc-hifiberry-amp))
+
+
+define KernelPackage/sound-soc-iqaudio-codec
+ TITLE:=Support for IQaudIO-CODEC
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_IQAUDIO_CODEC \
+ CONFIG_SND_SOC_DA7213
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-iqaudio-codec.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-da7213.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-da7213 snd-soc-iqaudio-codec)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-iqaudio-codec/description
+ This package contains support for IQaudIO-CODEC
+endef
+
+$(eval $(call KernelPackage,sound-soc-iqaudio-codec))
+
+
+define KernelPackage/sound-soc-iqaudio-dac
+ TITLE:=Support for IQaudIO-DAC
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC \
+ CONFIG_SND_SOC_PCM512x \
+ CONFIG_SND_SOC_PCM512x_I2C
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-iqaudio-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 snd-soc-pcm512x-i2c \
+ snd-soc-iqaudio-dac)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-iqaudio-dac/description
+ This package contains support for IQaudIO-DAC
+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/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)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-sound-soc-rpi-wm8804-soundcard \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(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-i-sabe-q2m
+ TITLE:=Support for Audiophonics I-Sabre Q2M DAC
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M \
+ CONFIG_SND_SOC_I_SABRE_CODEC
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-i-sabre-q2m.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-i-sabre-codec.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-i-sabre-codec snd-soc-i-sabre-q2m)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-i-sabe-q2m/description
+ This package contains support for Audiophonics I-SABRE Q2M DAC
+endef
+
+$(eval $(call KernelPackage,sound-soc-i-sabe-q2m))
+
+
+define KernelPackage/sound-soc-justboom-both
+ TITLE:=Support for JustBoom DAC and Digi
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_JUSTBOOM_BOTH \
+ CONFIG_SND_SOC_PCM512x \
+ CONFIG_SND_SOC_WM8804
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-justboom-both.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-wm8804 \
+ snd-soc-justboom-both)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-sound-soc-rpi-wm8804-soundcard \
+ +kmod-i2c-bcm2835
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-justboom-both/description
+ This package contains support for JustBoom DAC and Digi
+endef
+
+$(eval $(call KernelPackage,sound-soc-justboom-both))
+
+
+define KernelPackage/sound-soc-justboom-dac
+ TITLE:=Support for JustBoom DAC
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC \
+ CONFIG_SND_SOC_PCM512x
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-justboom-dac.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-justboom-dac)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-justboom-dac/description
+ This package contains support for JustBoom DAC
+endef
+
+$(eval $(call KernelPackage,sound-soc-justboom-dac))
+
+
+define KernelPackage/sound-soc-justboom-digi
+ TITLE:=Support for JustBoom Digi
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI \
+ CONFIG_SND_SOC_WM8804
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-sound-soc-rpi-wm8804-soundcard \
+ +kmod-i2c-bcm2835
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-justboom-digi/description
+ This package contains support for JustBoom Digi
+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-rpi-cirrus
+ TITLE:=Support for Cirrus Logic Audio Card
+ KCONFIG:= \
+ CONFIG_GPIO_ARIZONA \
+ CONFIG_INPUT_ARIZONA_HAPTICS=n \
+ CONFIG_MFD_ARIZONA=y \
+ CONFIG_MFD_ARIZONA_I2C \
+ CONFIG_MFD_CS47L24=n \
+ CONFIG_MFD_WM5102=n \
+ CONFIG_MFD_WM5110=n \
+ CONFIG_MFD_WM8997=n \
+ CONFIG_MFD_WM8998=n \
+ CONFIG_REGULATOR_ARIZONA \
+ CONFIG_REGULATOR_ARIZONA_LDO1 \
+ CONFIG_REGULATOR_ARIZONA_MICSUPP \
+ CONFIG_SND_BCM2708_SOC_RPI_CIRRUS \
+ CONFIG_SND_SOC_ARIZONA \
+ CONFIG_SND_SOC_WM5102 \
+ CONFIG_SND_SOC_WM8804 \
+ CONFIG_SND_SOC_WM_ADSP
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-cirrus.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-arizona.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm-adsp.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm5102.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm1794a snd-soc-rpi-cirrus)
+ DEPENDS:= \
+ +kmod-i2c-bcm2835 \
+ kmod-sound-soc-bcm2835-i2s
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-rpi-cirrus/description
+ This package contains support for RPi-Cirrus
+endef
+
+$(eval $(call KernelPackage,sound-soc-rpi-cirrus))
+
+
+define KernelPackage/sound-soc-rpi-dac
+ TITLE:=Support for RPi-DAC
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_RPI_DAC \
+ CONFIG_SND_SOC_PCM1794A
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm1794a.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm1794a)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-sound-soc-rpi-simple-soundcard \
+ +kmod-i2c-bcm2835
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-rpi-dac/description
+ This package contains support for RPi-DAC
+endef
+
+$(eval $(call KernelPackage,sound-soc-rpi-dac))
+
+
+define KernelPackage/sound-soc-rpi-proto
+ TITLE:=Support for RPi-PROTO
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_RPI_PROTO \
+ CONFIG_SND_SOC_WM8731
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-proto.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8731.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8731 snd-soc-rpi-proto)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c \
+ +kmod-regmap-spi
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-rpi-proto/description
+ This package contains support for RPi-PROTO
+endef
+
+$(eval $(call KernelPackage,sound-soc-rpi-proto))
diff --git a/target/linux/bcm27xx/modules/spi.mk b/target/linux/bcm27xx/modules/spi.mk
new file mode 100644
index 0000000000..8840852149
--- /dev/null
+++ b/target/linux/bcm27xx/modules/spi.mk
@@ -0,0 +1,43 @@
+#
+# Copyright (C) 2019 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define KernelPackage/spi-bcm2835
+ SUBMENU:=$(SPI_MENU)
+ TITLE:=BCM2835 SPI controller driver
+ KCONFIG:=\
+ CONFIG_SPI=y \
+ CONFIG_SPI_BCM2835 \
+ CONFIG_SPI_MASTER=y
+ FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835.ko
+ AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835)
+ DEPENDS:=@TARGET_bcm27xx
+endef
+
+define KernelPackage/spi-bcm2835/description
+ This package contains the Broadcom 2835 SPI master controller driver
+endef
+
+$(eval $(call KernelPackage,spi-bcm2835))
+
+
+define KernelPackage/spi-bcm2835-aux
+ SUBMENU:=$(SPI_MENU)
+ TITLE:=BCM2835 Aux SPI controller driver
+ KCONFIG:=\
+ CONFIG_SPI=y \
+ CONFIG_SPI_BCM2835AUX \
+ CONFIG_SPI_MASTER=y
+ FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835aux.ko
+ AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835aux)
+ DEPENDS:=@TARGET_bcm27xx
+endef
+
+define KernelPackage/spi-bcm2835-aux/description
+ This package contains the Broadcom 2835 Aux SPI master controller driver
+endef
+
+$(eval $(call KernelPackage,spi-bcm2835-aux))
diff --git a/target/linux/bcm27xx/modules/video.mk b/target/linux/bcm27xx/modules/video.mk
new file mode 100644
index 0000000000..f1da7d8321
--- /dev/null
+++ b/target/linux/bcm27xx/modules/video.mk
@@ -0,0 +1,85 @@
+#
+# Copyright (C) 2019 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define KernelPackage/camera-bcm2835
+ TITLE:=BCM2835 Camera
+ KCONFIG:= \
+ CONFIG_VIDEO_BCM2835 \
+ CONFIG_VIDEO_BCM2835_MMAL
+ FILES:= \
+ $(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko
+ AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
+ $(call AddDepends/video,@TARGET_bcm27xx +kmod-vchiq-mmal-bcm2835 +kmod-video-videobuf2)
+endef
+
+define KernelPackage/camera-bcm2835/description
+ Camera host interface devices for Broadcom BCM2835 SoC.
+ This operates over the VCHIQ interface to a service running on VideoCore.
+endef
+
+$(eval $(call KernelPackage,camera-bcm2835))
+
+
+define KernelPackage/drm-vc4
+ SUBMENU:=$(VIDEO_MENU)
+ TITLE:=Broadcom VC4 Graphics
+ DEPENDS:= \
+ @TARGET_bcm27xx +kmod-drm \
+ +kmod-sound-core \
+ +kmod-sound-soc-core
+ KCONFIG:= \
+ CONFIG_DRM_VC4 \
+ CONFIG_DRM_VC4_HDMI_CEC=n \
+ CONFIG_DRM_V3D=n \
+ CONFIG_DRM_TVE200=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/vc-sm-cma
+ TITLE:=VideoCore Shared Memory (CMA) driver
+ KCONFIG:= \
+ CONFIG_BCM_VC_SM_CMA
+ FILES:= \
+ $(LINUX_DIR)/drivers/staging/vc04_services/vc-sm-cma/vc-sm-cma.ko
+ $(call AddDepends/video,@TARGET_bcm27xx)
+endef
+
+define KernelPackage/vc-sm-cma/description
+ Shared memory interface that supports sharing dmabufs with VideoCore.
+ This operates over the VCHIQ interface to a service running on VideoCore.
+endef
+
+$(eval $(call KernelPackage,vc-sm-cma))
+
+
+define KernelPackage/vchiq-mmal-bcm2835
+ TITLE:=BCM2835 MMAL VCHIQ service
+ KCONFIG:= \
+ CONFIG_BCM2835_VCHIQ_MMAL \
+ CONFIG_VIDEO_CODEC_BCM2835=n
+ FILES:= \
+ $(LINUX_DIR)/drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq.ko
+ $(call AddDepends/video,@TARGET_bcm27xx +kmod-vc-sm-cma)
+endef
+
+define KernelPackage/vchiq-mmal-bcm2835/description
+ Enables the MMAL API over VCHIQ as used for the
+ majority of the multimedia services on VideoCore.
+endef
+
+$(eval $(call KernelPackage,vchiq-mmal-bcm2835))