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