2 * Copyright (c) 2010 Broadcom Corporation
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
11 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
13 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 typedef struct wl_info wl_info_t
;
19 #include <d11ucode_ext.h>
22 extern int wl_ucode_init_buf(wl_info_t
*wl
, void **pbuf
, unsigned int idx
);
23 extern int wl_ucode_init_uint(wl_info_t
*wl
, unsigned *data
, unsigned int idx
);
24 extern int wl_ucode_data_init(wl_info_t
*wl
);
25 extern void wl_ucode_data_free(void);
26 extern void wl_ucode_free_buf(void *);
28 d11init_t
*d11lcn0bsinitvals24
;
29 d11init_t
*d11lcn0initvals24
;
30 d11init_t
*d11lcn1bsinitvals24
;
31 d11init_t
*d11lcn1initvals24
;
32 d11init_t
*d11lcn2bsinitvals24
;
33 d11init_t
*d11lcn2initvals24
;
34 d11init_t
*d11n0absinitvals16
;
35 d11init_t
*d11n0bsinitvals16
;
36 d11init_t
*d11n0initvals16
;
37 uint32
*bcm43xx_16_mimo
;
38 uint32 bcm43xx_16_mimosz
;
39 uint32
*bcm43xx_24_lcn
;
40 uint32 bcm43xx_24_lcnsz
;
41 uint32
*bcm43xx_bommajor
;
42 uint32
*bcm43xx_bomminor
;
44 int wl_ucode_data_init(wl_info_t
*wl
)
46 wl_ucode_init_buf(wl
, (void **)&d11lcn0bsinitvals24
,
48 wl_ucode_init_buf(wl
, (void **)&d11lcn0initvals24
, D11LCN0INITVALS24
);
49 wl_ucode_init_buf(wl
, (void **)&d11lcn1bsinitvals24
,
51 wl_ucode_init_buf(wl
, (void **)&d11lcn1initvals24
, D11LCN1INITVALS24
);
52 wl_ucode_init_buf(wl
, (void **)&d11lcn2bsinitvals24
,
54 wl_ucode_init_buf(wl
, (void **)&d11lcn2initvals24
, D11LCN2INITVALS24
);
55 wl_ucode_init_buf(wl
, (void **)&d11n0absinitvals16
, D11N0ABSINITVALS16
);
56 wl_ucode_init_buf(wl
, (void **)&d11n0bsinitvals16
, D11N0BSINITVALS16
);
57 wl_ucode_init_buf(wl
, (void **)&d11n0initvals16
, D11N0INITVALS16
);
58 wl_ucode_init_buf(wl
, (void **)&bcm43xx_16_mimo
,
59 D11UCODE_OVERSIGHT16_MIMO
);
60 wl_ucode_init_uint(wl
, &bcm43xx_16_mimosz
, D11UCODE_OVERSIGHT16_MIMOSZ
);
61 wl_ucode_init_buf(wl
, (void **)&bcm43xx_24_lcn
,
62 D11UCODE_OVERSIGHT24_LCN
);
63 wl_ucode_init_uint(wl
, &bcm43xx_24_lcnsz
, D11UCODE_OVERSIGHT24_LCNSZ
);
64 wl_ucode_init_buf(wl
, (void **)&bcm43xx_bommajor
,
65 D11UCODE_OVERSIGHT_BOMMAJOR
);
66 wl_ucode_init_buf(wl
, (void **)&bcm43xx_bomminor
,
67 D11UCODE_OVERSIGHT_BOMMINOR
);
72 void wl_ucode_data_free(void)
74 wl_ucode_free_buf((void *)d11lcn0bsinitvals24
);
75 wl_ucode_free_buf((void *)d11lcn0initvals24
);
76 wl_ucode_free_buf((void *)d11lcn1bsinitvals24
);
77 wl_ucode_free_buf((void *)d11lcn1initvals24
);
78 wl_ucode_free_buf((void *)d11lcn2bsinitvals24
);
79 wl_ucode_free_buf((void *)d11lcn2initvals24
);
80 wl_ucode_free_buf((void *)d11n0absinitvals16
);
81 wl_ucode_free_buf((void *)d11n0bsinitvals16
);
82 wl_ucode_free_buf((void *)d11n0initvals16
);
83 wl_ucode_free_buf((void *)bcm43xx_16_mimo
);
84 wl_ucode_free_buf((void *)bcm43xx_24_lcn
);
85 wl_ucode_free_buf((void *)bcm43xx_bommajor
);
86 wl_ucode_free_buf((void *)bcm43xx_bomminor
);