Lines Matching refs:dev

75 static void rtl8187se_three_wire_io(struct ieee80211_hw *dev, u8 *data,  in rtl8187se_three_wire_io()  argument
78 struct rtl8180_priv *priv = dev->priv; in rtl8187se_three_wire_io()
90 wiphy_err(dev->wiphy, PFX in rtl8187se_three_wire_io()
108 wiphy_err(dev->wiphy, PFX in rtl8187se_three_wire_io()
132 static u32 rtl8187se_rf_readreg(struct ieee80211_hw *dev, u8 addr) in rtl8187se_rf_readreg() argument
135 rtl8187se_three_wire_io(dev, (u8 *)&dataread, 16, 0); in rtl8187se_rf_readreg()
139 static void rtl8187se_rf_writereg(struct ieee80211_hw *dev, u8 addr, u32 data) in rtl8187se_rf_writereg() argument
142 rtl8187se_three_wire_io(dev, (u8 *)&outdata, 16, 1); in rtl8187se_rf_writereg()
146 static void rtl8225se_write_zebra_agc(struct ieee80211_hw *dev) in rtl8225se_write_zebra_agc() argument
151 rtl8225se_write_phy_ofdm(dev, 0xF, ZEBRA_AGC[i]); in rtl8225se_write_zebra_agc()
152 rtl8225se_write_phy_ofdm(dev, 0xE, i+0x80); in rtl8225se_write_zebra_agc()
153 rtl8225se_write_phy_ofdm(dev, 0xE, 0); in rtl8225se_write_zebra_agc()
157 static void rtl8187se_write_ofdm_config(struct ieee80211_hw *dev) in rtl8187se_write_ofdm_config() argument
163 rtl8225se_write_phy_ofdm(dev, i, OFDM_CONFIG[i]); in rtl8187se_write_ofdm_config()
167 static void rtl8225sez2_rf_set_tx_power(struct ieee80211_hw *dev, int channel) in rtl8225sez2_rf_set_tx_power() argument
169 struct rtl8180_priv *priv = dev->priv; in rtl8225sez2_rf_set_tx_power()
186 rtl8225se_write_phy_ofdm(dev, 7, 0x5C); in rtl8225sez2_rf_set_tx_power()
187 rtl8225se_write_phy_ofdm(dev, 9, 0x5C); in rtl8225sez2_rf_set_tx_power()
190 rtl8225se_write_phy_ofdm(dev, 7, 0x54); in rtl8225sez2_rf_set_tx_power()
191 rtl8225se_write_phy_ofdm(dev, 9, 0x54); in rtl8225sez2_rf_set_tx_power()
193 rtl8225se_write_phy_ofdm(dev, 7, 0x50); in rtl8225sez2_rf_set_tx_power()
194 rtl8225se_write_phy_ofdm(dev, 9, 0x50); in rtl8225sez2_rf_set_tx_power()
200 static void rtl8187se_write_rf_gain(struct ieee80211_hw *dev) in rtl8187se_write_rf_gain() argument
205 rtl8187se_rf_writereg(dev, 0x01, i); mdelay(1); in rtl8187se_write_rf_gain()
206 rtl8187se_rf_writereg(dev, 0x02, RF_GAIN_TABLE[i]); mdelay(1); in rtl8187se_write_rf_gain()
210 static void rtl8187se_write_initial_gain(struct ieee80211_hw *dev, in rtl8187se_write_initial_gain() argument
215 rtl8225se_write_phy_ofdm(dev, 0x17, 0x26); mdelay(1); in rtl8187se_write_initial_gain()
216 rtl8225se_write_phy_ofdm(dev, 0x24, 0x86); mdelay(1); in rtl8187se_write_initial_gain()
217 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFA); mdelay(1); in rtl8187se_write_initial_gain()
220 rtl8225se_write_phy_ofdm(dev, 0x17, 0x36); mdelay(1); in rtl8187se_write_initial_gain()
221 rtl8225se_write_phy_ofdm(dev, 0x24, 0x86); mdelay(1); in rtl8187se_write_initial_gain()
222 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFA); mdelay(1); in rtl8187se_write_initial_gain()
225 rtl8225se_write_phy_ofdm(dev, 0x17, 0x36); mdelay(1); in rtl8187se_write_initial_gain()
226 rtl8225se_write_phy_ofdm(dev, 0x24, 0x86); mdelay(1); in rtl8187se_write_initial_gain()
227 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFB); mdelay(1); in rtl8187se_write_initial_gain()
230 rtl8225se_write_phy_ofdm(dev, 0x17, 0x46); mdelay(1); in rtl8187se_write_initial_gain()
231 rtl8225se_write_phy_ofdm(dev, 0x24, 0x86); mdelay(1); in rtl8187se_write_initial_gain()
232 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFB); mdelay(1); in rtl8187se_write_initial_gain()
235 rtl8225se_write_phy_ofdm(dev, 0x17, 0x46); mdelay(1); in rtl8187se_write_initial_gain()
236 rtl8225se_write_phy_ofdm(dev, 0x24, 0x96); mdelay(1); in rtl8187se_write_initial_gain()
237 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFB); mdelay(1); in rtl8187se_write_initial_gain()
240 rtl8225se_write_phy_ofdm(dev, 0x17, 0x56); mdelay(1); in rtl8187se_write_initial_gain()
241 rtl8225se_write_phy_ofdm(dev, 0x24, 0x96); mdelay(1); in rtl8187se_write_initial_gain()
242 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFC); mdelay(1); in rtl8187se_write_initial_gain()
245 rtl8225se_write_phy_ofdm(dev, 0x17, 0x56); mdelay(1); in rtl8187se_write_initial_gain()
246 rtl8225se_write_phy_ofdm(dev, 0x24, 0xA6); mdelay(1); in rtl8187se_write_initial_gain()
247 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFC); mdelay(1); in rtl8187se_write_initial_gain()
250 rtl8225se_write_phy_ofdm(dev, 0x17, 0x66); mdelay(1); in rtl8187se_write_initial_gain()
251 rtl8225se_write_phy_ofdm(dev, 0x24, 0xB6); mdelay(1); in rtl8187se_write_initial_gain()
252 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFC); mdelay(1); in rtl8187se_write_initial_gain()
257 void rtl8225se_rf_init(struct ieee80211_hw *dev) in rtl8225se_rf_init() argument
259 struct rtl8180_priv *priv = dev->priv; in rtl8225se_rf_init()
265 rtl8187se_rf_writereg(dev, 0x00, 0x013F); mdelay(1); in rtl8225se_rf_init()
266 rf23 = rtl8187se_rf_readreg(dev, 0x08); mdelay(1); in rtl8225se_rf_init()
267 rf24 = rtl8187se_rf_readreg(dev, 0x09); mdelay(1); in rtl8225se_rf_init()
271 wiphy_info(dev->wiphy, "RTL8225-SE version %s\n", in rtl8225se_rf_init()
275 rtl8187se_rf_writereg(dev, 0x00, 0x009F); mdelay(1); in rtl8225se_rf_init()
276 rtl8187se_rf_writereg(dev, 0x01, 0x06E0); mdelay(1); in rtl8225se_rf_init()
277 rtl8187se_rf_writereg(dev, 0x02, 0x004D); mdelay(1); in rtl8225se_rf_init()
278 rtl8187se_rf_writereg(dev, 0x03, 0x07F1); mdelay(1); in rtl8225se_rf_init()
279 rtl8187se_rf_writereg(dev, 0x04, 0x0975); mdelay(1); in rtl8225se_rf_init()
280 rtl8187se_rf_writereg(dev, 0x05, 0x0C72); mdelay(1); in rtl8225se_rf_init()
281 rtl8187se_rf_writereg(dev, 0x06, 0x0AE6); mdelay(1); in rtl8225se_rf_init()
282 rtl8187se_rf_writereg(dev, 0x07, 0x00CA); mdelay(1); in rtl8225se_rf_init()
283 rtl8187se_rf_writereg(dev, 0x08, 0x0E1C); mdelay(1); in rtl8225se_rf_init()
284 rtl8187se_rf_writereg(dev, 0x09, 0x02F0); mdelay(1); in rtl8225se_rf_init()
285 rtl8187se_rf_writereg(dev, 0x0A, 0x09D0); mdelay(1); in rtl8225se_rf_init()
286 rtl8187se_rf_writereg(dev, 0x0B, 0x01BA); mdelay(1); in rtl8225se_rf_init()
287 rtl8187se_rf_writereg(dev, 0x0C, 0x0640); mdelay(1); in rtl8225se_rf_init()
288 rtl8187se_rf_writereg(dev, 0x0D, 0x08DF); mdelay(1); in rtl8225se_rf_init()
289 rtl8187se_rf_writereg(dev, 0x0E, 0x0020); mdelay(1); in rtl8225se_rf_init()
290 rtl8187se_rf_writereg(dev, 0x0F, 0x0990); mdelay(1); in rtl8225se_rf_init()
292 rtl8187se_rf_writereg(dev, 0x00, 0x013F); mdelay(1); in rtl8225se_rf_init()
293 rtl8187se_rf_writereg(dev, 0x03, 0x0806); mdelay(1); in rtl8225se_rf_init()
294 rtl8187se_rf_writereg(dev, 0x04, 0x03A7); mdelay(1); in rtl8225se_rf_init()
295 rtl8187se_rf_writereg(dev, 0x05, 0x059B); mdelay(1); in rtl8225se_rf_init()
296 rtl8187se_rf_writereg(dev, 0x06, 0x0081); mdelay(1); in rtl8225se_rf_init()
297 rtl8187se_rf_writereg(dev, 0x07, 0x01A0); mdelay(1); in rtl8225se_rf_init()
298 rtl8187se_rf_writereg(dev, 0x0A, 0x0001); mdelay(1); in rtl8225se_rf_init()
299 rtl8187se_rf_writereg(dev, 0x0B, 0x0418); mdelay(1); in rtl8225se_rf_init()
300 rtl8187se_rf_writereg(dev, 0x0C, 0x0FBE); mdelay(1); in rtl8225se_rf_init()
301 rtl8187se_rf_writereg(dev, 0x0D, 0x0008); mdelay(1); in rtl8225se_rf_init()
303 rtl8187se_rf_writereg(dev, 0x0E, 0x0807); in rtl8225se_rf_init()
305 rtl8187se_rf_writereg(dev, 0x0E, 0x0806); in rtl8225se_rf_init()
307 rtl8187se_rf_writereg(dev, 0x0F, 0x0ACC); mdelay(1); in rtl8225se_rf_init()
308 rtl8187se_rf_writereg(dev, 0x00, 0x01D7); mdelay(1); in rtl8225se_rf_init()
309 rtl8187se_rf_writereg(dev, 0x03, 0x0E00); mdelay(1); in rtl8225se_rf_init()
310 rtl8187se_rf_writereg(dev, 0x04, 0x0E50); mdelay(1); in rtl8225se_rf_init()
312 rtl8187se_write_rf_gain(dev); in rtl8225se_rf_init()
314 rtl8187se_rf_writereg(dev, 0x05, 0x0203); mdelay(1); in rtl8225se_rf_init()
315 rtl8187se_rf_writereg(dev, 0x06, 0x0200); mdelay(1); in rtl8225se_rf_init()
316 rtl8187se_rf_writereg(dev, 0x00, 0x0137); mdelay(11); in rtl8225se_rf_init()
317 rtl8187se_rf_writereg(dev, 0x0D, 0x0008); mdelay(11); in rtl8225se_rf_init()
318 rtl8187se_rf_writereg(dev, 0x00, 0x0037); mdelay(11); in rtl8225se_rf_init()
319 rtl8187se_rf_writereg(dev, 0x04, 0x0160); mdelay(11); in rtl8225se_rf_init()
320 rtl8187se_rf_writereg(dev, 0x07, 0x0080); mdelay(11); in rtl8225se_rf_init()
321 rtl8187se_rf_writereg(dev, 0x02, 0x088D); msleep(221); in rtl8225se_rf_init()
322 rtl8187se_rf_writereg(dev, 0x00, 0x0137); mdelay(11); in rtl8225se_rf_init()
323 rtl8187se_rf_writereg(dev, 0x07, 0x0000); mdelay(1); in rtl8225se_rf_init()
324 rtl8187se_rf_writereg(dev, 0x07, 0x0180); mdelay(1); in rtl8225se_rf_init()
325 rtl8187se_rf_writereg(dev, 0x07, 0x0220); mdelay(1); in rtl8225se_rf_init()
326 rtl8187se_rf_writereg(dev, 0x07, 0x03E0); mdelay(1); in rtl8225se_rf_init()
327 rtl8187se_rf_writereg(dev, 0x06, 0x00C1); mdelay(1); in rtl8225se_rf_init()
328 rtl8187se_rf_writereg(dev, 0x0A, 0x0001); mdelay(1); in rtl8225se_rf_init()
332 rtl8187se_rf_writereg(dev, 0x0F, tmp); in rtl8225se_rf_init()
333 wiphy_info(dev->wiphy, "Xtal cal\n"); in rtl8225se_rf_init()
336 wiphy_info(dev->wiphy, "NO Xtal cal\n"); in rtl8225se_rf_init()
337 rtl8187se_rf_writereg(dev, 0x0F, 0x0ACC); in rtl8225se_rf_init()
341 rtl8187se_rf_writereg(dev, 0x00, 0x00BF); mdelay(1); in rtl8225se_rf_init()
342 rtl8187se_rf_writereg(dev, 0x0D, 0x08DF); mdelay(1); in rtl8225se_rf_init()
343 rtl8187se_rf_writereg(dev, 0x02, 0x004D); mdelay(1); in rtl8225se_rf_init()
344 rtl8187se_rf_writereg(dev, 0x04, 0x0975); msleep(31); in rtl8225se_rf_init()
345 rtl8187se_rf_writereg(dev, 0x00, 0x0197); mdelay(1); in rtl8225se_rf_init()
346 rtl8187se_rf_writereg(dev, 0x05, 0x05AB); mdelay(1); in rtl8225se_rf_init()
348 rtl8187se_rf_writereg(dev, 0x00, 0x009F); mdelay(1); in rtl8225se_rf_init()
349 rtl8187se_rf_writereg(dev, 0x01, 0x0000); mdelay(1); in rtl8225se_rf_init()
350 rtl8187se_rf_writereg(dev, 0x02, 0x0000); mdelay(1); in rtl8225se_rf_init()
355 rtl8225se_write_phy_cck(dev, 0x00, 0xC8); in rtl8225se_rf_init()
356 rtl8225se_write_phy_cck(dev, 0x06, 0x1C); in rtl8225se_rf_init()
357 rtl8225se_write_phy_cck(dev, 0x10, 0x78); in rtl8225se_rf_init()
358 rtl8225se_write_phy_cck(dev, 0x2E, 0xD0); in rtl8225se_rf_init()
359 rtl8225se_write_phy_cck(dev, 0x2F, 0x06); in rtl8225se_rf_init()
360 rtl8225se_write_phy_cck(dev, 0x01, 0x46); in rtl8225se_rf_init()
367 rtl8225se_write_phy_ofdm(dev, 0x00, 0x12); in rtl8225se_rf_init()
369 rtl8225se_write_zebra_agc(dev); in rtl8225se_rf_init()
371 rtl8225se_write_phy_ofdm(dev, 0x10, 0x00); in rtl8225se_rf_init()
373 rtl8187se_write_ofdm_config(dev); in rtl8225se_rf_init()
376 rtl8187se_rf_writereg(dev, 0x00, 0x009F); udelay(500); in rtl8225se_rf_init()
377 rtl8187se_rf_writereg(dev, 0x04, 0x0972); udelay(500); in rtl8225se_rf_init()
379 rtl8187se_rf_writereg(dev, 0x00, 0x009F); udelay(500); in rtl8225se_rf_init()
380 rtl8187se_rf_writereg(dev, 0x04, 0x0972); udelay(500); in rtl8225se_rf_init()
382 rtl8225se_write_phy_ofdm(dev, 0x10, 0x40); in rtl8225se_rf_init()
383 rtl8225se_write_phy_ofdm(dev, 0x12, 0x40); in rtl8225se_rf_init()
385 rtl8187se_write_initial_gain(dev, 4); in rtl8225se_rf_init()
388 void rtl8225se_rf_stop(struct ieee80211_hw *dev) in rtl8225se_rf_stop() argument
391 struct rtl8180_priv *priv = dev->priv; in rtl8225se_rf_stop()
394 rtl8225se_write_phy_ofdm(dev, 0x10, 0x00); in rtl8225se_rf_stop()
395 rtl8225se_write_phy_ofdm(dev, 0x12, 0x00); in rtl8225se_rf_stop()
397 rtl8187se_rf_writereg(dev, 0x04, 0x0000); in rtl8225se_rf_stop()
398 rtl8187se_rf_writereg(dev, 0x00, 0x0000); in rtl8225se_rf_stop()
406 void rtl8225se_rf_set_channel(struct ieee80211_hw *dev, in rtl8225se_rf_set_channel() argument
412 rtl8225sez2_rf_set_tx_power(dev, chan); in rtl8225se_rf_set_channel()
413 rtl8187se_rf_writereg(dev, 0x7, rtl8225se_chan[chan - 1]); in rtl8225se_rf_set_channel()
414 if ((rtl8187se_rf_readreg(dev, 0x7) & 0x0F80) != in rtl8225se_rf_set_channel()
416 rtl8187se_rf_writereg(dev, 0x7, rtl8225se_chan[chan - 1]); in rtl8225se_rf_set_channel()
427 const struct rtl818x_rf_ops *rtl8187se_detect_rf(struct ieee80211_hw *dev) in rtl8187se_detect_rf() argument