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