Files
OpenEPaperLink/ap_fw/soc/zbs243/wdt.c
Jelmer f34586ecae fresh
2022-12-26 22:33:49 +01:00

59 lines
792 B
C

#include "cpu.h"
#include "wdt.h"
void wdtOn(void)
{
uint8_t cfgPageBck;
cfgPageBck = CFGPAGE;
CFGPAGE = 4;
WDTCONF |= 0x80;
WDTENA = 1;
CFGPAGE = cfgPageBck;
}
void wdtOff(void)
{
uint8_t cfgPageBck;
cfgPageBck = CFGPAGE;
CFGPAGE = 4;
WDTENA = 0;
WDTCONF &=~ 0x80;
CFGPAGE = cfgPageBck;
}
void wdtPet(void)
{
uint8_t cfgPageBck;
cfgPageBck = CFGPAGE;
CFGPAGE = 4;
WDTPET = 0;
CFGPAGE = cfgPageBck;
}
void wdtSetResetVal(uint32_t val) //also pets it
{
uint8_t cfgPageBck;
cfgPageBck = CFGPAGE;
CFGPAGE = 4;
WDTPET = 0;
WDTRSTVALH = val >> 16;
WDTRSTVALM = val >> 8;
WDTRSTVALL = val;
CFGPAGE = cfgPageBck;
}
void wdtDeviceReset(void)
{
CFGPAGE = 4;
WDTCONF = 0x80;
WDTENA = 1;
WDTRSTVALH = 0xff;
WDTRSTVALM = 0xff;
WDTRSTVALL = 0xff;
while(1);
}