0788a6eda39074256a12da43c9419e407b1a1609
[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-mmio +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
89 define KernelPackage/sound-soc-3dlab-nano-player
90 TITLE:=Support for 3Dlab Nano Player
91 KCONFIG:= CONFIG_SND_BCM2708_SOC_3DLAB_NANO_PLAYER
92 FILES:=$(LINUX_DIR)/sound/soc/bcm/snd-soc-3dlab-nano-player.ko
93 AUTOLOAD:=$(call AutoLoad,68,snd-soc-3dlab-nano-player)
94 DEPENDS:= \
95 @LINUX_4_14 \
96 kmod-sound-soc-bcm2835-i2s
97 endef
98
99 define KernelPackage/sound-soc-3dlab-nano-player/description
100 This package contains support for 3Dlab Nano Player
101 endef
102
103 $(eval $(call KernelPackage,sound-soc-3dlab-nano-player))
104
105
106 define KernelPackage/sound-soc-adau1977-adc
107 TITLE:=Support for ADAU1977 ADC
108 KCONFIG:= \
109 CONFIG_SND_BCM2708_SOC_ADAU1977_ADC \
110 CONFIG_SND_SOC_ADAU1977 \
111 CONFIG_SND_SOC_ADAU1977_I2C
112 FILES:= \
113 $(LINUX_DIR)/sound/soc/bcm/snd-soc-adau1977-adc.ko \
114 $(LINUX_DIR)/sound/soc/codecs/snd-soc-adau1977.ko \
115 $(LINUX_DIR)/sound/soc/codecs/snd-soc-adau1977-i2c.ko
116 AUTOLOAD:=$(call AutoLoad,68,snd-soc-adau1977 snd-soc-adau1977-i2c \
117 snd-soc-adau1977-adc)
118 DEPENDS:= \
119 kmod-sound-soc-bcm2835-i2s \
120 +kmod-i2c-bcm2708
121 $(call AddDepends/sound)
122 endef
123
124 define KernelPackage/sound-soc-adau1977-adc/description
125 This package contains support for ADAU1977 ADC
126 endef
127
128 $(eval $(call KernelPackage,sound-soc-adau1977-adc))
129
130
131 define KernelPackage/sound-soc-allo-boss-dac
132 TITLE:=Support for Allo Boss DAC
133 KCONFIG:= \
134 CONFIG_SND_BCM2708_SOC_ALLO_BOSS_DAC \
135 CONFIG_SND_SOC_PCM512x \
136 CONFIG_SND_SOC_PCM512x_I2C
137 FILES:= \
138 $(LINUX_DIR)/sound/soc/bcm/snd-soc-allo-boss-dac.ko \
139 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
140 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
141 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x-i2c snd-soc-pcm512x \
142 snd-soc-allo-boss-dac)
143 DEPENDS:= \
144 @LINUX_4_14 \
145 +kmod-i2c-bcm2708 \
146 kmod-sound-soc-bcm2835-i2s
147 $(call AddDepends/sound)
148 endef
149
150 define KernelPackage/sound-soc-allo-boss-dac/description
151 This package contains support for Allo Boss DAC
152 endef
153
154 $(eval $(call KernelPackage,sound-soc-allo-boss-dac))
155
156
157 define KernelPackage/sound-soc-allo-digione
158 TITLE:=Support for Allo Piano DigiOne
159 KCONFIG:= \
160 CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE \
161 CONFIG_SND_SOC_PCM512x \
162 CONFIG_SND_SOC_PCM512x_I2C
163 FILES:= \
164 $(LINUX_DIR)/sound/soc/bcm/snd-soc-allo-digione.ko \
165 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
166 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
167 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x-i2c snd-soc-pcm512x \
168 snd-soc-allo-digione)
169 DEPENDS:= \
170 @LINUX_4_14 \
171 +kmod-i2c-bcm2708 \
172 kmod-sound-soc-bcm2835-i2s
173 $(call AddDepends/sound)
174 endef
175
176 define KernelPackage/sound-soc-allo-digione/description
177 This package contains support for Allo DigiOne
178 endef
179
180 $(eval $(call KernelPackage,sound-soc-allo-digione))
181
182
183 define KernelPackage/sound-soc-allo-piano-dac
184 TITLE:=Support for Allo Piano DAC
185 KCONFIG:= \
186 CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC \
187 CONFIG_SND_SOC_PCM512x \
188 CONFIG_SND_SOC_PCM512x_I2C
189 FILES:= \
190 $(LINUX_DIR)/sound/soc/bcm/snd-soc-allo-piano-dac.ko \
191 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
192 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
193 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x-i2c snd-soc-pcm512x \
194 snd-soc-allo-piano-dac)
195 DEPENDS:= \
196 kmod-sound-soc-bcm2835-i2s \
197 +kmod-i2c-bcm2708
198 $(call AddDepends/sound)
199 endef
200
201 define KernelPackage/sound-soc-allo-piano-dac/description
202 This package contains support for Allo Piano DAC
203 endef
204
205 $(eval $(call KernelPackage,sound-soc-allo-piano-dac))
206
207
208 define KernelPackage/sound-soc-allo-piano-dac-plus
209 TITLE:=Support for Allo Piano DAC Plus
210 KCONFIG:= \
211 CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC_PLUS \
212 CONFIG_SND_SOC_PCM512x \
213 CONFIG_SND_SOC_PCM512x_I2C
214 FILES:= \
215 $(LINUX_DIR)/sound/soc/bcm/snd-soc-allo-piano-dac-plus.ko \
216 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
217 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
218 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x-i2c snd-soc-pcm512x \
219 snd-soc-allo-piano-dac-plus)
220 DEPENDS:= \
221 @LINUX_4_14 \
222 +kmod-i2c-bcm2708 \
223 kmod-sound-soc-bcm2835-i2s
224 $(call AddDepends/sound)
225 endef
226
227 define KernelPackage/sound-soc-allo-piano-dac-plus/description
228 This package contains support for Allo Piano DAC Plus
229 endef
230
231 $(eval $(call KernelPackage,sound-soc-allo-piano-dac-plus))
232
233
234 define KernelPackage/sound-soc-allo-katana-codec
235 TITLE:=Support for Allo Katana DAC
236 KCONFIG:= \
237 CONFIG_SND_AUDIO_GRAPH_CARD \
238 CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC \
239 CONFIG_SND_SOC_PCM512x \
240 CONFIG_SND_SOC_PCM512x_I2C \
241 CONFIG_SND_SIMPLE_CARD_UTILS
242 FILES:= \
243 $(LINUX_DIR)/sound/soc/bcm/snd-soc-allo-katana-codec.ko \
244 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
245 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
246 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x-i2c snd-soc-pcm512x \
247 snd-soc-allo-katana-codec)
248 DEPENDS:= \
249 @LINUX_4_14 \
250 +kmod-i2c-bcm2708 \
251 +kmod-regmap-core \
252 kmod-sound-soc-bcm2835-i2s
253 $(call AddDepends/sound)
254 endef
255
256 define KernelPackage/sound-soc-allo-katana-codec/description
257 This package contains support for Allo Katana DAC
258 endef
259
260 $(eval $(call KernelPackage,sound-soc-allo-katana-codec))
261
262
263 define KernelPackage/sound-soc-audioinjector-octo-soundcard
264 TITLE:=Support for AudioInjector Octo soundcard
265 KCONFIG:= \
266 CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD \
267 CONFIG_SND_SOC_CS42XX8 \
268 CONFIG_SND_SOC_CS42XX8_I2C
269 FILES:= \
270 $(LINUX_DIR)/sound/soc/bcm/snd-soc-audioinjector-octo-soundcard.ko \
271 $(LINUX_DIR)/sound/soc/codecs/snd-soc-cs42xx8.ko \
272 $(LINUX_DIR)/sound/soc/codecs/snd-soc-cs42xx8-i2c.ko
273 AUTOLOAD:=$(call AutoLoad,68,snd-soc- \
274 snd-soc-audioinjector-octo-soundcard)
275 DEPENDS:= \
276 @LINUX_4_14 \
277 +kmod-i2c-bcm2708 \
278 kmod-sound-soc-bcm2835-i2s
279 $(call AddDepends/sound)
280 endef
281
282 define KernelPackage/sound-soc-audioinjector-octo-soundcard/description
283 This package contains support for AudioInjector Octo soundcard
284 endef
285
286 $(eval $(call KernelPackage,sound-soc-audioinjector-octo-soundcard))
287
288
289 define KernelPackage/sound-soc-audioinjector-pi-soundcard
290 TITLE:=Support for AudioInjector Pi soundcard
291 KCONFIG:= \
292 CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD \
293 CONFIG_SND_SOC_WM8731
294 FILES:= \
295 $(LINUX_DIR)/sound/soc/bcm/snd-soc-audioinjector-pi-soundcard.ko \
296 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8731.ko
297 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8731 \
298 snd-soc-audioinjector-pi-soundcard)
299 DEPENDS:= \
300 kmod-sound-soc-bcm2835-i2s \
301 +kmod-i2c-bcm2708
302 $(call AddDepends/sound)
303 endef
304
305 define KernelPackage/sound-soc-audioinjector-pi-soundcard/description
306 This package contains support for AudioInjector Pi soundcard
307 endef
308
309 $(eval $(call KernelPackage,sound-soc-audioinjector-pi-soundcard))
310
311 define KernelPackage/sound-soc-digidac1-soundcard
312 TITLE:=Support for RRA DigiDAC1
313 KCONFIG:= \
314 CONFIG_SND_DIGIDAC1_SOUNDCARD \
315 CONFIG_SND_SOC_WM8741 \
316 CONFIG_SND_SOC_WM8804 \
317 CONFIG_SND_SOC_WM8804_I2C
318 FILES:= \
319 $(LINUX_DIR)/sound/soc/bcm/snd-soc-digidac1-soundcard.ko \
320 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8741.ko \
321 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko \
322 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804-i2c.ko
323 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8741 \
324 snd-soc-wm8804 snd-soc-wm8804-i2c \
325 snd-soc-digidac1-soundcard)
326 DEPENDS:= \
327 kmod-sound-soc-bcm2835-i2s \
328 +kmod-i2c-bcm2708
329 $(call AddDepends/sound)
330 endef
331
332 define KernelPackage/sound-soc-digidac1-soundcard/description
333 This package contains support for RRA DigiDAC1
334 endef
335
336 $(eval $(call KernelPackage,sound-soc-digidac1-soundcard))
337
338 define KernelPackage/sound-soc-dionaudio-loco
339 TITLE:=Support for Dion Audio LOCO DAC-AMP
340 KCONFIG:= \
341 CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO \
342 CONFIG_SND_SOC_PCM5102A
343 FILES:= \
344 $(LINUX_DIR)/sound/soc/bcm/snd-soc-dionaudio-loco.ko \
345 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
346 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a \
347 snd-soc-dionaudio-loco)
348 DEPENDS:= \
349 kmod-sound-soc-bcm2835-i2s
350 $(call AddDepends/sound)
351 endef
352
353 define KernelPackage/sound-soc-dionaudio-loco/description
354 This package contains support for Dion Audio LOCO DAC-AMP
355 endef
356
357 $(eval $(call KernelPackage,sound-soc-dionaudio-loco))
358
359 define KernelPackage/sound-soc-dionaudio-loco-v2
360 TITLE:=Support for Dion Audio LOCO-V2 DAC-AMP
361 KCONFIG:= \
362 CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO_V2 \
363 CONFIG_SND_SOC_PCM512x \
364 CONFIG_SND_SOC_PCM512x_I2C
365 FILES:= \
366 $(LINUX_DIR)/sound/soc/bcm/snd-soc-dionaudio-loco.ko \
367 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
368 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
369 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
370 snd-soc-dionaudio-loco)
371 DEPENDS:= \
372 kmod-sound-soc-bcm2835-i2s
373 $(call AddDepends/sound)
374 endef
375
376 define KernelPackage/sound-soc-dionaudio-loco-v2/description
377 This package contains support for Dion Audio LOCO-V2 DAC-AMP
378 endef
379
380 $(eval $(call KernelPackage,sound-soc-dionaudio-loco-v2))
381
382 define KernelPackage/sound-soc-fe-pi
383 TITLE:=Support for Fe-Pi Audio Sound Card
384 KCONFIG:= \
385 CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO \
386 CONFIG_SND_SOC_SGTL5000
387 FILES:= \
388 $(LINUX_DIR)/sound/soc/bcm/snd-soc-fe-pi-audio.ko \
389 $(LINUX_DIR)/sound/soc/codecs/snd-soc-sgtl5000.ko
390 AUTOLOAD:=$(call AutoLoad,68,snd-soc-sgtl5000 \
391 snd-soc-fe-pi-audio)
392 DEPENDS:= \
393 kmod-sound-soc-bcm2835-i2s
394 $(call AddDepends/sound)
395 endef
396
397 define KernelPackage/sound-soc-fe-pi/description
398 This package contains support for Fe-Pi Audio Sound Card
399 endef
400
401 $(eval $(call KernelPackage,sound-soc-fe-pi))
402
403
404 define KernelPackage/sound-soc-googlevoicehat
405 TITLE:=Support for Google VoiceHAT Sound Card
406 KCONFIG:= \
407 CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD \
408 CONFIG_SND_SOC_VOICEHAT
409 FILES:= \
410 $(LINUX_DIR)/sound/soc/bcm/snd-soc-googlevoicehat-codec.ko \
411 $(LINUX_DIR)/sound/soc/bcm/snd-soc-googlevoicehat-soundcard.ko
412 AUTOLOAD:=$(call AutoLoad,68,snd-soc-googlevoicehat-codec \
413 snd-soc-googlevoicehat-soundcard)
414 DEPENDS:= \
415 @LINUX_4_14 \
416 kmod-sound-soc-bcm2835-i2s
417 $(call AddDepends/sound)
418 endef
419
420 define KernelPackage/sound-soc-googlevoicehat/description
421 This package contains support for Google VoiceHAT Sound Card
422 endef
423
424 $(eval $(call KernelPackage,sound-soc-googlevoicehat))
425
426
427 define KernelPackage/sound-soc-hifiberry-dac
428 TITLE:=Support for HifiBerry DAC
429 KCONFIG:= \
430 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC \
431 CONFIG_SND_SOC_PCM5102A
432 FILES:= \
433 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dac.ko \
434 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
435 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a snd-soc-hifiberry-dac)
436 DEPENDS:= \
437 kmod-sound-soc-bcm2835-i2s \
438 +kmod-i2c-bcm2708
439 $(call AddDepends/sound)
440 endef
441
442 define KernelPackage/sound-soc-hifiberry-dac/description
443 This package contains support for HifiBerry DAC
444 endef
445
446 $(eval $(call KernelPackage,sound-soc-hifiberry-dac))
447
448 define KernelPackage/sound-soc-hifiberry-dacplus
449 TITLE:=Support for HifiBerry DAC+ / DAC+ Pro
450 KCONFIG:= \
451 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS \
452 CONFIG_SND_SOC_PCM512x
453 FILES:= \
454 $(LINUX_DIR)/drivers/clk/clk-hifiberry-dacpro.ko \
455 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dacplus.ko \
456 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
457 AUTOLOAD:=$(call AutoLoad,68,clk-hifiberry-dacpro snd-soc-pcm512x \
458 snd-soc-hifiberry-dacplus)
459 DEPENDS:= \
460 kmod-sound-soc-bcm2835-i2s \
461 +kmod-i2c-bcm2708
462 $(call AddDepends/sound)
463 endef
464
465 define KernelPackage/sound-soc-hifiberry-dacplus/description
466 This package contains support for HifiBerry DAC+ / DAC+ Pro
467 endef
468
469 $(eval $(call KernelPackage,sound-soc-hifiberry-dacplus))
470
471 define KernelPackage/sound-soc-hifiberry-digi
472 TITLE:=Support for HifiBerry Digi / Digi+ / Digi+ Pro
473 KCONFIG:= \
474 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI \
475 CONFIG_SND_SOC_WM8804
476 FILES:= \
477 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-digi.ko \
478 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
479 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-hifiberry-digi)
480 DEPENDS:= \
481 kmod-sound-soc-bcm2835-i2s \
482 +kmod-i2c-bcm2708
483 $(call AddDepends/sound)
484 endef
485
486 define KernelPackage/sound-soc-hifiberry-digi/description
487 This package contains support for HifiBerry Digi
488 endef
489
490 $(eval $(call KernelPackage,sound-soc-hifiberry-digi))
491
492 define KernelPackage/sound-soc-hifiberry-amp
493 TITLE:=Support for HifiBerry Amp
494 KCONFIG:= \
495 CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP \
496 CONFIG_SND_SOC_TAS5713
497 FILES:= \
498 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-amp.ko \
499 $(LINUX_DIR)/sound/soc/codecs/snd-soc-tas5713.ko
500 AUTOLOAD:=$(call AutoLoad,68,snd-soc-tas5713 snd-soc-hifiberry-amp)
501 DEPENDS:= \
502 kmod-sound-soc-bcm2835-i2s \
503 +kmod-i2c-bcm2708
504 $(call AddDepends/sound)
505 endef
506
507 define KernelPackage/sound-soc-hifiberry-amp/description
508 This package contains support for HifiBerry Amp
509 endef
510
511 $(eval $(call KernelPackage,sound-soc-hifiberry-amp))
512
513 define KernelPackage/sound-soc-iqaudio-dac
514 TITLE:=Support for IQaudIO-DAC
515 KCONFIG:= \
516 CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC \
517 CONFIG_SND_SOC_PCM512x \
518 CONFIG_SND_SOC_PCM512x_I2C
519 FILES:= \
520 $(LINUX_DIR)/sound/soc/bcm/snd-soc-iqaudio-dac.ko \
521 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
522 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
523 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
524 snd-soc-iqaudio-dac)
525 DEPENDS:= \
526 kmod-sound-soc-bcm2835-i2s \
527 +kmod-i2c-bcm2708
528 $(call AddDepends/sound)
529 endef
530
531 define KernelPackage/sound-soc-iqaudio-dac/description
532 This package contains support for IQaudIO-DAC
533 endef
534
535 $(eval $(call KernelPackage,sound-soc-iqaudio-dac))
536
537 define KernelPackage/sound-soc-iqaudio-digi
538 TITLE:=Support for IQaudIO-DIGI
539 KCONFIG:= \
540 CONFIG_SND_BCM2708_SOC_IQAUDIO_DIGI \
541 CONFIG_SND_SOC_WM8804 \
542 CONFIG_SND_SOC_WM8804_I2C
543 FILES:= \
544 $(LINUX_DIR)/sound/soc/bcm/snd-soc-iqaudio-digi.ko \
545 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko \
546 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804-i2c.ko
547 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-wm8804-i2c \
548 snd-soc-iqaudio-digi)
549 DEPENDS:= \
550 kmod-sound-soc-bcm2835-i2s \
551 +kmod-i2c-bcm2708
552 $(call AddDepends/sound)
553 endef
554
555 define KernelPackage/sound-soc-iqaudio-digi/description
556 This package contains support for IQaudIO-DIGI
557 endef
558
559 $(eval $(call KernelPackage,sound-soc-iqaudio-digi))
560
561 define KernelPackage/sound-soc-justboom-dac
562 TITLE:=Support for JustBoom DAC
563 KCONFIG:= \
564 CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC \
565 CONFIG_SND_SOC_PCM512x
566 FILES:= \
567 $(LINUX_DIR)/sound/soc/bcm/snd-soc-justboom-dac.ko \
568 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
569 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-justboom-dac)
570 DEPENDS:= \
571 kmod-sound-soc-bcm2835-i2s \
572 +kmod-i2c-bcm2708
573 $(call AddDepends/sound)
574 endef
575
576 define KernelPackage/sound-soc-justboom-dac/description
577 This package contains support for JustBoom DAC
578 endef
579
580 $(eval $(call KernelPackage,sound-soc-justboom-dac))
581
582 define KernelPackage/sound-soc-justboom-digi
583 TITLE:=Support for JustBoom Digi
584 KCONFIG:= \
585 CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI \
586 CONFIG_SND_SOC_WM8804
587 FILES:= \
588 $(LINUX_DIR)/sound/soc/bcm/snd-soc-justboom-digi.ko \
589 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
590 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-justboom-digi)
591 DEPENDS:= \
592 kmod-sound-soc-bcm2835-i2s \
593 +kmod-i2c-bcm2708
594 $(call AddDepends/sound)
595 endef
596
597 define KernelPackage/sound-soc-justboom-digi/description
598 This package contains support for JustBoom Digi
599 endef
600
601 $(eval $(call KernelPackage,sound-soc-justboom-digi))
602
603 define KernelPackage/sound-soc-pisound
604 TITLE:=Support for Blokas Labs PiSound
605 KCONFIG:= \
606 CONFIG_SND_PISOUND \
607 CONFIG_SND_SOC_PCM5102A
608 FILES:= \
609 $(LINUX_DIR)/sound/soc/bcm/snd-soc-pisound.ko \
610 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
611 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a snd-soc-pisound)
612 DEPENDS:= \
613 kmod-sound-soc-bcm2835-i2s
614 $(call AddDepends/sound)
615 endef
616
617 define KernelPackage/sound-soc-pisound/description
618 This package contains support for Blokas Labs PiSound
619 endef
620
621 $(eval $(call KernelPackage,sound-soc-pisound))
622
623 define KernelPackage/sound-soc-raspidac3
624 TITLE:=Support for RaspiDAC Rev.3x
625 KCONFIG:= \
626 CONFIG_SND_BCM2708_SOC_RASPIDAC3 \
627 CONFIG_SND_SOC_PCM512x \
628 CONFIG_SND_SOC_PCM512x_I2C \
629 CONFIG_SND_SOC_TPA6130A2
630 FILES:= \
631 $(LINUX_DIR)/sound/soc/bcm/snd-soc-raspidac3.ko \
632 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
633 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko \
634 $(LINUX_DIR)/sound/soc/codecs/snd-soc-tpa6130a2.ko
635 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
636 snd-soc-tpa6130a2 snd-soc-raspidac3)
637 DEPENDS:= \
638 @LINUX_4_9 \
639 kmod-sound-soc-bcm2835-i2s \
640 +kmod-i2c-bcm2708
641 $(call AddDepends/sound)
642 endef
643
644 define KernelPackage/sound-soc-raspidac3/description
645 This package contains support for RaspiDAC Rev.3x
646 endef
647
648 $(eval $(call KernelPackage,sound-soc-raspidac3))
649
650
651 define KernelPackage/sound-soc-rpi-cirrus
652 TITLE:=Support for Cirrus Logic Audio Card
653 KCONFIG:= \
654 CONFIG_GPIO_ARIZONA \
655 CONFIG_INPUT_ARIZONA_HAPTICS=n \
656 CONFIG_MFD_ARIZONA=y \
657 CONFIG_MFD_ARIZONA_I2C \
658 CONFIG_MFD_CS47L24=n \
659 CONFIG_MFD_WM5102=n \
660 CONFIG_MFD_WM5110=n \
661 CONFIG_MFD_WM8997=n \
662 CONFIG_MFD_WM8998=n \
663 CONFIG_REGULATOR_ARIZONA \
664 CONFIG_REGULATOR_ARIZONA_LDO1 \
665 CONFIG_REGULATOR_ARIZONA_MICSUPP \
666 CONFIG_SND_BCM2708_SOC_RPI_CIRRUS \
667 CONFIG_SND_SOC_ARIZONA \
668 CONFIG_SND_SOC_WM5102 \
669 CONFIG_SND_SOC_WM8804 \
670 CONFIG_SND_SOC_WM_ADSP
671 FILES:= \
672 $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-cirrus.ko \
673 $(LINUX_DIR)/sound/soc/codecs/snd-soc-arizona.ko \
674 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm-adsp.ko \
675 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm5102.ko \
676 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
677 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm1794a snd-soc-rpi-cirrus)
678 DEPENDS:= \
679 @LINUX_4_14 \
680 +kmod-i2c-bcm2708 \
681 kmod-sound-soc-bcm2835-i2s
682 $(call AddDepends/sound)
683 endef
684
685 define KernelPackage/sound-soc-rpi-cirrus/description
686 This package contains support for RPi-Cirrus
687 endef
688
689 $(eval $(call KernelPackage,sound-soc-rpi-cirrus))
690
691
692 define KernelPackage/sound-soc-rpi-dac
693 TITLE:=Support for RPi-DAC
694 KCONFIG:= \
695 CONFIG_SND_BCM2708_SOC_RPI_DAC \
696 CONFIG_SND_SOC_PCM1794A
697 FILES:= \
698 $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-dac.ko \
699 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm1794a.ko
700 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm1794a snd-soc-rpi-dac)
701 DEPENDS:= \
702 kmod-sound-soc-bcm2835-i2s \
703 +kmod-i2c-bcm2708
704 $(call AddDepends/sound)
705 endef
706
707 define KernelPackage/sound-soc-rpi-dac/description
708 This package contains support for RPi-DAC
709 endef
710
711 $(eval $(call KernelPackage,sound-soc-rpi-dac))
712
713 define KernelPackage/sound-soc-rpi-proto
714 TITLE:=Support for RPi-PROTO
715 KCONFIG:= \
716 CONFIG_SND_BCM2708_SOC_RPI_PROTO \
717 CONFIG_SND_SOC_WM8731
718 FILES:= \
719 $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-proto.ko \
720 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8731.ko
721 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8731 snd-soc-rpi-proto)
722 DEPENDS:= \
723 kmod-sound-soc-bcm2835-i2s \
724 +kmod-i2c-bcm2708
725 $(call AddDepends/sound)
726 endef
727
728 define KernelPackage/sound-soc-rpi-proto/description
729 This package contains support for RPi-PROTO
730 endef
731
732 $(eval $(call KernelPackage,sound-soc-rpi-proto))
733
734
735 define KernelPackage/random-bcm2835
736 SUBMENU:=$(OTHER_MENU)
737 TITLE:=BCM2835 HW Random Number Generator
738 KCONFIG:=CONFIG_HW_RANDOM_BCM2835
739 FILES:=$(LINUX_DIR)/drivers/char/hw_random/bcm2835-rng.ko
740 AUTOLOAD:=$(call AutoLoad,11,bcm2835-rng)
741 DEPENDS:=@TARGET_brcm2708 +kmod-random-core
742 endef
743
744 define KernelPackage/random-bcm2835/description
745 This package contains the Broadcom 2835 HW random number generator driver
746 endef
747
748 $(eval $(call KernelPackage,random-bcm2835))
749
750
751 define KernelPackage/smi-bcm2835
752 SUBMENU:=$(OTHER_MENU)
753 TITLE:=BCM2835 SMI driver
754 KCONFIG:=CONFIG_BCM2835_SMI
755 FILES:=$(LINUX_DIR)/drivers/misc/bcm2835_smi.ko
756 AUTOLOAD:=$(call AutoLoad,20,bcm2835_smi)
757 DEPENDS:=@TARGET_brcm2708
758 endef
759
760 define KernelPackage/smi-bcm2835/description
761 This package contains the Character device driver for Broadcom Secondary
762 Memory Interface
763 endef
764
765 $(eval $(call KernelPackage,smi-bcm2835))
766
767 define KernelPackage/smi-bcm2835-dev
768 SUBMENU:=$(OTHER_MENU)
769 TITLE:=BCM2835 SMI device driver
770 KCONFIG:=CONFIG_BCM2835_SMI_DEV
771 FILES:=$(LINUX_DIR)/drivers/char/broadcom/bcm2835_smi_dev.ko
772 AUTOLOAD:=$(call AutoLoad,21,bcm2835_smi_dev)
773 DEPENDS:=@TARGET_brcm2708 +kmod-smi-bcm2835
774 endef
775
776 define KernelPackage/smi-bcm2835-dev/description
777 This driver provides a character device interface (ioctl + read/write) to
778 Broadcom's Secondary Memory interface. The low-level functionality is provided
779 by the SMI driver itself.
780 endef
781
782 $(eval $(call KernelPackage,smi-bcm2835-dev))
783
784
785 define KernelPackage/spi-bcm2835
786 SUBMENU:=$(SPI_MENU)
787 TITLE:=BCM2835 SPI controller driver
788 KCONFIG:=\
789 CONFIG_SPI=y \
790 CONFIG_SPI_BCM2835 \
791 CONFIG_SPI_MASTER=y
792 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835.ko
793 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835)
794 DEPENDS:=@TARGET_brcm2708
795 endef
796
797 define KernelPackage/spi-bcm2835/description
798 This package contains the Broadcom 2835 SPI master controller driver
799 endef
800
801 $(eval $(call KernelPackage,spi-bcm2835))
802
803 define KernelPackage/spi-bcm2835-aux
804 SUBMENU:=$(SPI_MENU)
805 TITLE:=BCM2835 Aux SPI controller driver
806 KCONFIG:=\
807 CONFIG_SPI=y \
808 CONFIG_SPI_BCM2835AUX \
809 CONFIG_SPI_MASTER=y
810 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835aux.ko
811 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835aux)
812 DEPENDS:=@TARGET_brcm2708
813 endef
814
815 define KernelPackage/spi-bcm2835-aux/description
816 This package contains the Broadcom 2835 Aux SPI master controller driver
817 endef
818
819 $(eval $(call KernelPackage,spi-bcm2835-aux))
820
821
822 define KernelPackage/hwmon-bcm2835
823 TITLE:=BCM2835 HWMON driver
824 KCONFIG:=CONFIG_SENSORS_BCM2835
825 FILES:=$(LINUX_DIR)/drivers/hwmon/bcm2835-hwmon.ko
826 AUTOLOAD:=$(call AutoLoad,60,bcm2835-hwmon)
827 $(call AddDepends/hwmon,@TARGET_brcm2708)
828 endef
829
830 define KernelPackage/hwmon-bcm2835/description
831 Kernel module for BCM2835 thermal monitor chip
832 endef
833
834 $(eval $(call KernelPackage,hwmon-bcm2835))
835
836
837 I2C_BCM2708_MODULES:=\
838 CONFIG_I2C_BCM2708:drivers/i2c/busses/i2c-bcm2708
839
840 define KernelPackage/i2c-bcm2708
841 $(call i2c_defaults,$(I2C_BCM2708_MODULES),59)
842 TITLE:=Broadcom BCM2708 I2C master controller driver
843 KCONFIG+= \
844 CONFIG_I2C_BCM2708_BAUDRATE=100000
845 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
846 endef
847
848 define KernelPackage/i2c-bcm2708/description
849 This package contains the Broadcom 2708 I2C master controller driver
850 endef
851
852 $(eval $(call KernelPackage,i2c-bcm2708))
853
854 I2C_BCM2835_MODULES:=\
855 CONFIG_I2C_BCM2835:drivers/i2c/busses/i2c-bcm2835
856
857 define KernelPackage/i2c-bcm2835
858 $(call i2c_defaults,$(I2C_BCM2835_MODULES),59)
859 TITLE:=Broadcom BCM2835 I2C master controller driver
860 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
861 endef
862
863 define KernelPackage/i2c-bcm2835/description
864 This package contains the Broadcom 2835 I2C master controller driver
865 endef
866
867 $(eval $(call KernelPackage,i2c-bcm2835))
868
869
870 define KernelPackage/video-bcm2835
871 TITLE:=Broadcom BCM2835 camera interface driver
872 KCONFIG:= \
873 CONFIG_VIDEO_BCM2835$(if $(CONFIG_LINUX_4_9),=y) \
874 CONFIG_VIDEO_BCM2835_MMAL
875 FILES:= \
876 $(LINUX_DIR)/drivers/media/platform/bcm2835/bcm2835-v4l2.ko@lt4.12 \
877 $(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko@ge4.12
878 AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
879 $(call AddDepends/video,@TARGET_brcm2708 +kmod-video-videobuf2)
880 endef
881
882 define KernelPackage/video-bcm2835/description
883 This is a V4L2 driver for the Broadcom 2835 MMAL camera host interface
884 endef
885
886 $(eval $(call KernelPackage,video-bcm2835))