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.

AM3358: Is nRESETIN_OUT driven low on software initiated reset?

Part Number: AM3358

I would like to reset our emmc using the nRESETIN_OUT whenever the AM3358 is reset including software initiated reboots.

The descriptions in section 8.1.7.4.1.1 of the TRM describe the functionality I'm looking for.  However it's not clear to me if this behavior (driving nRESETOUT low for PRCM.PRM_RSTTIME clock cycles) only applies when nRESETIN_OUT was externally driven low to cause a reset.  Or does this behavior also apply when the reset is caused by writing either bit to PRM_RSTCTRL?

I have tried watching nRESETIN_OUT on our custom board as well as a BeagleBone Black wireless and neither board shows nRESETIN_OUT going low during a software initiated reset.  I have tried removing all other components (other than the external pullup) from nRESETIN_OUT and still don't see any change during software resets.

What is the expected behavior of nRESETIN_OUT during a software initiated warm or cold reset?

  • Yes, RESETIN_OUT is driven low for any reset type (PORz, watchdog, software reset, etc.). Keep in mind that the PRM_RSTTIME register is only insensitive to warm resets. In other words, if you perform a cold reset then this register will flip back to its default value. If you're trying to change how long the reset is asserted, that will only be true of warm resets.

    One other potential consideration is that the downstream devices may require a cleaner transition of the reset signal when taking them out of reset. You may want to put a buffer or AND gate in between the processor and your eMMC in order to turn that signal into a push-pull signal with a cleaner, faster edge.

    Finally, since you're talking about eMMC, I wanted to point out that you need to actually configure a one-time writable bit in the eMMC in order to activate the reset functionality, i.e. if you don't explicitly enable this capability the reset signal won't actually do anything.
  • Yes, the cold reset was resetting my RSTTIME1 setting making the pulse too short to catch. Using a warm reset I'm able to see a 10 uS pulse (with RSTTIME1=0xFF and M_OSC=26MHz).

    I am able to configure the eMMC to use the rst pin. However I'm afraid that the nRESETIN_OUT pulse will be to short to reliably reset the eMMC. I don't want to condition and lengthen the reset signal to the eMMC because it is also the boot device and needs to be ready for AM3358 ROM to access it. Instead I think it would be better to use external circuitry to generate a longer (~10ms) low pulse on nRESETIN_OUT to reset both the AM3358 and eMMC simultaneously without relying on the output from the AM3358.