Commit | Line | Data |
---|---|---|
09c434b8 | 1 | // SPDX-License-Identifier: GPL-2.0-only |
b2ce305d ML |
2 | /* |
3 | * DB1000/DB1500/DB1100 ASoC audio fabric support code. | |
4 | * | |
5 | * (c) 2011 Manuel Lauss <manuel.lauss@googlemail.com> | |
6 | * | |
7 | */ | |
8 | ||
9 | #include <linux/module.h> | |
10 | #include <linux/moduleparam.h> | |
11 | #include <linux/timer.h> | |
12 | #include <linux/interrupt.h> | |
13 | #include <linux/platform_device.h> | |
14 | #include <sound/core.h> | |
15 | #include <sound/pcm.h> | |
16 | #include <sound/soc.h> | |
17 | #include <asm/mach-au1x00/au1000.h> | |
18 | #include <asm/mach-db1x00/bcsr.h> | |
19 | ||
20 | #include "psc.h" | |
21 | ||
22 | static struct snd_soc_dai_link db1000_ac97_dai = { | |
23 | .name = "AC97", | |
24 | .stream_name = "AC97 HiFi", | |
25 | .codec_dai_name = "ac97-hifi", | |
26 | .cpu_dai_name = "alchemy-ac97c", | |
27 | .platform_name = "alchemy-pcm-dma.0", | |
28 | .codec_name = "ac97-codec", | |
29 | }; | |
30 | ||
31 | static struct snd_soc_card db1000_ac97 = { | |
32 | .name = "DB1000_AC97", | |
662d4e5c | 33 | .owner = THIS_MODULE, |
b2ce305d ML |
34 | .dai_link = &db1000_ac97_dai, |
35 | .num_links = 1, | |
36 | }; | |
37 | ||
5c658be0 | 38 | static int db1000_audio_probe(struct platform_device *pdev) |
b2ce305d ML |
39 | { |
40 | struct snd_soc_card *card = &db1000_ac97; | |
41 | card->dev = &pdev->dev; | |
2342cafe | 42 | return devm_snd_soc_register_card(&pdev->dev, card); |
b2ce305d ML |
43 | } |
44 | ||
45 | static struct platform_driver db1000_audio_driver = { | |
46 | .driver = { | |
47 | .name = "db1000-audio", | |
b2ce305d ML |
48 | .pm = &snd_soc_pm_ops, |
49 | }, | |
50 | .probe = db1000_audio_probe, | |
b2ce305d ML |
51 | }; |
52 | ||
8a124f9c | 53 | module_platform_driver(db1000_audio_driver); |
b2ce305d ML |
54 | |
55 | MODULE_LICENSE("GPL"); | |
56 | MODULE_DESCRIPTION("DB1000/DB1500/DB1100 ASoC audio"); | |
57 | MODULE_AUTHOR("Manuel Lauss"); |