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.

DRA821U-Q1: Is OSPI Flash Required for MCU Domain Operation on DRA821?

Part Number: DRA821U-Q1
Other Parts Discussed in Thread: DRA821, AM3352

Tool/software:

Hello DRA821 Manager Team,

I am currently working on a design using the DRA821.
I plan to use both the Main domain and the MCU domain without relying on an external MCU.
Is it mandatory to use OSPI Flash in order to utilize the MCU domain?
Or is it sufficient to use only eMMC?
I also intend to use the DRA821's low power modes (Sleep & Wakeup).
I would appreciate it if you could provide guidance regarding this.

Best regards

  • Hello,

    May I know which OS and SDK version you are planning to use ?

    Regards

    Tarun Mukesh

  • Hello 

    I use linux and sdk Version is 9.1

    Best regards

  • Hi,

    Is it mandatory to use OSPI Flash in order to utilize the MCU domain?
    Or is it sufficient to use only eMMC?

    I don't exactly understand what you mean by utilising the MCU domain. If you mean running applications on it, then you can use any boot media to store your application and then load it onto DDR to run it. you can store it in emmc or SD card, the support is present for both.

    I also intend to use the DRA821's low power modes (Sleep & Wakeup).

    So we have different types of sleep and wake-up functionalities on the device.

    • There is MCU-only mode, where the main domain is turned off and MCU domain is active.
      • The support for this is not present in SDK yet.
    • There is suspend to RAM mode, where you will keep the DDR in self refresh mode with the program context of all the cores and peripherals and then turn-off the whole SoC. The PMIC is programmed to wakeup the SoC based on external signal (can be GPIO or CAN or any other signal derived externally). The wakeup will detect its a resume cycle and not a reset cycle and use the saved context on DDR to initialise applications.
      • There are patches available which will do this for linux on DRA821. It should also be integrated in SDK 11.0
    • There is IO-retention mode in which the device's IO will keep running but the external SOC will be powered-off
      • The support for this is not present in SDK yet.

    Let me know which suits your need and we can discuss it further.

    Regards,
    Tanmay

  • Hi Tanmay,

    The reason I asked about the OSPI flash was to confirm whether it is strictly required for Sleep mode or while using the MCU domain. Based on your explanation, I understand that using only eMMC is sufficient, so I’ll proceed with that assumption.

    Additionally, I have some follow-up questions about the three Sleep & Wakeup modes you described, specifically regarding MCU-only mode:

    1. In MCU-only mode, when only the MCU is active and later the Main domain becomes active again,

      • Is this process the same as a Cold boot?

      • If it is the same, then when the Main domain is turned off, peripheral devices like Ethernet switches or PCIe-connected devices will also have their power cut. When the Main domain powers back on and these devices are re-powered, will they operate normally without any issues?

    2. When using Suspend to RAM mode,

      • Does it behave similarly to how it works on AM3352?

      • Will this be considered a Warm boot?

      • If so, then during Sleep mode entry, external devices like Ethernet switches and PCIe devices should not be powered off, and should instead enter some form of sleep state as well, correct?

    3. You mentioned that Suspend to RAM support is planned for SDK 11.0.

      • Could you let me know the release schedule for SDK 11.0?

      • Also, could you check on the SDK support schedule for MCU-only mode as well?

    Thank you as always for your continued help. It's been extremely valuable.

    Best regards

  • Hi,

    The reason I asked about the OSPI flash was to confirm whether it is strictly required for Sleep mode or while using the MCU domain. Based on your explanation, I understand that using only eMMC is sufficient, so I’ll proceed with that assumption.

    No, OSPI is not compulsory for low-power modes.

    In MCU-only mode, when only the MCU is active and later the Main domain becomes active again,

    • Is this process the same as a Cold boot?

    • If it is the same, then when the Main domain is turned off, peripheral devices like Ethernet switches or PCIe-connected devices will also have their power cut. When the Main domain powers back on and these devices are re-powered, will they operate normally without any issues?

    This depends on the kind of software running on the Main Domain cores. Currently we treat it as cold boot for MAIN domain cores. But with the help of detection logic, I don't think there should be any theoretical blockers for them to have a different boot process. This is not supported and nor any support for this is planned in the roadmap. This is a custom change which you will have to own.

    For the peripheral devices, they go through a power cycle as their power domain is turned off. So they have to be reconfigured.

    When using Suspend to RAM mode,

    • Does it behave similarly to how it works on AM3352?

    • Will this be considered a Warm boot?

    Sorry, I am not familiar with Suspend to RAM on AM3352.

    This is not a Warm boot. All the power to the SoC is cut off. Only DDR is kept alive in its low power mode. But using detection logic, the boot flow in SPL boot is made different where we can use the context stored in DDR to make the device come-up faster.

    If so, then during Sleep mode entry, external devices like Ethernet switches and PCIe devices should not be powered off, and should instead enter some form of sleep state as well, correct?

    Even in Suspend to RAM, they are powered off. But based on context in DDR, they are reconfigured.

    You mentioned that Suspend to RAM support is planned for SDK 11.0.

    • Could you let me know the release schedule for SDK 11.0?

    • Also, could you check on the SDK support schedule for MCU-only mode as well?

    SDK 11.0 is already live on the corresponding device pages. But the Suspend to Ram feature roll-out is pushed from SDK 11.0 to SDK 11.1. This is planned to be released by end of August. The exact release date can vary within a few weeks.

    For MCU-only mode, It is being worked on currently and the planned release for this is sometime in first quarter next year.

    Regards,
    Tanmay