aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/au1x
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-01-14 16:05:21 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-14 16:05:21 -0500
commit4964e0664c80680fa6b28ef91381c076a5b25c2c (patch)
tree62099c5aaeee7274bcc66bcfba35d479affa97cf /sound/soc/au1x
parent0a80939b3e6af4b0dc93bf88ec02fd7e90a16f1b (diff)
parent7bf6612e8a9d6a0b3b82e8e2611942be1258b307 (diff)
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (119 commits) MIPS: Delete unused function add_temporary_entry. MIPS: Set default pci cache line size. MIPS: Flush huge TLB MIPS: Octeon: Remove SYS_SUPPORTS_HIGHMEM. MIPS: Octeon: Add support for OCTEON II PCIe MIPS: Octeon: Update PCI Latency timer and enable more error reporting. MIPS: Alchemy: Update cpu-feature-overrides MIPS: Alchemy: db1200: Improve PB1200 detection. MIPS: Alchemy: merge Au1000 and Au1300-style IRQ controller code. MIPS: Alchemy: chain IRQ controllers to MIPS IRQ controller MIPS: Alchemy: irq: register pm at irq init time MIPS: Alchemy: Touchscreen support on DB1100 MIPS: Alchemy: Hook up IrDA on DB1000/DB1100 net/irda: convert au1k_ir to platform driver. MIPS: Alchemy: remove unused board headers MTD: nand: make au1550nd.c a platform_driver MIPS: Netlogic: Mark Netlogic chips as SMT capable MIPS: Netlogic: Add support for XLP 3XX cores MIPS: Netlogic: Merge some of XLR/XLP wakup code MIPS: Netlogic: Add default XLP config. ... Fix up trivial conflicts in arch/mips/kernel/{perf_event_mipsxx.c, traps.c} and drivers/tty/serial/Makefile
Diffstat (limited to 'sound/soc/au1x')
-rw-r--r--sound/soc/au1x/Kconfig14
-rw-r--r--sound/soc/au1x/db1200.c73
2 files changed, 79 insertions, 8 deletions
diff --git a/sound/soc/au1x/Kconfig b/sound/soc/au1x/Kconfig
index e908a8123110..a56104040e83 100644
--- a/sound/soc/au1x/Kconfig
+++ b/sound/soc/au1x/Kconfig
@@ -1,13 +1,13 @@
1## 1##
2## Au1200/Au1550 PSC + DBDMA 2## Au1200/Au1550/Au1300 PSC + DBDMA
3## 3##
4config SND_SOC_AU1XPSC 4config SND_SOC_AU1XPSC
5 tristate "SoC Audio for Au1200/Au1250/Au1550" 5 tristate "SoC Audio for Au12xx/Au13xx/Au1550"
6 depends on MIPS_ALCHEMY 6 depends on MIPS_ALCHEMY
7 help 7 help
8 This option enables support for the Programmable Serial 8 This option enables support for the Programmable Serial
9 Controllers in AC97 and I2S mode, and the Descriptor-Based DMA 9 Controllers in AC97 and I2S mode, and the Descriptor-Based DMA
10 Controller (DBDMA) as found on the Au1200/Au1250/Au1550 SoC. 10 Controller (DBDMA) as found on the Au12xx/Au13xx/Au1550 SoC.
11 11
12config SND_SOC_AU1XPSC_I2S 12config SND_SOC_AU1XPSC_I2S
13 tristate 13 tristate
@@ -51,12 +51,14 @@ config SND_SOC_DB1000
51 of boards (DB1000/DB1500/DB1100). 51 of boards (DB1000/DB1500/DB1100).
52 52
53config SND_SOC_DB1200 53config SND_SOC_DB1200
54 tristate "DB1200 AC97+I2S audio support" 54 tristate "DB1200/DB1300/DB1550 Audio support"
55 depends on SND_SOC_AU1XPSC 55 depends on SND_SOC_AU1XPSC
56 select SND_SOC_AU1XPSC_AC97 56 select SND_SOC_AU1XPSC_AC97
57 select SND_SOC_AC97_CODEC 57 select SND_SOC_AC97_CODEC
58 select SND_SOC_WM9712
58 select SND_SOC_AU1XPSC_I2S 59 select SND_SOC_AU1XPSC_I2S
59 select SND_SOC_WM8731 60 select SND_SOC_WM8731
60 help 61 help
61 Select this option to enable audio (AC97 or I2S) on the 62 Select this option to enable audio (AC97 and I2S) on the
62 Alchemy/AMD/RMI DB1200 demoboard. 63 Alchemy/AMD/RMI/NetLogic Db1200, Db1550 and Db1300 evaluation boards.
64 If you need Db1300 touchscreen support, you definitely want to say Y.
diff --git a/sound/soc/au1x/db1200.c b/sound/soc/au1x/db1200.c
index 1c629393df78..30ea513d81d7 100644
--- a/sound/soc/au1x/db1200.c
+++ b/sound/soc/au1x/db1200.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * DB1200 ASoC audio fabric support code. 2 * DB1200/DB1300/DB1550 ASoC audio fabric support code.
3 * 3 *
4 * (c) 2008-2011 Manuel Lauss <manuel.lauss@googlemail.com> 4 * (c) 2008-2011 Manuel Lauss <manuel.lauss@googlemail.com>
5 * 5 *
@@ -28,6 +28,18 @@ static struct platform_device_id db1200_pids[] = {
28 }, { 28 }, {
29 .name = "db1200-i2s", 29 .name = "db1200-i2s",
30 .driver_data = 1, 30 .driver_data = 1,
31 }, {
32 .name = "db1300-ac97",
33 .driver_data = 2,
34 }, {
35 .name = "db1300-i2s",
36 .driver_data = 3,
37 }, {
38 .name = "db1550-ac97",
39 .driver_data = 4,
40 }, {
41 .name = "db1550-i2s",
42 .driver_data = 5,
31 }, 43 },
32 {}, 44 {},
33}; 45};
@@ -50,6 +62,27 @@ static struct snd_soc_card db1200_ac97_machine = {
50 .num_links = 1, 62 .num_links = 1,
51}; 63};
52 64
65static struct snd_soc_dai_link db1300_ac97_dai = {
66 .name = "AC97",
67 .stream_name = "AC97 HiFi",
68 .codec_dai_name = "wm9712-hifi",
69 .cpu_dai_name = "au1xpsc_ac97.1",
70 .platform_name = "au1xpsc-pcm.1",
71 .codec_name = "wm9712-codec.1",
72};
73
74static struct snd_soc_card db1300_ac97_machine = {
75 .name = "DB1300_AC97",
76 .dai_link = &db1300_ac97_dai,
77 .num_links = 1,
78};
79
80static struct snd_soc_card db1550_ac97_machine = {
81 .name = "DB1550_AC97",
82 .dai_link = &db1200_ac97_dai,
83 .num_links = 1,
84};
85
53/*------------------------- I2S PART ---------------------------*/ 86/*------------------------- I2S PART ---------------------------*/
54 87
55static int db1200_i2s_startup(struct snd_pcm_substream *substream) 88static int db1200_i2s_startup(struct snd_pcm_substream *substream)
@@ -100,11 +133,47 @@ static struct snd_soc_card db1200_i2s_machine = {
100 .num_links = 1, 133 .num_links = 1,
101}; 134};
102 135
136static struct snd_soc_dai_link db1300_i2s_dai = {
137 .name = "WM8731",
138 .stream_name = "WM8731 PCM",
139 .codec_dai_name = "wm8731-hifi",
140 .cpu_dai_name = "au1xpsc_i2s.2",
141 .platform_name = "au1xpsc-pcm.2",
142 .codec_name = "wm8731.0-001b",
143 .ops = &db1200_i2s_wm8731_ops,
144};
145
146static struct snd_soc_card db1300_i2s_machine = {
147 .name = "DB1300_I2S",
148 .dai_link = &db1300_i2s_dai,
149 .num_links = 1,
150};
151
152static struct snd_soc_dai_link db1550_i2s_dai = {
153 .name = "WM8731",
154 .stream_name = "WM8731 PCM",
155 .codec_dai_name = "wm8731-hifi",
156 .cpu_dai_name = "au1xpsc_i2s.3",
157 .platform_name = "au1xpsc-pcm.3",
158 .codec_name = "wm8731.0-001b",
159 .ops = &db1200_i2s_wm8731_ops,
160};
161
162static struct snd_soc_card db1550_i2s_machine = {
163 .name = "DB1550_I2S",
164 .dai_link = &db1550_i2s_dai,
165 .num_links = 1,
166};
167
103/*------------------------- COMMON PART ---------------------------*/ 168/*------------------------- COMMON PART ---------------------------*/
104 169
105static struct snd_soc_card *db1200_cards[] __devinitdata = { 170static struct snd_soc_card *db1200_cards[] __devinitdata = {
106 &db1200_ac97_machine, 171 &db1200_ac97_machine,
107 &db1200_i2s_machine, 172 &db1200_i2s_machine,
173 &db1300_ac97_machine,
174 &db1300_i2s_machine,
175 &db1550_ac97_machine,
176 &db1550_i2s_machine,
108}; 177};
109 178
110static int __devinit db1200_audio_probe(struct platform_device *pdev) 179static int __devinit db1200_audio_probe(struct platform_device *pdev)
@@ -138,5 +207,5 @@ static struct platform_driver db1200_audio_driver = {
138module_platform_driver(db1200_audio_driver); 207module_platform_driver(db1200_audio_driver);
139 208
140MODULE_LICENSE("GPL"); 209MODULE_LICENSE("GPL");
141MODULE_DESCRIPTION("DB1200 ASoC audio support"); 210MODULE_DESCRIPTION("DB1200/DB1300/DB1550 ASoC audio support");
142MODULE_AUTHOR("Manuel Lauss"); 211MODULE_AUTHOR("Manuel Lauss");