Using the API for Reset Management - 2023.2 English

Versal Adaptive SoC System Software Developers Guide (UG1304)

Document ID
Release Date
2023.2 English

There are EEMI APIs available which allow PUs to manage reset lines in the system. Each reset is identified by a unique ResetId. In case of Linux as a processor node, a set of available ResetIds are obtained from the device tree. Before a processor node can modify state of a reset line, it should request the peripheral device that is associated with that reset. See the XPm_RequestNode API in BSP and Libraries Document Collection (UG643) for more information.

Use the following APIs to manage resets:

  • XStatus XPm_ResetGetStatus(const u32 ResetId, u32 *const State)
    • State is either 1 (asserted), or 2 (released)
  • XStatus XPm_ResetAssert(const u32 ResetId, const u32 Action)
    • Action is either 0 (reset_release), 1 (reset_assert), or 2 (reset_pulse)