MCU+ SDK LPDDR4 Driver starts DDR Training/Leveling Sequence twice

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: High
    • SITSW-9359
    • 11.01.00
    • 12.00.00
    • Hide
      am62xx-sk-lp
      am62a-sk
      am62p-sk
      am62d-evm
      Show
      am62xx-sk-lp am62a-sk am62p-sk am62d-evm

      The MCU+ SDK DDR driver stack starts the training/leveling sequence twice as part of the overall call to DDR_init().

      First/initial start of DDR training/leveling sequence: Part of DDR_setClock() processing (frequency handshake sequence) - link

      Second start of DDR training/leveling sequence: Part of DDR_start() -> LPDDR4_Start() -> LPDDR4_StartSequenceController() - link.
       
      This was noticed during debugging LPDDR4-related issues where it was found that the LPDDR4_INTR_PHY_INDEP_INIT_DONE_BIT and 
      LPDDR4_INTR_MC_INIT_DONE where already set upon entering the LPDDR4_StartSequenceController() function.
       
      Since the DDR training/leveling sequence should only get started once together with waiting for/acknowledging the appropriate interrupt flags at the end this at a minimum is unclean and redundant and needs cleanup. Additionally, there is potential (TBD) for this to cause unknown issues internal to the LPDDR4 controller operation.
       
      When inspecting the U-Boot SPL reference code sequence, it can be seen that both frequency handshake and training/leveling are all handled together in a single function cleanly, and no double-start occurs. The MCU+ SDK sequence should get better aligned with the U-Boot sequence. See lpddr4_startsequencecontroller() in the U-Boot code base (link).

            Assignee:
            TI User
            Reporter:
            TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                Connection: Intermediate to External PROD System
                EXTSYNC-6227 - MCU+ SDK LPDDR4 Driver starts DDR T...
                SYNCHRONIZED
                • Last Sync Date: