2 # Copyright (C) 2012-2016 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 define KernelPackage
/sound-arm-bcm2835
9 TITLE
:=BCM2835 ALSA driver
15 $(LINUX_DIR
)/sound
/arm
/snd-bcm2835.ko
16 AUTOLOAD
:=$(call AutoLoad
,68,snd-bcm2835
)
17 DEPENDS
:=@TARGET_brcm2708
18 $(call AddDepends
/sound
)
21 define KernelPackage
/sound-arm-bcm2835
/description
22 This package contains the BCM2835 ALSA pcm card driver
25 $(eval
$(call KernelPackage
,sound-arm-bcm2835
))
28 define KernelPackage
/sound-soc-bcm2835-i2s
29 TITLE
:=SoC Audio support for the Broadcom
2835 I2S module
31 CONFIG_SND_BCM2835_SOC_I2S \
32 CONFIG_SND_SOC_DMAENGINE_PCM
=y \
33 CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM
=y
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
)
41 define KernelPackage
/sound-soc-bcm2835-i2s
/description
42 This package contains support for codecs attached to the Broadcom
2835 I2S interface
45 $(eval
$(call KernelPackage
,sound-soc-bcm2835-i2s
))
47 define KernelPackage
/sound-soc-boomberry-dac
48 TITLE
:=Support for BoomBerry DAC
50 CONFIG_SND_BCM2708_SOC_BOOMBERRY_DAC \
51 CONFIG_SND_SOC_PCM512x
53 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-boomberry-dac.ko \
54 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x.ko
55 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm512x snd-soc-boomberry-dac
)
57 kmod-sound-soc-bcm2835-i2s \
59 $(call AddDepends
/sound
)
62 define KernelPackage
/sound-soc-boomberry-dac
/description
63 This package contains support for BoomBerry DAC
66 $(eval
$(call KernelPackage
,sound-soc-boomberry-dac
))
68 define KernelPackage
/sound-soc-boomberry-digi
69 TITLE
:=Support for BoomBerry Digi
71 CONFIG_SND_BCM2708_SOC_BOOMBERRY_DIGI \
74 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-boomberry-digi.ko \
75 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8804.ko
76 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-wm8804 snd-soc-boomberry-digi
)
78 kmod-sound-soc-bcm2835-i2s \
80 $(call AddDepends
/sound
)
83 define KernelPackage
/sound-soc-boomberry-digi
/description
84 This package contains support for BoomBerry Digi
87 $(eval
$(call KernelPackage
,sound-soc-boomberry-digi
))
89 define KernelPackage
/sound-soc-hifiberry-dac
90 TITLE
:=Support for HifiBerry DAC
92 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC \
93 CONFIG_SND_SOC_PCM5102A
95 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-dac.ko \
96 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm5102a.ko
97 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm5102a snd-soc-hifiberry-dac
)
99 kmod-sound-soc-bcm2835-i2s \
101 $(call AddDepends
/sound
)
104 define KernelPackage
/sound-soc-hifiberry-dac
/description
105 This package contains support for HifiBerry DAC
108 $(eval
$(call KernelPackage
,sound-soc-hifiberry-dac
))
110 define KernelPackage
/sound-soc-hifiberry-dacplus
111 TITLE
:=Support for HifiBerry DAC
+ / DAC
+ Pro
113 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS \
114 CONFIG_SND_SOC_PCM512x
116 $(LINUX_DIR
)/drivers
/clk
/clk-hifiberry-dacpro.ko \
117 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-dacplus.ko \
118 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x.ko
119 AUTOLOAD
:=$(call AutoLoad
,68,clk-hifiberry-dacpro snd-soc-pcm512x snd-soc-hifiberry-dacplus
)
121 kmod-sound-soc-bcm2835-i2s \
123 $(call AddDepends
/sound
)
126 define KernelPackage
/sound-soc-hifiberry-dacplus
/description
127 This package contains support for HifiBerry DAC
+ / DAC
+ Pro
130 $(eval
$(call KernelPackage
,sound-soc-hifiberry-dacplus
))
132 define KernelPackage
/sound-soc-hifiberry-digi
133 TITLE
:=Support for HifiBerry Digi
135 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI \
136 CONFIG_SND_SOC_WM8804
138 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-digi.ko \
139 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8804.ko
140 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-wm8804 snd-soc-hifiberry-digi
)
142 kmod-sound-soc-bcm2835-i2s \
144 $(call AddDepends
/sound
)
147 define KernelPackage
/sound-soc-hifiberry-digi
/description
148 This package contains support for HifiBerry Digi
151 $(eval
$(call KernelPackage
,sound-soc-hifiberry-digi
))
153 define KernelPackage
/sound-soc-hifiberry-amp
154 TITLE
:=Support for HifiBerry Amp
156 CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP \
157 CONFIG_SND_SOC_TAS5713
159 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-amp.ko \
160 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-tas5713.ko
161 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-tas5713 snd-soc-hifiberry-amp
)
163 kmod-sound-soc-bcm2835-i2s \
165 $(call AddDepends
/sound
)
168 define KernelPackage
/sound-soc-hifiberry-amp
/description
169 This package contains support for HifiBerry Amp
172 $(eval
$(call KernelPackage
,sound-soc-hifiberry-amp
))
174 define KernelPackage
/sound-soc-rpi-dac
175 TITLE
:=Support for RPi-DAC
177 CONFIG_SND_BCM2708_SOC_RPI_DAC \
178 CONFIG_SND_SOC_PCM1794A
180 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-rpi-dac.ko \
181 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm1794a.ko
182 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm1794a snd-soc-rpi-dac
)
184 kmod-sound-soc-bcm2835-i2s \
186 $(call AddDepends
/sound
)
189 define KernelPackage
/sound-soc-rpi-dac
/description
190 This package contains support for RPi-DAC
193 $(eval
$(call KernelPackage
,sound-soc-rpi-dac
))
195 define KernelPackage
/sound-soc-rpi-proto
196 TITLE
:=Support for RPi-PROTO
198 CONFIG_SND_BCM2708_SOC_RPI_PROTO \
199 CONFIG_SND_SOC_WM8731
201 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-rpi-proto.ko \
202 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8731.ko
203 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-wm8731 snd-soc-rpi-proto
)
205 kmod-sound-soc-bcm2835-i2s \
207 $(call AddDepends
/sound
)
210 define KernelPackage
/sound-soc-rpi-proto
/description
211 This package contains support for RPi-PROTO
214 $(eval
$(call KernelPackage
,sound-soc-rpi-proto
))
216 define KernelPackage
/sound-soc-iqaudio-dac
217 TITLE
:=Support for IQaudIO-DAC
219 CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC \
220 CONFIG_SND_SOC_PCM512x \
221 CONFIG_SND_SOC_PCM512x_I2C
223 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-iqaudio-dac.ko \
224 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x.ko \
225 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x-i2c.ko
226 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm512x snd-soc-pcm512x-i2c snd-soc-iqaudio-dac
)
228 kmod-sound-soc-bcm2835-i2s \
230 $(call AddDepends
/sound
)
233 define KernelPackage
/sound-soc-iqaudio-dac
/description
234 This package contains support for IQaudIO-DAC
237 $(eval
$(call KernelPackage
,sound-soc-iqaudio-dac
))
239 define KernelPackage
/sound-soc-raspidac3
240 TITLE
:=Support for RaspiDAC Rev
.3x
242 CONFIG_SND_BCM2708_SOC_RASPIDAC3 \
243 CONFIG_SND_SOC_PCM512x \
244 CONFIG_SND_SOC_PCM512x_I2C \
245 CONFIG_SND_SOC_TPA6130A2
247 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-raspidac3.ko \
248 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x.ko \
249 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x-i2c.ko \
250 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-tpa6130a2.ko
251 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm512x snd-soc-pcm512x-i2c snd-soc-tpa6130a2 snd-soc-raspidac3
)
253 kmod-sound-soc-bcm2835-i2s \
255 $(call AddDepends
/sound
)
258 define KernelPackage
/sound-soc-raspidac3
/description
259 This package contains support for RaspiDAC Rev
.3x
262 $(eval
$(call KernelPackage
,sound-soc-raspidac3
))
265 define KernelPackage
/random-bcm2835
266 SUBMENU
:=$(OTHER_MENU
)
267 TITLE
:=BCM2835 HW Random Number Generator
268 KCONFIG
:=CONFIG_HW_RANDOM_BCM2835
269 FILES
:=$(LINUX_DIR
)/drivers
/char
/hw_random
/bcm2835-rng.ko
270 AUTOLOAD
:=$(call AutoLoad
,11,bcm2835-rng
)
271 DEPENDS
:=@TARGET_brcm2708
+kmod-random-core
274 define KernelPackage
/random-bcm2835
/description
275 This package contains the Broadcom
2835 HW random number generator driver
278 $(eval
$(call KernelPackage
,random-bcm2835
))
281 define KernelPackage
/smi-bcm2835
282 SUBMENU
:=$(OTHER_MENU
)
283 TITLE
:=BCM2835 SMI driver
284 KCONFIG
:=CONFIG_BCM2835_SMI
285 FILES
:=$(LINUX_DIR
)/drivers
/misc
/bcm2835_smi.ko
286 AUTOLOAD
:=$(call AutoLoad
,20,bcm2835_smi
)
287 DEPENDS
:=@TARGET_brcm2708
290 define KernelPackage
/smi-bcm2835
/description
291 This package contains the Character device driver for Broadcom Secondary
295 $(eval
$(call KernelPackage
,smi-bcm2835
))
297 define KernelPackage
/smi-bcm2835-dev
298 SUBMENU
:=$(OTHER_MENU
)
299 TITLE
:=BCM2835 SMI device driver
300 KCONFIG
:=CONFIG_BCM2835_SMI_DEV
301 FILES
:=$(LINUX_DIR
)/drivers
/char
/broadcom
/bcm2835_smi_dev.ko
302 AUTOLOAD
:=$(call AutoLoad
,21,bcm2835_smi_dev
)
303 DEPENDS
:=@TARGET_brcm2708
+kmod-smi-bcm2835
306 define KernelPackage
/smi-bcm2835-dev
/description
307 This driver provides a character device interface
(ioctl
+ read
/write
) to
308 Broadcom
's Secondary Memory interface. The low-level functionality is provided
309 by the SMI driver itself.
312 $(eval $(call KernelPackage,smi-bcm2835-dev))
315 define KernelPackage/spi-bcm2835
317 TITLE:=BCM2835 SPI controller driver
322 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835.ko
323 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835)
324 DEPENDS:=@TARGET_brcm2708
327 define KernelPackage/spi-bcm2835/description
328 This package contains the Broadcom 2835 SPI master controller driver
331 $(eval $(call KernelPackage,spi-bcm2835))
333 define KernelPackage/spi-bcm2835-aux
335 TITLE:=BCM2835 Aux SPI controller driver
338 CONFIG_SPI_BCM2835AUX \
340 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835aux.ko
341 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835aux)
342 DEPENDS:=@TARGET_brcm2708
345 define KernelPackage/spi-bcm2835-aux/description
346 This package contains the Broadcom 2835 Aux SPI master controller driver
349 $(eval $(call KernelPackage,spi-bcm2835-aux))
352 define KernelPackage/hwmon-bcm2835
353 TITLE:=BCM2835 HWMON driver
354 KCONFIG:=CONFIG_SENSORS_BCM2835
355 FILES:=$(LINUX_DIR)/drivers/hwmon/bcm2835-hwmon.ko
356 AUTOLOAD:=$(call AutoLoad,60,bcm2835-hwmon)
357 $(call AddDepends/hwmon,@TARGET_brcm2708)
360 define KernelPackage/hwmon-bcm2835/description
361 Kernel module for BCM2835 thermal monitor chip
364 $(eval $(call KernelPackage,hwmon-bcm2835))
367 I2C_BCM2708_MODULES:=\
368 CONFIG_I2C_BCM2708:drivers/i2c/busses/i2c-bcm2708
370 define KernelPackage/i2c-bcm2708
371 $(call i2c_defaults,$(I2C_BCM2708_MODULES),59)
372 TITLE:=Broadcom BCM2708 I2C master controller driver
374 CONFIG_I2C_BCM2708_BAUDRATE=100000
375 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
378 define KernelPackage/i2c-bcm2708/description
379 This package contains the Broadcom 2708 I2C master controller driver
382 $(eval $(call KernelPackage,i2c-bcm2708))
384 I2C_BCM2835_MODULES:=\
385 CONFIG_I2C_BCM2835:drivers/i2c/busses/i2c-bcm2835
387 define KernelPackage/i2c-bcm2835
388 $(call i2c_defaults,$(I2C_BCM2835_MODULES),59)
389 TITLE:=Broadcom BCM2835 I2C master controller driver
390 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
393 define KernelPackage/i2c-bcm2835/description
394 This package contains the Broadcom 2835 I2C master controller driver
397 $(eval $(call KernelPackage,i2c-bcm2835))
400 define KernelPackage/video-bcm2835
401 TITLE:=Broadcom BCM2835 camera interface driver
403 CONFIG_VIDEO_BCM2835=y \
404 CONFIG_VIDEO_BCM2835_MMAL
405 FILES:= $(LINUX_DIR)/drivers/media/platform/bcm2835/bcm2835-v4l2.ko
406 AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
407 $(call AddDepends/video,@TARGET_brcm2708 +kmod-video-videobuf2)
410 define KernelPackage/video-bcm2835/description
411 This is a V4L2 driver for the Broadcom 2835 MMAL camera host interface
414 $(eval $(call KernelPackage,video-bcm2835))