brcm2708: add linux 4.4 support
[openwrt/staging/jogo.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))