diff options
author | Manuel Lauss <manuel.lauss@googlemail.com> | 2011-11-10 07:03:26 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2011-12-07 17:02:06 -0500 |
commit | 64cd04d0cffa3b3af0e81aa3112b71f135739e1a (patch) | |
tree | 7c66ce3a94ae3cc638a88fd2e55a86bcaf760880 /sound/soc | |
parent | 809f36c6f4a0568178c909ff1096ca83eae33f7d (diff) |
MIPS: Alchemy: Basic support for the DB1300 board.
Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/2867/
Patchwork: https://patchwork.linux-mips.org/patch/2919/
Patchwork: https://patchwork.linux-mips.org/patch/2928/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/au1x/Kconfig | 8 | ||||
-rw-r--r-- | sound/soc/au1x/db1200.c | 43 |
2 files changed, 46 insertions, 5 deletions
diff --git a/sound/soc/au1x/Kconfig b/sound/soc/au1x/Kconfig index 93323cc0452a..78b664921cb3 100644 --- a/sound/soc/au1x/Kconfig +++ b/sound/soc/au1x/Kconfig | |||
@@ -51,12 +51,14 @@ config SND_SOC_DB1000 | |||
51 | of boards (DB1000/DB1500/DB1100). | 51 | of boards (DB1000/DB1500/DB1100). |
52 | 52 | ||
53 | config SND_SOC_DB1200 | 53 | config SND_SOC_DB1200 |
54 | tristate "DB1200 AC97+I2S audio support" | 54 | tristate "DB1200/DB1300 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 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 289312c14b99..ca2335afe6b6 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 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,12 @@ 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, | ||
31 | }, | 37 | }, |
32 | {}, | 38 | {}, |
33 | }; | 39 | }; |
@@ -49,6 +55,21 @@ static struct snd_soc_card db1200_ac97_machine = { | |||
49 | .num_links = 1, | 55 | .num_links = 1, |
50 | }; | 56 | }; |
51 | 57 | ||
58 | static struct snd_soc_dai_link db1300_ac97_dai = { | ||
59 | .name = "AC97", | ||
60 | .stream_name = "AC97 HiFi", | ||
61 | .codec_dai_name = "wm9712-hifi", | ||
62 | .cpu_dai_name = "au1xpsc_ac97.1", | ||
63 | .platform_name = "au1xpsc-pcm.1", | ||
64 | .codec_name = "wm9712-codec.1", | ||
65 | }; | ||
66 | |||
67 | static struct snd_soc_card db1300_ac97_machine = { | ||
68 | .name = "DB1300_AC97", | ||
69 | .dai_link = &db1300_ac97_dai, | ||
70 | .num_links = 1, | ||
71 | }; | ||
72 | |||
52 | /*------------------------- I2S PART ---------------------------*/ | 73 | /*------------------------- I2S PART ---------------------------*/ |
53 | 74 | ||
54 | static int db1200_i2s_startup(struct snd_pcm_substream *substream) | 75 | static int db1200_i2s_startup(struct snd_pcm_substream *substream) |
@@ -98,11 +119,29 @@ static struct snd_soc_card db1200_i2s_machine = { | |||
98 | .num_links = 1, | 119 | .num_links = 1, |
99 | }; | 120 | }; |
100 | 121 | ||
122 | static struct snd_soc_dai_link db1300_i2s_dai = { | ||
123 | .name = "WM8731", | ||
124 | .stream_name = "WM8731 PCM", | ||
125 | .codec_dai_name = "wm8731-hifi", | ||
126 | .cpu_dai_name = "au1xpsc_i2s.2", | ||
127 | .platform_name = "au1xpsc-pcm.2", | ||
128 | .codec_name = "wm8731.0-001b", | ||
129 | .ops = &db1200_i2s_wm8731_ops, | ||
130 | }; | ||
131 | |||
132 | static struct snd_soc_card db1300_i2s_machine = { | ||
133 | .name = "DB1300_I2S", | ||
134 | .dai_link = &db1300_i2s_dai, | ||
135 | .num_links = 1, | ||
136 | }; | ||
137 | |||
101 | /*------------------------- COMMON PART ---------------------------*/ | 138 | /*------------------------- COMMON PART ---------------------------*/ |
102 | 139 | ||
103 | static struct snd_soc_card *db1200_cards[] __devinitdata = { | 140 | static struct snd_soc_card *db1200_cards[] __devinitdata = { |
104 | &db1200_ac97_machine, | 141 | &db1200_ac97_machine, |
105 | &db1200_i2s_machine, | 142 | &db1200_i2s_machine, |
143 | &db1300_ac97_machine, | ||
144 | &db1300_i2s_machine, | ||
106 | }; | 145 | }; |
107 | 146 | ||
108 | static int __devinit db1200_audio_probe(struct platform_device *pdev) | 147 | static int __devinit db1200_audio_probe(struct platform_device *pdev) |
@@ -147,5 +186,5 @@ module_init(db1200_audio_load); | |||
147 | module_exit(db1200_audio_unload); | 186 | module_exit(db1200_audio_unload); |
148 | 187 | ||
149 | MODULE_LICENSE("GPL"); | 188 | MODULE_LICENSE("GPL"); |
150 | MODULE_DESCRIPTION("DB1200 ASoC audio support"); | 189 | MODULE_DESCRIPTION("DB1200/DB1300 ASoC audio support"); |
151 | MODULE_AUTHOR("Manuel Lauss"); | 190 | MODULE_AUTHOR("Manuel Lauss"); |