68a7d38028df214c51b2f46bf2c87e7fa95b2845
[openwrt/openwrt.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_SND_BCM2708_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-bcm2708-i2s.ko
36 AUTOLOAD:=$(call AutoLoad,68,snd-soc-bcm2708-i2s)
37 DEPENDS:=@TARGET_brcm2708 +kmod-regmap +kmod-sound-soc-core
38 $(call AddDepends/sound)
39 endef
40
41 define KernelPackage/sound-soc-bcm2708-i2s/description
42 This package contains support for codecs attached to the Broadcom 2708 I2S interface
43 endef
44
45 $(eval $(call KernelPackage,sound-soc-bcm2708-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:=kmod-sound-soc-bcm2708-i2s
57 $(call AddDepends/sound)
58 endef
59
60 define KernelPackage/sound-soc-hifiberry-dac/description
61 This package contains support for HifiBerry DAC
62 endef
63
64 $(eval $(call KernelPackage,sound-soc-hifiberry-dac))
65
66 define KernelPackage/sound-soc-hifiberry-dacplus
67 TITLE:=Support for HifiBerry DAC+
68 KCONFIG:= \
69 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS \
70 CONFIG_SND_SOC_PCM512x
71 FILES:= \
72 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dacplus.ko \
73 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
74 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-hifiberry-dacplus)
75 DEPENDS:=kmod-sound-soc-bcm2708-i2s
76 $(call AddDepends/sound)
77 endef
78
79 define KernelPackage/sound-soc-hifiberry-dacplus/description
80 This package contains support for HifiBerry DAC+
81 endef
82
83 $(eval $(call KernelPackage,sound-soc-hifiberry-dacplus))
84
85 define KernelPackage/sound-soc-hifiberry-digi
86 TITLE:=Support for HifiBerry Digi
87 KCONFIG:= \
88 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI \
89 CONFIG_SND_SOC_WM8804
90 FILES:= \
91 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-digi.ko \
92 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
93 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-hifiberry-digi)
94 DEPENDS:=kmod-sound-soc-bcm2708-i2s
95 $(call AddDepends/sound)
96 endef
97
98 define KernelPackage/sound-soc-hifiberry-digi/description
99 This package contains support for HifiBerry Digi
100 endef
101
102 $(eval $(call KernelPackage,sound-soc-hifiberry-digi))
103
104 define KernelPackage/sound-soc-hifiberry-amp
105 TITLE:=Support for HifiBerry Amp
106 KCONFIG:= \
107 CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP \
108 CONFIG_SND_SOC_TAS5713
109 FILES:= \
110 $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-amp.ko \
111 $(LINUX_DIR)/sound/soc/codecs/snd-soc-tas5713.ko
112 AUTOLOAD:=$(call AutoLoad,68,snd-soc-tas5713 snd-soc-hifiberry-amp)
113 DEPENDS:=kmod-sound-soc-bcm2708-i2s
114 $(call AddDepends/sound)
115 endef
116
117 define KernelPackage/sound-soc-hifiberry-amp/description
118 This package contains support for HifiBerry Amp
119 endef
120
121 $(eval $(call KernelPackage,sound-soc-hifiberry-amp))
122
123 define KernelPackage/sound-soc-rpi-dac
124 TITLE:=Support for RPi-DAC
125 KCONFIG:= \
126 CONFIG_SND_BCM2708_SOC_RPI_DAC \
127 CONFIG_SND_SOC_PCM1794A
128 FILES:= \
129 $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-dac.ko \
130 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm1794a.ko
131 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm1794a snd-soc-rpi-dac)
132 DEPENDS:=kmod-sound-soc-bcm2708-i2s
133 $(call AddDepends/sound)
134 endef
135
136 define KernelPackage/sound-soc-rpi-dac/description
137 This package contains support for RPi-DAC
138 endef
139
140 $(eval $(call KernelPackage,sound-soc-rpi-dac))
141
142 define KernelPackage/sound-soc-rpi-proto
143 TITLE:=Support for RPi-PROTO
144 KCONFIG:= \
145 CONFIG_SND_BCM2708_SOC_RPI_PROTO \
146 CONFIG_SND_SOC_WM8731
147 FILES:= \
148 $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-proto.ko \
149 $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8731.ko
150 AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8731 snd-soc-rpi-proto)
151 DEPENDS:=kmod-sound-soc-bcm2708-i2s
152 $(call AddDepends/sound)
153 endef
154
155 define KernelPackage/sound-soc-rpi-proto/description
156 This package contains support for RPi-PROTO
157 endef
158
159 $(eval $(call KernelPackage,sound-soc-rpi-proto))
160
161 define KernelPackage/sound-soc-iqaudio-dac
162 TITLE:=Support for IQaudIO-DAC
163 KCONFIG:= \
164 CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC \
165 CONFIG_SND_SOC_PCM512x \
166 CONFIG_SND_SOC_PCM512x_I2C
167 FILES:= \
168 $(LINUX_DIR)/sound/soc/bcm/snd-soc-iqaudio-dac.ko \
169 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
170 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
171 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c snd-soc-iqaudio-dac)
172 DEPENDS:=kmod-sound-soc-bcm2708-i2s
173 $(call AddDepends/sound)
174 endef
175
176 define KernelPackage/sound-soc-iqaudio-dac/description
177 This package contains support for IQaudIO-DAC
178 endef
179
180 $(eval $(call KernelPackage,sound-soc-iqaudio-dac))
181
182 define KernelPackage/sound-soc-raspidac3
183 TITLE:=Support for RaspiDAC Rev.3x
184 KCONFIG:= \
185 CONFIG_SND_BCM2708_SOC_RASPIDAC3 \
186 CONFIG_SND_SOC_PCM512x \
187 CONFIG_SND_SOC_PCM512x_I2C \
188 CONFIG_SND_SOC_TPA6130A2
189 FILES:= \
190 $(LINUX_DIR)/sound/soc/bcm/snd-soc-raspidac3.ko \
191 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
192 $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko \
193 $(LINUX_DIR)/sound/soc/codecs/snd-soc-tpa6130a2.ko
194 AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c snd-soc-tpa6130a2 snd-soc-raspidac3)
195 DEPENDS:=kmod-sound-soc-bcm2708-i2s
196 $(call AddDepends/sound)
197 endef
198
199 define KernelPackage/sound-soc-raspidac3/description
200 This package contains support for RaspiDAC Rev.3x
201 endef
202
203 $(eval $(call KernelPackage,sound-soc-raspidac3))
204
205
206 define KernelPackage/random-bcm2708
207 SUBMENU:=$(OTHER_MENU)
208 TITLE:=BCM2708 HW Random Number Generator
209 KCONFIG:=CONFIG_HW_RANDOM_BCM2708
210 FILES:=$(LINUX_DIR)/drivers/char/hw_random/bcm2708-rng.ko
211 AUTOLOAD:=$(call AutoLoad,11,bcm2708-rng)
212 DEPENDS:=@TARGET_brcm2708 +kmod-random-core
213 endef
214
215 define KernelPackage/random-bcm2708/description
216 This package contains the Broadcom 2708 HW random number generator driver
217 endef
218
219 $(eval $(call KernelPackage,random-bcm2708))
220
221 define KernelPackage/random-bcm2835
222 SUBMENU:=$(OTHER_MENU)
223 TITLE:=BCM2835 HW Random Number Generator
224 KCONFIG:=CONFIG_HW_RANDOM_BCM2835
225 FILES:=$(LINUX_DIR)/drivers/char/hw_random/bcm2835-rng.ko
226 AUTOLOAD:=$(call AutoLoad,11,bcm2835-rng)
227 DEPENDS:=@TARGET_brcm2708 +kmod-random-core
228 endef
229
230 define KernelPackage/random-bcm2835/description
231 This package contains the Broadcom 2835 HW random number generator driver
232 endef
233
234 $(eval $(call KernelPackage,random-bcm2835))
235
236
237 define KernelPackage/spi-bcm2708
238 SUBMENU:=$(SPI_MENU)
239 TITLE:=BCM2708 SPI controller driver
240 KCONFIG:= \
241 CONFIG_BCM2708_SPIDEV=n \
242 CONFIG_SPI=y \
243 CONFIG_SPI_BCM2708 \
244 CONFIG_SPI_MASTER=y
245 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2708.ko
246 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2708)
247 DEPENDS:=@TARGET_brcm2708
248 endef
249
250 define KernelPackage/spi-bcm2708/description
251 This package contains the Broadcom 2708 SPI master controller driver
252 endef
253
254 $(eval $(call KernelPackage,spi-bcm2708))
255
256 define KernelPackage/spi-bcm2835
257 SUBMENU:=$(SPI_MENU)
258 TITLE:=BCM2835 SPI controller driver
259 KCONFIG:=\
260 CONFIG_BCM2708_SPIDEV=n \
261 CONFIG_SPI=y \
262 CONFIG_SPI_BCM2835 \
263 CONFIG_SPI_MASTER=y
264 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835.ko
265 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835)
266 DEPENDS:=@TARGET_brcm2708
267 endef
268
269 define KernelPackage/spi-bcm2835/description
270 This package contains the Broadcom 2835 SPI master controller driver
271 endef
272
273 $(eval $(call KernelPackage,spi-bcm2835))
274
275
276 define KernelPackage/hwmon-bcm2835
277 TITLE:=BCM2835 HWMON driver
278 KCONFIG:=CONFIG_SENSORS_BCM2835
279 FILES:=$(LINUX_DIR)/drivers/hwmon/bcm2835-hwmon.ko
280 AUTOLOAD:=$(call AutoLoad,60,bcm2835-hwmon)
281 $(call AddDepends/hwmon,@TARGET_brcm2708)
282 endef
283
284 define KernelPackage/hwmon-bcm2835/description
285 Kernel module for BCM2835 thermal monitor chip
286 endef
287
288 $(eval $(call KernelPackage,hwmon-bcm2835))
289
290
291 I2C_BCM2708_MODULES:=\
292 CONFIG_I2C_BCM2708:drivers/i2c/busses/i2c-bcm2708
293
294 define KernelPackage/i2c-bcm2708
295 $(call i2c_defaults,$(I2C_BCM2708_MODULES),59)
296 TITLE:=Broadcom BCM2708 I2C master controller driver
297 KCONFIG+= \
298 CONFIG_I2C_BCM2708_BAUDRATE=100000 \
299 CONFIG_MFD_RPISENSE_CORE=n
300 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
301 endef
302
303 define KernelPackage/i2c-bcm2708/description
304 This package contains the Broadcom 2708 I2C master controller driver
305 endef
306
307 $(eval $(call KernelPackage,i2c-bcm2708))
308
309 I2C_BCM2835_MODULES:=\
310 CONFIG_I2C_BCM2835:drivers/i2c/busses/i2c-bcm2835
311
312 define KernelPackage/i2c-bcm2835
313 $(call i2c_defaults,$(I2C_BCM2835_MODULES),59)
314 TITLE:=Broadcom BCM2835 I2C master controller driver
315 KCONFIG+= \
316 CONFIG_MFD_RPISENSE_CORE=n
317 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
318 endef
319
320 define KernelPackage/i2c-bcm2835/description
321 This package contains the Broadcom 2835 I2C master controller driver
322 endef
323
324 $(eval $(call KernelPackage,i2c-bcm2835))
325
326
327 define KernelPackage/video-bcm2835
328 TITLE:=Broadcom BCM2835 camera interface driver
329 KCONFIG:= \
330 CONFIG_VIDEO_BCM2835=y \
331 CONFIG_VIDEO_BCM2835_MMAL
332 FILES:= $(LINUX_DIR)/drivers/media/platform/bcm2835/bcm2835-v4l2.ko
333 AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
334 $(call AddDepends/video,@TARGET_brcm2708 +kmod-video-videobuf2)
335 endef
336
337 define KernelPackage/video-bcm2835/description
338 This is a V4L2 driver for the Broadcom 2835 MMAL camera host interface
339 endef
340
341 $(eval $(call KernelPackage,video-bcm2835))