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 PM master, a
set of available ResetIds are obtained from the device tree. Before a PM master can
modify state of a reset line, it should request the slave device that is associated with
that reset. See the XPm_RequestNode
API in
OS 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)