ASoC: fsi-codec: Add FSI - HDMI support
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 31 Aug 2010 05:46:53 +0000 (14:46 +0900)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 1 Sep 2010 10:18:09 +0000 (11:18 +0100)
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/sh/Kconfig
sound/soc/sh/Makefile
sound/soc/sh/fsi-hdmi.c [new file with mode: 0644]

index 52d7e8ed9c1faa1e9e38015dfe0c04cb5a9a5fbf..6b224d21e51bb1ab3b657b500044ea5b0488d80f 100644 (file)
@@ -62,6 +62,13 @@ config SND_FSI_DA7210
          This option enables generic sound support for the
          FSI - DA7210 unit
 
+config SND_FSI_HDMI
+       bool "FSI-HDMI sound support"
+       depends on SND_SOC_SH4_FSI && FB_SH_MOBILE_HDMI
+       help
+         This option enables generic sound support for the
+         FSI - HDMI unit
+
 config SND_SIU_MIGOR
        tristate "SIU sound support on Migo-R"
        depends on SH_MIGOR
index 8a5a19293bda17b7d0ef11fc2a80f385aa23f273..94476d4c0fd58f01b9ae46691f9b6621b66cac95 100644 (file)
@@ -16,9 +16,11 @@ obj-$(CONFIG_SND_SOC_SH4_SIU)        += snd-soc-siu.o
 snd-soc-sh7760-ac97-objs       := sh7760-ac97.o
 snd-soc-fsi-ak4642-objs                := fsi-ak4642.o
 snd-soc-fsi-da7210-objs                := fsi-da7210.o
+snd-soc-fsi-hdmi-objs          := fsi-hdmi.o
 snd-soc-migor-objs             := migor.o
 
 obj-$(CONFIG_SND_SH7760_AC97)  += snd-soc-sh7760-ac97.o
 obj-$(CONFIG_SND_FSI_AK4642)   += snd-soc-fsi-ak4642.o
 obj-$(CONFIG_SND_FSI_DA7210)   += snd-soc-fsi-da7210.o
+obj-$(CONFIG_SND_FSI_HDMI)     += snd-soc-fsi-hdmi.o
 obj-$(CONFIG_SND_SIU_MIGOR)    += snd-soc-migor.o
diff --git a/sound/soc/sh/fsi-hdmi.c b/sound/soc/sh/fsi-hdmi.c
new file mode 100644 (file)
index 0000000..950e3e0
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * FSI - HDMI sound support
+ *
+ * Copyright (C) 2010 Renesas Solutions Corp.
+ * Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ */
+
+#include <linux/platform_device.h>
+#include <sound/sh_fsi.h>
+#include <video/sh_mobile_hdmi.h>
+
+static struct snd_soc_dai_link fsi_dai_link = {
+       .name           = "HDMI",
+       .stream_name    = "HDMI",
+       .cpu_dai_name   = "fsib-dai", /* fsi B */
+       .codec_dai_name = "sh_mobile_hdmi-hifi",
+       .platform_name  = "sh_fsi2",
+       .codec_name     = "sh-mobile-hdmi",
+};
+
+static struct snd_soc_card fsi_soc_card  = {
+       .name           = "FSI",
+       .dai_link       = &fsi_dai_link,
+       .num_links      = 1,
+};
+
+static struct platform_device *fsi_snd_device;
+
+static int __init fsi_hdmi_init(void)
+{
+       int ret = -ENOMEM;
+
+       fsi_snd_device = platform_device_alloc("soc-audio", FSI_PORT_B);
+       if (!fsi_snd_device)
+               goto out;
+
+       platform_set_drvdata(fsi_snd_device, &fsi_soc_card);
+       ret = platform_device_add(fsi_snd_device);
+
+       if (ret)
+               platform_device_put(fsi_snd_device);
+
+out:
+       return ret;
+}
+
+static void __exit fsi_hdmi_exit(void)
+{
+       platform_device_unregister(fsi_snd_device);
+}
+
+module_init(fsi_hdmi_init);
+module_exit(fsi_hdmi_exit);
+
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("Generic SH4 FSI-HDMI sound card");
+MODULE_AUTHOR("Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>");