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_I2C
53 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-adau1977-adc.ko \
54 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-adau1977-i2c.ko
55 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-adau1977-i2c snd-soc-adau1977-adc
)
57 kmod-sound-soc-bcm2835-i2s \
59 $(call AddDepends
/sound
)
62 define KernelPackage
/sound-soc-adau1977-adc
/description
63 This package contains support for ADAU1977 ADC
66 $(eval
$(call KernelPackage
,sound-soc-adau1977-adc
))
68 define KernelPackage
/sound-soc-audioinjector-pi-soundcard
69 TITLE
:=Support for AudioInjector Pi soundcard
71 CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD \
74 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-audioinjector-pi-soundcard.ko \
75 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8731.ko
76 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-wm8731 \
77 snd-soc-audioinjector-pi-soundcard
)
79 kmod-sound-soc-bcm2835-i2s \
81 $(call AddDepends
/sound
)
84 define KernelPackage
/sound-soc-audioinjector-pi-soundcard
/description
85 This package contains support for AudioInjector Pi soundcard
88 $(eval
$(call KernelPackage
,sound-soc-audioinjector-pi-soundcard
))
90 define KernelPackage
/sound-soc-digidac1-soundcard
91 TITLE
:=Support for RRA DigiDAC1
93 CONFIG_SND_DIGIDAC1_SOUNDCARD \
94 CONFIG_SND_SOC_WM8741 \
95 CONFIG_SND_SOC_WM8804_I2C
97 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-digidac1-soundcard.ko \
98 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8741.ko \
99 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8804-i2c.ko
100 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-snd-soc-wm8741 \
101 snd-soc-snd-soc-wm8804-i2c snd-soc-digidac1-soundcard
)
103 kmod-sound-soc-bcm2835-i2s \
105 $(call AddDepends
/sound
)
108 define KernelPackage
/sound-soc-digidac1-soundcard
/description
109 This package contains support for RRA DigiDAC1
112 $(eval
$(call KernelPackage
,sound-soc-digidac1-soundcard
))
114 define KernelPackage
/sound-soc-hifiberry-dac
115 TITLE
:=Support for HifiBerry DAC
117 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC \
118 CONFIG_SND_SOC_PCM5102A
120 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-dac.ko \
121 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm5102a.ko
122 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm5102a snd-soc-hifiberry-dac
)
124 kmod-sound-soc-bcm2835-i2s \
126 $(call AddDepends
/sound
)
129 define KernelPackage
/sound-soc-hifiberry-dac
/description
130 This package contains support for HifiBerry DAC
133 $(eval
$(call KernelPackage
,sound-soc-hifiberry-dac
))
135 define KernelPackage
/sound-soc-hifiberry-dacplus
136 TITLE
:=Support for HifiBerry DAC
+ / DAC
+ Pro
138 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS \
139 CONFIG_SND_SOC_PCM512x
141 $(LINUX_DIR
)/drivers
/clk
/clk-hifiberry-dacpro.ko \
142 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-dacplus.ko \
143 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x.ko
144 AUTOLOAD
:=$(call AutoLoad
,68,clk-hifiberry-dacpro snd-soc-pcm512x \
145 snd-soc-hifiberry-dacplus
)
147 kmod-sound-soc-bcm2835-i2s \
149 $(call AddDepends
/sound
)
152 define KernelPackage
/sound-soc-hifiberry-dacplus
/description
153 This package contains support for HifiBerry DAC
+ / DAC
+ Pro
156 $(eval
$(call KernelPackage
,sound-soc-hifiberry-dacplus
))
158 define KernelPackage
/sound-soc-hifiberry-digi
159 TITLE
:=Support for HifiBerry Digi
161 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI \
162 CONFIG_SND_SOC_WM8804
164 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-digi.ko \
165 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8804.ko
166 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-wm8804 snd-soc-hifiberry-digi
)
168 kmod-sound-soc-bcm2835-i2s \
170 $(call AddDepends
/sound
)
173 define KernelPackage
/sound-soc-hifiberry-digi
/description
174 This package contains support for HifiBerry Digi
177 $(eval
$(call KernelPackage
,sound-soc-hifiberry-digi
))
179 define KernelPackage
/sound-soc-hifiberry-amp
180 TITLE
:=Support for HifiBerry Amp
182 CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP \
183 CONFIG_SND_SOC_TAS5713
185 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-amp.ko \
186 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-tas5713.ko
187 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-tas5713 snd-soc-hifiberry-amp
)
189 kmod-sound-soc-bcm2835-i2s \
191 $(call AddDepends
/sound
)
194 define KernelPackage
/sound-soc-hifiberry-amp
/description
195 This package contains support for HifiBerry Amp
198 $(eval
$(call KernelPackage
,sound-soc-hifiberry-amp
))
200 define KernelPackage
/sound-soc-iqaudio-dac
201 TITLE
:=Support for IQaudIO-DAC
203 CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC \
204 CONFIG_SND_SOC_PCM512x \
205 CONFIG_SND_SOC_PCM512x_I2C
207 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-iqaudio-dac.ko \
208 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x.ko \
209 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x-i2c.ko
210 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
213 kmod-sound-soc-bcm2835-i2s \
215 $(call AddDepends
/sound
)
218 define KernelPackage
/sound-soc-iqaudio-dac
/description
219 This package contains support for IQaudIO-DAC
222 $(eval
$(call KernelPackage
,sound-soc-iqaudio-dac
))
224 define KernelPackage
/sound-soc-justboom-dac
225 TITLE
:=Support for JustBoom DAC
227 CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC \
228 CONFIG_SND_SOC_PCM512x
230 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-justboom-dac.ko \
231 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x.ko
232 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm512x snd-soc-justboom-dac
)
234 kmod-sound-soc-bcm2835-i2s \
236 $(call AddDepends
/sound
)
239 define KernelPackage
/sound-soc-justboom-dac
/description
240 This package contains support for JustBoom DAC
243 $(eval
$(call KernelPackage
,sound-soc-justboom-dac
))
245 define KernelPackage
/sound-soc-justboom-digi
246 TITLE
:=Support for JustBoom Digi
248 CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI \
249 CONFIG_SND_SOC_WM8804
251 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-justboom-digi.ko \
252 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8804.ko
253 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-wm8804 snd-soc-justboom-digi
)
255 kmod-sound-soc-bcm2835-i2s \
257 $(call AddDepends
/sound
)
260 define KernelPackage
/sound-soc-justboom-digi
/description
261 This package contains support for JustBoom Digi
264 $(eval
$(call KernelPackage
,sound-soc-justboom-digi
))
266 define KernelPackage
/sound-soc-raspidac3
267 TITLE
:=Support for RaspiDAC Rev
.3x
269 CONFIG_SND_BCM2708_SOC_RASPIDAC3 \
270 CONFIG_SND_SOC_PCM512x \
271 CONFIG_SND_SOC_PCM512x_I2C \
272 CONFIG_SND_SOC_TPA6130A2
274 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-raspidac3.ko \
275 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x.ko \
276 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x-i2c.ko \
277 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-tpa6130a2.ko
278 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
279 snd-soc-tpa6130a2 snd-soc-raspidac3
)
281 kmod-sound-soc-bcm2835-i2s \
283 $(call AddDepends
/sound
)
286 define KernelPackage
/sound-soc-raspidac3
/description
287 This package contains support for RaspiDAC Rev
.3x
290 $(eval
$(call KernelPackage
,sound-soc-raspidac3
))
292 define KernelPackage
/sound-soc-rpi-dac
293 TITLE
:=Support for RPi-DAC
295 CONFIG_SND_BCM2708_SOC_RPI_DAC \
296 CONFIG_SND_SOC_PCM1794A
298 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-rpi-dac.ko \
299 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm1794a.ko
300 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm1794a snd-soc-rpi-dac
)
302 kmod-sound-soc-bcm2835-i2s \
304 $(call AddDepends
/sound
)
307 define KernelPackage
/sound-soc-rpi-dac
/description
308 This package contains support for RPi-DAC
311 $(eval
$(call KernelPackage
,sound-soc-rpi-dac
))
313 define KernelPackage
/sound-soc-rpi-proto
314 TITLE
:=Support for RPi-PROTO
316 CONFIG_SND_BCM2708_SOC_RPI_PROTO \
317 CONFIG_SND_SOC_WM8731
319 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-rpi-proto.ko \
320 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8731.ko
321 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-wm8731 snd-soc-rpi-proto
)
323 kmod-sound-soc-bcm2835-i2s \
325 $(call AddDepends
/sound
)
328 define KernelPackage
/sound-soc-rpi-proto
/description
329 This package contains support for RPi-PROTO
332 $(eval
$(call KernelPackage
,sound-soc-rpi-proto
))
335 define KernelPackage
/random-bcm2835
336 SUBMENU
:=$(OTHER_MENU
)
337 TITLE
:=BCM2835 HW Random Number Generator
338 KCONFIG
:=CONFIG_HW_RANDOM_BCM2835
339 FILES
:=$(LINUX_DIR
)/drivers
/char
/hw_random
/bcm2835-rng.ko
340 AUTOLOAD
:=$(call AutoLoad
,11,bcm2835-rng
)
341 DEPENDS
:=@TARGET_brcm2708
+kmod-random-core
344 define KernelPackage
/random-bcm2835
/description
345 This package contains the Broadcom
2835 HW random number generator driver
348 $(eval
$(call KernelPackage
,random-bcm2835
))
351 define KernelPackage
/smi-bcm2835
352 SUBMENU
:=$(OTHER_MENU
)
353 TITLE
:=BCM2835 SMI driver
354 KCONFIG
:=CONFIG_BCM2835_SMI
355 FILES
:=$(LINUX_DIR
)/drivers
/misc
/bcm2835_smi.ko
356 AUTOLOAD
:=$(call AutoLoad
,20,bcm2835_smi
)
357 DEPENDS
:=@TARGET_brcm2708
360 define KernelPackage
/smi-bcm2835
/description
361 This package contains the Character device driver for Broadcom Secondary
365 $(eval
$(call KernelPackage
,smi-bcm2835
))
367 define KernelPackage
/smi-bcm2835-dev
368 SUBMENU
:=$(OTHER_MENU
)
369 TITLE
:=BCM2835 SMI device driver
370 KCONFIG
:=CONFIG_BCM2835_SMI_DEV
371 FILES
:=$(LINUX_DIR
)/drivers
/char
/broadcom
/bcm2835_smi_dev.ko
372 AUTOLOAD
:=$(call AutoLoad
,21,bcm2835_smi_dev
)
373 DEPENDS
:=@TARGET_brcm2708
+kmod-smi-bcm2835
376 define KernelPackage
/smi-bcm2835-dev
/description
377 This driver provides a character device interface
(ioctl
+ read
/write
) to
378 Broadcom
's Secondary Memory interface. The low-level functionality is provided
379 by the SMI driver itself.
382 $(eval $(call KernelPackage,smi-bcm2835-dev))
385 define KernelPackage/spi-bcm2835
387 TITLE:=BCM2835 SPI controller driver
392 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835.ko
393 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835)
394 DEPENDS:=@TARGET_brcm2708
397 define KernelPackage/spi-bcm2835/description
398 This package contains the Broadcom 2835 SPI master controller driver
401 $(eval $(call KernelPackage,spi-bcm2835))
403 define KernelPackage/spi-bcm2835-aux
405 TITLE:=BCM2835 Aux SPI controller driver
408 CONFIG_SPI_BCM2835AUX \
410 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835aux.ko
411 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835aux)
412 DEPENDS:=@TARGET_brcm2708
415 define KernelPackage/spi-bcm2835-aux/description
416 This package contains the Broadcom 2835 Aux SPI master controller driver
419 $(eval $(call KernelPackage,spi-bcm2835-aux))
422 define KernelPackage/hwmon-bcm2835
423 TITLE:=BCM2835 HWMON driver
424 KCONFIG:=CONFIG_SENSORS_BCM2835
425 FILES:=$(LINUX_DIR)/drivers/hwmon/bcm2835-hwmon.ko
426 AUTOLOAD:=$(call AutoLoad,60,bcm2835-hwmon)
427 $(call AddDepends/hwmon,@TARGET_brcm2708)
430 define KernelPackage/hwmon-bcm2835/description
431 Kernel module for BCM2835 thermal monitor chip
434 $(eval $(call KernelPackage,hwmon-bcm2835))
437 I2C_BCM2708_MODULES:=\
438 CONFIG_I2C_BCM2708:drivers/i2c/busses/i2c-bcm2708
440 define KernelPackage/i2c-bcm2708
441 $(call i2c_defaults,$(I2C_BCM2708_MODULES),59)
442 TITLE:=Broadcom BCM2708 I2C master controller driver
444 CONFIG_I2C_BCM2708_BAUDRATE=100000
445 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
448 define KernelPackage/i2c-bcm2708/description
449 This package contains the Broadcom 2708 I2C master controller driver
452 $(eval $(call KernelPackage,i2c-bcm2708))
454 I2C_BCM2835_MODULES:=\
455 CONFIG_I2C_BCM2835:drivers/i2c/busses/i2c-bcm2835
457 define KernelPackage/i2c-bcm2835
458 $(call i2c_defaults,$(I2C_BCM2835_MODULES),59)
459 TITLE:=Broadcom BCM2835 I2C master controller driver
460 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
463 define KernelPackage/i2c-bcm2835/description
464 This package contains the Broadcom 2835 I2C master controller driver
467 $(eval $(call KernelPackage,i2c-bcm2835))
470 define KernelPackage/video-bcm2835
471 TITLE:=Broadcom BCM2835 camera interface driver
473 CONFIG_VIDEO_BCM2835=y \
474 CONFIG_VIDEO_BCM2835_MMAL
475 FILES:= $(LINUX_DIR)/drivers/media/platform/bcm2835/bcm2835-v4l2.ko
476 AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
477 $(call AddDepends/video,@TARGET_brcm2708 +kmod-video-videobuf2)
480 define KernelPackage/video-bcm2835/description
481 This is a V4L2 driver for the Broadcom 2835 MMAL camera host interface
484 $(eval $(call KernelPackage,video-bcm2835))