2 # Copyright (C) 2012-2016 OpenWrt.org
3 # Copyright (C) 2017 LEDE project
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
9 define KernelPackage/sound-arm-bcm2835
10 TITLE:=BCM2835 ALSA driver
16 $(LINUX_DIR)/sound/arm/snd-bcm2835.ko
17 AUTOLOAD:=$(call AutoLoad,68,snd-bcm2835)
18 DEPENDS:=@TARGET_brcm2708
19 $(call AddDepends/sound)
22 define KernelPackage/sound-arm-bcm2835/description
23 This package contains the BCM2835 ALSA pcm card driver
26 $(eval $(call KernelPackage,sound-arm-bcm2835))
29 define KernelPackage/sound-soc-bcm2835-i2s
30 TITLE:=SoC Audio support for the Broadcom 2835 I2S module
32 CONFIG_SND_BCM2835_SOC_I2S \
33 CONFIG_SND_SOC_DMAENGINE_PCM=y \
34 CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
36 $(LINUX_DIR)/sound/soc/bcm/snd-soc-bcm2835-i2s.ko
37 AUTOLOAD:=$(call AutoLoad,68,snd-soc-bcm2835-i2s)
38 DEPENDS:=@TARGET_brcm2708 +kmod-regmap +kmod-sound-soc-core
39 $(call AddDepends/sound)
42 define KernelPackage/sound-soc-bcm2835-i2s/description
43 This package contains support for codecs attached to the Broadcom 2835 I2S interface
46 $(eval $(call KernelPackage,sound-soc-bcm2835-i2s))
48 define KernelPackage/sound-soc-adau1977-adc
49 TITLE:=Support for ADAU1977 ADC
51 CONFIG_SND_BCM2708_SOC_ADAU1977_ADC \
52 CONFIG_SND_SOC_ADAU1977 \
53 CONFIG_SND_SOC_ADAU1977_I2C
55 $(LINUX_DIR)/sound/soc/bcm/snd-soc-adau1977-adc.ko \
56 $(LINUX_DIR)/sound/soc/codecs/snd-soc-adau1977.ko \
57 $(LINUX_DIR)/sound/soc/codecs/snd-soc-adau1977-i2c.ko
58 AUTOLOAD:=$(call AutoLoad,68,snd-soc-adau1977 snd-soc-adau1977-i2c \
61 kmod-sound-soc-bcm2835-i2s \
63 $(call AddDepends/sound)
66 define KernelPackage/sound-soc-adau1977-adc/description
67 This package contains support for ADAU1977 ADC
70 $(eval $(call KernelPackage,sound-soc-adau1977-adc))
72 define KernelPackage/sound-soc-allo-piano-dac
73 TITLE:=Support for Allo Piano DAC
75 CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC \
76 CONFIG_SND_SOC_PCM512x \
77 CONFIG_SND_SOC_PCM512x_I2C
79 $(LINUX_DIR)/sound/soc/bcm/snd-soc-allo-piano-dac.ko \
80 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
81 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
82 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x-i2c snd-soc-pcm512x \
83 snd-soc-allo-piano-dac)
85 kmod-sound-soc-bcm2835-i2s \
87 $(call AddDepends/sound)
90 define KernelPackage/sound-soc-allo-piano-dac/description
91 This package contains support for Allo Piano DAC
94 $(eval $(call KernelPackage,sound-soc-allo-piano-dac))
96 define KernelPackage/sound-soc-audioinjector-pi-soundcard
97 TITLE:=Support for AudioInjector Pi soundcard
99 CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD \
100 CONFIG_SND_SOC_WM8731
102 $(LINUX_DIR)/sound/soc/bcm/snd-soc-audioinjector-pi-soundcard.ko \
103 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8731.ko
104 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8731 \
105 snd-soc-audioinjector-pi-soundcard)
107 kmod-sound-soc-bcm2835-i2s \
109 $(call AddDepends/sound)
112 define KernelPackage/sound-soc-audioinjector-pi-soundcard/description
113 This package contains support for AudioInjector Pi soundcard
116 $(eval $(call KernelPackage,sound-soc-audioinjector-pi-soundcard))
118 define KernelPackage/sound-soc-digidac1-soundcard
119 TITLE:=Support for RRA DigiDAC1
121 CONFIG_SND_DIGIDAC1_SOUNDCARD \
122 CONFIG_SND_SOC_WM8741 \
123 CONFIG_SND_SOC_WM8804 \
124 CONFIG_SND_SOC_WM8804_I2C
126 $(LINUX_DIR)/sound/soc/bcm/snd-soc-digidac1-soundcard.ko \
127 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8741.ko \
128 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko \
129 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804-i2c.ko
130 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8741 \
131 snd-soc-wm8804 snd-soc-wm8804-i2c \
132 snd-soc-digidac1-soundcard)
134 kmod-sound-soc-bcm2835-i2s \
136 $(call AddDepends/sound)
139 define KernelPackage/sound-soc-digidac1-soundcard/description
140 This package contains support for RRA DigiDAC1
143 $(eval $(call KernelPackage,sound-soc-digidac1-soundcard))
145 define KernelPackage/sound-soc-dionaudio-loco
146 TITLE:=Support for Dion Audio LOCO DAC-AMP
148 CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO \
149 CONFIG_SND_SOC_PCM5102A
151 $(LINUX_DIR)/sound/soc/bcm/snd-soc-dionaudio-loco.ko \
152 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
153 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a \
154 snd-soc-dionaudio-loco)
156 kmod-sound-soc-bcm2835-i2s
157 $(call AddDepends/sound)
160 define KernelPackage/sound-soc-dionaudio-loco/description
161 This package contains support for Dion Audio LOCO DAC-AMP
164 $(eval $(call KernelPackage,sound-soc-dionaudio-loco))
166 define KernelPackage/sound-soc-hifiberry-dac
167 TITLE:=Support for HifiBerry DAC
169 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC \
170 CONFIG_SND_SOC_PCM5102A
172 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dac.ko \
173 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
174 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a snd-soc-hifiberry-dac)
176 kmod-sound-soc-bcm2835-i2s \
178 $(call AddDepends/sound)
181 define KernelPackage/sound-soc-hifiberry-dac/description
182 This package contains support for HifiBerry DAC
185 $(eval $(call KernelPackage,sound-soc-hifiberry-dac))
187 define KernelPackage/sound-soc-hifiberry-dacplus
188 TITLE:=Support for HifiBerry DAC+ / DAC+ Pro
190 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS \
191 CONFIG_SND_SOC_PCM512x
193 $(LINUX_DIR)/drivers/clk/clk-hifiberry-dacpro.ko \
194 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dacplus.ko \
195 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
196 AUTOLOAD:=$(call AutoLoad,68,clk-hifiberry-dacpro snd-soc-pcm512x \
197 snd-soc-hifiberry-dacplus)
199 kmod-sound-soc-bcm2835-i2s \
201 $(call AddDepends/sound)
204 define KernelPackage/sound-soc-hifiberry-dacplus/description
205 This package contains support for HifiBerry DAC+ / DAC+ Pro
208 $(eval $(call KernelPackage,sound-soc-hifiberry-dacplus))
210 define KernelPackage/sound-soc-hifiberry-digi
211 TITLE:=Support for HifiBerry Digi / Digi+ / Digi+ Pro
213 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI \
214 CONFIG_SND_SOC_WM8804
216 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-digi.ko \
217 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
218 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-hifiberry-digi)
220 kmod-sound-soc-bcm2835-i2s \
222 $(call AddDepends/sound)
225 define KernelPackage/sound-soc-hifiberry-digi/description
226 This package contains support for HifiBerry Digi
229 $(eval $(call KernelPackage,sound-soc-hifiberry-digi))
231 define KernelPackage/sound-soc-hifiberry-amp
232 TITLE:=Support for HifiBerry Amp
234 CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP \
235 CONFIG_SND_SOC_TAS5713
237 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-amp.ko \
238 $(LINUX_DIR)/sound/soc/codecs/snd-soc-tas5713.ko
239 AUTOLOAD:=$(call AutoLoad,68,snd-soc-tas5713 snd-soc-hifiberry-amp)
241 kmod-sound-soc-bcm2835-i2s \
243 $(call AddDepends/sound)
246 define KernelPackage/sound-soc-hifiberry-amp/description
247 This package contains support for HifiBerry Amp
250 $(eval $(call KernelPackage,sound-soc-hifiberry-amp))
252 define KernelPackage/sound-soc-iqaudio-dac
253 TITLE:=Support for IQaudIO-DAC
255 CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC \
256 CONFIG_SND_SOC_PCM512x \
257 CONFIG_SND_SOC_PCM512x_I2C
259 $(LINUX_DIR)/sound/soc/bcm/snd-soc-iqaudio-dac.ko \
260 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
261 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
262 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
265 kmod-sound-soc-bcm2835-i2s \
267 $(call AddDepends/sound)
270 define KernelPackage/sound-soc-iqaudio-dac/description
271 This package contains support for IQaudIO-DAC
274 $(eval $(call KernelPackage,sound-soc-iqaudio-dac))
276 define KernelPackage/sound-soc-iqaudio-digi
277 TITLE:=Support for IQaudIO-DIGI
279 CONFIG_SND_BCM2708_SOC_IQAUDIO_DIGI \
280 CONFIG_SND_SOC_WM8804 \
281 CONFIG_SND_SOC_WM8804_I2C
283 $(LINUX_DIR)/sound/soc/bcm/snd-soc-iqaudio-digi.ko \
284 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko \
285 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804-i2c.ko
286 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-wm8804-i2c \
287 snd-soc-iqaudio-digi)
289 kmod-sound-soc-bcm2835-i2s \
291 $(call AddDepends/sound)
294 define KernelPackage/sound-soc-iqaudio-digi/description
295 This package contains support for IQaudIO-DIGI
298 $(eval $(call KernelPackage,sound-soc-iqaudio-digi))
300 define KernelPackage/sound-soc-justboom-dac
301 TITLE:=Support for JustBoom DAC
303 CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC \
304 CONFIG_SND_SOC_PCM512x
306 $(LINUX_DIR)/sound/soc/bcm/snd-soc-justboom-dac.ko \
307 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
308 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-justboom-dac)
310 kmod-sound-soc-bcm2835-i2s \
312 $(call AddDepends/sound)
315 define KernelPackage/sound-soc-justboom-dac/description
316 This package contains support for JustBoom DAC
319 $(eval $(call KernelPackage,sound-soc-justboom-dac))
321 define KernelPackage/sound-soc-justboom-digi
322 TITLE:=Support for JustBoom Digi
324 CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI \
325 CONFIG_SND_SOC_WM8804
327 $(LINUX_DIR)/sound/soc/bcm/snd-soc-justboom-digi.ko \
328 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
329 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-justboom-digi)
331 kmod-sound-soc-bcm2835-i2s \
333 $(call AddDepends/sound)
336 define KernelPackage/sound-soc-justboom-digi/description
337 This package contains support for JustBoom Digi
340 $(eval $(call KernelPackage,sound-soc-justboom-digi))
342 define KernelPackage/sound-soc-pisound
343 TITLE:=Support for Blokas Labs PiSound
346 CONFIG_SND_SOC_PCM5102A
348 $(LINUX_DIR)/sound/soc/bcm/snd-soc-pisound.ko \
349 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
350 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a snd-soc-pisound)
352 kmod-sound-soc-bcm2835-i2s
353 $(call AddDepends/sound)
356 define KernelPackage/sound-soc-pisound/description
357 This package contains support for Blokas Labs PiSound
360 $(eval $(call KernelPackage,sound-soc-pisound))
362 define KernelPackage/sound-soc-raspidac3
363 TITLE:=Support for RaspiDAC Rev.3x
365 CONFIG_SND_BCM2708_SOC_RASPIDAC3 \
366 CONFIG_SND_SOC_PCM512x \
367 CONFIG_SND_SOC_PCM512x_I2C \
368 CONFIG_SND_SOC_TPA6130A2
370 $(LINUX_DIR)/sound/soc/bcm/snd-soc-raspidac3.ko \
371 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
372 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko \
373 $(LINUX_DIR)/sound/soc/codecs/snd-soc-tpa6130a2.ko
374 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
375 snd-soc-tpa6130a2 snd-soc-raspidac3)
377 kmod-sound-soc-bcm2835-i2s \
379 $(call AddDepends/sound)
382 define KernelPackage/sound-soc-raspidac3/description
383 This package contains support for RaspiDAC Rev.3x
386 $(eval $(call KernelPackage,sound-soc-raspidac3))
388 define KernelPackage/sound-soc-rpi-dac
389 TITLE:=Support for RPi-DAC
391 CONFIG_SND_BCM2708_SOC_RPI_DAC \
392 CONFIG_SND_SOC_PCM1794A
394 $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-dac.ko \
395 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm1794a.ko
396 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm1794a snd-soc-rpi-dac)
398 kmod-sound-soc-bcm2835-i2s \
400 $(call AddDepends/sound)
403 define KernelPackage/sound-soc-rpi-dac/description
404 This package contains support for RPi-DAC
407 $(eval $(call KernelPackage,sound-soc-rpi-dac))
409 define KernelPackage/sound-soc-rpi-proto
410 TITLE:=Support for RPi-PROTO
412 CONFIG_SND_BCM2708_SOC_RPI_PROTO \
413 CONFIG_SND_SOC_WM8731
415 $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-proto.ko \
416 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8731.ko
417 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8731 snd-soc-rpi-proto)
419 kmod-sound-soc-bcm2835-i2s \
421 $(call AddDepends/sound)
424 define KernelPackage/sound-soc-rpi-proto/description
425 This package contains support for RPi-PROTO
428 $(eval $(call KernelPackage,sound-soc-rpi-proto))
431 define KernelPackage/random-bcm2835
432 SUBMENU:=$(OTHER_MENU)
433 TITLE:=BCM2835 HW Random Number Generator
434 KCONFIG:=CONFIG_HW_RANDOM_BCM2835
435 FILES:=$(LINUX_DIR)/drivers/char/hw_random/bcm2835-rng.ko
436 AUTOLOAD:=$(call AutoLoad,11,bcm2835-rng)
437 DEPENDS:=@TARGET_brcm2708 +kmod-random-core
440 define KernelPackage/random-bcm2835/description
441 This package contains the Broadcom 2835 HW random number generator driver
444 $(eval $(call KernelPackage,random-bcm2835))
447 define KernelPackage/smi-bcm2835
448 SUBMENU:=$(OTHER_MENU)
449 TITLE:=BCM2835 SMI driver
450 KCONFIG:=CONFIG_BCM2835_SMI
451 FILES:=$(LINUX_DIR)/drivers/misc/bcm2835_smi.ko
452 AUTOLOAD:=$(call AutoLoad,20,bcm2835_smi)
453 DEPENDS:=@TARGET_brcm2708
456 define KernelPackage/smi-bcm2835/description
457 This package contains the Character device driver for Broadcom Secondary
461 $(eval $(call KernelPackage,smi-bcm2835))
463 define KernelPackage/smi-bcm2835-dev
464 SUBMENU:=$(OTHER_MENU)
465 TITLE:=BCM2835 SMI device driver
466 KCONFIG:=CONFIG_BCM2835_SMI_DEV
467 FILES:=$(LINUX_DIR)/drivers/char/broadcom/bcm2835_smi_dev.ko
468 AUTOLOAD:=$(call AutoLoad,21,bcm2835_smi_dev)
469 DEPENDS:=@TARGET_brcm2708 +kmod-smi-bcm2835
472 define KernelPackage/smi-bcm2835-dev/description
473 This driver provides a character device interface (ioctl + read/write) to
474 Broadcom's Secondary Memory interface. The low-level functionality is provided
475 by the SMI driver itself.
478 $(eval $(call KernelPackage,smi-bcm2835-dev))
481 define KernelPackage/spi-bcm2835
483 TITLE:=BCM2835 SPI controller driver
488 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835.ko
489 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835)
490 DEPENDS:=@TARGET_brcm2708
493 define KernelPackage/spi-bcm2835/description
494 This package contains the Broadcom 2835 SPI master controller driver
497 $(eval $(call KernelPackage,spi-bcm2835))
499 define KernelPackage/spi-bcm2835-aux
501 TITLE:=BCM2835 Aux SPI controller driver
504 CONFIG_SPI_BCM2835AUX \
506 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835aux.ko
507 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835aux)
508 DEPENDS:=@TARGET_brcm2708
511 define KernelPackage/spi-bcm2835-aux/description
512 This package contains the Broadcom 2835 Aux SPI master controller driver
515 $(eval $(call KernelPackage,spi-bcm2835-aux))
518 define KernelPackage/hwmon-bcm2835
519 TITLE:=BCM2835 HWMON driver
520 KCONFIG:=CONFIG_SENSORS_BCM2835
521 FILES:=$(LINUX_DIR)/drivers/hwmon/bcm2835-hwmon.ko
522 AUTOLOAD:=$(call AutoLoad,60,bcm2835-hwmon)
523 $(call AddDepends/hwmon,@TARGET_brcm2708)
526 define KernelPackage/hwmon-bcm2835/description
527 Kernel module for BCM2835 thermal monitor chip
530 $(eval $(call KernelPackage,hwmon-bcm2835))
533 I2C_BCM2708_MODULES:=\
534 CONFIG_I2C_BCM2708:drivers/i2c/busses/i2c-bcm2708
536 define KernelPackage/i2c-bcm2708
537 $(call i2c_defaults,$(I2C_BCM2708_MODULES),59)
538 TITLE:=Broadcom BCM2708 I2C master controller driver
540 CONFIG_I2C_BCM2708_BAUDRATE=100000
541 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
544 define KernelPackage/i2c-bcm2708/description
545 This package contains the Broadcom 2708 I2C master controller driver
548 $(eval $(call KernelPackage,i2c-bcm2708))
550 I2C_BCM2835_MODULES:=\
551 CONFIG_I2C_BCM2835:drivers/i2c/busses/i2c-bcm2835
553 define KernelPackage/i2c-bcm2835
554 $(call i2c_defaults,$(I2C_BCM2835_MODULES),59)
555 TITLE:=Broadcom BCM2835 I2C master controller driver
556 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
559 define KernelPackage/i2c-bcm2835/description
560 This package contains the Broadcom 2835 I2C master controller driver
563 $(eval $(call KernelPackage,i2c-bcm2835))
566 define KernelPackage/video-bcm2835
567 TITLE:=Broadcom BCM2835 camera interface driver
569 CONFIG_VIDEO_BCM2835=y \
570 CONFIG_VIDEO_BCM2835_MMAL
571 FILES:= $(LINUX_DIR)/drivers/media/platform/bcm2835/bcm2835-v4l2.ko
572 AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
573 $(call AddDepends/video,@TARGET_brcm2708 +kmod-video-videobuf2)
576 define KernelPackage/video-bcm2835/description
577 This is a V4L2 driver for the Broadcom 2835 MMAL camera host interface
580 $(eval $(call KernelPackage,video-bcm2835))