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

Part Number: TAS5733L

Tool/software: Linux

Hi Team,

I was trying to replace ALC5658 codec in ARTIK305 running Ubuntu 16.04 by TAS5733L. reference Codec code provided from TI side. do we need machine driver also? or codec code is sufficient for TAS5733L integration .because in reference codec code don’t have code for sound card creation.

And have you some other approch to integrate TAS5733L amp with ARTIK305 running Ubuntu 16.04 in the absent of  ALC5658 codec?.

  • Hi Nikhil,
    As far as I know from the previous support experience, sound card is not included in the TAS5733L driver. I'm very sorry I'm not familiar with your software arch. After being initialzed after power-up, only mute/unmute and volume adaptation operations are needed on the AMP device during playing. Please refer to the FIgure50 in the TAS5733L datasheet.
    Best regards,
    Shawn Zheng
  • Hi Shawn,

    For software arch we are using linux and ubuntu 16.04. that is open source. as you mentioned in figure 50 its a flow control to chip initialisation only.
  • Hi,
    One more point. we gone through on forum
    e2e.ti.com/.../232016
    Do we have any minimum register setting that we can do for getting the output?

    Thanks,
    Nikhil
  • Hi Nihil,
    The following script configure the AMP devie to BTL and AD mode.
    X1b 00
    X05 00
    X06 00
    X07 30
    Best regards,
    Shawn Zheng
  • Hi shawn,

    we are using the i2ctool for read/write the register we have following issues.

    We connected pullup for stereo. but still we getting the detection as 0x54 see the output:
    [root@artik ~]# i2cdetect -y 6
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- 1a -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- 2a 2b -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- 54 -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --
    [root@artik ~]#

    one more query when we are reading and writing on register on reading we get 0xFF and writing is not successful.

    [root@artik ~]# i2cset -y 6 0x54 0x06 0x00
    [root@artik ~]# i2cget -y 6 0x54 0x06
    0xff
    [root@artik ~]# i2cset -y 6 0x54 0x0E
    [root@artik ~]# i2cget -y 6 0x54 0x0E
    0xff
    [root@artik ~]# i2cset -y 6 0x54 0x0E 0xF0
    [root@artik ~]# i2cget -y 6 0x54 0x0E
    0xff
    [root@artik ~]#
  • Hi Nikhil,
    Could you please help to explain 'connected pullup for stereo'? Which pin was pulled up? ADR pin can be used to select the I2C address, please find more description in the section 7.6.1.1 and 7.6.1.2.
    Looks like the I2C commmnication is not working. The address 0x54 and 0x56 is the 7-bit address, please refer to the Figure32 in the datasheet. Make sure the correct I2C address is used.
    Best regards,
    Shawn Zheng
  • Hi Shawn,

    Pull up is mounted on the ADR1/Fault pin and we are expecting the I2C address 0x56 but we are getting the address 0x54.

    Could you please help here

  • Hi Nikhil,
    Did you check the I2C timing by scope? Does it follow the requirement in the datasheet?
    About the I2C address configuration, please refer to this post: e2e.ti.com/.../267363
    Best regards,
    Shawn Zheng
  • Hi Shawn,

    We are getting 3 slave addresses on the AMP board 0x54, 0x2a, 0x2b But issue we are facing we can not read/write on 0x2a and 0x2b but not on 0x54.
    Even the driver we are writing is not able to detect 0x2a and 0x2b slave addresses. Please provide your inputs.

    Thanks,
    Nikhil
  • Hi Nikhil.
    I can't quite understand it. Could you please help to clearify? Does the address 0x2a/0x2b works or not?
    Bes tergards,
    Shawn Zheng
  • Hi Shawn,

    yes 2a/2b are working fine. one more query.
    As we have to write the multiple register having the nibbles 2,3 and 20. we are unable to find the delay time between these burst write operation in the datasheet.i mean time difference between each i2c write operation in the initialisation start up sequence?

    Thanks,
    Nikhil
  • Hi Shawn,

    yes 2a/2b are working fine. one more query..
    As we have to write the multiple register having the nibbles 2,3 and 20. we are unable to find the delay time between these burst write operation in the datasheet.i mean time difference between each i2c write operation in the initialisation start up sequence?

    Thanks,
    Nikhil
  • Hi Shawn,

    yes 2a/2b are working fine. one more query.
    As we have to write the multiple register having the nibbles 2,3 and 20. we are unable to find the delay time between these burst write operation in the datasheet.i mean time difference between each i2c write operation in the initialisation start up sequence?

    Thanks,
    Nikhil sahu
  • Hi Nikhil,
    The multiple-byte data operation is identical to a single-byte data operation except that multiple data bytes are transmitted by the master device to the DAP. So you don't need to do extra setting for the I2C multiple-byte operation.
    Best regards,
    Shawn Zheng
  •  Hi Shawn,

    yes for stereo we are getting 0x2b.  we are able to detect this.

    [root@artik ~]# i2cdetect -y 1

        0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f

    00:          -- -- -- -- -- -- -- -- -- -- -- -- --

    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

    20: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --

    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

    70: -- -- -- -- -- -- -- --

    [root@artik ~]#

    Even we set the values as you told:

    [    3.940000] mmcblk1: mmc2:aaaa SL16G 14.8 GiB

    [    3.945000]  mmcblk1: p1 p2 p3

    [    4.075000]

                  The tas5733l reg 1b and value is 0

    [    4.175000]

                  The tas5733l reg 5 and value is 0

    [    4.175000]

                  The tas5733l reg 6 and value is 0

    [    4.175000]

                  The tas5733l reg 7 and value is 30

    And I2S signals are comming from processor is fine attached the screenshot. but we are not able to listen any sound on speaker. 

    Please suggest.

    Thanks,

    Nikhil

  • Hi Nikhil,
    Considering that we are communicating offlilne, could you please help to close this question in E2E?
    Best regards,
    Shawn Zheng