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