Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  spdif_transmitter.c   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0-only
/*
 * ALSA SoC SPDIF DIT driver
 *
 *  This driver is used by controllers which can operate in DIT (SPDI/F) where
 *  no codec is needed.  This file provides stub codec that can be used
 *  in these configurations. TI DaVinci Audio controller uses this driver.
 *
 * Author:      Steve Chen,  <schen@mvista.com>
 * Copyright:   (C) 2009 MontaVista Software, Inc., <source@mvista.com>
 * Copyright:   (C) 2009  Texas Instruments, India
 */


#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/slab.h>
#include <sound/soc.h>
#include <sound/pcm.h>
#include <sound/initval.h>
#include <linux/of.h>

#define DRV_NAME "spdif-dit"

#define STUB_RATES (SNDRV_PCM_RATE_8000_768000 | \
    SNDRV_PCM_RATE_128000)
#define STUB_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | \
   SNDRV_PCM_FMTBIT_S20_3LE | \
   SNDRV_PCM_FMTBIT_S24_LE  | \
   SNDRV_PCM_FMTBIT_S32_LE)

static const struct snd_soc_dapm_widget dit_widgets[] = {
 SND_SOC_DAPM_OUTPUT("spdif-out"),
};

static const struct snd_soc_dapm_route dit_routes[] = {
 { "spdif-out", NULL, "Playback" },
};

static const struct snd_soc_component_driver soc_codec_spdif_dit = {
 .dapm_widgets  = dit_widgets,
 .num_dapm_widgets = ARRAY_SIZE(dit_widgets),
 .dapm_routes  = dit_routes,
 .num_dapm_routes = ARRAY_SIZE(dit_routes),
 .idle_bias_on  = 1,
 .use_pmdown_time = 1,
 .endianness  = 1,
};

static struct snd_soc_dai_driver dit_stub_dai = {
 .name  = "dit-hifi",
 .playback  = {
  .stream_name = "Playback",
  .channels_min = 1,
  .channels_max = 384,
  .rates  = STUB_RATES,
  .formats = STUB_FORMATS,
 },
};

static int spdif_dit_probe(struct platform_device *pdev)
{
 return devm_snd_soc_register_component(&pdev->dev,
   &soc_codec_spdif_dit,
   &dit_stub_dai, 1);
}

#ifdef CONFIG_OF
static const struct of_device_id spdif_dit_dt_ids[] = {
 { .compatible = "linux,spdif-dit", },
 { }
};
MODULE_DEVICE_TABLE(of, spdif_dit_dt_ids);
#endif

static struct platform_driver spdif_dit_driver = {
 .probe  = spdif_dit_probe,
 .driver  = {
  .name = DRV_NAME,
  .of_match_table = of_match_ptr(spdif_dit_dt_ids),
 },
};

module_platform_driver(spdif_dit_driver);

MODULE_AUTHOR("Steve Chen ");
MODULE_DESCRIPTION("SPDIF dummy codec driver");
MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:" DRV_NAME);

Messung V0.5
C=98 H=100 G=98

¤ Dauer der Verarbeitung: 0.17 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge