All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Garnier <marc.garnier@heig-vd.ch>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: alsa-devel@alsa-project.org
Subject: Re: How to use soc API without codec driver
Date: Wed, 9 Dec 2009 07:39:19 +0100	[thread overview]
Message-ID: <4B1F4617.1020307@heig-vd.ch> (raw)
In-Reply-To: <20091208145104.GC9018@sirena.org.uk>

You mean I just have to use snd_soc_register_dai()? Things like 
soc_init_card() and snd_soc_new_pcms() are not mandatory?
So, i think code like this one could be ok :

#define Q2686_RATES (SNDRV_PCM_RATE_8000_192000)

#define Q2686_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\
    SNDRV_PCM_FMTBIT_S24_LE)

static struct snd_soc_dai_ops q2686_dai_ops = {
};

struct snd_soc_dai q2686_dai = {
    .name = "Q2686",
    .playback = {
        .stream_name = "Playback",
        .channels_min = 2,
        .channels_max = 2,
        .rates = Q2686_RATES,
        .formats = Q2686_FORMATS,
    },
    .capture = {
        .stream_name = "Capture",
        .channels_min = 2,
        .channels_max = 2,
        .rates = Q2686_RATES,
        .formats = Q2686_FORMATS,},
    .ops = &wm8728_dai_ops,
};
EXPORT_SYMBOL_GPL(q2686_dai);

static int __init q2686_modinit(void)
{
    return snd_soc_register_dai(&q2686_dai);
}
module_init(q2686_modinit);

static void __exit q2686_exit(void)
{
    snd_soc_unregister_dai(&q2686_dai);
}
module_exit(q2686_exit);

MODULE_DESCRIPTION("ASoC Q2686 driver");
MODULE_AUTHOR("Marc Garnier");
MODULE_LICENSE("GPL");

Mark Brown wrote:
> On Tue, Dec 08, 2009 at 03:46:53PM +0100, Marc Garnier wrote:
>
>   
>> I need to receive and transmit PCM data through SSC port of a sam9261 to 
>> a device which doesn't have any kind of I/O controls (neither i2c nor 
>> spi). So, I wonder how to deal with the codec driver side.
>> Someone could explain me what are the minimum requirements to write a 
>> Asoc driver of this kind?
>>     
>
> There's a couple of drivers for such CODECs in the tree already - have a
> look at the wm8727 driver for one example.  You need to register at
> least a DAI with whatever the capabilities of the hardware are and can
> leave all the operations blank.
>   

  reply	other threads:[~2009-12-09  6:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-08 14:46 How to use soc API without codec driver Marc Garnier
2009-12-08 14:51 ` Mark Brown
2009-12-09  6:39   ` Marc Garnier [this message]
2009-12-09 10:45     ` Mark Brown
     [not found]       ` <4B44617B.2030002@heig-vd.ch>
     [not found]         ` <20100106103937.GA25344@rakim.wolfsonmicro.main>
     [not found]           ` <4B446974.1090205@heig-vd.ch>
2010-01-06 11:39             ` capturing data from the microphone Mark Brown
2010-01-06 13:34               ` Riccardo Magliocchetti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B1F4617.1020307@heig-vd.ch \
    --to=marc.garnier@heig-vd.ch \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.