linux/sound/soc/au1x/db1000.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0-only
   2/*
   3 * DB1000/DB1500/DB1100 ASoC audio fabric support code.
   4 *
   5 * (c) 2011 Manuel Lauss <manuel.lauss@googlemail.com>
   6 *
   7 */
   8
   9#include <linux/module.h>
  10#include <linux/moduleparam.h>
  11#include <linux/timer.h>
  12#include <linux/interrupt.h>
  13#include <linux/platform_device.h>
  14#include <sound/core.h>
  15#include <sound/pcm.h>
  16#include <sound/soc.h>
  17#include <asm/mach-au1x00/au1000.h>
  18#include <asm/mach-db1x00/bcsr.h>
  19
  20#include "psc.h"
  21
  22static struct snd_soc_dai_link db1000_ac97_dai = {
  23        .name           = "AC97",
  24        .stream_name    = "AC97 HiFi",
  25        .codec_dai_name = "ac97-hifi",
  26        .cpu_dai_name   = "alchemy-ac97c",
  27        .platform_name  = "alchemy-pcm-dma.0",
  28        .codec_name     = "ac97-codec",
  29};
  30
  31static struct snd_soc_card db1000_ac97 = {
  32        .name           = "DB1000_AC97",
  33        .owner          = THIS_MODULE,
  34        .dai_link       = &db1000_ac97_dai,
  35        .num_links      = 1,
  36};
  37
  38static int db1000_audio_probe(struct platform_device *pdev)
  39{
  40        struct snd_soc_card *card = &db1000_ac97;
  41        card->dev = &pdev->dev;
  42        return devm_snd_soc_register_card(&pdev->dev, card);
  43}
  44
  45static struct platform_driver db1000_audio_driver = {
  46        .driver = {
  47                .name   = "db1000-audio",
  48                .pm     = &snd_soc_pm_ops,
  49        },
  50        .probe          = db1000_audio_probe,
  51};
  52
  53module_platform_driver(db1000_audio_driver);
  54
  55MODULE_LICENSE("GPL");
  56MODULE_DESCRIPTION("DB1000/DB1500/DB1100 ASoC audio");
  57MODULE_AUTHOR("Manuel Lauss");
  58