#include <stdbool.h>#include <stdint.h>#include "../inc/hw_types.h"#include "../inc/hw_memmap.h"#include "../inc/hw_ints.h"#include "../inc/hw_sysctl.h"#include "../inc/hw_prcm.h"#include "../inc/hw_nvic.h"#include "../inc/hw_aon_ioc.h"#include "../inc/hw_ddi_0_osc.h"#include "../inc/hw_rfc_pwr.h"#include "../inc/hw_adi_3_refsys.h"#include "../inc/hw_aon_pmctl.h"#include "../inc/hw_aon_rtc.h"#include "../inc/hw_fcfg1.h"#include "interrupt.h"#include "debug.h"#include "pwr_ctrl.h"#include "osc.h"#include "prcm.h"#include "adi.h"#include "ddi.h"#include "cpu.h"#include "vims.h"Macros | |
| #define | SYSCTRL_SYSBUS_ON 0x00000001 |
| #define | SYSCTRL_SYSBUS_OFF 0x00000000 |
| #define | CPU_RUN 0x00000000 |
| #define | CPU_SLEEP 0x00000001 |
| #define | CPU_DEEP_SLEEP 0x00000002 |
| #define | XOSC_IN_HIGH_POWER_MODE 0 |
| #define | XOSC_IN_LOW_POWER_MODE 1 |
| #define | VIMS_ON_CPU_ON_MODE 0 |
| #define | VIMS_ON_BUS_ON_MODE 1 |
| #define | VIMS_NO_PWR_UP_MODE 2 |
| #define | SYSCTRL_PREFERRED_RECHARGE_MODE 0xFFFFFFFF |
| #define | RSTSRC_PWR_ON (( AON_PMCTL_RESETCTL_RESET_SRC_PWR_ON ) >> ( AON_PMCTL_RESETCTL_RESET_SRC_S )) |
| #define | RSTSRC_PIN_RESET (( AON_PMCTL_RESETCTL_RESET_SRC_PIN_RESET ) >> ( AON_PMCTL_RESETCTL_RESET_SRC_S )) |
| #define | RSTSRC_VDDS_LOSS (( AON_PMCTL_RESETCTL_RESET_SRC_VDDS_LOSS ) >> ( AON_PMCTL_RESETCTL_RESET_SRC_S )) |
| #define | RSTSRC_VDDR_LOSS (( AON_PMCTL_RESETCTL_RESET_SRC_VDDR_LOSS ) >> ( AON_PMCTL_RESETCTL_RESET_SRC_S )) |
| #define | RSTSRC_CLK_LOSS (( AON_PMCTL_RESETCTL_RESET_SRC_CLK_LOSS ) >> ( AON_PMCTL_RESETCTL_RESET_SRC_S )) |
| #define | RSTSRC_SYSRESET (( AON_PMCTL_RESETCTL_RESET_SRC_SYSRESET ) >> ( AON_PMCTL_RESETCTL_RESET_SRC_S )) |
| #define | RSTSRC_WARMRESET (( AON_PMCTL_RESETCTL_RESET_SRC_WARMRESET ) >> ( AON_PMCTL_RESETCTL_RESET_SRC_S )) |
| #define | RSTSRC_WAKEUP_FROM_SHUTDOWN ((( AON_PMCTL_RESETCTL_RESET_SRC_M ) >> ( AON_PMCTL_RESETCTL_RESET_SRC_S )) + 1 ) |
| #define | RSTSRC_WAKEUP_FROM_TCK_NOISE ((( AON_PMCTL_RESETCTL_RESET_SRC_M ) >> ( AON_PMCTL_RESETCTL_RESET_SRC_S )) + 2 ) |
Functions | |
| void | SysCtrlIdle (uint32_t vimsPdMode) |
| Force the system into idle mode. More... | |
| void | SysCtrlShutdownWithAbort (void) |
| Try to enter shutdown but abort if wakeup event happened before shutdown. More... | |
| void | SysCtrlShutdown (void) |
| Enable shutdown of the device. More... | |
| void | SysCtrlStandby (bool retainCache, uint32_t vimsPdMode, uint32_t rechargeMode) |
| Force the system into standby mode. More... | |
| static uint32_t | SysCtrlClockGet (void) |
| Get the CPU core clock frequency. More... | |
| static void | SysCtrlAonSync (void) |
| Sync all accesses to the AON register interface. More... | |
| static void | SysCtrlAonUpdate (void) |
| Update all interfaces to AON. More... | |
| void | SysCtrlSetRechargeBeforePowerDown (uint32_t xoscPowerMode) |
| Set Recharge values before entering Power Down. More... | |
| void | SysCtrlAdjustRechargeAfterPowerDown (uint32_t vddrRechargeMargin) |
| Adjust Recharge calculations to be used next. More... | |
| void | SysCtrl_DCDC_VoltageConditionalControl (void) |
| Turns DCDC on or off depending of what is considered to be optimal usage. More... | |
| uint32_t | SysCtrlResetSourceGet (void) |
| Returns the reset source (including "wakeup from shutdown"). More... | |
| static void | SysCtrlSystemReset (void) |
| Perform a full system reset. More... | |
| static void | SysCtrlClockLossResetEnable (void) |
| Enables reset if OSC clock loss event is asserted. More... | |
| static void | SysCtrlClockLossResetDisable (void) |
| Disables reset due to OSC clock loss event. More... | |