2 # Copyright (C) 2012-2016 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 define KernelPackage
/sound-arm-bcm2835
9 TITLE
:=BCM2835 ALSA driver
15 $(LINUX_DIR
)/sound
/arm
/snd-bcm2835.ko
16 AUTOLOAD
:=$(call AutoLoad
,68,snd-bcm2835
)
17 DEPENDS
:=@TARGET_brcm2708
18 $(call AddDepends
/sound
)
21 define KernelPackage
/sound-arm-bcm2835
/description
22 This package contains the BCM2835 ALSA pcm card driver
25 $(eval
$(call KernelPackage
,sound-arm-bcm2835
))
28 define KernelPackage
/sound-soc-bcm2835-i2s
29 TITLE
:=SoC Audio support for the Broadcom
2835 I2S module
31 CONFIG_SND_BCM2835_SOC_I2S \
32 CONFIG_SND_SOC_DMAENGINE_PCM
=y \
33 CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM
=y
35 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-bcm2835-i2s.ko
36 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-bcm2835-i2s
)
37 DEPENDS
:=@TARGET_brcm2708
+kmod-regmap
+kmod-sound-soc-core
38 $(call AddDepends
/sound
)
41 define KernelPackage
/sound-soc-bcm2835-i2s
/description
42 This package contains support for codecs attached to the Broadcom
2835 I2S interface
45 $(eval
$(call KernelPackage
,sound-soc-bcm2835-i2s
))
47 define KernelPackage
/sound-soc-adau1977-adc
48 TITLE
:=Support for ADAU1977 ADC
50 CONFIG_SND_BCM2708_SOC_ADAU1977_ADC \
51 CONFIG_SND_SOC_ADAU1977 \
52 CONFIG_SND_SOC_ADAU1977_I2C
54 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-adau1977-adc.ko \
55 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-adau1977.ko \
56 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-adau1977-i2c.ko
57 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-adau1977 snd-soc-adau1977-i2c \
60 kmod-sound-soc-bcm2835-i2s \
62 $(call AddDepends
/sound
)
65 define KernelPackage
/sound-soc-adau1977-adc
/description
66 This package contains support for ADAU1977 ADC
69 $(eval
$(call KernelPackage
,sound-soc-adau1977-adc
))
71 define KernelPackage
/sound-soc-audioinjector-pi-soundcard
72 TITLE
:=Support for AudioInjector Pi soundcard
74 CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD \
77 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-audioinjector-pi-soundcard.ko \
78 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8731.ko
79 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-wm8731 \
80 snd-soc-audioinjector-pi-soundcard
)
82 kmod-sound-soc-bcm2835-i2s \
84 $(call AddDepends
/sound
)
87 define KernelPackage
/sound-soc-audioinjector-pi-soundcard
/description
88 This package contains support for AudioInjector Pi soundcard
91 $(eval
$(call KernelPackage
,sound-soc-audioinjector-pi-soundcard
))
93 define KernelPackage
/sound-soc-digidac1-soundcard
94 TITLE
:=Support for RRA DigiDAC1
96 CONFIG_SND_DIGIDAC1_SOUNDCARD \
97 CONFIG_SND_SOC_WM8741 \
98 CONFIG_SND_SOC_WM8804_I2C
100 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-digidac1-soundcard.ko \
101 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8741.ko \
102 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8804-i2c.ko
103 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-snd-soc-wm8741 \
104 snd-soc-snd-soc-wm8804-i2c snd-soc-digidac1-soundcard
)
106 kmod-sound-soc-bcm2835-i2s \
108 $(call AddDepends
/sound
)
111 define KernelPackage
/sound-soc-digidac1-soundcard
/description
112 This package contains support for RRA DigiDAC1
115 $(eval
$(call KernelPackage
,sound-soc-digidac1-soundcard
))
117 define KernelPackage
/sound-soc-hifiberry-dac
118 TITLE
:=Support for HifiBerry DAC
120 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC \
121 CONFIG_SND_SOC_PCM5102A
123 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-dac.ko \
124 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm5102a.ko
125 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm5102a snd-soc-hifiberry-dac
)
127 kmod-sound-soc-bcm2835-i2s \
129 $(call AddDepends
/sound
)
132 define KernelPackage
/sound-soc-hifiberry-dac
/description
133 This package contains support for HifiBerry DAC
136 $(eval
$(call KernelPackage
,sound-soc-hifiberry-dac
))
138 define KernelPackage
/sound-soc-hifiberry-dacplus
139 TITLE
:=Support for HifiBerry DAC
+ / DAC
+ Pro
141 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS \
142 CONFIG_SND_SOC_PCM512x
144 $(LINUX_DIR
)/drivers
/clk
/clk-hifiberry-dacpro.ko \
145 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-dacplus.ko \
146 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x.ko
147 AUTOLOAD
:=$(call AutoLoad
,68,clk-hifiberry-dacpro snd-soc-pcm512x \
148 snd-soc-hifiberry-dacplus
)
150 kmod-sound-soc-bcm2835-i2s \
152 $(call AddDepends
/sound
)
155 define KernelPackage
/sound-soc-hifiberry-dacplus
/description
156 This package contains support for HifiBerry DAC
+ / DAC
+ Pro
159 $(eval
$(call KernelPackage
,sound-soc-hifiberry-dacplus
))
161 define KernelPackage
/sound-soc-hifiberry-digi
162 TITLE
:=Support for HifiBerry Digi
164 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI \
165 CONFIG_SND_SOC_WM8804
167 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-digi.ko \
168 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8804.ko
169 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-wm8804 snd-soc-hifiberry-digi
)
171 kmod-sound-soc-bcm2835-i2s \
173 $(call AddDepends
/sound
)
176 define KernelPackage
/sound-soc-hifiberry-digi
/description
177 This package contains support for HifiBerry Digi
180 $(eval
$(call KernelPackage
,sound-soc-hifiberry-digi
))
182 define KernelPackage
/sound-soc-hifiberry-amp
183 TITLE
:=Support for HifiBerry Amp
185 CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP \
186 CONFIG_SND_SOC_TAS5713
188 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-amp.ko \
189 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-tas5713.ko
190 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-tas5713 snd-soc-hifiberry-amp
)
192 kmod-sound-soc-bcm2835-i2s \
194 $(call AddDepends
/sound
)
197 define KernelPackage
/sound-soc-hifiberry-amp
/description
198 This package contains support for HifiBerry Amp
201 $(eval
$(call KernelPackage
,sound-soc-hifiberry-amp
))
203 define KernelPackage
/sound-soc-iqaudio-dac
204 TITLE
:=Support for IQaudIO-DAC
206 CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC \
207 CONFIG_SND_SOC_PCM512x \
208 CONFIG_SND_SOC_PCM512x_I2C
210 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-iqaudio-dac.ko \
211 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x.ko \
212 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x-i2c.ko
213 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
216 kmod-sound-soc-bcm2835-i2s \
218 $(call AddDepends
/sound
)
221 define KernelPackage
/sound-soc-iqaudio-dac
/description
222 This package contains support for IQaudIO-DAC
225 $(eval
$(call KernelPackage
,sound-soc-iqaudio-dac
))
227 define KernelPackage
/sound-soc-justboom-dac
228 TITLE
:=Support for JustBoom DAC
230 CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC \
231 CONFIG_SND_SOC_PCM512x
233 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-justboom-dac.ko \
234 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x.ko
235 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm512x snd-soc-justboom-dac
)
237 kmod-sound-soc-bcm2835-i2s \
239 $(call AddDepends
/sound
)
242 define KernelPackage
/sound-soc-justboom-dac
/description
243 This package contains support for JustBoom DAC
246 $(eval
$(call KernelPackage
,sound-soc-justboom-dac
))
248 define KernelPackage
/sound-soc-justboom-digi
249 TITLE
:=Support for JustBoom Digi
251 CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI \
252 CONFIG_SND_SOC_WM8804
254 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-justboom-digi.ko \
255 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8804.ko
256 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-wm8804 snd-soc-justboom-digi
)
258 kmod-sound-soc-bcm2835-i2s \
260 $(call AddDepends
/sound
)
263 define KernelPackage
/sound-soc-justboom-digi
/description
264 This package contains support for JustBoom Digi
267 $(eval
$(call KernelPackage
,sound-soc-justboom-digi
))
269 define KernelPackage
/sound-soc-raspidac3
270 TITLE
:=Support for RaspiDAC Rev
.3x
272 CONFIG_SND_BCM2708_SOC_RASPIDAC3 \
273 CONFIG_SND_SOC_PCM512x \
274 CONFIG_SND_SOC_PCM512x_I2C \
275 CONFIG_SND_SOC_TPA6130A2
277 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-raspidac3.ko \
278 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x.ko \
279 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x-i2c.ko \
280 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-tpa6130a2.ko
281 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
282 snd-soc-tpa6130a2 snd-soc-raspidac3
)
284 kmod-sound-soc-bcm2835-i2s \
286 $(call AddDepends
/sound
)
289 define KernelPackage
/sound-soc-raspidac3
/description
290 This package contains support for RaspiDAC Rev
.3x
293 $(eval
$(call KernelPackage
,sound-soc-raspidac3
))
295 define KernelPackage
/sound-soc-rpi-dac
296 TITLE
:=Support for RPi-DAC
298 CONFIG_SND_BCM2708_SOC_RPI_DAC \
299 CONFIG_SND_SOC_PCM1794A
301 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-rpi-dac.ko \
302 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm1794a.ko
303 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm1794a snd-soc-rpi-dac
)
305 kmod-sound-soc-bcm2835-i2s \
307 $(call AddDepends
/sound
)
310 define KernelPackage
/sound-soc-rpi-dac
/description
311 This package contains support for RPi-DAC
314 $(eval
$(call KernelPackage
,sound-soc-rpi-dac
))
316 define KernelPackage
/sound-soc-rpi-proto
317 TITLE
:=Support for RPi-PROTO
319 CONFIG_SND_BCM2708_SOC_RPI_PROTO \
320 CONFIG_SND_SOC_WM8731
322 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-rpi-proto.ko \
323 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8731.ko
324 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-wm8731 snd-soc-rpi-proto
)
326 kmod-sound-soc-bcm2835-i2s \
328 $(call AddDepends
/sound
)
331 define KernelPackage
/sound-soc-rpi-proto
/description
332 This package contains support for RPi-PROTO
335 $(eval
$(call KernelPackage
,sound-soc-rpi-proto
))
338 define KernelPackage
/random-bcm2835
339 SUBMENU
:=$(OTHER_MENU
)
340 TITLE
:=BCM2835 HW Random Number Generator
341 KCONFIG
:=CONFIG_HW_RANDOM_BCM2835
342 FILES
:=$(LINUX_DIR
)/drivers
/char
/hw_random
/bcm2835-rng.ko
343 AUTOLOAD
:=$(call AutoLoad
,11,bcm2835-rng
)
344 DEPENDS
:=@TARGET_brcm2708
+kmod-random-core
347 define KernelPackage
/random-bcm2835
/description
348 This package contains the Broadcom
2835 HW random number generator driver
351 $(eval
$(call KernelPackage
,random-bcm2835
))
354 define KernelPackage
/smi-bcm2835
355 SUBMENU
:=$(OTHER_MENU
)
356 TITLE
:=BCM2835 SMI driver
357 KCONFIG
:=CONFIG_BCM2835_SMI
358 FILES
:=$(LINUX_DIR
)/drivers
/misc
/bcm2835_smi.ko
359 AUTOLOAD
:=$(call AutoLoad
,20,bcm2835_smi
)
360 DEPENDS
:=@TARGET_brcm2708
363 define KernelPackage
/smi-bcm2835
/description
364 This package contains the Character device driver for Broadcom Secondary
368 $(eval
$(call KernelPackage
,smi-bcm2835
))
370 define KernelPackage
/smi-bcm2835-dev
371 SUBMENU
:=$(OTHER_MENU
)
372 TITLE
:=BCM2835 SMI device driver
373 KCONFIG
:=CONFIG_BCM2835_SMI_DEV
374 FILES
:=$(LINUX_DIR
)/drivers
/char
/broadcom
/bcm2835_smi_dev.ko
375 AUTOLOAD
:=$(call AutoLoad
,21,bcm2835_smi_dev
)
376 DEPENDS
:=@TARGET_brcm2708
+kmod-smi-bcm2835
379 define KernelPackage
/smi-bcm2835-dev
/description
380 This driver provides a character device interface
(ioctl
+ read
/write
) to
381 Broadcom
's Secondary Memory interface. The low-level functionality is provided
382 by the SMI driver itself.
385 $(eval $(call KernelPackage,smi-bcm2835-dev))
388 define KernelPackage/spi-bcm2835
390 TITLE:=BCM2835 SPI controller driver
395 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835.ko
396 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835)
397 DEPENDS:=@TARGET_brcm2708
400 define KernelPackage/spi-bcm2835/description
401 This package contains the Broadcom 2835 SPI master controller driver
404 $(eval $(call KernelPackage,spi-bcm2835))
406 define KernelPackage/spi-bcm2835-aux
408 TITLE:=BCM2835 Aux SPI controller driver
411 CONFIG_SPI_BCM2835AUX \
413 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835aux.ko
414 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835aux)
415 DEPENDS:=@TARGET_brcm2708
418 define KernelPackage/spi-bcm2835-aux/description
419 This package contains the Broadcom 2835 Aux SPI master controller driver
422 $(eval $(call KernelPackage,spi-bcm2835-aux))
425 define KernelPackage/hwmon-bcm2835
426 TITLE:=BCM2835 HWMON driver
427 KCONFIG:=CONFIG_SENSORS_BCM2835
428 FILES:=$(LINUX_DIR)/drivers/hwmon/bcm2835-hwmon.ko
429 AUTOLOAD:=$(call AutoLoad,60,bcm2835-hwmon)
430 $(call AddDepends/hwmon,@TARGET_brcm2708)
433 define KernelPackage/hwmon-bcm2835/description
434 Kernel module for BCM2835 thermal monitor chip
437 $(eval $(call KernelPackage,hwmon-bcm2835))
440 I2C_BCM2708_MODULES:=\
441 CONFIG_I2C_BCM2708:drivers/i2c/busses/i2c-bcm2708
443 define KernelPackage/i2c-bcm2708
444 $(call i2c_defaults,$(I2C_BCM2708_MODULES),59)
445 TITLE:=Broadcom BCM2708 I2C master controller driver
447 CONFIG_I2C_BCM2708_BAUDRATE=100000
448 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
451 define KernelPackage/i2c-bcm2708/description
452 This package contains the Broadcom 2708 I2C master controller driver
455 $(eval $(call KernelPackage,i2c-bcm2708))
457 I2C_BCM2835_MODULES:=\
458 CONFIG_I2C_BCM2835:drivers/i2c/busses/i2c-bcm2835
460 define KernelPackage/i2c-bcm2835
461 $(call i2c_defaults,$(I2C_BCM2835_MODULES),59)
462 TITLE:=Broadcom BCM2835 I2C master controller driver
463 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
466 define KernelPackage/i2c-bcm2835/description
467 This package contains the Broadcom 2835 I2C master controller driver
470 $(eval $(call KernelPackage,i2c-bcm2835))
473 define KernelPackage/video-bcm2835
474 TITLE:=Broadcom BCM2835 camera interface driver
476 CONFIG_VIDEO_BCM2835=y \
477 CONFIG_VIDEO_BCM2835_MMAL
478 FILES:= $(LINUX_DIR)/drivers/media/platform/bcm2835/bcm2835-v4l2.ko
479 AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
480 $(call AddDepends/video,@TARGET_brcm2708 +kmod-video-videobuf2)
483 define KernelPackage/video-bcm2835/description
484 This is a V4L2 driver for the Broadcom 2835 MMAL camera host interface
487 $(eval $(call KernelPackage,video-bcm2835))