Commit | Line | Data |
---|---|---|
635d2b00 GKH |
1 | /***************************************************************************** |
2 | ||
95edd09e | 3 | (c) Cambridge Silicon Radio Limited 2012 |
635d2b00 GKH |
4 | All rights reserved and confidential information of CSR |
5 | ||
6 | Refer to LICENSE.txt included with this source for details | |
7 | on the license terms. | |
8 | ||
9 | *****************************************************************************/ | |
10 | ||
11 | /* | |
12 | ****************************************************************************** | |
13 | * FILE : csr_wifi_hip_card.h | |
14 | * | |
15 | * PURPOSE : Defines abstract interface for hardware specific functions. | |
16 | * Note, this is a different file from one of the same name in the | |
17 | * Windows driver. | |
18 | * | |
19 | ***************************************************************************** | |
20 | */ | |
21 | #ifndef __CARD_H__ | |
22 | #define __CARD_H__ | |
23 | ||
635d2b00 GKH |
24 | #include "csr_wifi_hip_card_sdio.h" |
25 | #include "csr_wifi_hip_signals.h" | |
26 | #include "csr_wifi_hip_unifi_udi.h" | |
27 | ||
28 | ||
29 | /***************************************************************************** | |
30 | * CardEnableInt - | |
31 | */ | |
32 | CsrResult CardEnableInt(card_t *card); | |
33 | ||
34 | /***************************************************************************** | |
35 | * CardGenInt - | |
36 | */ | |
37 | CsrResult CardGenInt(card_t *card); | |
38 | ||
39 | /***************************************************************************** | |
40 | * CardPendingInt - | |
41 | */ | |
5379b13d | 42 | CsrResult CardPendingInt(card_t *card, u8 *pintr); |
635d2b00 GKH |
43 | |
44 | /***************************************************************************** | |
45 | * CardDisableInt - | |
46 | */ | |
47 | CsrResult CardDisableInt(card_t *card); | |
48 | ||
49 | /***************************************************************************** | |
50 | * CardClearInt - | |
51 | */ | |
52 | CsrResult CardClearInt(card_t *card); | |
53 | ||
54 | /***************************************************************************** | |
55 | * CardDisable - | |
56 | */ | |
57 | void CardDisable(card_t *card); | |
58 | ||
59 | /***************************************************************************** | |
60 | * CardIntEnabled - | |
61 | */ | |
5379b13d | 62 | CsrResult CardIntEnabled(card_t *card, u8 *enabled); |
635d2b00 GKH |
63 | |
64 | /***************************************************************************** | |
65 | * CardGetDataSlotSize | |
66 | */ | |
8c87f69a | 67 | u16 CardGetDataSlotSize(card_t *card); |
635d2b00 GKH |
68 | |
69 | /***************************************************************************** | |
70 | * CardWriteBulkData - | |
71 | */ | |
72 | CsrResult CardWriteBulkData(card_t *card, card_signal_t *csptr, unifi_TrafficQueue queue); | |
73 | ||
74 | ||
75 | /***************************************************************************** | |
76 | * CardClearFromHostDataSlot - | |
77 | */ | |
ab2b8c73 | 78 | void CardClearFromHostDataSlot(card_t *card, const s16 aSlotNum); |
635d2b00 | 79 | |
95edd09e GKH |
80 | #ifdef CSR_WIFI_REQUEUE_PACKET_TO_HAL |
81 | /***************************************************************************** | |
82 | * CardClearFromHostDataSlotWithoutFreeingBulkData - Clear the data stot | |
83 | * without freeing the bulk data | |
84 | */ | |
85 | ||
ab2b8c73 | 86 | void CardClearFromHostDataSlotWithoutFreeingBulkData(card_t *card, const s16 aSlotNum); |
95edd09e GKH |
87 | #endif |
88 | ||
635d2b00 GKH |
89 | /***************************************************************************** |
90 | * CardGetFreeFromHostDataSlots - | |
91 | */ | |
8c87f69a | 92 | u16 CardGetFreeFromHostDataSlots(card_t *card); |
635d2b00 | 93 | |
8c87f69a | 94 | u16 CardAreAllFromHostDataSlotsEmpty(card_t *card); |
635d2b00 GKH |
95 | |
96 | CsrResult card_start_processor(card_t *card, enum unifi_dbg_processors_select which); | |
97 | ||
26a6b2e1 | 98 | CsrResult card_wait_for_firmware_to_start(card_t *card, u32 *paddr); |
635d2b00 GKH |
99 | |
100 | CsrResult unifi_dl_firmware(card_t *card, void *arg); | |
26a6b2e1 GKH |
101 | CsrResult unifi_dl_patch(card_t *card, void *arg, u32 boot_ctrl); |
102 | CsrResult unifi_do_loader_op(card_t *card, u32 op_addr, u8 opcode); | |
163eb0d8 | 103 | void* unifi_dl_fw_read_start(card_t *card, s8 is_fw); |
635d2b00 GKH |
104 | |
105 | CsrResult unifi_coredump_handle_request(card_t *card); | |
106 | ||
107 | CsrResult ConvertCsrSdioToCsrHipResult(card_t *card, CsrResult csrResult); | |
108 | #ifdef CSR_WIFI_HIP_DEBUG_OFFLINE | |
c781b96b GKH |
109 | void unifi_debug_log_to_buf(const char *fmt, ...); |
110 | void unifi_debug_string_to_buf(const char *str); | |
111 | void unifi_debug_hex_to_buf(const char *buff, u16 length); | |
635d2b00 GKH |
112 | #endif |
113 | ||
635d2b00 | 114 | #endif /* __CARD_H__ */ |