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