brcm2708: fix another missing kmod dependency
[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/sound-arm-bcm2835
9 TITLE:=BCM2835 ALSA driver
10 KCONFIG:= \
11 CONFIG_SND_ARM=y \
12 CONFIG_SND_BCM2835 \
13 CONFIG_SND_ARMAACI=n
14 FILES:= \
15 $(LINUX_DIR)/sound/arm/snd-bcm2835.ko
16 AUTOLOAD:=$(call AutoLoad,68,snd-bcm2835)
17 DEPENDS:=@TARGET_brcm2708
18 $(call AddDepends/sound)
19 endef
20
21 define KernelPackage/sound-arm-bcm2835/description
22 This package contains the BCM2835 ALSA pcm card driver
23 endef
24
25 $(eval $(call KernelPackage,sound-arm-bcm2835))
26
27
28 define KernelPackage/sound-soc-bcm2835-i2s
29 TITLE:=SoC Audio support for the Broadcom 2835 I2S module
30 KCONFIG:= \
31 CONFIG_SND_BCM2835_SOC_I2S \
32 CONFIG_SND_SOC_DMAENGINE_PCM=y \
33 CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
34 FILES:= \
35 $(LINUX_DIR)/sound/soc/bcm/snd-soc-bcm2835-i2s.ko
36 AUTOLOAD:=$(call AutoLoad,68,snd-soc-bcm2835-i2s)
37 DEPENDS:=@TARGET_brcm2708 +kmod-regmap +kmod-sound-soc-core
38 $(call AddDepends/sound)
39 endef
40
41 define KernelPackage/sound-soc-bcm2835-i2s/description
42 This package contains support for codecs attached to the Broadcom 2835 I2S interface
43 endef
44
45 $(eval $(call KernelPackage,sound-soc-bcm2835-i2s))
46
47 define KernelPackage/sound-soc-adau1977-adc
48 TITLE:=Support for ADAU1977 ADC
49 KCONFIG:= \
50 CONFIG_SND_BCM2708_SOC_ADAU1977_ADC \
51 CONFIG_SND_SOC_ADAU1977 \
52 CONFIG_SND_SOC_ADAU1977_I2C
53 FILES:= \
54 $(LINUX_DIR)/sound/soc/bcm/snd-soc-adau1977-adc.ko \
55 $(LINUX_DIR)/sound/soc/codecs/snd-soc-adau1977.ko \
56 $(LINUX_DIR)/sound/soc/codecs/snd-soc-adau1977-i2c.ko
57 AUTOLOAD:=$(call AutoLoad,68,snd-soc-adau1977 snd-soc-adau1977-i2c \
58 snd-soc-adau1977-adc)
59 DEPENDS:= \
60 kmod-sound-soc-bcm2835-i2s \
61 +kmod-i2c-bcm2708
62 $(call AddDepends/sound)
63 endef
64
65 define KernelPackage/sound-soc-adau1977-adc/description
66 This package contains support for ADAU1977 ADC
67 endef
68
69 $(eval $(call KernelPackage,sound-soc-adau1977-adc))
70
71 define KernelPackage/sound-soc-audioinjector-pi-soundcard
72 TITLE:=Support for AudioInjector Pi soundcard
73 KCONFIG:= \
74 CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD \
75 CONFIG_SND_SOC_WM8731
76 FILES:= \
77 $(LINUX_DIR)/sound/soc/bcm/snd-soc-audioinjector-pi-soundcard.ko \
78 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8731.ko
79 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8731 \
80 snd-soc-audioinjector-pi-soundcard)
81 DEPENDS:= \
82 kmod-sound-soc-bcm2835-i2s \
83 +kmod-i2c-bcm2708
84 $(call AddDepends/sound)
85 endef
86
87 define KernelPackage/sound-soc-audioinjector-pi-soundcard/description
88 This package contains support for AudioInjector Pi soundcard
89 endef
90
91 $(eval $(call KernelPackage,sound-soc-audioinjector-pi-soundcard))
92
93 define KernelPackage/sound-soc-digidac1-soundcard
94 TITLE:=Support for RRA DigiDAC1
95 KCONFIG:= \
96 CONFIG_SND_DIGIDAC1_SOUNDCARD \
97 CONFIG_SND_SOC_WM8741 \
98 CONFIG_SND_SOC_WM8804 \
99 CONFIG_SND_SOC_WM8804_I2C
100 FILES:= \
101 $(LINUX_DIR)/sound/soc/bcm/snd-soc-digidac1-soundcard.ko \
102 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8741.ko \
103 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko \
104 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804-i2c.ko
105 AUTOLOAD:=$(call AutoLoad,68,snd-soc-snd-soc-wm8741 \
106 snd-soc-snd-soc-wm8804 snd-soc-snd-soc-wm8804-i2c \
107 snd-soc-digidac1-soundcard)
108 DEPENDS:= \
109 kmod-sound-soc-bcm2835-i2s \
110 +kmod-i2c-bcm2708
111 $(call AddDepends/sound)
112 endef
113
114 define KernelPackage/sound-soc-digidac1-soundcard/description
115 This package contains support for RRA DigiDAC1
116 endef
117
118 $(eval $(call KernelPackage,sound-soc-digidac1-soundcard))
119
120 define KernelPackage/sound-soc-hifiberry-dac
121 TITLE:=Support for HifiBerry DAC
122 KCONFIG:= \
123 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC \
124 CONFIG_SND_SOC_PCM5102A
125 FILES:= \
126 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dac.ko \
127 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
128 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a snd-soc-hifiberry-dac)
129 DEPENDS:= \
130 kmod-sound-soc-bcm2835-i2s \
131 +kmod-i2c-bcm2708
132 $(call AddDepends/sound)
133 endef
134
135 define KernelPackage/sound-soc-hifiberry-dac/description
136 This package contains support for HifiBerry DAC
137 endef
138
139 $(eval $(call KernelPackage,sound-soc-hifiberry-dac))
140
141 define KernelPackage/sound-soc-hifiberry-dacplus
142 TITLE:=Support for HifiBerry DAC+ / DAC+ Pro
143 KCONFIG:= \
144 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS \
145 CONFIG_SND_SOC_PCM512x
146 FILES:= \
147 $(LINUX_DIR)/drivers/clk/clk-hifiberry-dacpro.ko \
148 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dacplus.ko \
149 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
150 AUTOLOAD:=$(call AutoLoad,68,clk-hifiberry-dacpro snd-soc-pcm512x \
151 snd-soc-hifiberry-dacplus)
152 DEPENDS:= \
153 kmod-sound-soc-bcm2835-i2s \
154 +kmod-i2c-bcm2708
155 $(call AddDepends/sound)
156 endef
157
158 define KernelPackage/sound-soc-hifiberry-dacplus/description
159 This package contains support for HifiBerry DAC+ / DAC+ Pro
160 endef
161
162 $(eval $(call KernelPackage,sound-soc-hifiberry-dacplus))
163
164 define KernelPackage/sound-soc-hifiberry-digi
165 TITLE:=Support for HifiBerry Digi
166 KCONFIG:= \
167 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI \
168 CONFIG_SND_SOC_WM8804
169 FILES:= \
170 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-digi.ko \
171 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
172 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-hifiberry-digi)
173 DEPENDS:= \
174 kmod-sound-soc-bcm2835-i2s \
175 +kmod-i2c-bcm2708
176 $(call AddDepends/sound)
177 endef
178
179 define KernelPackage/sound-soc-hifiberry-digi/description
180 This package contains support for HifiBerry Digi
181 endef
182
183 $(eval $(call KernelPackage,sound-soc-hifiberry-digi))
184
185 define KernelPackage/sound-soc-hifiberry-amp
186 TITLE:=Support for HifiBerry Amp
187 KCONFIG:= \
188 CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP \
189 CONFIG_SND_SOC_TAS5713
190 FILES:= \
191 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-amp.ko \
192 $(LINUX_DIR)/sound/soc/codecs/snd-soc-tas5713.ko
193 AUTOLOAD:=$(call AutoLoad,68,snd-soc-tas5713 snd-soc-hifiberry-amp)
194 DEPENDS:= \
195 kmod-sound-soc-bcm2835-i2s \
196 +kmod-i2c-bcm2708
197 $(call AddDepends/sound)
198 endef
199
200 define KernelPackage/sound-soc-hifiberry-amp/description
201 This package contains support for HifiBerry Amp
202 endef
203
204 $(eval $(call KernelPackage,sound-soc-hifiberry-amp))
205
206 define KernelPackage/sound-soc-iqaudio-dac
207 TITLE:=Support for IQaudIO-DAC
208 KCONFIG:= \
209 CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC \
210 CONFIG_SND_SOC_PCM512x \
211 CONFIG_SND_SOC_PCM512x_I2C
212 FILES:= \
213 $(LINUX_DIR)/sound/soc/bcm/snd-soc-iqaudio-dac.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-iqaudio-dac)
218 DEPENDS:= \
219 kmod-sound-soc-bcm2835-i2s \
220 +kmod-i2c-bcm2708
221 $(call AddDepends/sound)
222 endef
223
224 define KernelPackage/sound-soc-iqaudio-dac/description
225 This package contains support for IQaudIO-DAC
226 endef
227
228 $(eval $(call KernelPackage,sound-soc-iqaudio-dac))
229
230 define KernelPackage/sound-soc-justboom-dac
231 TITLE:=Support for JustBoom DAC
232 KCONFIG:= \
233 CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC \
234 CONFIG_SND_SOC_PCM512x
235 FILES:= \
236 $(LINUX_DIR)/sound/soc/bcm/snd-soc-justboom-dac.ko \
237 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
238 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-justboom-dac)
239 DEPENDS:= \
240 kmod-sound-soc-bcm2835-i2s \
241 +kmod-i2c-bcm2708
242 $(call AddDepends/sound)
243 endef
244
245 define KernelPackage/sound-soc-justboom-dac/description
246 This package contains support for JustBoom DAC
247 endef
248
249 $(eval $(call KernelPackage,sound-soc-justboom-dac))
250
251 define KernelPackage/sound-soc-justboom-digi
252 TITLE:=Support for JustBoom Digi
253 KCONFIG:= \
254 CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI \
255 CONFIG_SND_SOC_WM8804
256 FILES:= \
257 $(LINUX_DIR)/sound/soc/bcm/snd-soc-justboom-digi.ko \
258 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
259 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-justboom-digi)
260 DEPENDS:= \
261 kmod-sound-soc-bcm2835-i2s \
262 +kmod-i2c-bcm2708
263 $(call AddDepends/sound)
264 endef
265
266 define KernelPackage/sound-soc-justboom-digi/description
267 This package contains support for JustBoom Digi
268 endef
269
270 $(eval $(call KernelPackage,sound-soc-justboom-digi))
271
272 define KernelPackage/sound-soc-raspidac3
273 TITLE:=Support for RaspiDAC Rev.3x
274 KCONFIG:= \
275 CONFIG_SND_BCM2708_SOC_RASPIDAC3 \
276 CONFIG_SND_SOC_PCM512x \
277 CONFIG_SND_SOC_PCM512x_I2C \
278 CONFIG_SND_SOC_TPA6130A2
279 FILES:= \
280 $(LINUX_DIR)/sound/soc/bcm/snd-soc-raspidac3.ko \
281 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
282 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko \
283 $(LINUX_DIR)/sound/soc/codecs/snd-soc-tpa6130a2.ko
284 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c \
285 snd-soc-tpa6130a2 snd-soc-raspidac3)
286 DEPENDS:= \
287 kmod-sound-soc-bcm2835-i2s \
288 +kmod-i2c-bcm2708
289 $(call AddDepends/sound)
290 endef
291
292 define KernelPackage/sound-soc-raspidac3/description
293 This package contains support for RaspiDAC Rev.3x
294 endef
295
296 $(eval $(call KernelPackage,sound-soc-raspidac3))
297
298 define KernelPackage/sound-soc-rpi-dac
299 TITLE:=Support for RPi-DAC
300 KCONFIG:= \
301 CONFIG_SND_BCM2708_SOC_RPI_DAC \
302 CONFIG_SND_SOC_PCM1794A
303 FILES:= \
304 $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-dac.ko \
305 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm1794a.ko
306 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm1794a snd-soc-rpi-dac)
307 DEPENDS:= \
308 kmod-sound-soc-bcm2835-i2s \
309 +kmod-i2c-bcm2708
310 $(call AddDepends/sound)
311 endef
312
313 define KernelPackage/sound-soc-rpi-dac/description
314 This package contains support for RPi-DAC
315 endef
316
317 $(eval $(call KernelPackage,sound-soc-rpi-dac))
318
319 define KernelPackage/sound-soc-rpi-proto
320 TITLE:=Support for RPi-PROTO
321 KCONFIG:= \
322 CONFIG_SND_BCM2708_SOC_RPI_PROTO \
323 CONFIG_SND_SOC_WM8731
324 FILES:= \
325 $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-proto.ko \
326 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8731.ko
327 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8731 snd-soc-rpi-proto)
328 DEPENDS:= \
329 kmod-sound-soc-bcm2835-i2s \
330 +kmod-i2c-bcm2708
331 $(call AddDepends/sound)
332 endef
333
334 define KernelPackage/sound-soc-rpi-proto/description
335 This package contains support for RPi-PROTO
336 endef
337
338 $(eval $(call KernelPackage,sound-soc-rpi-proto))
339
340
341 define KernelPackage/random-bcm2835
342 SUBMENU:=$(OTHER_MENU)
343 TITLE:=BCM2835 HW Random Number Generator
344 KCONFIG:=CONFIG_HW_RANDOM_BCM2835
345 FILES:=$(LINUX_DIR)/drivers/char/hw_random/bcm2835-rng.ko
346 AUTOLOAD:=$(call AutoLoad,11,bcm2835-rng)
347 DEPENDS:=@TARGET_brcm2708 +kmod-random-core
348 endef
349
350 define KernelPackage/random-bcm2835/description
351 This package contains the Broadcom 2835 HW random number generator driver
352 endef
353
354 $(eval $(call KernelPackage,random-bcm2835))
355
356
357 define KernelPackage/smi-bcm2835
358 SUBMENU:=$(OTHER_MENU)
359 TITLE:=BCM2835 SMI driver
360 KCONFIG:=CONFIG_BCM2835_SMI
361 FILES:=$(LINUX_DIR)/drivers/misc/bcm2835_smi.ko
362 AUTOLOAD:=$(call AutoLoad,20,bcm2835_smi)
363 DEPENDS:=@TARGET_brcm2708
364 endef
365
366 define KernelPackage/smi-bcm2835/description
367 This package contains the Character device driver for Broadcom Secondary
368 Memory Interface
369 endef
370
371 $(eval $(call KernelPackage,smi-bcm2835))
372
373 define KernelPackage/smi-bcm2835-dev
374 SUBMENU:=$(OTHER_MENU)
375 TITLE:=BCM2835 SMI device driver
376 KCONFIG:=CONFIG_BCM2835_SMI_DEV
377 FILES:=$(LINUX_DIR)/drivers/char/broadcom/bcm2835_smi_dev.ko
378 AUTOLOAD:=$(call AutoLoad,21,bcm2835_smi_dev)
379 DEPENDS:=@TARGET_brcm2708 +kmod-smi-bcm2835
380 endef
381
382 define KernelPackage/smi-bcm2835-dev/description
383 This driver provides a character device interface (ioctl + read/write) to
384 Broadcom's Secondary Memory interface. The low-level functionality is provided
385 by the SMI driver itself.
386 endef
387
388 $(eval $(call KernelPackage,smi-bcm2835-dev))
389
390
391 define KernelPackage/spi-bcm2835
392 SUBMENU:=$(SPI_MENU)
393 TITLE:=BCM2835 SPI controller driver
394 KCONFIG:=\
395 CONFIG_SPI=y \
396 CONFIG_SPI_BCM2835 \
397 CONFIG_SPI_MASTER=y
398 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835.ko
399 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835)
400 DEPENDS:=@TARGET_brcm2708
401 endef
402
403 define KernelPackage/spi-bcm2835/description
404 This package contains the Broadcom 2835 SPI master controller driver
405 endef
406
407 $(eval $(call KernelPackage,spi-bcm2835))
408
409 define KernelPackage/spi-bcm2835-aux
410 SUBMENU:=$(SPI_MENU)
411 TITLE:=BCM2835 Aux SPI controller driver
412 KCONFIG:=\
413 CONFIG_SPI=y \
414 CONFIG_SPI_BCM2835AUX \
415 CONFIG_SPI_MASTER=y
416 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835aux.ko
417 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835aux)
418 DEPENDS:=@TARGET_brcm2708
419 endef
420
421 define KernelPackage/spi-bcm2835-aux/description
422 This package contains the Broadcom 2835 Aux SPI master controller driver
423 endef
424
425 $(eval $(call KernelPackage,spi-bcm2835-aux))
426
427
428 define KernelPackage/hwmon-bcm2835
429 TITLE:=BCM2835 HWMON driver
430 KCONFIG:=CONFIG_SENSORS_BCM2835
431 FILES:=$(LINUX_DIR)/drivers/hwmon/bcm2835-hwmon.ko
432 AUTOLOAD:=$(call AutoLoad,60,bcm2835-hwmon)
433 $(call AddDepends/hwmon,@TARGET_brcm2708)
434 endef
435
436 define KernelPackage/hwmon-bcm2835/description
437 Kernel module for BCM2835 thermal monitor chip
438 endef
439
440 $(eval $(call KernelPackage,hwmon-bcm2835))
441
442
443 I2C_BCM2708_MODULES:=\
444 CONFIG_I2C_BCM2708:drivers/i2c/busses/i2c-bcm2708
445
446 define KernelPackage/i2c-bcm2708
447 $(call i2c_defaults,$(I2C_BCM2708_MODULES),59)
448 TITLE:=Broadcom BCM2708 I2C master controller driver
449 KCONFIG+= \
450 CONFIG_I2C_BCM2708_BAUDRATE=100000
451 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
452 endef
453
454 define KernelPackage/i2c-bcm2708/description
455 This package contains the Broadcom 2708 I2C master controller driver
456 endef
457
458 $(eval $(call KernelPackage,i2c-bcm2708))
459
460 I2C_BCM2835_MODULES:=\
461 CONFIG_I2C_BCM2835:drivers/i2c/busses/i2c-bcm2835
462
463 define KernelPackage/i2c-bcm2835
464 $(call i2c_defaults,$(I2C_BCM2835_MODULES),59)
465 TITLE:=Broadcom BCM2835 I2C master controller driver
466 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
467 endef
468
469 define KernelPackage/i2c-bcm2835/description
470 This package contains the Broadcom 2835 I2C master controller driver
471 endef
472
473 $(eval $(call KernelPackage,i2c-bcm2835))
474
475
476 define KernelPackage/video-bcm2835
477 TITLE:=Broadcom BCM2835 camera interface driver
478 KCONFIG:= \
479 CONFIG_VIDEO_BCM2835=y \
480 CONFIG_VIDEO_BCM2835_MMAL
481 FILES:= $(LINUX_DIR)/drivers/media/platform/bcm2835/bcm2835-v4l2.ko
482 AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
483 $(call AddDepends/video,@TARGET_brcm2708 +kmod-video-videobuf2)
484 endef
485
486 define KernelPackage/video-bcm2835/description
487 This is a V4L2 driver for the Broadcom 2835 MMAL camera host interface
488 endef
489
490 $(eval $(call KernelPackage,video-bcm2835))