projects
/
open-ath9k-htc-firmware.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
init.c: mark wlan_task as noreturn
[open-ath9k-htc-firmware.git]
/
target_firmware
/
magpie_fw_dev
/
target
/
init
/
init.c
diff --git
a/target_firmware/magpie_fw_dev/target/init/init.c
b/target_firmware/magpie_fw_dev/target/init/init.c
index 54885b24b497b2f9fc76e82257f1d9d2bf822f23..ba364471efeac8b9b5335ff6dd91a0eb6fcafdc8 100755
(executable)
--- a/
target_firmware/magpie_fw_dev/target/init/init.c
+++ b/
target_firmware/magpie_fw_dev/target/init/init.c
@@
-35,10
+35,10
@@
#if defined(_RAM_)
#include "athos_api.h"
#if defined(_RAM_)
#include "athos_api.h"
-
+#include "usb_defs.h"
+
#if defined(PROJECT_MAGPIE)
#include "regdump.h"
#if defined(PROJECT_MAGPIE)
#include "regdump.h"
-#include "usb_defs.h"
extern uint32_t *init_htc_handle;
uint8_t htc_complete_setup = 0;
void reset_EP4_FIFO(void);
extern uint32_t *init_htc_handle;
uint8_t htc_complete_setup = 0;
void reset_EP4_FIFO(void);
@@
-145,12
+145,12
@@
void exception_reset(struct register_dump_s *dump)
HAL_WORD_REG_WRITE(MAGPIE_REG_AHB_ARB_ADDR,
(HAL_WORD_REG_READ(MAGPIE_REG_AHB_ARB_ADDR)|BIT1));
HAL_WORD_REG_WRITE(MAGPIE_REG_AHB_ARB_ADDR,
(HAL_WORD_REG_READ(MAGPIE_REG_AHB_ARB_ADDR)|BIT1));
-
HAL_WORD_REG_WRITE((USB_CTRL_BASE_ADDRESS+0x118)
, 0x0);
+
USB_WORD_REG_WRITE(ZM_SOC_USB_DMA_RESET_OFFSET
, 0x0);
HAL_WORD_REG_WRITE(0x50010, HAL_WORD_REG_READ(0x50010)|BIT4);
A_DELAY_USECS(5);
HAL_WORD_REG_WRITE(0x50010, HAL_WORD_REG_READ(0x50010)&~BIT4);
A_DELAY_USECS(5);
HAL_WORD_REG_WRITE(0x50010, HAL_WORD_REG_READ(0x50010)|BIT4);
A_DELAY_USECS(5);
HAL_WORD_REG_WRITE(0x50010, HAL_WORD_REG_READ(0x50010)&~BIT4);
A_DELAY_USECS(5);
-
HAL_WORD_REG_WRITE((USB_CTRL_BASE_ADDRESS+0x118), 0x1
);
+
USB_WORD_REG_WRITE(ZM_SOC_USB_DMA_RESET_OFFSET, BIT0
);
// set clock to bypass mode - 40Mhz from XTAL
HAL_WORD_REG_WRITE(MAGPIE_REG_CPU_PLL_BYPASS_ADDR, (BIT0|BIT4));
// set clock to bypass mode - 40Mhz from XTAL
HAL_WORD_REG_WRITE(MAGPIE_REG_CPU_PLL_BYPASS_ADDR, (BIT0|BIT4));
@@
-166,9
+166,12
@@
void exception_reset(struct register_dump_s *dump)
MAGPIE_REG_USB_RX1_SWAP_DATA = 0x1;
MAGPIE_REG_USB_RX2_SWAP_DATA = 0x1;
MAGPIE_REG_USB_RX1_SWAP_DATA = 0x1;
MAGPIE_REG_USB_RX2_SWAP_DATA = 0x1;
- A_PRINTF("Jump to BOOT\n");
-
- // reboot.....
+ A_PRINTF("Cold reboot initiated.");
+#if defined(PROJECT_MAGPIE)
+ HAL_WORD_REG_WRITE(WATCH_DOG_MAGIC_PATTERN_ADDR, 0);
+#elif defined(PROJECT_K2)
+ HAL_WORD_REG_WRITE(MAGPIE_REG_RST_STATUS_ADDR, 0);
+#endif /* #if defined(PROJECT_MAGPIE) */
A_USB_JUMP_BOOT();
}
A_USB_JUMP_BOOT();
}
@@
-352,18
+355,11
@@
static void idle_task()
return;
}
return;
}
-void wlan_task(void)
+void
__noreturn
wlan_task(void)
{
loop_low=loop_high=0;
while(1) {
{
loop_low=loop_high=0;
while(1) {
-#if defined(PROJECT_MAGPIE)
- if (bJumptoFlash){
- bJumptoFlash = FALSE;
- break;
- }
-#endif
-
/* update wdt timer */
A_WDT_TASK();
/* update wdt timer */
A_WDT_TASK();
@@
-379,17
+375,9
@@
void wlan_task(void)
A_TASKLET_RUN();
A_TIMER_RUN();
A_TASKLET_RUN();
A_TIMER_RUN();
- /* Low priority tasks */
- if ((loop_low & 0xf) == 0) {
- }
-
/* Very low priority tasks */
/* Very low priority tasks */
- if ((loop_low & 0xfff) == 0x7) {
- if ((loop_low & 0x1000) == 0) {
- A_DBG_TASK();
- } else {
- }
- }
+ if ((loop_low & 0x1fff) == 0x7)
+ A_DBG_TASK();
idle_task();
}
idle_task();
}