X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=carlfw%2Fsrc%2Fmain.c;h=92b74a0a12a37316d930fccb3ecef19746940cbd;hb=ab43d8cf291c5a517841ac0ae445c9bc6d74cf5c;hp=bfcd341fb06cd97ad107949be3bfca1a89c1bb9a;hpb=e8d747355467293087e6818a19073627b0528fce;p=carl9170fw.git diff --git a/carlfw/src/main.c b/carlfw/src/main.c index bfcd341..92b74a0 100644 --- a/carlfw/src/main.c +++ b/carlfw/src/main.c @@ -29,6 +29,7 @@ #include "printf.h" #include "gpio.h" #include "wl.h" +#include "rf.h" #include "usb.h" #define AR9170_WATCH_DOG_TIMER 0x100 @@ -52,10 +53,14 @@ void clock_set(enum cpu_clock_t clock_, bool on) * This setting does more than just mess with the CPU Clock. * So watch out, if you need _stable_ timer interrupts. */ +#ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS if (fw.phy.frequency < 3000000) set(AR9170_PWR_REG_PLL_ADDAC, 0x5163); else set(AR9170_PWR_REG_PLL_ADDAC, 0x5143); +#else + set(AR9170_PWR_REG_PLL_ADDAC, 0x5163); +#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIONS */ fw.ticks_per_usec = GET_VAL(AR9170_PWR_PLL_ADDAC_DIV, get(AR9170_PWR_REG_PLL_ADDAC)); @@ -71,10 +76,6 @@ void clock_set(enum cpu_clock_t clock_, bool on) case AHB_80_88MHZ: break; } - - timer_init(1, (fw.ticks_per_usec * 25) >> 1); - - INFO("SET CLOCK c:%d t:%d tt:%d f:%d\n", clock_, fw.ticks_per_usec, (fw.ticks_per_usec * 25) >> 1, fw.phy.frequency); } static void init(void) @@ -133,15 +134,15 @@ static void timer0_isr(void) gpio_timer(); #endif /* CONFIG_CARL9170FW_GPIO_INTERRUPT */ +#ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS + tally_update(); +#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIONS */ + #ifdef CONFIG_CARL9170FW_DEBUG_LED_HEARTBEAT set(AR9170_GPIO_REG_PORT_DATA, get(AR9170_GPIO_REG_PORT_DATA) ^ 1); #endif /* CONFIG_CARL9170FW_DEBUG_LED_HEARTBEAT */ } -static void timer1_isr(void) -{ -} - static void handle_timer(void) { uint32_t intr; @@ -161,8 +162,6 @@ static void handle_timer(void) HANDLER(intr, BIT(0), timer0_isr); - HANDLER(intr, BIT(1), timer1_isr); - if (intr) DBG("Unhandled Timer Event %x", (unsigned int) intr);