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.

TAS5719 Help!

Other Parts Discussed in Thread: TAS5719, AM3517

Hi,

We're developing a TAS5719 driver for the linux 2.6.37 kernel from the am3517-evm-sdk-05.05.01.00. Our custom board has a

AM3517 sitara. The TAS5719 is a slave I2S device connected to the Sitara McBSP2 acting like the master. The wiring is:

McBSP2_FSX to LRCLK, McBSP2_CLKX to SCLK, McBSP2_DX to SDIN and McBSP2_DR to MCLK.

Now we've the OMAP is generating a 1.548MHz on SCLK, from the sitara 96MHz div 62 in order to play a 48KHz, 16 bits and stereo sample.

On the scope we can see the SCLK, the SDIN and LRCLK on the I2S. They are ok. But I can't hear anything on the out_a/out_b and out_c/out_d

differential speakers output. There is signal in the output but nothing valid.  Do we need a valid MCLK signal or it can be autogenerated internally

on the TAS5719??

Here the main TAS5719 registers when the sound is playing. Any value is wrong???

[   56.030487] tas5719_read(1): reg 00 value 0000006c
[   56.036590] tas5719_read(1): reg 01 value 000000c1
[   56.042022] tas5719_read(1): reg 02 value 00000000
[   56.048522] tas5719_read(1): reg 03 value 000000a0
[   56.054595] tas5719_read(1): reg 04 value 00000003
[   56.060699] tas5719_read(1): reg 05 value 00000000
[   56.066131] tas5719_read(1): reg 06 value 00000000
[   56.072631] tas5719_read(2): reg 07 value 00000154
[   56.078735] tas5719_read(2): reg 08 value 00000068
[   56.084838] tas5719_read(2): reg 09 value 00000073
[   56.090911] tas5719_read(2): reg 0A value 000000c0
[   56.096343] tas5719_read(1): reg 0E value 000000f0
[   56.102844] tas5719_read(1): reg 10 value 00000001
[   56.108917] tas5719_read(1): reg 11 value 000000ac
[   56.115020] tas5719_read(1): reg 12 value 00000054
[   56.120452] tas5719_read(1): reg 13 value 000000ac
[   56.126922] tas5719_read(1): reg 14 value 00000054
[   56.133026] tas5719_read(1): reg 19 value 00000030
[   56.139099] tas5719_read(1): reg 1A value 00000008
[   56.144622] tas5719_read(1): reg 1B value 000000c0
[   56.150054] tas5719_read(1): reg 1C value 00000057
[   56.157165] tas5719_read(4): reg 20 value 00017772
[   56.163299] tas5719_read(4): reg 21 value 00004303
[   56.169433] tas5719_read(4): reg 25 value 01021345

Any help is welcome!

Jorge

  • Hi Jorge,

    The device needs a valid MCLK  shown in to play audio. (Supported rates defined on page-38 of datasheet).

    If you are using 48KHz Fs rate, you can get away by using a single 64*Fs clock tied to both MCLK & SCLK pins.

    -Ravi

  • Hi Ravi! Thanks for answering!

    Just to clarify... Now ALSA is just converting our streams to 48KHz rate (it's what I get on LRCLK) and SNDRV_PCM_FORMAT_S16 format. Then our driver is configuring TAS5719 to I2S and 32-fs (datasheet pag 23), writing 0x03 to SERIAL DATA INTERFACE REGISTER (0x04).

    My clock calculations are: 96MHz is the main clock / 16 bits per sample / 2 channels / 48000 Hz -> 62.5. Then our SCLK is 96MHz / 62 = 1.548387 MHz Is it wrong? Can I tie MCLK to SCLK pin? On datasheet pag 8 I can read that MCLK min freq is 2.8224 MHz...

    With my current set (I2S and 32-fs) is valid your quote "If you are using 48KHz Fs rate, you can get away by using a single 64*Fs clock tied to both MCLK & SCLK pins." or it's only valid for the I2S 64-fs format (datasheet pag 22)?

    Thanks!

  • Hi, Jorge,

    Did you get this sorted out?

    -d2

  • Yes, I have the device working! I mark the question as answered...

    Thanks

    Jorge