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/TAS2559: Linux driver

Part Number: TAS2559

Tool/software: Linux

Hello!

 

I have strange problem with TAS2559 Linux driver. I had to add 28 char long “printk”

to line 1034 in “tas2559-core.c” or otherwise TAS2559 chip goes to state where it not controllable anymore.

Duration of “printk” is 4.3 ms and there is msleep(1) function call in code. Maybe total delay is 5.3 ms.

I noticed I have older version of “tas2559-core.c”. There is no this " msleep(1)"  function call anymore.

 

There is some PLL settings before line 1034 and I am wondering is there some “PLL setting time “

which not mentioned in datasheet?

 

In addition this is strange because I have tried replace that “printk” with msleep or udelay

without success .

 

Best regards

 

Juha

  • Hi Juha,

    I couldn't understand very well, so Could you explain me in detail your problem?
    I have another question, so where did you get the TAS2559 Linux driver?

    Best Regards
    José Luis Figueroa
    Audio Applications Engineer
  • Hello José,

    TAS2559 driver downloaded  from:

    http://git.ti.com/tas2557sw-android/tas2557-stereo-driver

    I do not know exact version number but driver was downloaded in june 2017.

    At first I got "ERROR DevA safe guard (0x20) failure" message from driver when I tried enable tas2559.

    I started investigate problem by adding "printk(KERN_ERR "some text\n");" function

    calls to driver. Unexpectedly I did not receive error message and driver(or tas2559) started to work.

    I noticed when I add "printk" to function "tas2559_load_coefficient" in  "tas2559-core.c" file, tas2559 starts to work:

           

              goto end;

       }

       msleep(1);                

      printk(KERN_ERR "some text\n");

    prog_coefficient:

    /****************************************************/

    This is not reliable solution and I would need to understand (and localize) why this extra print is needed.

    In other words, whether it is a problem  in code(linux system), I2C driver/bus or in TAS2559 amp.  for example.

    I  correct my original post, there is no "msleep(1)" above in original driver.

    Best Regards

    Juha

  • Hello José,

    This is I2C issue.

    Best Regards

    Juha