]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - sound/soc/au1x/db1200.c
MIPS: Alchemy: Basic support for the DB1300 board.
[mirror_ubuntu-jammy-kernel.git] / sound / soc / au1x / db1200.c
index 289312c14b99bf62d13355e7ae5e585bf297991f..ca2335afe6b6c1afdadf1b9ac766d75a1494bf27 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * DB1200 ASoC audio fabric support code.
+ * DB1200/DB1300 ASoC audio fabric support code.
  *
  * (c) 2008-2011 Manuel Lauss <manuel.lauss@googlemail.com>
  *
@@ -28,6 +28,12 @@ static struct platform_device_id db1200_pids[] = {
        }, {
                .name           = "db1200-i2s",
                .driver_data    = 1,
+       }, {
+               .name           = "db1300-ac97",
+               .driver_data    = 2,
+       }, {
+               .name           = "db1300-i2s",
+               .driver_data    = 3,
        },
        {},
 };
@@ -49,6 +55,21 @@ static struct snd_soc_card db1200_ac97_machine = {
        .num_links      = 1,
 };
 
+static struct snd_soc_dai_link db1300_ac97_dai = {
+       .name           = "AC97",
+       .stream_name    = "AC97 HiFi",
+       .codec_dai_name = "wm9712-hifi",
+       .cpu_dai_name   = "au1xpsc_ac97.1",
+       .platform_name  = "au1xpsc-pcm.1",
+       .codec_name     = "wm9712-codec.1",
+};
+
+static struct snd_soc_card db1300_ac97_machine = {
+       .name           = "DB1300_AC97",
+       .dai_link       = &db1300_ac97_dai,
+       .num_links      = 1,
+};
+
 /*-------------------------  I2S PART  ---------------------------*/
 
 static int db1200_i2s_startup(struct snd_pcm_substream *substream)
@@ -98,11 +119,29 @@ static struct snd_soc_card db1200_i2s_machine = {
        .num_links      = 1,
 };
 
+static struct snd_soc_dai_link db1300_i2s_dai = {
+       .name           = "WM8731",
+       .stream_name    = "WM8731 PCM",
+       .codec_dai_name = "wm8731-hifi",
+       .cpu_dai_name   = "au1xpsc_i2s.2",
+       .platform_name  = "au1xpsc-pcm.2",
+       .codec_name     = "wm8731.0-001b",
+       .ops            = &db1200_i2s_wm8731_ops,
+};
+
+static struct snd_soc_card db1300_i2s_machine = {
+       .name           = "DB1300_I2S",
+       .dai_link       = &db1300_i2s_dai,
+       .num_links      = 1,
+};
+
 /*-------------------------  COMMON PART  ---------------------------*/
 
 static struct snd_soc_card *db1200_cards[] __devinitdata = {
        &db1200_ac97_machine,
        &db1200_i2s_machine,
+       &db1300_ac97_machine,
+       &db1300_i2s_machine,
 };
 
 static int __devinit db1200_audio_probe(struct platform_device *pdev)
@@ -147,5 +186,5 @@ module_init(db1200_audio_load);
 module_exit(db1200_audio_unload);
 
 MODULE_LICENSE("GPL");
-MODULE_DESCRIPTION("DB1200 ASoC audio support");
+MODULE_DESCRIPTION("DB1200/DB1300 ASoC audio support");
 MODULE_AUTHOR("Manuel Lauss");