This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM5718: Audio Codec Linux platform driver

Part Number: AM5718
Other Parts Discussed in Thread: TLV320AIC3106

Tool/software: Linux

Hello,

We are developing a SDR platform based on AM5718 with audio codec TLV320AIC3106.
Since it is an SDR platform,we have to switch waveform at runtime. My query is related to Linux platform device driver.
My understanding is that once powered up, Linux platform device driver will configure the audio codec to a default state.
I have few queries related to it, is it feasible to:

  1. reconfigure codec parameter such as sampling rate,bit resolution and master clock at runtime, depending on the waveform.
  2. access the codec data from DSP, with DSP playing no role in configuring the codec.
  3. configure the codec via DSP, even with Linux platform driver in picture.

Regards

Satheesh Kumar S

  • Hello Satheesh,

    I am wondering if you could please share more information about your system such as the master/slave devices. Also, please share how fast you are planning on switching frequencies.

    Regards,
    Krunal 

  • 1. Audio codec will be slave and AM5718 will be master (McASP3). 

    2. We would change only when a new wavefrom is loaded. This event happens rarely.

    Our initial thought was to use Linux to configure Audio codec via i2c(i2C1) and DSP to access McASP3 data.

    Regards

    Satheesh

  • Hello Satheesh,

    In the tlv320aic3x.c linux driver, there is a section that defines the rates/formats supported by the codec driver:

    #define AIC3X_RATES     SNDRV_PCM_RATE_8000_96000
    #define AIC3X_FORMATS   (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
                             SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S24_LE | \
                             SNDRV_PCM_FMTBIT_S32_LE)

    The user space application you are developing will request a rate/format and the driver will check your request meets the above requirements. As long as the requirements are met, you should be able to change your codec parameters.

    Regards,
    Krunal