linux/sound/soc/codecs/omap-hdmi.c
<<
>>
Prefs
   1/*
   2 * ALSA SoC codec driver for HDMI audio on OMAP processors.
   3 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
   4 * Author: Ricardo Neri <ricardo.neri@ti.com>
   5 *
   6 * This program is free software; you can redistribute it and/or
   7 * modify it under the terms of the GNU General Public License
   8 * version 2 as published by the Free Software Foundation.
   9 *
  10 * This program is distributed in the hope that it will be useful, but
  11 * WITHOUT ANY WARRANTY; without even the implied warranty of
  12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13 * General Public License for more details.
  14 *
  15 * You should have received a copy of the GNU General Public License
  16 * along with this program; if not, write to the Free Software
  17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  18 * 02110-1301 USA
  19 *
  20 */
  21#include <linux/module.h>
  22#include <sound/soc.h>
  23
  24#define DRV_NAME "hdmi-audio-codec"
  25
  26static struct snd_soc_codec_driver omap_hdmi_codec;
  27
  28static struct snd_soc_dai_driver omap_hdmi_codec_dai = {
  29        .name = "omap-hdmi-hifi",
  30        .playback = {
  31                .channels_min = 2,
  32                .channels_max = 8,
  33                .rates = SNDRV_PCM_RATE_32000 |
  34                        SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |
  35                        SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 |
  36                        SNDRV_PCM_RATE_176400 | SNDRV_PCM_RATE_192000,
  37                .formats = SNDRV_PCM_FMTBIT_S16_LE |
  38                        SNDRV_PCM_FMTBIT_S24_LE,
  39        },
  40};
  41
  42static int omap_hdmi_codec_probe(struct platform_device *pdev)
  43{
  44        return snd_soc_register_codec(&pdev->dev, &omap_hdmi_codec,
  45                        &omap_hdmi_codec_dai, 1);
  46}
  47
  48static int omap_hdmi_codec_remove(struct platform_device *pdev)
  49{
  50        snd_soc_unregister_codec(&pdev->dev);
  51        return 0;
  52}
  53
  54static struct platform_driver omap_hdmi_codec_driver = {
  55        .driver         = {
  56                .name   = DRV_NAME,
  57                .owner  = THIS_MODULE,
  58        },
  59
  60        .probe          = omap_hdmi_codec_probe,
  61        .remove         = omap_hdmi_codec_remove,
  62};
  63
  64module_platform_driver(omap_hdmi_codec_driver);
  65
  66MODULE_AUTHOR("Ricardo Neri <ricardo.neri@ti.com>");
  67MODULE_DESCRIPTION("ASoC OMAP HDMI codec driver");
  68MODULE_LICENSE("GPL");
  69MODULE_ALIAS("platform:" DRV_NAME);
  70
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.