SSD_STR Instructions


1. Overview

The full name of STR is Suspend to RAM, which means that the device enters a low-power state and only keeps RAM self-refresh. All device and system states are kept in RAM and all peripherals are suspended.


2.1. Items guaranteed under STR

a. DDR Power/CPU Power/3.3V Power normal power supply

b. Disconnect the power supply from the power-consuming part of the peripheral equipment

c. Pay attention to the default up and down state of the chip GPIO

d. When SSD20X enters STR Mode, it needs to configure external interrupt wake-up (key/touch, etc.)

e. When the STR is in standby, the GPIO will keep the setting state applied before the standby. After waking up (reset) the GPIO will return to the default, until the code is run to reset the state.


2.2. STR Mode public version power consumption data


3.1. APP enable STR

APP suspending:

Run system("echo mem > /sys/power/state"); to suspend the APP.

Before running this command, you need to exit all MI modules, and pull down the gpio associated with the module, such as deinitializing disp, Panel, uninstalling wifi ko, disabling the screen backlight, etc.

If the MI module has a new API, call the corresponding DeInitDev interface when the module exits and needs to release resources. For example, call MI_DISP_DeInitDev() when exiting the DISP module.

MI_S32 SSTAR_DestroyVdec2DispPipe(MI_S32 s32VdecChn, MI_S32 s32DivpChn)
{
    SSTAR_ModuleUnBind(E_MI_MODULE_ID_VDEC, 0, s32VdecChn, 0,
                    E_MI_MODULE_ID_DISP, 0, 0, 0); //DIVP->DISP
    SSTAR_DestroyVdecChannel(s32VdecChn);
    MI_DISP_DisableInputPort(0, 0);

    MI_VDEC_DeInitDev();
    MI_DISP_DeInitDev();

    return MI_SUCCESS;

}


3.2. APP recovery

Wake up the APP through an external interrupt, then enable the panel backlight, load wifi, reinitialize the Panel and disp.

External interrupt settings:

The public board has a GPIO set in infinity2m.dtsi to wake up. This GPIO can be set to other GPIO specified by the user, or set to the interrupt pin corresponding to the touch screen.

APP demo can refer to github.com/aaron201912/UuidSSDPlayer UuidSSDPlayer/stdc++/zk_full_str.