[alsa-devel] MAXIM 98089 codec support in Linux

VS vasan.vs at gmail.com
Mon Dec 2 11:46:36 CET 2013


Hi,

We are trying to integrate MAXIM 98089 (Audio codec) into our Linux product
build. This has 2 DAI's available with it - DAI1 with both Playback and
Capture facility and DAI2 with Playback capability alone.

When we use this codec in our build, we find that the dai1_hw_params and
dai1_set_fmt functions never gets called but it is always dai2_hw_params and
dai2_set_fmt function that gets called because of which apparently, we are
able to hear the voice that is incoming but not able to capture the voice
and send it out externally.

Here are our definitions:

static struct snd_soc_dai_driver max98089_dai[] = {
{
        .name = "max98089.0",
                .playback = {
                .stream_name = "Playback",
                .channels_min = 1,
                .channels_max = 2,
                .rates = MAX98089_RATES,
                .formats = MAX98089_FORMATS,
                },
        .capture = {
                .stream_name = "Capture",
                .channels_min = 1,
                .channels_max = 2,
                .rates = MAX98089_RATES,
                .formats = MAX98089_FORMATS,
        },
         .ops = &max98089_dai1_ops,
},
{
        .name = "max98089.1",
        .playback = {
                .stream_name = "Aux Playback",
                .channels_min = 1,
                .channels_max = 2,
                .rates = MAX98089_RATES,
                .formats = MAX98089_FORMATS,
        },
        .ops = &max98089_dai2_ops,
        .symmetric_rates = 1,
}
};

The codec specific registers only when we put in dai2_ops functions, we are
able to see the effects but there is no effect if we put it in dai1_ops
functions.

Is there any specific way of referring to DAI when we have multiple DAI
support in the codec that we are using?

Thanks in advance for your inputs

VS




More information about the Alsa-devel mailing list