66aa7341c2c22db4450dbf95dc8d4085dc17a38c
[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 define KernelPackage/sound-soc-allo-piano-dac
113 TITLE:=Support for Allo Piano DAC
114 KCONFIG:= \
115 CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC \
116 CONFIG_SND_SOC_PCM512x \
117 CONFIG_SND_SOC_PCM512x_I2C
118 FILES:= \
119 $(LINUX_DIR)/sound/soc/bcm/snd-soc-allo-piano-dac.ko \
120 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
121 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
122 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x-i2c snd-soc-pcm512x \
123 snd-soc-allo-piano-dac)
124 DEPENDS:= \
125 kmod-sound-soc-bcm2835-i2s \
126 +kmod-i2c-bcm2708
127 $(call AddDepends/sound)
128 endef
129
130 define KernelPackage/sound-soc-allo-piano-dac/description
131 This package contains support for Allo Piano DAC
132 endef
133
134 $(eval $(call KernelPackage,sound-soc-allo-piano-dac))
135
136 define KernelPackage/sound-soc-audioinjector-pi-soundcard
137 TITLE:=Support for AudioInjector Pi soundcard
138 KCONFIG:= \
139 CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD \
140 CONFIG_SND_SOC_WM8731
141 FILES:= \
142 $(LINUX_DIR)/sound/soc/bcm/snd-soc-audioinjector-pi-soundcard.ko \
143 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8731.ko
144 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8731 \
145 snd-soc-audioinjector-pi-soundcard)
146 DEPENDS:= \
147 kmod-sound-soc-bcm2835-i2s \
148 +kmod-i2c-bcm2708
149 $(call AddDepends/sound)
150 endef
151
152 define KernelPackage/sound-soc-audioinjector-pi-soundcard/description
153 This package contains support for AudioInjector Pi soundcard
154 endef
155
156 $(eval $(call KernelPackage,sound-soc-audioinjector-pi-soundcard))
157
158 define KernelPackage/sound-soc-digidac1-soundcard
159 TITLE:=Support for RRA DigiDAC1
160 KCONFIG:= \
161 CONFIG_SND_DIGIDAC1_SOUNDCARD \
162 CONFIG_SND_SOC_WM8741 \
163 CONFIG_SND_SOC_WM8804 \
164 CONFIG_SND_SOC_WM8804_I2C
165 FILES:= \
166 $(LINUX_DIR)/sound/soc/bcm/snd-soc-digidac1-soundcard.ko \
167 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8741.ko \
168 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko \
169 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804-i2c.ko
170 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8741 \
171 snd-soc-wm8804 snd-soc-wm8804-i2c \
172 snd-soc-digidac1-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-digidac1-soundcard/description
180 This package contains support for RRA DigiDAC1
181 endef
182
183 $(eval $(call KernelPackage,sound-soc-digidac1-soundcard))
184
185 define KernelPackage/sound-soc-dionaudio-loco
186 TITLE:=Support for Dion Audio LOCO DAC-AMP
187 KCONFIG:= \
188 CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO \
189 CONFIG_SND_SOC_PCM5102A
190 FILES:= \
191 $(LINUX_DIR)/sound/soc/bcm/snd-soc-dionaudio-loco.ko \
192 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
193 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a \
194 snd-soc-dionaudio-loco)
195 DEPENDS:= \
196 kmod-sound-soc-bcm2835-i2s
197 $(call AddDepends/sound)
198 endef
199
200 define KernelPackage/sound-soc-dionaudio-loco/description
201 This package contains support for Dion Audio LOCO DAC-AMP
202 endef
203
204 $(eval $(call KernelPackage,sound-soc-dionaudio-loco))
205
206 define KernelPackage/sound-soc-dionaudio-loco-v2
207 TITLE:=Support for Dion Audio LOCO-V2 DAC-AMP
208 KCONFIG:= \
209 CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO_V2 \
210 CONFIG_SND_SOC_PCM512x \
211 CONFIG_SND_SOC_PCM512x_I2C
212 FILES:= \
213 $(LINUX_DIR)/sound/soc/bcm/snd-soc-dionaudio-loco.ko \
214 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
215 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
216 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
217 snd-soc-dionaudio-loco)
218 DEPENDS:= \
219 kmod-sound-soc-bcm2835-i2s
220 $(call AddDepends/sound)
221 endef
222
223 define KernelPackage/sound-soc-dionaudio-loco-v2/description
224 This package contains support for Dion Audio LOCO-V2 DAC-AMP
225 endef
226
227 $(eval $(call KernelPackage,sound-soc-dionaudio-loco-v2))
228
229 define KernelPackage/sound-soc-fe-pi
230 TITLE:=Support for Fe-Pi Audio Sound Card
231 KCONFIG:= \
232 CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO \
233 CONFIG_SND_SOC_SGTL5000
234 FILES:= \
235 $(LINUX_DIR)/sound/soc/bcm/snd-soc-fe-pi-audio.ko \
236 $(LINUX_DIR)/sound/soc/codecs/snd-soc-sgtl5000.ko
237 AUTOLOAD:=$(call AutoLoad,68,snd-soc-sgtl5000 \
238 snd-soc-fe-pi-audio)
239 DEPENDS:= \
240 kmod-sound-soc-bcm2835-i2s
241 $(call AddDepends/sound)
242 endef
243
244 define KernelPackage/sound-soc-fe-pi/description
245 This package contains support for Fe-Pi Audio Sound Card
246 endef
247
248 $(eval $(call KernelPackage,sound-soc-fe-pi))
249
250 define KernelPackage/sound-soc-hifiberry-dac
251 TITLE:=Support for HifiBerry DAC
252 KCONFIG:= \
253 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC \
254 CONFIG_SND_SOC_PCM5102A
255 FILES:= \
256 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dac.ko \
257 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
258 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a snd-soc-hifiberry-dac)
259 DEPENDS:= \
260 kmod-sound-soc-bcm2835-i2s \
261 +kmod-i2c-bcm2708
262 $(call AddDepends/sound)
263 endef
264
265 define KernelPackage/sound-soc-hifiberry-dac/description
266 This package contains support for HifiBerry DAC
267 endef
268
269 $(eval $(call KernelPackage,sound-soc-hifiberry-dac))
270
271 define KernelPackage/sound-soc-hifiberry-dacplus
272 TITLE:=Support for HifiBerry DAC+ / DAC+ Pro
273 KCONFIG:= \
274 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS \
275 CONFIG_SND_SOC_PCM512x
276 FILES:= \
277 $(LINUX_DIR)/drivers/clk/clk-hifiberry-dacpro.ko \
278 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dacplus.ko \
279 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
280 AUTOLOAD:=$(call AutoLoad,68,clk-hifiberry-dacpro snd-soc-pcm512x \
281 snd-soc-hifiberry-dacplus)
282 DEPENDS:= \
283 kmod-sound-soc-bcm2835-i2s \
284 +kmod-i2c-bcm2708
285 $(call AddDepends/sound)
286 endef
287
288 define KernelPackage/sound-soc-hifiberry-dacplus/description
289 This package contains support for HifiBerry DAC+ / DAC+ Pro
290 endef
291
292 $(eval $(call KernelPackage,sound-soc-hifiberry-dacplus))
293
294 define KernelPackage/sound-soc-hifiberry-digi
295 TITLE:=Support for HifiBerry Digi / Digi+ / Digi+ Pro
296 KCONFIG:= \
297 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI \
298 CONFIG_SND_SOC_WM8804
299 FILES:= \
300 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-digi.ko \
301 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
302 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-hifiberry-digi)
303 DEPENDS:= \
304 kmod-sound-soc-bcm2835-i2s \
305 +kmod-i2c-bcm2708
306 $(call AddDepends/sound)
307 endef
308
309 define KernelPackage/sound-soc-hifiberry-digi/description
310 This package contains support for HifiBerry Digi
311 endef
312
313 $(eval $(call KernelPackage,sound-soc-hifiberry-digi))
314
315 define KernelPackage/sound-soc-hifiberry-amp
316 TITLE:=Support for HifiBerry Amp
317 KCONFIG:= \
318 CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP \
319 CONFIG_SND_SOC_TAS5713
320 FILES:= \
321 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-amp.ko \
322 $(LINUX_DIR)/sound/soc/codecs/snd-soc-tas5713.ko
323 AUTOLOAD:=$(call AutoLoad,68,snd-soc-tas5713 snd-soc-hifiberry-amp)
324 DEPENDS:= \
325 kmod-sound-soc-bcm2835-i2s \
326 +kmod-i2c-bcm2708
327 $(call AddDepends/sound)
328 endef
329
330 define KernelPackage/sound-soc-hifiberry-amp/description
331 This package contains support for HifiBerry Amp
332 endef
333
334 $(eval $(call KernelPackage,sound-soc-hifiberry-amp))
335
336 define KernelPackage/sound-soc-iqaudio-dac
337 TITLE:=Support for IQaudIO-DAC
338 KCONFIG:= \
339 CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC \
340 CONFIG_SND_SOC_PCM512x \
341 CONFIG_SND_SOC_PCM512x_I2C
342 FILES:= \
343 $(LINUX_DIR)/sound/soc/bcm/snd-soc-iqaudio-dac.ko \
344 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
345 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
346 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
347 snd-soc-iqaudio-dac)
348 DEPENDS:= \
349 kmod-sound-soc-bcm2835-i2s \
350 +kmod-i2c-bcm2708
351 $(call AddDepends/sound)
352 endef
353
354 define KernelPackage/sound-soc-iqaudio-dac/description
355 This package contains support for IQaudIO-DAC
356 endef
357
358 $(eval $(call KernelPackage,sound-soc-iqaudio-dac))
359
360 define KernelPackage/sound-soc-iqaudio-digi
361 TITLE:=Support for IQaudIO-DIGI
362 KCONFIG:= \
363 CONFIG_SND_BCM2708_SOC_IQAUDIO_DIGI \
364 CONFIG_SND_SOC_WM8804 \
365 CONFIG_SND_SOC_WM8804_I2C
366 FILES:= \
367 $(LINUX_DIR)/sound/soc/bcm/snd-soc-iqaudio-digi.ko \
368 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko \
369 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804-i2c.ko
370 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-wm8804-i2c \
371 snd-soc-iqaudio-digi)
372 DEPENDS:= \
373 kmod-sound-soc-bcm2835-i2s \
374 +kmod-i2c-bcm2708
375 $(call AddDepends/sound)
376 endef
377
378 define KernelPackage/sound-soc-iqaudio-digi/description
379 This package contains support for IQaudIO-DIGI
380 endef
381
382 $(eval $(call KernelPackage,sound-soc-iqaudio-digi))
383
384 define KernelPackage/sound-soc-justboom-dac
385 TITLE:=Support for JustBoom DAC
386 KCONFIG:= \
387 CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC \
388 CONFIG_SND_SOC_PCM512x
389 FILES:= \
390 $(LINUX_DIR)/sound/soc/bcm/snd-soc-justboom-dac.ko \
391 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
392 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-justboom-dac)
393 DEPENDS:= \
394 kmod-sound-soc-bcm2835-i2s \
395 +kmod-i2c-bcm2708
396 $(call AddDepends/sound)
397 endef
398
399 define KernelPackage/sound-soc-justboom-dac/description
400 This package contains support for JustBoom DAC
401 endef
402
403 $(eval $(call KernelPackage,sound-soc-justboom-dac))
404
405 define KernelPackage/sound-soc-justboom-digi
406 TITLE:=Support for JustBoom Digi
407 KCONFIG:= \
408 CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI \
409 CONFIG_SND_SOC_WM8804
410 FILES:= \
411 $(LINUX_DIR)/sound/soc/bcm/snd-soc-justboom-digi.ko \
412 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
413 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-justboom-digi)
414 DEPENDS:= \
415 kmod-sound-soc-bcm2835-i2s \
416 +kmod-i2c-bcm2708
417 $(call AddDepends/sound)
418 endef
419
420 define KernelPackage/sound-soc-justboom-digi/description
421 This package contains support for JustBoom Digi
422 endef
423
424 $(eval $(call KernelPackage,sound-soc-justboom-digi))
425
426 define KernelPackage/sound-soc-pisound
427 TITLE:=Support for Blokas Labs PiSound
428 KCONFIG:= \
429 CONFIG_SND_PISOUND \
430 CONFIG_SND_SOC_PCM5102A
431 FILES:= \
432 $(LINUX_DIR)/sound/soc/bcm/snd-soc-pisound.ko \
433 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
434 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a snd-soc-pisound)
435 DEPENDS:= \
436 kmod-sound-soc-bcm2835-i2s
437 $(call AddDepends/sound)
438 endef
439
440 define KernelPackage/sound-soc-pisound/description
441 This package contains support for Blokas Labs PiSound
442 endef
443
444 $(eval $(call KernelPackage,sound-soc-pisound))
445
446 define KernelPackage/sound-soc-raspidac3
447 TITLE:=Support for RaspiDAC Rev.3x
448 KCONFIG:= \
449 CONFIG_SND_BCM2708_SOC_RASPIDAC3 \
450 CONFIG_SND_SOC_PCM512x \
451 CONFIG_SND_SOC_PCM512x_I2C \
452 CONFIG_SND_SOC_TPA6130A2
453 FILES:= \
454 $(LINUX_DIR)/sound/soc/bcm/snd-soc-raspidac3.ko \
455 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
456 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko \
457 $(LINUX_DIR)/sound/soc/codecs/snd-soc-tpa6130a2.ko
458 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
459 snd-soc-tpa6130a2 snd-soc-raspidac3)
460 DEPENDS:= \
461 @LINUX_4_9 \
462 kmod-sound-soc-bcm2835-i2s \
463 +kmod-i2c-bcm2708
464 $(call AddDepends/sound)
465 endef
466
467 define KernelPackage/sound-soc-raspidac3/description
468 This package contains support for RaspiDAC Rev.3x
469 endef
470
471 $(eval $(call KernelPackage,sound-soc-raspidac3))
472
473 define KernelPackage/sound-soc-rpi-dac
474 TITLE:=Support for RPi-DAC
475 KCONFIG:= \
476 CONFIG_SND_BCM2708_SOC_RPI_DAC \
477 CONFIG_SND_SOC_PCM1794A
478 FILES:= \
479 $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-dac.ko \
480 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm1794a.ko
481 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm1794a snd-soc-rpi-dac)
482 DEPENDS:= \
483 kmod-sound-soc-bcm2835-i2s \
484 +kmod-i2c-bcm2708
485 $(call AddDepends/sound)
486 endef
487
488 define KernelPackage/sound-soc-rpi-dac/description
489 This package contains support for RPi-DAC
490 endef
491
492 $(eval $(call KernelPackage,sound-soc-rpi-dac))
493
494 define KernelPackage/sound-soc-rpi-proto
495 TITLE:=Support for RPi-PROTO
496 KCONFIG:= \
497 CONFIG_SND_BCM2708_SOC_RPI_PROTO \
498 CONFIG_SND_SOC_WM8731
499 FILES:= \
500 $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-proto.ko \
501 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8731.ko
502 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8731 snd-soc-rpi-proto)
503 DEPENDS:= \
504 kmod-sound-soc-bcm2835-i2s \
505 +kmod-i2c-bcm2708
506 $(call AddDepends/sound)
507 endef
508
509 define KernelPackage/sound-soc-rpi-proto/description
510 This package contains support for RPi-PROTO
511 endef
512
513 $(eval $(call KernelPackage,sound-soc-rpi-proto))
514
515
516 define KernelPackage/random-bcm2835
517 SUBMENU:=$(OTHER_MENU)
518 TITLE:=BCM2835 HW Random Number Generator
519 KCONFIG:=CONFIG_HW_RANDOM_BCM2835
520 FILES:=$(LINUX_DIR)/drivers/char/hw_random/bcm2835-rng.ko
521 AUTOLOAD:=$(call AutoLoad,11,bcm2835-rng)
522 DEPENDS:=@TARGET_brcm2708 +kmod-random-core
523 endef
524
525 define KernelPackage/random-bcm2835/description
526 This package contains the Broadcom 2835 HW random number generator driver
527 endef
528
529 $(eval $(call KernelPackage,random-bcm2835))
530
531
532 define KernelPackage/smi-bcm2835
533 SUBMENU:=$(OTHER_MENU)
534 TITLE:=BCM2835 SMI driver
535 KCONFIG:=CONFIG_BCM2835_SMI
536 FILES:=$(LINUX_DIR)/drivers/misc/bcm2835_smi.ko
537 AUTOLOAD:=$(call AutoLoad,20,bcm2835_smi)
538 DEPENDS:=@TARGET_brcm2708
539 endef
540
541 define KernelPackage/smi-bcm2835/description
542 This package contains the Character device driver for Broadcom Secondary
543 Memory Interface
544 endef
545
546 $(eval $(call KernelPackage,smi-bcm2835))
547
548 define KernelPackage/smi-bcm2835-dev
549 SUBMENU:=$(OTHER_MENU)
550 TITLE:=BCM2835 SMI device driver
551 KCONFIG:=CONFIG_BCM2835_SMI_DEV
552 FILES:=$(LINUX_DIR)/drivers/char/broadcom/bcm2835_smi_dev.ko
553 AUTOLOAD:=$(call AutoLoad,21,bcm2835_smi_dev)
554 DEPENDS:=@TARGET_brcm2708 +kmod-smi-bcm2835
555 endef
556
557 define KernelPackage/smi-bcm2835-dev/description
558 This driver provides a character device interface (ioctl + read/write) to
559 Broadcom's Secondary Memory interface. The low-level functionality is provided
560 by the SMI driver itself.
561 endef
562
563 $(eval $(call KernelPackage,smi-bcm2835-dev))
564
565
566 define KernelPackage/spi-bcm2835
567 SUBMENU:=$(SPI_MENU)
568 TITLE:=BCM2835 SPI controller driver
569 KCONFIG:=\
570 CONFIG_SPI=y \
571 CONFIG_SPI_BCM2835 \
572 CONFIG_SPI_MASTER=y
573 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835.ko
574 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835)
575 DEPENDS:=@TARGET_brcm2708
576 endef
577
578 define KernelPackage/spi-bcm2835/description
579 This package contains the Broadcom 2835 SPI master controller driver
580 endef
581
582 $(eval $(call KernelPackage,spi-bcm2835))
583
584 define KernelPackage/spi-bcm2835-aux
585 SUBMENU:=$(SPI_MENU)
586 TITLE:=BCM2835 Aux SPI controller driver
587 KCONFIG:=\
588 CONFIG_SPI=y \
589 CONFIG_SPI_BCM2835AUX \
590 CONFIG_SPI_MASTER=y
591 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835aux.ko
592 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835aux)
593 DEPENDS:=@TARGET_brcm2708
594 endef
595
596 define KernelPackage/spi-bcm2835-aux/description
597 This package contains the Broadcom 2835 Aux SPI master controller driver
598 endef
599
600 $(eval $(call KernelPackage,spi-bcm2835-aux))
601
602
603 define KernelPackage/hwmon-bcm2835
604 TITLE:=BCM2835 HWMON driver
605 KCONFIG:=CONFIG_SENSORS_BCM2835
606 FILES:=$(LINUX_DIR)/drivers/hwmon/bcm2835-hwmon.ko
607 AUTOLOAD:=$(call AutoLoad,60,bcm2835-hwmon)
608 $(call AddDepends/hwmon,@TARGET_brcm2708)
609 endef
610
611 define KernelPackage/hwmon-bcm2835/description
612 Kernel module for BCM2835 thermal monitor chip
613 endef
614
615 $(eval $(call KernelPackage,hwmon-bcm2835))
616
617
618 I2C_BCM2708_MODULES:=\
619 CONFIG_I2C_BCM2708:drivers/i2c/busses/i2c-bcm2708
620
621 define KernelPackage/i2c-bcm2708
622 $(call i2c_defaults,$(I2C_BCM2708_MODULES),59)
623 TITLE:=Broadcom BCM2708 I2C master controller driver
624 KCONFIG+= \
625 CONFIG_I2C_BCM2708_BAUDRATE=100000
626 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
627 endef
628
629 define KernelPackage/i2c-bcm2708/description
630 This package contains the Broadcom 2708 I2C master controller driver
631 endef
632
633 $(eval $(call KernelPackage,i2c-bcm2708))
634
635 I2C_BCM2835_MODULES:=\
636 CONFIG_I2C_BCM2835:drivers/i2c/busses/i2c-bcm2835
637
638 define KernelPackage/i2c-bcm2835
639 $(call i2c_defaults,$(I2C_BCM2835_MODULES),59)
640 TITLE:=Broadcom BCM2835 I2C master controller driver
641 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
642 endef
643
644 define KernelPackage/i2c-bcm2835/description
645 This package contains the Broadcom 2835 I2C master controller driver
646 endef
647
648 $(eval $(call KernelPackage,i2c-bcm2835))
649
650
651 define KernelPackage/video-bcm2835
652 TITLE:=Broadcom BCM2835 camera interface driver
653 KCONFIG:= \
654 CONFIG_VIDEO_BCM2835$(if $(CONFIG_LINUX_4_9),=y) \
655 CONFIG_VIDEO_BCM2835_MMAL
656 FILES:= \
657 $(LINUX_DIR)/drivers/media/platform/bcm2835/bcm2835-v4l2.ko@lt4.12 \
658 $(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko@ge4.12
659 AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
660 $(call AddDepends/video,@TARGET_brcm2708 +kmod-video-videobuf2)
661 endef
662
663 define KernelPackage/video-bcm2835/description
664 This is a V4L2 driver for the Broadcom 2835 MMAL camera host interface
665 endef
666
667 $(eval $(call KernelPackage,video-bcm2835))