d3a59f9780e3629040caf9e458b7b6100a822dd5
[open-ath9k-htc-firmware.git] / target_firmware / magpie_fw_dev / target / rompatch / HIF_usb_patch.c
1 #include "sys_cfg.h"\r
2 #include "dt_defs.h"\r
3 #include "reg_defs.h"\r
4 \r
5 #include <osapi.h>\r
6 #include <hif_api.h>\r
7 #include <Magpie_api.h>\r
8 #include <vdesc_api.h>\r
9 #include <adf_os_mem.h> \r
10 #include <adf_os_io.h>\r
11 \r
12 #include "hif_usb.h"\r
13 \r
14 /*\r
15  * -- support more than 64 bytes command on ep4 -- \r
16  */\r
17 int _HIFusb_get_max_msg_len_patch(hif_handle_t handle, int pipe)\r
18 {\r
19     switch(pipe) {\r
20         case HIF_USB_PIPE_INTERRUPT:\r
21         case HIF_USB_PIPE_COMMAND:\r
22             return 512;\r
23             \r
24         default:\r
25             return 1600;\r
26     }\r
27 }\r
28 \r
29 /*\r
30  * -- move the usb_task to here --\r
31  */\r
32 void _HIFusb_isr_handler_patch(hif_handle_t h)\r
33 {\r
34     A_USB_FW_TASK();\r
35 \r
36     _HIFusb_isr_handler();\r
37 }\r
38 \r
39 \r
40 /*\r
41  * -- reset usb dma --\r
42  *\r
43  * - make sure DMA_START bit0 is zero\r
44  * - update DMA_START bit4 to 1\r
45  * - update DESC_START_ADDR\r
46  * - update DMA_START bit 0\r
47  */\r
48 void _HIFusb_start_patch(hif_handle_t handle) \r
49 {\r
50     MAGPIE_REG_USB_TX0_DMA_START = 0x0;\r
51     MAGPIE_REG_USB_RX0_DMA_START = 0x0;\r
52     MAGPIE_REG_USB_RX1_DMA_START = 0x0;\r
53     MAGPIE_REG_USB_RX2_DMA_START = 0x0;\r
54     \r
55     while( 1 )\r
56     {\r
57         if(!MAGPIE_REG_USB_TX0_DMA_START &&\r
58            !MAGPIE_REG_USB_RX0_DMA_START &&\r
59            !MAGPIE_REG_USB_RX1_DMA_START &&\r
60            !MAGPIE_REG_USB_RX2_DMA_START )\r
61         {\r
62             MAGPIE_REG_USB_TX0_DMA_START = MAGPIE_REG_USB_TX0_DMA_START|BIT4; \r
63             MAGPIE_REG_USB_RX0_DMA_START = MAGPIE_REG_USB_RX0_DMA_START|BIT4;\r
64             MAGPIE_REG_USB_RX1_DMA_START = MAGPIE_REG_USB_RX1_DMA_START|BIT4;\r
65             MAGPIE_REG_USB_RX2_DMA_START = MAGPIE_REG_USB_RX2_DMA_START|BIT4;\r
66             break;\r
67         }\r
68     }\r
69     _HIFusb_start();\r
70 }\r