From 42954857190b9df16d9d873ecc7f6cc38e013e44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Tue, 9 Jul 2019 20:32:28 +0200 Subject: brcm2708: add linux 4.19 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Boot tested on Raspberry Pi B+ (BCM2708) and Raspberry Pi 2 (BCM2709) Signed-off-by: Álvaro Fernández Rojas --- target/linux/brcm2708/modules/hwmon.mk | 36 ++ target/linux/brcm2708/modules/i2c.mk | 21 + target/linux/brcm2708/modules/other.mk | 75 +++ target/linux/brcm2708/modules/sound.mk | 805 +++++++++++++++++++++++++++++++++ target/linux/brcm2708/modules/spi.mk | 43 ++ target/linux/brcm2708/modules/video.mk | 85 ++++ 6 files changed, 1065 insertions(+) create mode 100644 target/linux/brcm2708/modules/hwmon.mk create mode 100644 target/linux/brcm2708/modules/i2c.mk create mode 100644 target/linux/brcm2708/modules/other.mk create mode 100644 target/linux/brcm2708/modules/sound.mk create mode 100644 target/linux/brcm2708/modules/spi.mk create mode 100644 target/linux/brcm2708/modules/video.mk (limited to 'target/linux/brcm2708/modules') diff --git a/target/linux/brcm2708/modules/hwmon.mk b/target/linux/brcm2708/modules/hwmon.mk new file mode 100644 index 0000000000..9b790010b3 --- /dev/null +++ b/target/linux/brcm2708/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_brcm2708) +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_brcm2708 +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/brcm2708/modules/i2c.mk b/target/linux/brcm2708/modules/i2c.mk new file mode 100644 index 0000000000..ebba032f94 --- /dev/null +++ b/target/linux/brcm2708/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_brcm2708 +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/brcm2708/modules/other.mk b/target/linux/brcm2708/modules/other.mk new file mode 100644 index 0000000000..ce3b2b6fb0 --- /dev/null +++ b/target/linux/brcm2708/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_brcm2708 +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_brcm2708 +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_brcm2708 +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_brcm2708 +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/brcm2708/modules/sound.mk b/target/linux/brcm2708/modules/sound.mk new file mode 100644 index 0000000000..9f0a723948 --- /dev/null +++ b/target/linux/brcm2708/modules/sound.mk @@ -0,0 +1,805 @@ +# +# 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_brcm2708 + $(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_brcm2708 +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-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-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/brcm2708/modules/spi.mk b/target/linux/brcm2708/modules/spi.mk new file mode 100644 index 0000000000..eaddbadf6f --- /dev/null +++ b/target/linux/brcm2708/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_brcm2708 +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_brcm2708 +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/brcm2708/modules/video.mk b/target/linux/brcm2708/modules/video.mk new file mode 100644 index 0000000000..7f5b05060f --- /dev/null +++ b/target/linux/brcm2708/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_brcm2708 +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_brcm2708 +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_brcm2708) +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_brcm2708 +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)) -- cgit v1.2.3