brcmfmac: remove unnecessary EXPORT_SYMBOL() usage
[deliverable/linux.git] / drivers / net / wireless / b43 / radio_2059.c
1 /*
2
3 Broadcom B43 wireless driver
4 IEEE 802.11n 2059 radio device data tables
5
6 Copyright (c) 2011 Rafał Miłecki <zajec5@gmail.com>
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 as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; see the file COPYING. If not, write to
20 the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor,
21 Boston, MA 02110-1301, USA.
22
23 */
24
25 #include "b43.h"
26 #include "radio_2059.h"
27
28 #define RADIOREGS(r00, r01, r02, r03, r04, r05, r06, r07, r08, r09, \
29 r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, \
30 r20) \
31 .radio_syn16 = r00, \
32 .radio_syn17 = r01, \
33 .radio_syn22 = r02, \
34 .radio_syn25 = r03, \
35 .radio_syn27 = r04, \
36 .radio_syn28 = r05, \
37 .radio_syn29 = r06, \
38 .radio_syn2c = r07, \
39 .radio_syn2d = r08, \
40 .radio_syn37 = r09, \
41 .radio_syn41 = r10, \
42 .radio_syn43 = r11, \
43 .radio_syn47 = r12, \
44 .radio_rxtx4a = r13, \
45 .radio_rxtx58 = r14, \
46 .radio_rxtx5a = r15, \
47 .radio_rxtx6a = r16, \
48 .radio_rxtx6d = r17, \
49 .radio_rxtx6e = r18, \
50 .radio_rxtx92 = r19, \
51 .radio_rxtx98 = r20
52
53 #define PHYREGS(r0, r1, r2, r3, r4, r5) \
54 .phy_regs.bw1 = r0, \
55 .phy_regs.bw2 = r1, \
56 .phy_regs.bw3 = r2, \
57 .phy_regs.bw4 = r3, \
58 .phy_regs.bw5 = r4, \
59 .phy_regs.bw6 = r5
60
61 static const struct b43_phy_ht_channeltab_e_radio2059 b43_phy_ht_channeltab_radio2059[] = {
62 { .freq = 2412,
63 RADIOREGS(0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c,
64 0x09, 0x0f, 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x03,
65 0x00, 0x00, 0x00, 0xf0, 0x00),
66 PHYREGS(0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443),
67 },
68 { .freq = 2417,
69 RADIOREGS(0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71,
70 0x09, 0x0f, 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x03,
71 0x00, 0x00, 0x00, 0xf0, 0x00),
72 PHYREGS(0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441),
73 },
74 { .freq = 2422,
75 RADIOREGS(0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76,
76 0x09, 0x0f, 0x09, 0x00, 0x09, 0x00, 0x61, 0x03,
77 0x00, 0x00, 0x00, 0xf0, 0x00),
78 PHYREGS(0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f),
79 },
80 { .freq = 2427,
81 RADIOREGS(0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b,
82 0x09, 0x0f, 0x09, 0x00, 0x09, 0x00, 0x61, 0x03,
83 0x00, 0x00, 0x00, 0xf0, 0x00),
84 PHYREGS(0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d),
85 },
86 { .freq = 2432,
87 RADIOREGS(0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80,
88 0x09, 0x0f, 0x08, 0x00, 0x08, 0x00, 0x61, 0x03,
89 0x00, 0x00, 0x00, 0xf0, 0x00),
90 PHYREGS(0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a),
91 },
92 { .freq = 2437,
93 RADIOREGS(0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85,
94 0x09, 0x0f, 0x08, 0x00, 0x08, 0x00, 0x61, 0x03,
95 0x00, 0x00, 0x00, 0xf0, 0x00),
96 PHYREGS(0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438),
97 },
98 { .freq = 2442,
99 RADIOREGS(0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a,
100 0x09, 0x0f, 0x07, 0x00, 0x07, 0x00, 0x61, 0x03,
101 0x00, 0x00, 0x00, 0xf0, 0x00),
102 PHYREGS(0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436),
103 },
104 { .freq = 2447,
105 RADIOREGS(0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f,
106 0x09, 0x0f, 0x07, 0x00, 0x07, 0x00, 0x61, 0x03,
107 0x00, 0x00, 0x00, 0xf0, 0x00),
108 PHYREGS(0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434),
109 },
110 { .freq = 2452,
111 RADIOREGS(0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94,
112 0x09, 0x0f, 0x07, 0x00, 0x07, 0x00, 0x61, 0x03,
113 0x00, 0x00, 0x00, 0xf0, 0x00),
114 PHYREGS(0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431),
115 },
116 { .freq = 2457,
117 RADIOREGS(0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99,
118 0x09, 0x0f, 0x06, 0x00, 0x06, 0x00, 0x61, 0x03,
119 0x00, 0x00, 0x00, 0xf0, 0x00),
120 PHYREGS(0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f),
121 },
122 { .freq = 2462,
123 RADIOREGS(0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e,
124 0x09, 0x0f, 0x06, 0x00, 0x06, 0x00, 0x61, 0x03,
125 0x00, 0x00, 0x00, 0xf0, 0x00),
126 PHYREGS(0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d),
127 },
128 { .freq = 2467,
129 RADIOREGS(0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3,
130 0x09, 0x0f, 0x05, 0x00, 0x05, 0x00, 0x61, 0x03,
131 0x00, 0x00, 0x00, 0xf0, 0x00),
132 PHYREGS(0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b),
133 },
134 { .freq = 2472,
135 RADIOREGS(0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8,
136 0x09, 0x0f, 0x05, 0x00, 0x05, 0x00, 0x61, 0x03,
137 0x00, 0x00, 0x00, 0xf0, 0x00),
138 PHYREGS(0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429),
139 },
140 };
141
142 const struct b43_phy_ht_channeltab_e_radio2059
143 *b43_phy_ht_get_channeltab_e_r2059(struct b43_wldev *dev, u16 freq)
144 {
145 const struct b43_phy_ht_channeltab_e_radio2059 *e;
146 unsigned int i;
147
148 e = b43_phy_ht_channeltab_radio2059;
149 for (i = 0; i < ARRAY_SIZE(b43_phy_ht_channeltab_radio2059); i++, e++) {
150 if (e->freq == freq)
151 return e;
152 }
153
154 return NULL;
155 }
This page took 0.035634 seconds and 5 git commands to generate.