static void RaWdgStart(void) { /* * For user easy configuration, We assume the unit of watch dog timer is 1s, * so we need to calculate the TMR1LOAD value. * * Unit= 1/(SysClk/65536), 1 Sec = (SysClk)/65536 * */ SetTimerMode(TMR1CTL,WATCHDOG); SetWdgTimerClock(TMR1CTL,SYS_CLK_DIV65536); #if defined (CONFIG_RALINK_RT2880) || defined (CONFIG_RALINK_RT2883) || \ defined (CONFIG_RALINK_RT3052) || defined (CONFIG_RALINK_RT3883) WdgLoadValue = WATCHDOG_TIMEOUT * (get_surfboard_sysclk()/65536); #elif defined (CONFIG_RALINK_RT63365) WdgLoadValue = WATCHDOG_TIMEOUT * (25000000 / 2); //FIXME #else WdgLoadValue = WATCHDOG_TIMEOUT * (40000000/65536); //fixed at 40Mhz #endif sysRegWrite(TMR1LOAD, WdgLoadValue); SetWdgTimerEbl(TMR1CTL,1); printk(KERN_INFO "Started WatchDog Timer.\n"); }
static void RaWdgStart(void) { #if defined (CONFIG_RALINK_RT6855A) int HwConf; #endif printk(KERN_INFO "Started WatchDog Timer.\n"); SetTimerMode(TMR1CTL,WATCHDOG); #if defined (CONFIG_RALINK_RT2880) || defined (CONFIG_RALINK_RT2883) || \ defined (CONFIG_RALINK_RT3052) || defined (CONFIG_RALINK_RT3883) /* * For user easy configuration, We assume the unit of watch dog timer is 1s, * so we need to calculate the TMR1LOAD value. * * Unit= 1/(SysClk/65536), 1 Sec = (SysClk)/65536 * */ SetWdgTimerClock(TMR1CTL,SYS_CLK_DIV65536); WdgLoadValue = WATCHDOG_TIMEOUT * (get_surfboard_sysclk()/65536); #elif defined (CONFIG_RALINK_RT6855A) HwConf = sysRegRead(RALINK_SYSCTL_BASE + 0x8c); if(((HwConf >> 24) & 0x3) == 0) { //SDR WdgLoadValue = WATCHDOG_TIMEOUT * (140 * 1000 * 1000 / 2); }else { if(((HwConf >> 26) & 0x1) == 0) {
VOID InitSound(BYTE timer) { SndTmr = timer; SetTimerMode(SndTmr, TMM_16BIT); SetTimerIsrHandler(SndTmr, TmrIsr); SetTimerIsrPriority(SndTmr, IP_HIGH); }