[FAQ] MCU-PLUS-SDK-AM263X: What are the difference types of reset in the SoC ?

Part Number: MCU-PLUS-SDK-AM263X
  • What is the difference between L_RST, G_RST, FSM reset?
  • What are a warm reset and a cold reset?
  • What is the SoC Boot Flow for each reset?
  • There are 5 reset types in the AM26x SoC.

    3 resets are restricted to R5F CPUs or R5FSS only.

    Local Reset (L_RST) will reset only the R5F core, including the cache, MPU, and PMU.


    Writing into R5SSx_COREy_LRST_CTRL register will reset the CPU. If the MSS_RCM_R5SSx_RST_WFICHECK_EN_R5_COREy is enabled then after the CPU enters the WFI, the CPU will give wfi signal to RCM to assert the L_RST. Make sure to unlock the MMR.

    Global Reset (G_RST) will reset only the R5F core. Like L_RST, it will reset the cache, MPU, PMU, and the VIM config for the CPU.


    Writing into R5SSx_COREy_GRST_CTRL register will reset the CPU. If the MSS_RCM_R5SSx_RST_WFICHECK_EN_R5_COREy is enabled then after the CPU enters the WFI, the CPU will give wfi signal to RCM to assert the G_RST. Make sure to unlock the MMR.

    For AM263Px, the IPs which are R5SS dependent i.e. TMU, RAT, RL2 and FLC will also reset over G_RESET.

    Note: The VIM RAM is not reset by the G_RST.

    FSM Trigger (Cluster Reset) will reset both CPUs in the cluster. In addition to the CPU, it will reset components impacted by G_RST, debug/trace modules like ETM, CTI, CTM, and the lockstep module, i.e., CCM.

    Writing into MSS_CTRL_R5SSx_CONTROL_RESET_FSM_TRIGGER register will reset the CPU.

    If the MSS_RCM_R5SSx_RST_WFICHECK_EN_R5_CORE0 and MSS_RCM_R5SSx_RST_WFICHECK_EN_R5_CORE1 is enabled then after both the CPUs enters the WFI, then CPU will give wfi signal to RCM to assert the Cluster Reset. Make sure to unlock the MMR and only after both the CPUs enter WFI, the reset is asserted.

    2 SoC-level resets. i.e. Warm Reset and POR (Cold Reset)

    The warm reset and cold reset work equivalently for most IPs and will assert a standard reset.

    AM263x AM263Px
    R5SS0 R5SS0
    R5SS1 R5SS1
    DebugSS DebugSS
    EDMA EDMA
    MSS-INFRA (Interconnect bridges etc.) MSS-INFRA (Interconnect bridges etc)
    DCC(0-3) DCC(0-3)
    GPIO(1-4) GPIO(1-4)
    MCRC MCRC
    TOP_ESM TOP_ESM
    SPI(0-4) SPI(0-7)
    I2C(0-3) I2C(0-3)
    MCAN(0-3) MCAN(0-7)
    QSPI OSPI
    RTI(0-3) RTI(0-7)
    WDT(0-3) WDT(0-3)
    UART(0-5) UART(0-5)
    LIN(0-4) LIN(0-4)
    CPSW CPSW
    ICSS ICSS
    MMC0 MMC0
    SPINLOCK0 SPINLOCK0
    GPMC --
    ELM --
    HSM HSM
    EPMW(0-31) EPMW(0-31)
    ECAP(0-15) ECAP(0-19)
    EQEP(0-2) EQEP(0-2)
    SDFM(0-1) SDFM(0-1)
    CMPSSA(0-9) CMPSSA(0-9)
    CMPSSB(0-9) CMPSSB(0-9)
    ADC(0-4) ADC(0-4)
    DAC ADC_R(0-1)
    DAC
    ADC_SCTILE(0-11)
    ADC_AGG
    HW_RESOLVER

    There are some exceptions to these SoC-level resets.

    Tempsensor Only resets on POR so that it can be used as a Warm Reset source.
    TOP_CTRL registers related to Tempsensor Only resets on POR so that it can be used as a Warm Reset source.
    TOP_RCM registers related to warm reset cause Only reset on POR.
    MSS_RCM registers related to reset cause Only reset on POR.

    As HSMSS is reseted as part of Warm Reset and Cold Reset (POR), the boot flow w.r.t Warm Reset and Cold Reset remains the same.