Root/drivers/staging/csr/csr_wifi_hip_card.h

1/*****************************************************************************
2
3            (c) Cambridge Silicon Radio Limited 2012
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
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28#include "csr_wifi_hip_card_sdio.h"
29#include "csr_wifi_hip_signals.h"
30#include "csr_wifi_hip_unifi_udi.h"
31
32
33/*****************************************************************************
34 * CardEnableInt -
35 */
36CsrResult CardEnableInt(card_t *card);
37
38/*****************************************************************************
39 * CardGenInt -
40 */
41CsrResult CardGenInt(card_t *card);
42
43/*****************************************************************************
44 * CardPendingInt -
45 */
46CsrResult CardPendingInt(card_t *card, u8 *pintr);
47
48/*****************************************************************************
49 * CardDisableInt -
50 */
51CsrResult CardDisableInt(card_t *card);
52
53/*****************************************************************************
54 * CardClearInt -
55 */
56CsrResult CardClearInt(card_t *card);
57
58/*****************************************************************************
59 * CardDisable -
60 */
61void CardDisable(card_t *card);
62
63/*****************************************************************************
64 * CardIntEnabled -
65 */
66CsrResult CardIntEnabled(card_t *card, u8 *enabled);
67
68/*****************************************************************************
69 * CardGetDataSlotSize
70 */
71u16 CardGetDataSlotSize(card_t *card);
72
73/*****************************************************************************
74 * CardWriteBulkData -
75 */
76CsrResult CardWriteBulkData(card_t *card, card_signal_t *csptr, unifi_TrafficQueue queue);
77
78
79/*****************************************************************************
80 * CardClearFromHostDataSlot -
81 */
82void CardClearFromHostDataSlot(card_t *card, const s16 aSlotNum);
83
84#ifdef CSR_WIFI_REQUEUE_PACKET_TO_HAL
85/*****************************************************************************
86 * CardClearFromHostDataSlotWithoutFreeingBulkData - Clear the data stot
87 * without freeing the bulk data
88 */
89
90void CardClearFromHostDataSlotWithoutFreeingBulkData(card_t *card, const s16 aSlotNum);
91#endif
92
93/*****************************************************************************
94 * CardGetFreeFromHostDataSlots -
95 */
96u16 CardGetFreeFromHostDataSlots(card_t *card);
97
98u16 CardAreAllFromHostDataSlotsEmpty(card_t *card);
99
100CsrResult card_start_processor(card_t *card, enum unifi_dbg_processors_select which);
101
102CsrResult card_wait_for_firmware_to_start(card_t *card, u32 *paddr);
103
104CsrResult unifi_dl_firmware(card_t *card, void *arg);
105CsrResult unifi_dl_patch(card_t *card, void *arg, u32 boot_ctrl);
106CsrResult unifi_do_loader_op(card_t *card, u32 op_addr, u8 opcode);
107void* unifi_dl_fw_read_start(card_t *card, s8 is_fw);
108
109CsrResult unifi_coredump_handle_request(card_t *card);
110
111CsrResult ConvertCsrSdioToCsrHipResult(card_t *card, CsrResult csrResult);
112#ifdef CSR_WIFI_HIP_DEBUG_OFFLINE
113void unifi_debug_log_to_buf(const char *fmt, ...);
114void unifi_debug_string_to_buf(const char *str);
115void unifi_debug_hex_to_buf(const char *buff, u16 length);
116#endif
117
118
119#ifdef __cplusplus
120}
121#endif
122
123#endif /* __CARD_H__ */
124

Archive Download this file



interactive