2 # Copyright (C) 2012 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-bcm2708-i2s
29 TITLE
:=SoC Audio support for the Broadcom
2708 I2S module
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
37 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-bcm2708-i2s.ko
38 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-bcm2708-i2s
)
39 DEPENDS
:=@TARGET_brcm2708
+kmod-regmap
+kmod-sound-soc-core
40 $(call AddDepends
/sound
)
43 define KernelPackage
/sound-soc-bcm2708-i2s
/description
44 This package contains support for codecs attached to the Broadcom
2708 I2S interface
47 $(eval
$(call KernelPackage
,sound-soc-bcm2708-i2s
))
49 define KernelPackage
/sound-soc-hifiberry-dac
50 TITLE
:=Support for HifiBerry DAC
52 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC \
53 CONFIG_SND_SOC_PCM5102A
55 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-dac.ko \
56 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm5102a.ko
57 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm5102a snd-soc-hifiberry-dac
)
58 DEPENDS
:=kmod-sound-soc-bcm2708-i2s
+kmod-i2c-bcm2708
59 $(call AddDepends
/sound
)
62 define KernelPackage
/sound-soc-hifiberry-dac
/description
63 This package contains support for HifiBerry DAC
66 $(eval
$(call KernelPackage
,sound-soc-hifiberry-dac
))
68 define KernelPackage
/sound-soc-hifiberry-dacplus
69 TITLE
:=Support for HifiBerry DAC
+ / DAC
+ Pro
71 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS \
72 CONFIG_SND_SOC_PCM512x
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
:=kmod-sound-soc-bcm2708-i2s
+kmod-i2c-bcm2708
79 $(call AddDepends
/sound
)
82 define KernelPackage
/sound-soc-hifiberry-dacplus
/description
83 This package contains support for HifiBerry DAC
+ / DAC
+ Pro
86 $(eval
$(call KernelPackage
,sound-soc-hifiberry-dacplus
))
88 define KernelPackage
/sound-soc-hifiberry-digi
89 TITLE
:=Support for HifiBerry Digi
91 CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI \
94 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-digi.ko \
95 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8804.ko
96 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-wm8804 snd-soc-hifiberry-digi
)
97 DEPENDS
:=kmod-sound-soc-bcm2708-i2s
+kmod-i2c-bcm2708
98 $(call AddDepends
/sound
)
101 define KernelPackage
/sound-soc-hifiberry-digi
/description
102 This package contains support for HifiBerry Digi
105 $(eval
$(call KernelPackage
,sound-soc-hifiberry-digi
))
107 define KernelPackage
/sound-soc-hifiberry-amp
108 TITLE
:=Support for HifiBerry Amp
110 CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP \
111 CONFIG_SND_SOC_TAS5713
113 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-hifiberry-amp.ko \
114 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-tas5713.ko
115 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-tas5713 snd-soc-hifiberry-amp
)
116 DEPENDS
:=kmod-sound-soc-bcm2708-i2s
+kmod-i2c-bcm2708
117 $(call AddDepends
/sound
)
120 define KernelPackage
/sound-soc-hifiberry-amp
/description
121 This package contains support for HifiBerry Amp
124 $(eval
$(call KernelPackage
,sound-soc-hifiberry-amp
))
126 define KernelPackage
/sound-soc-rpi-dac
127 TITLE
:=Support for RPi-DAC
129 CONFIG_SND_BCM2708_SOC_RPI_DAC \
130 CONFIG_SND_SOC_PCM1794A
132 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-rpi-dac.ko \
133 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm1794a.ko
134 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm1794a snd-soc-rpi-dac
)
135 DEPENDS
:=kmod-sound-soc-bcm2708-i2s
+kmod-i2c-bcm2708
136 $(call AddDepends
/sound
)
139 define KernelPackage
/sound-soc-rpi-dac
/description
140 This package contains support for RPi-DAC
143 $(eval
$(call KernelPackage
,sound-soc-rpi-dac
))
145 define KernelPackage
/sound-soc-rpi-proto
146 TITLE
:=Support for RPi-PROTO
148 CONFIG_SND_BCM2708_SOC_RPI_PROTO \
149 CONFIG_SND_SOC_WM8731
151 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-rpi-proto.ko \
152 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-wm8731.ko
153 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-wm8731 snd-soc-rpi-proto
)
154 DEPENDS
:=kmod-sound-soc-bcm2708-i2s
+kmod-i2c-bcm2708
155 $(call AddDepends
/sound
)
158 define KernelPackage
/sound-soc-rpi-proto
/description
159 This package contains support for RPi-PROTO
162 $(eval
$(call KernelPackage
,sound-soc-rpi-proto
))
164 define KernelPackage
/sound-soc-iqaudio-dac
165 TITLE
:=Support for IQaudIO-DAC
167 CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC \
168 CONFIG_SND_SOC_PCM512x \
169 CONFIG_SND_SOC_PCM512x_I2C
171 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-iqaudio-dac.ko \
172 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x.ko \
173 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x-i2c.ko
174 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm512x snd-soc-pcm512x-i2c snd-soc-iqaudio-dac
)
175 DEPENDS
:=kmod-sound-soc-bcm2708-i2s
+kmod-i2c-bcm2708
176 $(call AddDepends
/sound
)
179 define KernelPackage
/sound-soc-iqaudio-dac
/description
180 This package contains support for IQaudIO-DAC
183 $(eval
$(call KernelPackage
,sound-soc-iqaudio-dac
))
185 define KernelPackage
/sound-soc-raspidac3
186 TITLE
:=Support for RaspiDAC Rev
.3x
188 CONFIG_SND_BCM2708_SOC_RASPIDAC3 \
189 CONFIG_SND_SOC_PCM512x \
190 CONFIG_SND_SOC_PCM512x_I2C \
191 CONFIG_SND_SOC_TPA6130A2
193 $(LINUX_DIR
)/sound
/soc
/bcm
/snd-soc-raspidac3.ko \
194 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x.ko \
195 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-pcm512x-i2c.ko \
196 $(LINUX_DIR
)/sound
/soc
/codecs
/snd-soc-tpa6130a2.ko
197 AUTOLOAD
:=$(call AutoLoad
,68,snd-soc-pcm512x snd-soc-pcm512x-i2c snd-soc-tpa6130a2 snd-soc-raspidac3
)
198 DEPENDS
:=kmod-sound-soc-bcm2708-i2s
+kmod-i2c-bcm2708
199 $(call AddDepends
/sound
)
202 define KernelPackage
/sound-soc-raspidac3
/description
203 This package contains support for RaspiDAC Rev
.3x
206 $(eval
$(call KernelPackage
,sound-soc-raspidac3
))
209 define KernelPackage
/random-bcm2708
210 SUBMENU
:=$(OTHER_MENU
)
211 TITLE
:=BCM2708 HW Random Number Generator
212 KCONFIG
:=CONFIG_HW_RANDOM_BCM2708
213 FILES
:=$(LINUX_DIR
)/drivers
/char
/hw_random
/bcm2708-rng.ko
214 AUTOLOAD
:=$(call AutoLoad
,11,bcm2708-rng
)
215 DEPENDS
:=@TARGET_brcm2708
+kmod-random-core
218 define KernelPackage
/random-bcm2708
/description
219 This package contains the Broadcom
2708 HW random number generator driver
222 $(eval
$(call KernelPackage
,random-bcm2708
))
224 define KernelPackage
/random-bcm2835
225 SUBMENU
:=$(OTHER_MENU
)
226 TITLE
:=BCM2835 HW Random Number Generator
227 KCONFIG
:=CONFIG_HW_RANDOM_BCM2835
228 FILES
:=$(LINUX_DIR
)/drivers
/char
/hw_random
/bcm2835-rng.ko
229 AUTOLOAD
:=$(call AutoLoad
,11,bcm2835-rng
)
230 DEPENDS
:=@TARGET_brcm2708
+kmod-random-core
233 define KernelPackage
/random-bcm2835
/description
234 This package contains the Broadcom
2835 HW random number generator driver
237 $(eval
$(call KernelPackage
,random-bcm2835
))
240 define KernelPackage
/smi-bcm2835
241 SUBMENU
:=$(OTHER_MENU
)
242 TITLE
:=BCM2835 SMI driver
243 KCONFIG
:=CONFIG_BCM2835_SMI
244 FILES
:=$(LINUX_DIR
)/drivers
/misc
/bcm2835_smi.ko
245 AUTOLOAD
:=$(call AutoLoad
,20,bcm2835_smi
)
246 DEPENDS
:=@TARGET_brcm2708
249 define KernelPackage
/smi-bcm2835
/description
250 This package contains the Character device driver for Broadcom Secondary
254 $(eval
$(call KernelPackage
,smi-bcm2835
))
256 define KernelPackage
/smi-bcm2835-dev
257 SUBMENU
:=$(OTHER_MENU
)
258 TITLE
:=BCM2835 SMI device driver
259 KCONFIG
:=CONFIG_BCM2835_SMI_DEV
260 FILES
:=$(LINUX_DIR
)/drivers
/char
/broadcom
/bcm2835_smi_dev.ko
261 AUTOLOAD
:=$(call AutoLoad
,21,bcm2835_smi_dev
)
262 DEPENDS
:=@TARGET_brcm2708
+kmod-smi-bcm2835
265 define KernelPackage
/smi-bcm2835-dev
/description
266 This driver provides a character device interface
(ioctl
+ read
/write
) to
267 Broadcom
's Secondary Memory interface. The low-level functionality is provided
268 by the SMI driver itself.
271 $(eval $(call KernelPackage,smi-bcm2835-dev))
274 define KernelPackage/spi-bcm2708
276 TITLE:=BCM2708 SPI controller driver
278 CONFIG_BCM2708_SPIDEV=n \
282 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2708.ko
283 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2708)
284 DEPENDS:=@TARGET_brcm2708
287 define KernelPackage/spi-bcm2708/description
288 This package contains the Broadcom 2708 SPI master controller driver
291 $(eval $(call KernelPackage,spi-bcm2708))
293 define KernelPackage/spi-bcm2835
295 TITLE:=BCM2835 SPI controller driver
297 CONFIG_BCM2708_SPIDEV=n \
301 FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835.ko
302 AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835)
303 DEPENDS:=@TARGET_brcm2708
306 define KernelPackage/spi-bcm2835/description
307 This package contains the Broadcom 2835 SPI master controller driver
310 $(eval $(call KernelPackage,spi-bcm2835))
313 define KernelPackage/hwmon-bcm2835
314 TITLE:=BCM2835 HWMON driver
315 KCONFIG:=CONFIG_SENSORS_BCM2835
316 FILES:=$(LINUX_DIR)/drivers/hwmon/bcm2835-hwmon.ko
317 AUTOLOAD:=$(call AutoLoad,60,bcm2835-hwmon)
318 $(call AddDepends/hwmon,@TARGET_brcm2708)
321 define KernelPackage/hwmon-bcm2835/description
322 Kernel module for BCM2835 thermal monitor chip
325 $(eval $(call KernelPackage,hwmon-bcm2835))
328 I2C_BCM2708_MODULES:=\
329 CONFIG_I2C_BCM2708:drivers/i2c/busses/i2c-bcm2708
331 define KernelPackage/i2c-bcm2708
332 $(call i2c_defaults,$(I2C_BCM2708_MODULES),59)
333 TITLE:=Broadcom BCM2708 I2C master controller driver
335 CONFIG_I2C_BCM2708_BAUDRATE=100000 \
336 CONFIG_MFD_RPISENSE_CORE=n
337 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
340 define KernelPackage/i2c-bcm2708/description
341 This package contains the Broadcom 2708 I2C master controller driver
344 $(eval $(call KernelPackage,i2c-bcm2708))
346 I2C_BCM2835_MODULES:=\
347 CONFIG_I2C_BCM2835:drivers/i2c/busses/i2c-bcm2835
349 define KernelPackage/i2c-bcm2835
350 $(call i2c_defaults,$(I2C_BCM2835_MODULES),59)
351 TITLE:=Broadcom BCM2835 I2C master controller driver
353 CONFIG_MFD_RPISENSE_CORE=n
354 DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
357 define KernelPackage/i2c-bcm2835/description
358 This package contains the Broadcom 2835 I2C master controller driver
361 $(eval $(call KernelPackage,i2c-bcm2835))
364 define KernelPackage/video-bcm2835
365 TITLE:=Broadcom BCM2835 camera interface driver
367 CONFIG_VIDEO_BCM2835=y \
368 CONFIG_VIDEO_BCM2835_MMAL
369 FILES:= $(LINUX_DIR)/drivers/media/platform/bcm2835/bcm2835-v4l2.ko
370 AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
371 $(call AddDepends/video,@TARGET_brcm2708 +kmod-video-videobuf2)
374 define KernelPackage/video-bcm2835/description
375 This is a V4L2 driver for the Broadcom 2835 MMAL camera host interface
378 $(eval $(call KernelPackage,video-bcm2835))