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