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.

TLV320AIC3105: How to I turn left LOP/M full power on

Part Number: TLV320AIC3105

Tool/software:

How to I turn left LOP/M full power on?

Reg 86 has D0 as a read only, and it never turn to 1 unless I write 1 to it.  Is that the proper sequence?

Thanks

  • Hello Fady,

    In General when a register is designated as R , it means the user can only read its content but can NOT write into it. The user might have the option to reset or clear a Read only register ( such as registers for flags, or errors and status , etc  )- but can not write into   R register. 

    If you constantly can write a 1 or 0 and read the same value back , then that register is W/R not R (it looks like  a typo in datasheet as other similar function registers such as register 58, 72 and 65 are R/W). So write   into this register multiple times in a row:  Write a 1 and read it back,  following by writing a 0  and reading  it back and once again write 1 and read it back. This can prove  it is a R/W register.

    Kind Regards,

    Arash

  • Arash,

    Thanks for the response. 

    My main question is how to fully power up the LOP/M.

    I did the following:

    Exp 1:

    - write 0x08 to register 86 and run my firmware I get audio out of the codec on LOP/M.

    Exp 2:

    - write 0x08 to register 86 and read back reg 86 back reg 86 waiting for D0 to turn 1 (to verify it is powered)- it never turn to 1 as the datasheet insinuates.

    Exp 3:

    - write 0x09 to register 86 - everything works fine. 

    So not really sure what is the switch/bit that really powers up the LOP/M.

    Thanks

  • I don't think you did what I asked ,  I wanted you to try a sequence to see the register is really read only or not.

    ( xx is the device address in your system)

    r xx 56 01    # READ THE CURRENT VALUE OF THIS REGISTER

    w xx 56 08   # WRITE a 0 to D0 

    r xx 56 01 # READ THE CURRENT VALUE OF  REGISTER 56 , SHOULD READ 08 

    w xx 56 09 # now WRITE a  1 to D0 of this register

    r xx 56 01 # READ THE CURRENT VALUE OF THIS REGISTER, SHOULD READ 09 

    w xx 56 08   #  now WRITE a  0 to D0 of this register

    r xx 56 01 # READ THE CURRENT VALUE OF THIS REGISTER, SHOULD READ 08 

    Nevertheless from your test it seems the  operation is ok :

    exp 1 : you wrote write 08 meaning bit D0 is 0 --indicating the LO is not fully on , but still  you should expect to get the audio out ( note  that D3=1 means it is not Muted and D1=0 means all programable gains are applied.) so this part is okay

    expe 2: you  wrote 08 ( that is D0=0) and you read D0=0 , so it is ok.

    exp 3, you wrote 09 ( that is bit D0=1 and it is fully on ) and everything works as expected.

    So for register 86 (0x56) write 90 to have LO fully on.

    Regards,

    Arash