Using the API for Reset Management - 2023.2 English

Versal Adaptive SoC System Software Developers Guide (UG1304)

Document ID
UG1304
Release Date
2023-10-18
Version
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)