Add ar6000 wireless driver.
[kernel.git] / drivers / ar6000 / include / bmi.h
1 #ifndef _BMI_H_
2 #define _BMI_H_
3 /*
4  * Copyright (c) 2004-2005 Atheros Communications Inc.
5  * All rights reserved.
6  *
7  *
8  *  This program is free software; you can redistribute it and/or modify
9  *  it under the terms of the GNU General Public License version 2 as
10  *  published by the Free Software Foundation;
11  *
12  *  Software distributed under the License is distributed on an "AS
13  *  IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
14  *  implied. See the License for the specific language governing
15  *  rights and limitations under the License.
16  *
17  *
18  *
19  * BMI declarations and prototypes
20  */
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif /* __cplusplus */
25
26 /* Header files */
27 #include "a_config.h"
28 #include "athdefs.h"
29 #include "a_types.h"
30 #include "hif.h"
31 #include "a_osapi.h"
32 #include "bmi_msg.h"
33
34 void
35 BMIInit(void);
36
37 A_STATUS
38 BMIDone(HIF_DEVICE *device);
39
40 A_STATUS
41 BMIGetTargetInfo(HIF_DEVICE *device, struct bmi_target_info *targ_info);
42
43 A_STATUS
44 BMIReadMemory(HIF_DEVICE *device,
45               A_UINT32 address,
46               A_UCHAR *buffer,
47               A_UINT32 length);
48
49 A_STATUS
50 BMIWriteMemory(HIF_DEVICE *device,
51                A_UINT32 address,
52                A_UCHAR *buffer,
53                A_UINT32 length);
54
55 A_STATUS
56 BMIExecute(HIF_DEVICE *device,
57            A_UINT32 address,
58            A_UINT32 *param);
59
60 A_STATUS
61 BMISetAppStart(HIF_DEVICE *device,
62                A_UINT32 address);
63
64 A_STATUS
65 BMIReadSOCRegister(HIF_DEVICE *device,
66                    A_UINT32 address,
67                    A_UINT32 *param);
68
69 A_STATUS
70 BMIWriteSOCRegister(HIF_DEVICE *device,
71                     A_UINT32 address,
72                     A_UINT32 param);
73
74 A_STATUS
75 BMIrompatchInstall(HIF_DEVICE *device,
76                    A_UINT32 ROM_addr,
77                    A_UINT32 RAM_addr,
78                    A_UINT32 nbytes,
79                    A_UINT32 do_activate,
80                    A_UINT32 *patch_id);
81
82 A_STATUS
83 BMIrompatchUninstall(HIF_DEVICE *device,
84                      A_UINT32 rompatch_id);
85
86 A_STATUS
87 BMIrompatchActivate(HIF_DEVICE *device,
88                     A_UINT32 rompatch_count,
89                     A_UINT32 *rompatch_list);
90
91 A_STATUS
92 BMIrompatchDeactivate(HIF_DEVICE *device,
93                       A_UINT32 rompatch_count,
94                       A_UINT32 *rompatch_list);
95
96 #ifdef __cplusplus
97 }
98 #endif
99
100 #endif /* _BMI_H_ */