a49ba6da6a817584257d9a859839ea3c60334b9c
[oweals/openwrt.git] / package / kernel / linux / modules / sound.mk
1 #
2 # Copyright (C) 2006-2013 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 SOUND_MENU:=Sound Support
9
10 # allow targets to override the soundcore stuff
11 SOUNDCORE_LOAD ?= \
12         soundcore \
13         snd \
14         snd-hwdep \
15         snd-seq-device \
16         snd-rawmidi \
17         snd-timer \
18         snd-pcm \
19         snd-mixer-oss \
20         snd-pcm-oss \
21         snd-compress
22
23 SOUNDCORE_FILES ?= \
24         $(LINUX_DIR)/sound/soundcore.ko \
25         $(LINUX_DIR)/sound/core/snd.ko \
26         $(LINUX_DIR)/sound/core/snd-hwdep.ko \
27         $(LINUX_DIR)/sound/core/snd-seq-device.ko \
28         $(LINUX_DIR)/sound/core/snd-rawmidi.ko \
29         $(LINUX_DIR)/sound/core/snd-timer.ko \
30         $(LINUX_DIR)/sound/core/snd-pcm.ko \
31         $(LINUX_DIR)/sound/core/oss/snd-mixer-oss.ko \
32         $(LINUX_DIR)/sound/core/oss/snd-pcm-oss.ko \
33         $(LINUX_DIR)/sound/core/snd-compress.ko
34
35 SOUNDCORE_LOAD += \
36         $(if $(CONFIG_SND_DMAENGINE_PCM),snd-pcm-dmaengine)
37
38 SOUNDCORE_FILES += \
39         $(if $(CONFIG_SND_DMAENGINE_PCM),$(LINUX_DIR)/sound/core/snd-pcm-dmaengine.ko)
40
41 define KernelPackage/sound-core
42   SUBMENU:=$(SOUND_MENU)
43   TITLE:=Sound support
44   DEPENDS:=@AUDIO_SUPPORT +kmod-input-core
45   KCONFIG:= \
46         CONFIG_SOUND \
47         CONFIG_SND \
48         CONFIG_SND_HWDEP \
49         CONFIG_SND_RAWMIDI \
50         CONFIG_SND_TIMER \
51         CONFIG_SND_PCM \
52         CONFIG_SND_PCM_TIMER=y \
53         CONFIG_SND_SEQUENCER \
54         CONFIG_SND_VIRMIDI \
55         CONFIG_SND_SEQ_DUMMY \
56         CONFIG_SND_SEQUENCER_OSS=y \
57         CONFIG_HOSTAUDIO \
58         CONFIG_SND_PCM_OSS \
59         CONFIG_SND_MIXER_OSS \
60         CONFIG_SOUND_OSS_CORE_PRECLAIM=y \
61         CONFIG_SND_COMPRESS_OFFLOAD
62   FILES:=$(SOUNDCORE_FILES)
63   AUTOLOAD:=$(call AutoLoad,30,$(SOUNDCORE_LOAD))
64 endef
65
66 define KernelPackage/sound-core/uml
67   FILES:= \
68         $(LINUX_DIR)/sound/soundcore.ko \
69         $(LINUX_DIR)/arch/um/drivers/hostaudio.ko
70   AUTOLOAD+=$(call AutoLoad,30,soundcore hostaudio)
71 endef
72
73 define KernelPackage/sound-core/description
74  Kernel modules for sound support
75 endef
76
77 $(eval $(call KernelPackage,sound-core))
78
79
80 define AddDepends/sound
81   SUBMENU:=$(SOUND_MENU)
82   DEPENDS+=kmod-sound-core $(1) @!TARGET_uml
83 endef
84
85
86 define KernelPackage/ac97
87   TITLE:=ac97 controller
88   KCONFIG:=CONFIG_SND_AC97_CODEC
89   FILES:= \
90         $(LINUX_DIR)/sound/ac97_bus.ko \
91         $(LINUX_DIR)/sound/pci/ac97/snd-ac97-codec.ko
92   AUTOLOAD:=$(call AutoLoad,35,ac97_bus snd-ac97-codec)
93   $(call AddDepends/sound)
94 endef
95
96 define KernelPackage/ac97/description
97  The ac97 controller
98 endef
99
100 $(eval $(call KernelPackage,ac97))
101
102
103 define KernelPackage/sound-mpu401
104   TITLE:=MPU-401 uart driver
105   KCONFIG:=CONFIG_SND_MPU401_UART
106   FILES:= \
107         $(LINUX_DIR)/sound/drivers/mpu401/snd-mpu401-uart.ko
108   AUTOLOAD:=$(call AutoLoad,35,snd-mpu401-uart)
109   $(call AddDepends/sound)
110 endef
111
112 define KernelPackage/sound-mpu401/description
113  support for MIDI ports compatible with the Roland MPU-401
114  interface in UART mode.
115 endef
116
117 $(eval $(call KernelPackage,sound-mpu401))
118
119
120 define KernelPackage/sound-seq
121   TITLE:=Sequencer support
122   FILES:= \
123         $(LINUX_DIR)/sound/core/seq/snd-seq.ko \
124         $(LINUX_DIR)/sound/core/seq/snd-seq-midi-event.ko \
125         $(LINUX_DIR)/sound/core/seq/snd-seq-midi.ko
126   AUTOLOAD:=$(call AutoLoad,35,snd-seq snd-seq-midi-event snd-seq-midi)
127   $(call AddDepends/sound)
128 endef
129
130 define KernelPackage/sound-seq/description
131  Kernel modules for sequencer support
132 endef
133
134 $(eval $(call KernelPackage,sound-seq))
135
136
137 define KernelPackage/sound-ens1371
138   TITLE:=(Creative) Ensoniq AudioPCI 1371
139   KCONFIG:=CONFIG_SND_ENS1371
140   DEPENDS:=@PCI_SUPPORT +kmod-ac97
141   FILES:=$(LINUX_DIR)/sound/pci/snd-ens1371.ko
142   AUTOLOAD:=$(call AutoLoad,36,snd-ens1371)
143   $(call AddDepends/sound)
144 endef
145
146 define KernelPackage/sound-ens1371/description
147  support for (Creative) Ensoniq AudioPCI 1371 chips
148 endef
149
150 $(eval $(call KernelPackage,sound-ens1371))
151
152
153 define KernelPackage/sound-i8x0
154   TITLE:=Intel/SiS/nVidia/AMD/ALi AC97 Controller
155   DEPENDS:=+kmod-ac97
156   KCONFIG:=CONFIG_SND_INTEL8X0
157   FILES:=$(LINUX_DIR)/sound/pci/snd-intel8x0.ko
158   AUTOLOAD:=$(call AutoLoad,36,snd-intel8x0)
159   $(call AddDepends/sound)
160 endef
161
162 define KernelPackage/sound-i8x0/description
163  support for the integrated AC97 sound device on motherboards
164  with Intel/SiS/nVidia/AMD chipsets, or ALi chipsets using
165  the M5455 Audio Controller.
166 endef
167
168 $(eval $(call KernelPackage,sound-i8x0))
169
170
171 define KernelPackage/sound-via82xx
172   TITLE:=VIA 82xx AC97 Controller
173   DEPENDS:=+kmod-ac97 +kmod-sound-mpu401
174   KCONFIG:=CONFIG_SND_VIA82XX
175   FILES:=$(LINUX_DIR)/sound/pci/snd-via82xx.ko
176   AUTOLOAD:=$(call AutoLoad,36,snd-via82xx)
177   $(call AddDepends/sound)
178 endef
179
180 define KernelPackage/sound-via82xx/description
181  support for the integrated AC97 sound device on motherboards
182  with VIA chipsets.
183 endef
184
185 $(eval $(call KernelPackage,sound-via82xx))
186
187
188 define KernelPackage/sound-soc-core
189   TITLE:=SoC sound support
190   DEPENDS:=+kmod-regmap-core +kmod-ac97
191   KCONFIG:= \
192         CONFIG_SND_SOC \
193         CONFIG_SND_SOC_ADI=n \
194         CONFIG_SND_SOC_DMAENGINE_PCM=y \
195         CONFIG_SND_SOC_ALL_CODECS=n
196   FILES:=$(LINUX_DIR)/sound/soc/snd-soc-core.ko
197   AUTOLOAD:=$(call AutoLoad,55, snd-soc-core)
198   $(call AddDepends/sound)
199 endef
200
201 $(eval $(call KernelPackage,sound-soc-core))
202
203
204 define KernelPackage/sound-soc-ac97
205   TITLE:=AC97 Codec support
206   KCONFIG:=CONFIG_SND_SOC_AC97_CODEC
207   FILES:=$(LINUX_DIR)/sound/soc/codecs/snd-soc-ac97.ko
208   AUTOLOAD:=$(call AutoLoad,57,snd-soc-ac97)
209   DEPENDS:=+kmod-ac97 +kmod-sound-soc-core
210   $(call AddDepends/sound)
211 endef
212
213 $(eval $(call KernelPackage,sound-soc-ac97))
214
215
216 define KernelPackage/sound-soc-imx
217   TITLE:=IMX SoC support
218   KCONFIG:=\
219         CONFIG_SND_IMX_SOC \
220         CONFIG_SND_SOC_IMX_AUDMUX \
221         CONFIG_SND_SOC_FSL_SSI \
222         CONFIG_SND_SOC_IMX_PCM_DMA
223   FILES:= \
224         $(LINUX_DIR)/sound/soc/fsl/snd-soc-imx-audmux.ko \
225         $(LINUX_DIR)/sound/soc/fsl/snd-soc-fsl-ssi.ko \
226         $(LINUX_DIR)/sound/soc/fsl/imx-pcm-dma.ko
227   AUTOLOAD:=$(call AutoLoad,56,snd-soc-imx-audmux snd-soc-fsl-ssi snd-soc-imx-pcm)
228   DEPENDS:=@TARGET_imx6 +kmod-sound-soc-core
229   $(call AddDepends/sound)
230 endef
231
232 define KernelPackage/sound-soc-imx/description
233  Support for i.MX6 Platform sound (ssi/audmux/pcm)
234 endef
235
236 $(eval $(call KernelPackage,sound-soc-imx))
237
238
239 define KernelPackage/sound-soc-imx-sgtl5000
240   TITLE:=IMX SoC support for SGTL5000
241   KCONFIG:=CONFIG_SND_SOC_IMX_SGTL5000
242   FILES:=\
243         $(LINUX_DIR)/sound/soc/codecs/snd-soc-sgtl5000.ko \
244         $(LINUX_DIR)/sound/soc/fsl/snd-soc-imx-sgtl5000.ko
245   AUTOLOAD:=$(call AutoLoad,57,snd-soc-sgtl5000 snd-soc-imx-sgtl5000)
246   DEPENDS:=@TARGET_imx6 +kmod-sound-soc-imx
247   $(call AddDepends/sound)
248 endef
249
250 define KernelPackage/sound-soc-imx-sgtl5000/description
251  Support for i.MX6 Platform sound SGTL5000 codec
252 endef
253
254 $(eval $(call KernelPackage,sound-soc-imx-sgtl5000))
255
256
257 define KernelPackage/pcspkr
258   DEPENDS:=@TARGET_x86 +kmod-input-core
259   TITLE:=PC speaker support
260   KCONFIG:= \
261         CONFIG_SND_PCSP
262   FILES:= \
263         $(LINUX_DIR)/sound/drivers/pcsp/snd-pcsp.ko
264   AUTOLOAD:=$(call AutoLoad,50,snd-pcsp)
265   $(call AddDepends/sound)
266 endef
267
268 define KernelPackage/pcspkr/description
269  This enables sounds (tones) through the pc speaker
270 endef
271
272 $(eval $(call KernelPackage,pcspkr))
273
274 define KernelPackage/sound-dummy
275   $(call AddDepends/sound)
276   TITLE:=Null sound output driver (sink)
277   KCONFIG:= \
278         CONFIG_SND_DUMMY
279   FILES:= \
280         $(LINUX_DIR)/sound/drivers/snd-dummy.ko
281   AUTOLOAD:=$(call AutoLoad,32,snd-dummy)
282 endef
283
284 define KernelPackage/sound-dummy/description
285  Dummy sound device for Alsa when no hardware present
286 endef
287
288 $(eval $(call KernelPackage,sound-dummy))
289
290 define KernelPackage/sound-hda-core
291   SUBMENU:=$(SOUND_MENU)
292   TITLE:=HD Audio Sound Core Support
293   KCONFIG:= \
294         CONFIG_SND_HDA_CORE \
295         CONFIG_SND_HDA_HWDEP=y \
296         CONFIG_SND_HDA_RECONFIG=n \
297         CONFIG_SND_HDA_INPUT_BEEP=n \
298         CONFIG_SND_HDA_PATCH_LOADER=n \
299         CONFIG_SND_HDA_GENERIC
300   FILES:= \
301         $(LINUX_DIR)/sound/hda/snd-hda-core.ko \
302         $(LINUX_DIR)/sound/pci/hda/snd-hda-codec.ko \
303         $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-generic.ko
304   AUTOLOAD:=$(call AutoProbe,snd-hda-core snd-hda-codec snd-hda-codec-generic)
305   $(call AddDepends/sound,+kmod-regmap-core)
306 endef
307
308 define KernelPackage/sound-hda-core/description
309  Kernel modules for HD Audio sound support
310 endef
311
312 $(eval $(call KernelPackage,sound-hda-core))
313
314 define KernelPackage/sound-hda-codec-realtek
315   SUBMENU:=$(SOUND_MENU)
316   TITLE:= HD Audio Realtek Codec
317   KCONFIG:= \
318         CONFIG_SND_HDA_CODEC_REALTEK
319   FILES:= \
320         $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-realtek.ko
321   AUTOLOAD:=$(call AutoProbe,snd-hda-codec-realtek)
322   $(call AddDepends/sound,kmod-sound-hda-core)
323 endef
324
325 define KernelPackage/sound-hda-codec-realtek/description
326  Kernel modules for Intel HDA Realtek codec support
327 endef
328
329 $(eval $(call KernelPackage,sound-hda-codec-realtek))
330
331 define KernelPackage/sound-hda-codec-cmedia
332   SUBMENU:=$(SOUND_MENU)
333   TITLE:=HD Audio C-Media Codec
334   KCONFIG:= \
335         CONFIG_SND_HDA_CODEC_CMEDIA
336   FILES:= \
337         $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-cmedia.ko
338   AUTOLOAD:=$(call AutoProbe,snd-hda-codec-cmedia)
339   $(call AddDepends/sound,kmod-sound-hda-core)
340 endef
341
342 define KernelPackage/sound-hda-codec-cmedia/description
343  Kernel modules for HD Audio C-Media codec support
344 endef
345
346 $(eval $(call KernelPackage,sound-hda-codec-cmedia))
347
348 define KernelPackage/sound-hda-codec-analog
349   SUBMENU:=$(SOUND_MENU)
350   TITLE:=HD Audio Analog Devices Codec
351   KCONFIG:= \
352         CONFIG_SND_HDA_CODEC_ANALOG
353   FILES:= \
354         $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-analog.ko
355   AUTOLOAD:=$(call AutoProbe,snd-hda-codec-analog)
356   $(call AddDepends/sound,kmod-sound-hda-core)
357 endef
358
359 define KernelPackage/sound-hda-codec-analog/description
360  Kernel modules for HD Audio Analog Devices codec support
361 endef
362
363 $(eval $(call KernelPackage,sound-hda-codec-analog))
364
365 define KernelPackage/sound-hda-codec-idt
366   SUBMENU:=$(SOUND_MENU)
367   TITLE:=HD Audio Sigmatel IDT Codec
368   KCONFIG:= \
369         CONFIG_SND_HDA_CODEC_SIGMATEL
370   FILES:= \
371         $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-idt.ko
372   AUTOLOAD:=$(call AutoProbe,snd-hda-codec-idt)
373   $(call AddDepends/sound,kmod-sound-hda-core)
374 endef
375
376 define KernelPackage/sound-hda-codec-idt/description
377  Kernel modules for HD Audio Sigmatel IDT codec support
378 endef
379
380 $(eval $(call KernelPackage,sound-hda-codec-idt))
381
382 define KernelPackage/sound-hda-codec-si3054
383   SUBMENU:=$(SOUND_MENU)
384   TITLE:=HD Audio Silicon Labs 3054 Codec
385   KCONFIG:= \
386         CONFIG_SND_HDA_CODEC_SI3054
387   FILES:= \
388         $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-si3054.ko
389   AUTOLOAD:=$(call AutoProbe,snd-hda-codec-si3054)
390   $(call AddDepends/sound,kmod-sound-hda-core)
391 endef
392
393 define KernelPackage/sound-hda-codec-si3054/description
394  Kernel modules for HD Audio Silicon Labs 3054 codec support
395 endef
396
397 $(eval $(call KernelPackage,sound-hda-codec-si3054))
398
399 define KernelPackage/sound-hda-codec-cirrus
400   SUBMENU:=$(SOUND_MENU)
401   TITLE:=HD Audio Cirrus Logic Codec
402   KCONFIG:= \
403         CONFIG_SND_HDA_CODEC_CIRRUS
404   FILES:= \
405         $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-cirrus.ko
406   AUTOLOAD:=$(call AutoProbe,snd-hda-codec-cirrus)
407   $(call AddDepends/sound,kmod-sound-hda-core)
408 endef
409
410 define KernelPackage/sound-hda-codec-cirrus/description
411  Kernel modules for HD Audio Cirrus Logic codec support
412 endef
413
414 $(eval $(call KernelPackage,sound-hda-codec-cirrus))
415
416 define KernelPackage/sound-hda-codec-ca0110
417   SUBMENU:=$(SOUND_MENU)
418   TITLE:=HD Audio Creative CA0110 Codec
419   KCONFIG:= \
420         CONFIG_SND_HDA_CODEC_CA0110
421   FILES:= \
422         $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-ca0110.ko
423   AUTOLOAD:=$(call AutoProbe,snd-hda-codec-ca0110)
424   $(call AddDepends/sound,kmod-sound-hda-core)
425 endef
426
427 define KernelPackage/sound-hda-codec-ca0110/description
428  Kernel modules for HD Audio Creative CA0110 codec support
429 endef
430
431 $(eval $(call KernelPackage,sound-hda-codec-ca0110))
432
433 define KernelPackage/sound-hda-codec-ca0132
434   SUBMENU:=$(SOUND_MENU)
435   TITLE:=HD Audio Creative CA0132 Codec
436   KCONFIG:= \
437         CONFIG_SND_HDA_CODEC_CA0132 \
438         CONFIG_SND_HDA_CODEC_CA0132_DSP=n
439   FILES:= \
440         $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-ca0132.ko
441   AUTOLOAD:=$(call AutoProbe,snd-hda-codec-ca0132)
442   $(call AddDepends/sound,kmod-sound-hda-core)
443 endef
444
445 define KernelPackage/sound-hda-codec-ca0132/description
446  Kernel modules for HD Audio Creative CA0132 codec support
447 endef
448
449 $(eval $(call KernelPackage,sound-hda-codec-ca0132))
450
451 define KernelPackage/sound-hda-codec-conexant
452   SUBMENU:=$(SOUND_MENU)
453   TITLE:=HD Audio Conexant Codec
454   KCONFIG:= \
455         CONFIG_SND_HDA_CODEC_CONEXANT
456   FILES:= \
457         $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-conexant.ko
458   AUTOLOAD:=$(call AutoProbe,snd-hda-codec-conexant)
459   $(call AddDepends/sound,kmod-sound-hda-core)
460 endef
461
462 define KernelPackage/sound-hda-codec-conexant/description
463  Kernel modules for HD Audio Conexant codec support
464 endef
465
466 $(eval $(call KernelPackage,sound-hda-codec-conexant))
467
468 define KernelPackage/sound-hda-codec-via
469   SUBMENU:=$(SOUND_MENU)
470   TITLE:=HD Audio Via Codec
471   KCONFIG:= \
472         CONFIG_SND_HDA_CODEC_VIA
473   FILES:= \
474         $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-via.ko
475   AUTOLOAD:=$(call AutoProbe,snd-hda-codec-via)
476   $(call AddDepends/sound,kmod-sound-hda-core)
477 endef
478
479 define KernelPackage/sound-hda-codec-via/description
480  Kernel modules for HD Audio VIA codec support
481 endef
482
483 $(eval $(call KernelPackage,sound-hda-codec-via))
484
485 define KernelPackage/sound-hda-codec-hdmi
486   SUBMENU:=$(SOUND_MENU)
487   TITLE:=HD Audio HDMI/DisplayPort Codec
488   KCONFIG:= \
489         CONFIG_SND_HDA_CODEC_HDMI
490   FILES:= \
491         $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-hdmi.ko
492   AUTOLOAD:=$(call AutoProbe,snd-hda-codec-hdmi)
493   $(call AddDepends/sound,kmod-sound-hda-core)
494 endef
495
496 define KernelPackage/sound-hda-codec-hdmi/description
497  Kernel modules for HD Audio HDMI codec support
498 endef
499
500 $(eval $(call KernelPackage,sound-hda-codec-hdmi))
501
502 define KernelPackage/sound-hda-intel
503   SUBMENU:=$(SOUND_MENU)
504   TITLE:=HD Audio Intel Driver
505   KCONFIG:= \
506         CONFIG_SOUND_PCI \
507         CONFIG_SND_HDA_INTEL
508   FILES:= \
509         $(LINUX_DIR)/sound/pci/hda/snd-hda-intel.ko
510   AUTOLOAD:=$(call AutoProbe,snd-hda-intel)
511   $(call AddDepends/sound,kmod-sound-hda-core)
512 endef
513
514 define KernelPackage/sound-hda-intel/description
515  Kernel modules for HD Audio Intel driver support
516 endef
517
518 $(eval $(call KernelPackage,sound-hda-intel))