brcm2708: add kmod-sound-soc-allo-boss-dac
[openwrt/openwrt.git] / target / linux / brcm2708 / modules.mk
1 #
2 # Copyright (C) 2012-2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 define KernelPackage/drm-vc4
9 SUBMENU:=$(VIDEO_MENU)
10 TITLE:=Broadcom VC4 Graphics
11 DEPENDS:= \
12 @TARGET_brcm2708 +kmod-drm \
13 +LINUX_4_14:kmod-sound-core \
14 +LINUX_4_14:kmod-sound-soc-core
15 KCONFIG:= \
16 CONFIG_DRM_VC4 \
17 CONFIG_DRM_VC4_HDMI_CEC=n
18 FILES:= \
19 $(LINUX_DIR)/drivers/gpu/drm/vc4/vc4.ko \
20 $(LINUX_DIR)/drivers/gpu/drm/drm_kms_helper.ko
21 AUTOLOAD:=$(call AutoProbe,vc4)
22 endef
23
24 define KernelPackage/drm-vc4/description
25 Direct Rendering Manager (DRM) support for Broadcom VideoCore IV GPU
26 used in BCM2835, BCM2836 and BCM2837 SoCs (e.g. Raspberry Pi).
27 endef
28
29 $(eval $(call KernelPackage,drm-vc4))
30
31
32 define KernelPackage/hwmon-rpi-poe-fan
33 SUBMENU:=$(HWMON_MENU)
34 TITLE:=Raspberry Pi PoE HAT fan
35 DEPENDS:=@TARGET_brcm2708 @LINUX_4_14 +kmod-hwmon-core
36 KCONFIG:=CONFIG_SENSORS_RPI_POE_FAN
37 FILES:=$(LINUX_DIR)/drivers/hwmon/rpi-poe-fan.ko
38 AUTOLOAD:=$(call AutoProbe,rpi-poe-fan)
39 endef
40
41 define KernelPackage/hwmon-rpi-poe-fan/description
42 Raspberry Pi PoE HAT fan driver
43 endef
44
45 $(eval $(call KernelPackage,hwmon-rpi-poe-fan))
46
47
48 define KernelPackage/sound-arm-bcm2835
49 TITLE:=BCM2835 ALSA driver
50 KCONFIG:= \
51 CONFIG_SND_ARM=y \
52 CONFIG_SND_BCM2835 \
53 CONFIG_SND_ARMAACI=n
54 FILES:= \
55 $(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-audio/snd-bcm2835.ko@ge4.12 \
56 $(LINUX_DIR)/sound/arm/snd-bcm2835.ko@lt4.12
57 AUTOLOAD:=$(call AutoLoad,68,snd-bcm2835)
58 DEPENDS:=@TARGET_brcm2708
59 $(call AddDepends/sound)
60 endef
61
62 define KernelPackage/sound-arm-bcm2835/description
63 This package contains the BCM2835 ALSA pcm card driver
64 endef
65
66 $(eval $(call KernelPackage,sound-arm-bcm2835))
67
68
69 define KernelPackage/sound-soc-bcm2835-i2s
70 TITLE:=SoC Audio support for the Broadcom 2835 I2S module
71 KCONFIG:= \
72 CONFIG_SND_BCM2835_SOC_I2S \
73 CONFIG_SND_SOC_DMAENGINE_PCM=y \
74 CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
75 FILES:= \
76 $(LINUX_DIR)/sound/soc/bcm/snd-soc-bcm2835-i2s.ko
77 AUTOLOAD:=$(call AutoLoad,68,snd-soc-bcm2835-i2s)
78 DEPENDS:=@TARGET_brcm2708 +kmod-regmap +kmod-sound-soc-core
79 $(call AddDepends/sound)
80 endef
81
82 define KernelPackage/sound-soc-bcm2835-i2s/description
83 This package contains support for codecs attached to the Broadcom 2835 I2S interface
84 endef
85
86 $(eval $(call KernelPackage,sound-soc-bcm2835-i2s))
87
88 define KernelPackage/sound-soc-adau1977-adc
89 TITLE:=Support for ADAU1977 ADC
90 KCONFIG:= \
91 CONFIG_SND_BCM2708_SOC_ADAU1977_ADC \
92 CONFIG_SND_SOC_ADAU1977 \
93 CONFIG_SND_SOC_ADAU1977_I2C
94 FILES:= \
95 $(LINUX_DIR)/sound/soc/bcm/snd-soc-adau1977-adc.ko \
96 $(LINUX_DIR)/sound/soc/codecs/snd-soc-adau1977.ko \
97 $(LINUX_DIR)/sound/soc/codecs/snd-soc-adau1977-i2c.ko
98 AUTOLOAD:=$(call AutoLoad,68,snd-soc-adau1977 snd-soc-adau1977-i2c \
99 snd-soc-adau1977-adc)
100 DEPENDS:= \
101 kmod-sound-soc-bcm2835-i2s \
102 +kmod-i2c-bcm2708
103 $(call AddDepends/sound)
104 endef
105
106 define KernelPackage/sound-soc-adau1977-adc/description
107 This package contains support for ADAU1977 ADC
108 endef
109
110 $(eval $(call KernelPackage,sound-soc-adau1977-adc))
111
112
113 define KernelPackage/sound-soc-allo-boss-dac
114 TITLE:=Support for Allo Boss DAC
115 KCONFIG:= \
116 CONFIG_SND_BCM2708_SOC_ALLO_BOSS_DAC \
117 CONFIG_SND_SOC_PCM512x \
118 CONFIG_SND_SOC_PCM512x_I2C
119 FILES:= \
120 $(LINUX_DIR)/sound/soc/bcm/snd-soc-allo-boss-dac.ko \
121 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
122 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
123 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x-i2c snd-soc-pcm512x \
124 snd-soc-allo-boss-dac)
125 DEPENDS:= \
126 @LINUX_4_14 \
127 +kmod-i2c-bcm2708 \
128 kmod-sound-soc-bcm2835-i2s
129 $(call AddDepends/sound)
130 endef
131
132 define KernelPackage/sound-soc-allo-boss-dac/description
133 This package contains support for Allo Boss DAC
134 endef
135
136 $(eval $(call KernelPackage,sound-soc-allo-boss-dac))
137
138
139 define KernelPackage/sound-soc-allo-piano-dac
140 TITLE:=Support for Allo Piano DAC
141 KCONFIG:= \
142 CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC \
143 CONFIG_SND_SOC_PCM512x \
144 CONFIG_SND_SOC_PCM512x_I2C
145 FILES:= \
146 $(LINUX_DIR)/sound/soc/bcm/snd-soc-allo-piano-dac.ko \
147 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
148 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
149 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x-i2c snd-soc-pcm512x \
150 snd-soc-allo-piano-dac)
151 DEPENDS:= \
152 kmod-sound-soc-bcm2835-i2s \
153 +kmod-i2c-bcm2708
154 $(call AddDepends/sound)
155 endef
156
157 define KernelPackage/sound-soc-allo-piano-dac/description
158 This package contains support for Allo Piano DAC
159 endef
160
161 $(eval $(call KernelPackage,sound-soc-allo-piano-dac))
162
163 define KernelPackage/sound-soc-audioinjector-pi-soundcard
164 TITLE:=Support for AudioInjector Pi soundcard
165 KCONFIG:= \
166 CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD \
167 CONFIG_SND_SOC_WM8731
168 FILES:= \
169 $(LINUX_DIR)/sound/soc/bcm/snd-soc-audioinjector-pi-soundcard.ko \
170 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8731.ko
171 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8731 \
172 snd-soc-audioinjector-pi-soundcard)
173 DEPENDS:= \
174 kmod-sound-soc-bcm2835-i2s \
175 +kmod-i2c-bcm2708
176 $(call AddDepends/sound)
177 endef
178
179 define KernelPackage/sound-soc-audioinjector-pi-soundcard/description
180 This package contains support for AudioInjector Pi soundcard
181 endef
182
183 $(eval $(call KernelPackage,sound-soc-audioinjector-pi-soundcard))
184
185 define KernelPackage/sound-soc-digidac1-soundcard
186 TITLE:=Support for RRA DigiDAC1
187 KCONFIG:= \
188 CONFIG_SND_DIGIDAC1_SOUNDCARD \
189 CONFIG_SND_SOC_WM8741 \
190 CONFIG_SND_SOC_WM8804 \
191 CONFIG_SND_SOC_WM8804_I2C
192 FILES:= \
193 $(LINUX_DIR)/sound/soc/bcm/snd-soc-digidac1-soundcard.ko \
194 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8741.ko \
195 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko \
196 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804-i2c.ko
197 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8741 \
198 snd-soc-wm8804 snd-soc-wm8804-i2c \
199 snd-soc-digidac1-soundcard)
200 DEPENDS:= \
201 kmod-sound-soc-bcm2835-i2s \
202 +kmod-i2c-bcm2708
203 $(call AddDepends/sound)
204 endef
205
206 define KernelPackage/sound-soc-digidac1-soundcard/description
207 This package contains support for RRA DigiDAC1
208 endef
209
210 $(eval $(call KernelPackage,sound-soc-digidac1-soundcard))
211
212 define KernelPackage/sound-soc-dionaudio-loco
213 TITLE:=Support for Dion Audio LOCO DAC-AMP
214 KCONFIG:= \
215 CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO \
216 CONFIG_SND_SOC_PCM5102A
217 FILES:= \
218 $(LINUX_DIR)/sound/soc/bcm/snd-soc-dionaudio-loco.ko \
219 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
220 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a \
221 snd-soc-dionaudio-loco)
222 DEPENDS:= \
223 kmod-sound-soc-bcm2835-i2s
224 $(call AddDepends/sound)
225 endef
226
227 define KernelPackage/sound-soc-dionaudio-loco/description
228 This package contains support for Dion Audio LOCO DAC-AMP
229 endef
230
231 $(eval $(call KernelPackage,sound-soc-dionaudio-loco))
232
233 define KernelPackage/sound-soc-dionaudio-loco-v2
234 TITLE:=Support for Dion Audio LOCO-V2 DAC-AMP
235 KCONFIG:= \
236 CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO_V2 \
237 CONFIG_SND_SOC_PCM512x \
238 CONFIG_SND_SOC_PCM512x_I2C
239 FILES:= \
240 $(LINUX_DIR)/sound/soc/bcm/snd-soc-dionaudio-loco.ko \
241 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
242 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
243 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
244 snd-soc-dionaudio-loco)
245 DEPENDS:= \
246 kmod-sound-soc-bcm2835-i2s
247 $(call AddDepends/sound)
248 endef
249
250 define KernelPackage/sound-soc-dionaudio-loco-v2/description
251 This package contains support for Dion Audio LOCO-V2 DAC-AMP
252 endef
253
254 $(eval $(call KernelPackage,sound-soc-dionaudio-loco-v2))
255
256 define KernelPackage/sound-soc-fe-pi
257 TITLE:=Support for Fe-Pi Audio Sound Card
258 KCONFIG:= \
259 CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO \
260 CONFIG_SND_SOC_SGTL5000
261 FILES:= \
262 $(LINUX_DIR)/sound/soc/bcm/snd-soc-fe-pi-audio.ko \
263 $(LINUX_DIR)/sound/soc/codecs/snd-soc-sgtl5000.ko
264 AUTOLOAD:=$(call AutoLoad,68,snd-soc-sgtl5000 \
265 snd-soc-fe-pi-audio)
266 DEPENDS:= \
267 kmod-sound-soc-bcm2835-i2s
268 $(call AddDepends/sound)
269 endef
270
271 define KernelPackage/sound-soc-fe-pi/description
272 This package contains support for Fe-Pi Audio Sound Card
273 endef
274
275 $(eval $(call KernelPackage,sound-soc-fe-pi))
276
277 define KernelPackage/sound-soc-hifiberry-dac
278 TITLE:=Support for HifiBerry DAC
279 KCONFIG:= \
280 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC \
281 CONFIG_SND_SOC_PCM5102A
282 FILES:= \
283 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dac.ko \
284 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
285 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a snd-soc-hifiberry-dac)
286 DEPENDS:= \
287 kmod-sound-soc-bcm2835-i2s \
288 +kmod-i2c-bcm2708
289 $(call AddDepends/sound)
290 endef
291
292 define KernelPackage/sound-soc-hifiberry-dac/description
293 This package contains support for HifiBerry DAC
294 endef
295
296 $(eval $(call KernelPackage,sound-soc-hifiberry-dac))
297
298 define KernelPackage/sound-soc-hifiberry-dacplus
299 TITLE:=Support for HifiBerry DAC+ / DAC+ Pro
300 KCONFIG:= \
301 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS \
302 CONFIG_SND_SOC_PCM512x
303 FILES:= \
304 $(LINUX_DIR)/drivers/clk/clk-hifiberry-dacpro.ko \
305 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dacplus.ko \
306 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
307 AUTOLOAD:=$(call AutoLoad,68,clk-hifiberry-dacpro snd-soc-pcm512x \
308 snd-soc-hifiberry-dacplus)
309 DEPENDS:= \
310 kmod-sound-soc-bcm2835-i2s \
311 +kmod-i2c-bcm2708
312 $(call AddDepends/sound)
313 endef
314
315 define KernelPackage/sound-soc-hifiberry-dacplus/description
316 This package contains support for HifiBerry DAC+ / DAC+ Pro
317 endef
318
319 $(eval $(call KernelPackage,sound-soc-hifiberry-dacplus))
320
321 define KernelPackage/sound-soc-hifiberry-digi
322 TITLE:=Support for HifiBerry Digi / Digi+ / Digi+ Pro
323 KCONFIG:= \
324 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI \
325 CONFIG_SND_SOC_WM8804
326 FILES:= \
327 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-digi.ko \
328 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
329 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-hifiberry-digi)
330 DEPENDS:= \
331 kmod-sound-soc-bcm2835-i2s \
332 +kmod-i2c-bcm2708
333 $(call AddDepends/sound)
334 endef
335
336 define KernelPackage/sound-soc-hifiberry-digi/description
337 This package contains support for HifiBerry Digi
338 endef
339
340 $(eval $(call KernelPackage,sound-soc-hifiberry-digi))
341
342 define KernelPackage/sound-soc-hifiberry-amp
343 TITLE:=Support for HifiBerry Amp
344 KCONFIG:= \
345 CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP \
346 CONFIG_SND_SOC_TAS5713
347 FILES:= \
348 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-amp.ko \
349 $(LINUX_DIR)/sound/soc/codecs/snd-soc-tas5713.ko
350 AUTOLOAD:=$(call AutoLoad,68,snd-soc-tas5713 snd-soc-hifiberry-amp)
351 DEPENDS:= \
352 kmod-sound-soc-bcm2835-i2s \
353 +kmod-i2c-bcm2708
354 $(call AddDepends/sound)
355 endef
356
357 define KernelPackage/sound-soc-hifiberry-amp/description
358 This package contains support for HifiBerry Amp
359 endef
360
361 $(eval $(call KernelPackage,sound-soc-hifiberry-amp))
362
363 define KernelPackage/sound-soc-iqaudio-dac
364 TITLE:=Support for IQaudIO-DAC
365 KCONFIG:= \
366 CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC \
367 CONFIG_SND_SOC_PCM512x \
368 CONFIG_SND_SOC_PCM512x_I2C
369 FILES:= \
370 $(LINUX_DIR)/sound/soc/bcm/snd-soc-iqaudio-dac.ko \
371 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
372 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
373 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
374 snd-soc-iqaudio-dac)
375 DEPENDS:= \
376 kmod-sound-soc-bcm2835-i2s \
377 +kmod-i2c-bcm2708
378 $(call AddDepends/sound)
379 endef
380
381 define KernelPackage/sound-soc-iqaudio-dac/description
382 This package contains support for IQaudIO-DAC
383 endef
384
385 $(eval $(call KernelPackage,sound-soc-iqaudio-dac))
386
387 define KernelPackage/sound-soc-iqaudio-digi
388 TITLE:=Support for IQaudIO-DIGI
389 KCONFIG:= \
390 CONFIG_SND_BCM2708_SOC_IQAUDIO_DIGI \
391 CONFIG_SND_SOC_WM8804 \
392 CONFIG_SND_SOC_WM8804_I2C
393 FILES:= \
394 $(LINUX_DIR)/sound/soc/bcm/snd-soc-iqaudio-digi.ko \
395 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko \
396 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804-i2c.ko
397 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-wm8804-i2c \
398 snd-soc-iqaudio-digi)
399 DEPENDS:= \
400 kmod-sound-soc-bcm2835-i2s \
401 +kmod-i2c-bcm2708
402 $(call AddDepends/sound)
403 endef
404
405 define KernelPackage/sound-soc-iqaudio-digi/description
406 This package contains support for IQaudIO-DIGI
407 endef
408
409 $(eval $(call KernelPackage,sound-soc-iqaudio-digi))
410
411 define KernelPackage/sound-soc-justboom-dac
412 TITLE:=Support for JustBoom DAC
413 KCONFIG:= \
414 CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC \
415 CONFIG_SND_SOC_PCM512x
416 FILES:= \
417 $(LINUX_DIR)/sound/soc/bcm/snd-soc-justboom-dac.ko \
418 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
419 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-justboom-dac)
420 DEPENDS:= \
421 kmod-sound-soc-bcm2835-i2s \
422 +kmod-i2c-bcm2708
423 $(call AddDepends/sound)
424 endef
425
426 define KernelPackage/sound-soc-justboom-dac/description
427 This package contains support for JustBoom DAC
428 endef
429
430 $(eval $(call KernelPackage,sound-soc-justboom-dac))
431
432 define KernelPackage/sound-soc-justboom-digi
433 TITLE:=Support for JustBoom Digi
434 KCONFIG:= \
435 CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI \
436 CONFIG_SND_SOC_WM8804
437 FILES:= \
438 $(LINUX_DIR)/sound/soc/bcm/snd-soc-justboom-digi.ko \
439 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
440 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-justboom-digi)
441 DEPENDS:= \
442 kmod-sound-soc-bcm2835-i2s \
443 +kmod-i2c-bcm2708
444 $(call AddDepends/sound)
445 endef
446
447 define KernelPackage/sound-soc-justboom-digi/description
448 This package contains support for JustBoom Digi
449 endef
450
451 $(eval $(call KernelPackage,sound-soc-justboom-digi))
452
453 define KernelPackage/sound-soc-pisound
454 TITLE:=Support for Blokas Labs PiSound
455 KCONFIG:= \
456 CONFIG_SND_PISOUND \
457 CONFIG_SND_SOC_PCM5102A
458 FILES:= \
459 $(LINUX_DIR)/sound/soc/bcm/snd-soc-pisound.ko \
460 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
461 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a snd-soc-pisound)
462 DEPENDS:= \
463 kmod-sound-soc-bcm2835-i2s
464 $(call AddDepends/sound)
465 endef
466
467 define KernelPackage/sound-soc-pisound/description
468 This package contains support for Blokas Labs PiSound
469 endef
470
471 $(eval $(call KernelPackage,sound-soc-pisound))
472
473 define KernelPackage/sound-soc-raspidac3
474 TITLE:=Support for RaspiDAC Rev.3x
475 KCONFIG:= \
476 CONFIG_SND_BCM2708_SOC_RASPIDAC3 \
477 CONFIG_SND_SOC_PCM512x \
478 CONFIG_SND_SOC_PCM512x_I2C \
479 CONFIG_SND_SOC_TPA6130A2
480 FILES:= \
481 $(LINUX_DIR)/sound/soc/bcm/snd-soc-raspidac3.ko \
482 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
483 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko \
484 $(LINUX_DIR)/sound/soc/codecs/snd-soc-tpa6130a2.ko
485 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
486 snd-soc-tpa6130a2 snd-soc-raspidac3)
487 DEPENDS:= \
488 @LINUX_4_9 \
489 kmod-sound-soc-bcm2835-i2s \
490 +kmod-i2c-bcm2708
491 $(call AddDepends/sound)
492 endef
493
494 define KernelPackage/sound-soc-raspidac3/description
495 This package contains support for RaspiDAC Rev.3x
496 endef
497
498 $(eval $(call KernelPackage,sound-soc-raspidac3))
499
500 define KernelPackage/sound-soc-rpi-dac
501 TITLE:=Support for RPi-DAC
502 KCONFIG:= \
503 CONFIG_SND_BCM2708_SOC_RPI_DAC \
504 CONFIG_SND_SOC_PCM1794A
505 FILES:= \
506 $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-dac.ko \
507 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm1794a.ko
508 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm1794a snd-soc-rpi-dac)
509 DEPENDS:= \
510 kmod-sound-soc-bcm2835-i2s \
511 +kmod-i2c-bcm2708
512 $(call AddDepends/sound)
513 endef
514
515 define KernelPackage/sound-soc-rpi-dac/description
516 This package contains support for RPi-DAC
517 endef
518
519 $(eval $(call KernelPackage,sound-soc-rpi-dac))
520
521 define KernelPackage/sound-soc-rpi-proto
522 TITLE:=Support for RPi-PROTO
523 KCONFIG:= \
524 CONFIG_SND_BCM2708_SOC_RPI_PROTO \
525 CONFIG_SND_SOC_WM8731
526 FILES:= \
527 $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-proto.ko \
528 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8731.ko
529 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8731 snd-soc-rpi-proto)
530 DEPENDS:= \
531 kmod-sound-soc-bcm2835-i2s \
532 +kmod-i2c-bcm2708
533 $(call AddDepends/sound)
534 endef
535
536 define KernelPackage/sound-soc-rpi-proto/description
537 This package contains support for RPi-PROTO
538 endef
539
540 $(eval $(call KernelPackage,sound-soc-rpi-proto))
541
542
543 define KernelPackage/random-bcm2835
544 SUBMENU:=$(OTHER_MENU)
545 TITLE:=BCM2835 HW Random Number Generator
546 KCONFIG:=CONFIG_HW_RANDOM_BCM2835
547 FILES:=$(LINUX_DIR)/drivers/char/hw_random/bcm2835-rng.ko
548 AUTOLOAD:=$(call AutoLoad,11,bcm2835-rng)
549 DEPENDS:=@TARGET_brcm2708 +kmod-random-core
550 endef
551
552 define KernelPackage/random-bcm2835/description
553 This package contains the Broadcom 2835 HW random number generator driver
554 endef
555
556 $(eval $(call KernelPackage,random-bcm2835))
557
558
559 define KernelPackage/smi-bcm2835
560 SUBMENU:=$(OTHER_MENU)
561 TITLE:=BCM2835 SMI driver
562 KCONFIG:=CONFIG_BCM2835_SMI
563 FILES:=$(LINUX_DIR)/drivers/misc/bcm2835_smi.ko
564 AUTOLOAD:=$(call AutoLoad,20,bcm2835_smi)
565 DEPENDS:=@TARGET_brcm2708
566 endef
567
568 define KernelPackage/smi-bcm2835/description
569 This package contains the Character device driver for Broadcom Secondary
570 Memory Interface
571 endef
572
573 $(eval $(call KernelPackage,smi-bcm2835))
574
575 define KernelPackage/smi-bcm2835-dev
576 SUBMENU:=$(OTHER_MENU)
577 TITLE:=BCM2835 SMI device driver
578 KCONFIG:=CONFIG_BCM2835_SMI_DEV
579 FILES:=$(LINUX_DIR)/drivers/char/broadcom/bcm2835_smi_dev.ko
580 AUTOLOAD:=$(call AutoLoad,21,bcm2835_smi_dev)
581 DEPENDS:=@TARGET_brcm2708 +kmod-smi-bcm2835
582 endef
583
584 define KernelPackage/smi-bcm2835-dev/description
585 This driver provides a character device interface (ioctl + read/write) to
586 Broadcom's Secondary Memory interface. The low-level functionality is provided
587 by the SMI driver itself.
588 endef
589
590 $(eval $(call KernelPackage,smi-bcm2835-dev))
591
592
593 define KernelPackage/spi-bcm2835
594 SUBMENU:=$(SPI_MENU)
595 TITLE:=BCM2835 SPI controller driver
596 KCONFIG:=\
597 CONFIG_SPI=y \
598 CONFIG_SPI_BCM2835 \
599 CONFIG_SPI_MASTER=y
600 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835.ko
601 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835)
602 DEPENDS:=@TARGET_brcm2708
603 endef
604
605 define KernelPackage/spi-bcm2835/description
606 This package contains the Broadcom 2835 SPI master controller driver
607 endef
608
609 $(eval $(call KernelPackage,spi-bcm2835))
610
611 define KernelPackage/spi-bcm2835-aux
612 SUBMENU:=$(SPI_MENU)
613 TITLE:=BCM2835 Aux SPI controller driver
614 KCONFIG:=\
615 CONFIG_SPI=y \
616 CONFIG_SPI_BCM2835AUX \
617 CONFIG_SPI_MASTER=y
618 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835aux.ko
619 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835aux)
620 DEPENDS:=@TARGET_brcm2708
621 endef
622
623 define KernelPackage/spi-bcm2835-aux/description
624 This package contains the Broadcom 2835 Aux SPI master controller driver
625 endef
626
627 $(eval $(call KernelPackage,spi-bcm2835-aux))
628
629
630 define KernelPackage/hwmon-bcm2835
631 TITLE:=BCM2835 HWMON driver
632 KCONFIG:=CONFIG_SENSORS_BCM2835
633 FILES:=$(LINUX_DIR)/drivers/hwmon/bcm2835-hwmon.ko
634 AUTOLOAD:=$(call AutoLoad,60,bcm2835-hwmon)
635 $(call AddDepends/hwmon,@TARGET_brcm2708)
636 endef
637
638 define KernelPackage/hwmon-bcm2835/description
639 Kernel module for BCM2835 thermal monitor chip
640 endef
641
642 $(eval $(call KernelPackage,hwmon-bcm2835))
643
644
645 I2C_BCM2708_MODULES:=\
646 CONFIG_I2C_BCM2708:drivers/i2c/busses/i2c-bcm2708
647
648 define KernelPackage/i2c-bcm2708
649 $(call i2c_defaults,$(I2C_BCM2708_MODULES),59)
650 TITLE:=Broadcom BCM2708 I2C master controller driver
651 KCONFIG+= \
652 CONFIG_I2C_BCM2708_BAUDRATE=100000
653 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
654 endef
655
656 define KernelPackage/i2c-bcm2708/description
657 This package contains the Broadcom 2708 I2C master controller driver
658 endef
659
660 $(eval $(call KernelPackage,i2c-bcm2708))
661
662 I2C_BCM2835_MODULES:=\
663 CONFIG_I2C_BCM2835:drivers/i2c/busses/i2c-bcm2835
664
665 define KernelPackage/i2c-bcm2835
666 $(call i2c_defaults,$(I2C_BCM2835_MODULES),59)
667 TITLE:=Broadcom BCM2835 I2C master controller driver
668 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
669 endef
670
671 define KernelPackage/i2c-bcm2835/description
672 This package contains the Broadcom 2835 I2C master controller driver
673 endef
674
675 $(eval $(call KernelPackage,i2c-bcm2835))
676
677
678 define KernelPackage/video-bcm2835
679 TITLE:=Broadcom BCM2835 camera interface driver
680 KCONFIG:= \
681 CONFIG_VIDEO_BCM2835$(if $(CONFIG_LINUX_4_9),=y) \
682 CONFIG_VIDEO_BCM2835_MMAL
683 FILES:= \
684 $(LINUX_DIR)/drivers/media/platform/bcm2835/bcm2835-v4l2.ko@lt4.12 \
685 $(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko@ge4.12
686 AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
687 $(call AddDepends/video,@TARGET_brcm2708 +kmod-video-videobuf2)
688 endef
689
690 define KernelPackage/video-bcm2835/description
691 This is a V4L2 driver for the Broadcom 2835 MMAL camera host interface
692 endef
693
694 $(eval $(call KernelPackage,video-bcm2835))