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.

TDA4VM: TDMA4VM Change LP8764 NVM

Part Number: TDA4VM

Dear TI.

I'm trying to change NVM value for LP8764

I'm using ti-processor-sdk-linux-j7200-evm-09_02_00_04

I've followed below steps in  "Scalable PMIC NVM Update Guide"

4 Instruction

  • Unlocking NVM --> No issue
root@j7200-evm:~# i2cget -f -y 0 0x48 0xa3
0x80
root@j7200-evm:~# i2cset -f -y 0 0x48 0xa2 0x00
root@j7200-evm:~# i2cset -f -y 0 0x48 0xa2 0x98
root@j7200-evm:~# i2cset -f -y 0 0x48 0xa2 0xb8
root@j7200-evm:~# i2cset -f -y 0 0x48 0xa2 0x13
root@j7200-evm:~# i2cset -f -y 0 0x48 0xa2 0x7d
root@j7200-evm:~#
root@j7200-evm:~# i2cget -f -y 0 0x48 0xa3
0xc0

When I tried to Disable the PFSM, the system lock-up

root@j7200-evm:~# i2cset -f -y 0 0x48 0xa3 0xc1

Is it possible to update LP8764 NVM on the board(TDA4VM) ?

BR

Jace

  • Hello Jace,

    When trying to reprogram the PMIC, the reason you're getting a system lock-up is due to the programming mode the PMIC enters, it turns off all regulators in this special mode.

    So if you're entering these commands from a serial terminal, it would make sense the terminal is unresponsive after issuing these commands as the TDA4VM has shutdown and will stay shutdown as the PMIC is still on but has no outputs on the regulators.

    Is it possible to update LP8764 NVM on the board(TDA4VM) ?

    Yes, hardware needs to have been planned out and populated I2C heads, VIO_IN, etc.. the hardware requirements I'm sure you've seen, as many of the boards built have the VIO_IN and pull up sources being fed off of the PMIC itself makes this difficult to achieve.

    For what reason do you have to reprogram the LP8764 if it's already powering the TDA4VM? Maybe we can find a work around that would be easier than trying to reprogram as it can be error prone.

    BR,

    Nicholas McNamara

  • Hello Nicholas

    Actually, I'd like to change the mux selection of GPIO6 in LP8764

    As far as I checked, GPIO6 is configured to GPIO_IN by default

    So I tried to change the default configuration to GPIO_OUT, since we plan to NC this pin.

    And LP8764 datasheet recommand to set GPIO to OUT when we set it NC.

    In device tree, we can set the initial voltage of ech BUCK.

    Can we set GPIO mux config in device tree ?

    Could you recommend how to configure GPIO mux during boot-up ?

    BR

    Jace

  • Hi Jace,

    could you tie the GPIO to ground or have you locked the schematic. The data sheet says that when GPIO configured as input is not used you should tie it to ground.

    If this is not possible you can change the GPIO configuration during boot up by writing to the GPIO6_CONF register without the need to program the PMIC. Please note that you will have to do this reconfiguration at each boot-up.

    regards,

    Niko

  • Hi Niko.

    Do you mean that I should set GPIO6_CONF through I2C interface during boot-up ?

    Is it not possible to set in device tree ?

    BR

    Jace

  • Hi Jace,

    maybe it is possible in device tree but I am not so familiar with the SDK so you will have to consult the processor team on the specific implementation. From the PMIC point you can change the GPIO6_CONF as soon as the PMIC has VCCA but the state machine (PFSM) of the PMIC might change the value of this register in some cases. I can check if the PFSM modifies this exact register if you let me know the full OPN of the PMIC for example LP876411B4RQKRQ1

    regards,

    Niko

  • Hi Niko

    I'm using "LP876441B1RQKRQ1"

    BR

    Jace

  • Hi Jace,

    it seems that the PFSM doesn't modify this register and it is not used in the sequences so you should be ok to modify this before enabling the PMIC.

    regards,

    Niko 

  • Hi Niko.

    Then should I write GPIO config register via I2c after boot-up ?

    Since our board was powered by PMIC, we can not modify PMIC register before enabling it. (Like TDA4VM board)

    Am I right ?

    BR

    Jace

  • Hello Lee,

    That's correct, if the only processor on the board is the J7200, then you must wait until resource is up for the J7200 to write to this.

    If there's a supervisor MCU on the board connected to the PMIC, then this register can be changed before applying the ENABLE pin high (as long as PMIC has power & I2C connection).

    I have also confirmed that this PMIC's firmware doesn't write to the register nor does it sample this input. In production, you should either ground this pin or like Niko Alatalo suggested, change the GPIO6_DIR bit field to output.

    It can be left floating if there's nothing that can be done as it won't affect the firmware's decision making, but please do the above if possible.

    BR,

    Nicholas McNamara