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