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.

Understanding OMAP-L138 Linux McASP driver (davinci-mcasp.c)

Other Parts Discussed in Thread: TLV320AIC3254, OMAP-L138

Hi TI Team,


We are trying to interface a TLV320AIC3254 audio codec with the OMAP-L138 using DVSDK 4_02_00_06.

We are having trouble getting the Audio interface working (I2S) and we are trying to understand how the McASP driver is setting up the transfer.

Can you please answer our question below:

According to the McASP user guide (section 2.2.1) the transmit clock is configured via the ACLKXCTL and AHCLKXCTL, however we notice that on the driver the clock is not divided down at all. Does this mean that for all sample rates that the bit clock is assumed to always be the same? This contradicts to what we understand how sample rates are controlled.

In addition, we notice that if we use the TLV320AIC3254 EVM the bit clock is configured for every sample rate.

Can you please clarify this setting?

  • Grant,

    In OMAP-L138, the default configuration is for the codec in the master mode and McASP in slave mode. Hence the McASP driver does not need to configure the ACLKXCTL and AHCLKXCTL.registers. For different sampling rates the codec PLL gets reconfigured to provide the correct clk.

    I haven't looked at the TLV320AIC3254 EVM but the bit clock will have to be configured for every sample rate if the codec is operating in master mode.

    Regards,

    Vaibhav

     

  • Grant,

    Were you able to get the McASP working over I2S?


    Thanks,
    JT

  • Hi JT,

    Yes we were able to use McASP on I2S. The TI software should already have this capability. On our system it was a defective audio codec clock that prevented us from using getting it operational.

     

    Regards,

    Grant