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.

TPS6594-Q1: The RTC time in PMIC cannot be updated.

Part Number: TPS6594-Q1

The RTC time in PMIC cannot be updated. Is there a problem with the configuration of which register? The configuration of registers is as follows.

  • Hello Cao,

    please give me a moment to look over the information you've posted.

    But as a quick check, did you pause the RTC before trying to set the time?

    BR,

    Nicholas

  • Hi Nicholas

    We tried pausing the RTC, but I don’t know whether the pausing was successful. Is there any way to determine whether the RTC has been paused?
  • Hello Cao,

    You can see the STOP_RTC bit in register 0xC2 on page 0, the bit should be 0 to reflect that the RTC has stopped and can now be modified.

  • Hi Nicholas,
    Can you give us a register configuration and your operation steps when the RTC time is successfully updated? S
    o that we can compare whether there is any problem with our operation or settings?
    Thanks.
  • Hello Cao,

    For reference here's the datasheet, please use this to see the bitfields for the register each will use the following format.

    NAME:

    command

    I'm writing this procedure assuming that the crystal isn't powered up and the RTC is not activated

    RTC_SECONDS:

    Write to register 0xB5 with data value 0x30

    RTC_MINUTES:

    Write to register 0xB6 with data value 0x22

    *This sets the clock to be at 22minutes & 30 seconds*

    RTC_CTRL_2:

    Write 1 to the Least Significant bit in the register of 0xC3, this enables the Crystal Oscillator

    RTC_CTRL_1:

    Write 1 to the Least Significant bit in the register of 0xC2, this enables the RTC

    RTC_STATUS:

    Read the register 0xC4, bit 1, will tell you the status of the RTC, 0 for stop, 1 for running <----- Use this register if you're ever unsure of the state of the RTC

    At this point the counter will have started from from the 22m30s

    RTC_CTRL_1:

    Write 0 to the Least Significant bit in the register of 0xC2, this STOPs the RTC

    RTC_STATUS:

    Read the register 0xC4, bit 1, will tell you the status of the RTC, 0 for stop, 1 for running, confirm that it has stopped.

    RTC_SECONDS:

    Read register 0xB5

    RTC_MINUTES:

    Read register 0xB6

    RTC_SECONDS:

    Write register 0xB5 with data 0x20

    RTC_MINUTES:

    Write register 0xB6 with data 0x45

    Starting the RTC again.

    RTC_CTRL_1:

    Write 1 to the Least Significant bit in the register of 0xC2, this enables the RTC

    RTC_STATUS:

    Read the register 0xC4, bit 1, will tell you the status of the RTC, 0 for stop, 1 for running

    RTC_STATUS:

    Read the register 0xC4, bit 6, Will toggle the GET_TIME bit to load the shadow registers with the current time and will set them, this should be a value slightly larger than set, confirm that the time is ~45m & 20s

    BR,

    Nicholas