04e6aa9233115b4e722334e3f1479944c550673b
[openwrt/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_SPI=y \
278 CONFIG_SPI_BCM2835 \
279 CONFIG_SPI_MASTER=y
280 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835.ko
281 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835)
282 DEPENDS:=@TARGET_brcm2708
283 endef
284
285 define KernelPackage/spi-bcm2835/description
286 This package contains the Broadcom 2835 SPI master controller driver
287 endef
288
289 $(eval $(call KernelPackage,spi-bcm2835))
290
291 define KernelPackage/spi-bcm2835-aux
292 SUBMENU:=$(SPI_MENU)
293 TITLE:=BCM2835 Aux SPI controller driver
294 KCONFIG:=\
295 CONFIG_SPI=y \
296 CONFIG_SPI_BCM2835AUX \
297 CONFIG_SPI_MASTER=y
298 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835aux.ko
299 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835aux)
300 DEPENDS:=@TARGET_brcm2708
301 endef
302
303 define KernelPackage/spi-bcm2835-aux/description
304 This package contains the Broadcom 2835 Aux SPI master controller driver
305 endef
306
307 $(eval $(call KernelPackage,spi-bcm2835-aux))
308
309
310 define KernelPackage/hwmon-bcm2835
311 TITLE:=BCM2835 HWMON driver
312 KCONFIG:=CONFIG_SENSORS_BCM2835
313 FILES:=$(LINUX_DIR)/drivers/hwmon/bcm2835-hwmon.ko
314 AUTOLOAD:=$(call AutoLoad,60,bcm2835-hwmon)
315 $(call AddDepends/hwmon,@TARGET_brcm2708)
316 endef
317
318 define KernelPackage/hwmon-bcm2835/description
319 Kernel module for BCM2835 thermal monitor chip
320 endef
321
322 $(eval $(call KernelPackage,hwmon-bcm2835))
323
324
325 I2C_BCM2708_MODULES:=\
326 CONFIG_I2C_BCM2708:drivers/i2c/busses/i2c-bcm2708
327
328 define KernelPackage/i2c-bcm2708
329 $(call i2c_defaults,$(I2C_BCM2708_MODULES),59)
330 TITLE:=Broadcom BCM2708 I2C master controller driver
331 KCONFIG+= \
332 CONFIG_I2C_BCM2708_BAUDRATE=100000
333 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
334 endef
335
336 define KernelPackage/i2c-bcm2708/description
337 This package contains the Broadcom 2708 I2C master controller driver
338 endef
339
340 $(eval $(call KernelPackage,i2c-bcm2708))
341
342 I2C_BCM2835_MODULES:=\
343 CONFIG_I2C_BCM2835:drivers/i2c/busses/i2c-bcm2835
344
345 define KernelPackage/i2c-bcm2835
346 $(call i2c_defaults,$(I2C_BCM2835_MODULES),59)
347 TITLE:=Broadcom BCM2835 I2C master controller driver
348 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
349 endef
350
351 define KernelPackage/i2c-bcm2835/description
352 This package contains the Broadcom 2835 I2C master controller driver
353 endef
354
355 $(eval $(call KernelPackage,i2c-bcm2835))
356
357
358 define KernelPackage/video-bcm2835
359 TITLE:=Broadcom BCM2835 camera interface driver
360 KCONFIG:= \
361 CONFIG_VIDEO_BCM2835=y \
362 CONFIG_VIDEO_BCM2835_MMAL
363 FILES:= $(LINUX_DIR)/drivers/media/platform/bcm2835/bcm2835-v4l2.ko
364 AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
365 $(call AddDepends/video,@TARGET_brcm2708 +kmod-video-videobuf2)
366 endef
367
368 define KernelPackage/video-bcm2835/description
369 This is a V4L2 driver for the Broadcom 2835 MMAL camera host interface
370 endef
371
372 $(eval $(call KernelPackage,video-bcm2835))