Lines Matching refs:dev
120 static void rtl8187se_three_wire_io(struct ieee80211_hw *dev, u8 *data, in rtl8187se_three_wire_io() argument
123 struct rtl8180_priv *priv = dev->priv; in rtl8187se_three_wire_io()
135 wiphy_err(dev->wiphy, PFX in rtl8187se_three_wire_io()
153 wiphy_err(dev->wiphy, PFX in rtl8187se_three_wire_io()
177 static u32 rtl8187se_rf_readreg(struct ieee80211_hw *dev, u8 addr) in rtl8187se_rf_readreg() argument
180 rtl8187se_three_wire_io(dev, (u8 *)&dataread, 16, 0); in rtl8187se_rf_readreg()
184 static void rtl8187se_rf_writereg(struct ieee80211_hw *dev, u8 addr, u32 data) in rtl8187se_rf_writereg() argument
187 rtl8187se_three_wire_io(dev, (u8 *)&outdata, 16, 1); in rtl8187se_rf_writereg()
191 static void rtl8225se_write_zebra_agc(struct ieee80211_hw *dev) in rtl8225se_write_zebra_agc() argument
196 rtl8225se_write_phy_ofdm(dev, 0xF, ZEBRA_AGC[i]); in rtl8225se_write_zebra_agc()
197 rtl8225se_write_phy_ofdm(dev, 0xE, i+0x80); in rtl8225se_write_zebra_agc()
198 rtl8225se_write_phy_ofdm(dev, 0xE, 0); in rtl8225se_write_zebra_agc()
202 static void rtl8187se_write_ofdm_config(struct ieee80211_hw *dev) in rtl8187se_write_ofdm_config() argument
208 rtl8225se_write_phy_ofdm(dev, i, OFDM_CONFIG[i]); in rtl8187se_write_ofdm_config()
212 static void rtl8225sez2_rf_set_tx_power(struct ieee80211_hw *dev, int channel) in rtl8225sez2_rf_set_tx_power() argument
214 struct rtl8180_priv *priv = dev->priv; in rtl8225sez2_rf_set_tx_power()
231 rtl8225se_write_phy_ofdm(dev, 7, 0x5C); in rtl8225sez2_rf_set_tx_power()
232 rtl8225se_write_phy_ofdm(dev, 9, 0x5C); in rtl8225sez2_rf_set_tx_power()
235 rtl8225se_write_phy_ofdm(dev, 7, 0x54); in rtl8225sez2_rf_set_tx_power()
236 rtl8225se_write_phy_ofdm(dev, 9, 0x54); in rtl8225sez2_rf_set_tx_power()
238 rtl8225se_write_phy_ofdm(dev, 7, 0x50); in rtl8225sez2_rf_set_tx_power()
239 rtl8225se_write_phy_ofdm(dev, 9, 0x50); in rtl8225sez2_rf_set_tx_power()
245 static void rtl8187se_write_rf_gain(struct ieee80211_hw *dev) in rtl8187se_write_rf_gain() argument
250 rtl8187se_rf_writereg(dev, 0x01, i); mdelay(1); in rtl8187se_write_rf_gain()
251 rtl8187se_rf_writereg(dev, 0x02, RF_GAIN_TABLE[i]); mdelay(1); in rtl8187se_write_rf_gain()
255 static void rtl8187se_write_initial_gain(struct ieee80211_hw *dev, in rtl8187se_write_initial_gain() argument
260 rtl8225se_write_phy_ofdm(dev, 0x17, 0x26); mdelay(1); in rtl8187se_write_initial_gain()
261 rtl8225se_write_phy_ofdm(dev, 0x24, 0x86); mdelay(1); in rtl8187se_write_initial_gain()
262 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFA); mdelay(1); in rtl8187se_write_initial_gain()
265 rtl8225se_write_phy_ofdm(dev, 0x17, 0x36); mdelay(1); in rtl8187se_write_initial_gain()
266 rtl8225se_write_phy_ofdm(dev, 0x24, 0x86); mdelay(1); in rtl8187se_write_initial_gain()
267 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFA); mdelay(1); in rtl8187se_write_initial_gain()
270 rtl8225se_write_phy_ofdm(dev, 0x17, 0x36); mdelay(1); in rtl8187se_write_initial_gain()
271 rtl8225se_write_phy_ofdm(dev, 0x24, 0x86); mdelay(1); in rtl8187se_write_initial_gain()
272 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFB); mdelay(1); in rtl8187se_write_initial_gain()
275 rtl8225se_write_phy_ofdm(dev, 0x17, 0x46); mdelay(1); in rtl8187se_write_initial_gain()
276 rtl8225se_write_phy_ofdm(dev, 0x24, 0x86); mdelay(1); in rtl8187se_write_initial_gain()
277 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFB); mdelay(1); in rtl8187se_write_initial_gain()
280 rtl8225se_write_phy_ofdm(dev, 0x17, 0x46); mdelay(1); in rtl8187se_write_initial_gain()
281 rtl8225se_write_phy_ofdm(dev, 0x24, 0x96); mdelay(1); in rtl8187se_write_initial_gain()
282 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFB); mdelay(1); in rtl8187se_write_initial_gain()
285 rtl8225se_write_phy_ofdm(dev, 0x17, 0x56); mdelay(1); in rtl8187se_write_initial_gain()
286 rtl8225se_write_phy_ofdm(dev, 0x24, 0x96); mdelay(1); in rtl8187se_write_initial_gain()
287 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFC); mdelay(1); in rtl8187se_write_initial_gain()
290 rtl8225se_write_phy_ofdm(dev, 0x17, 0x56); mdelay(1); in rtl8187se_write_initial_gain()
291 rtl8225se_write_phy_ofdm(dev, 0x24, 0xA6); mdelay(1); in rtl8187se_write_initial_gain()
292 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFC); mdelay(1); in rtl8187se_write_initial_gain()
295 rtl8225se_write_phy_ofdm(dev, 0x17, 0x66); mdelay(1); in rtl8187se_write_initial_gain()
296 rtl8225se_write_phy_ofdm(dev, 0x24, 0xB6); mdelay(1); in rtl8187se_write_initial_gain()
297 rtl8225se_write_phy_ofdm(dev, 0x05, 0xFC); mdelay(1); in rtl8187se_write_initial_gain()
302 void rtl8225se_rf_init(struct ieee80211_hw *dev) in rtl8225se_rf_init() argument
304 struct rtl8180_priv *priv = dev->priv; in rtl8225se_rf_init()
310 rtl8187se_rf_writereg(dev, 0x00, 0x013F); mdelay(1); in rtl8225se_rf_init()
311 rf23 = rtl8187se_rf_readreg(dev, 0x08); mdelay(1); in rtl8225se_rf_init()
312 rf24 = rtl8187se_rf_readreg(dev, 0x09); mdelay(1); in rtl8225se_rf_init()
316 wiphy_info(dev->wiphy, "RTL8225-SE version %s\n", in rtl8225se_rf_init()
320 rtl8187se_rf_writereg(dev, 0x00, 0x009F); mdelay(1); in rtl8225se_rf_init()
321 rtl8187se_rf_writereg(dev, 0x01, 0x06E0); mdelay(1); in rtl8225se_rf_init()
322 rtl8187se_rf_writereg(dev, 0x02, 0x004D); mdelay(1); in rtl8225se_rf_init()
323 rtl8187se_rf_writereg(dev, 0x03, 0x07F1); mdelay(1); in rtl8225se_rf_init()
324 rtl8187se_rf_writereg(dev, 0x04, 0x0975); mdelay(1); in rtl8225se_rf_init()
325 rtl8187se_rf_writereg(dev, 0x05, 0x0C72); mdelay(1); in rtl8225se_rf_init()
326 rtl8187se_rf_writereg(dev, 0x06, 0x0AE6); mdelay(1); in rtl8225se_rf_init()
327 rtl8187se_rf_writereg(dev, 0x07, 0x00CA); mdelay(1); in rtl8225se_rf_init()
328 rtl8187se_rf_writereg(dev, 0x08, 0x0E1C); mdelay(1); in rtl8225se_rf_init()
329 rtl8187se_rf_writereg(dev, 0x09, 0x02F0); mdelay(1); in rtl8225se_rf_init()
330 rtl8187se_rf_writereg(dev, 0x0A, 0x09D0); mdelay(1); in rtl8225se_rf_init()
331 rtl8187se_rf_writereg(dev, 0x0B, 0x01BA); mdelay(1); in rtl8225se_rf_init()
332 rtl8187se_rf_writereg(dev, 0x0C, 0x0640); mdelay(1); in rtl8225se_rf_init()
333 rtl8187se_rf_writereg(dev, 0x0D, 0x08DF); mdelay(1); in rtl8225se_rf_init()
334 rtl8187se_rf_writereg(dev, 0x0E, 0x0020); mdelay(1); in rtl8225se_rf_init()
335 rtl8187se_rf_writereg(dev, 0x0F, 0x0990); mdelay(1); in rtl8225se_rf_init()
337 rtl8187se_rf_writereg(dev, 0x00, 0x013F); mdelay(1); in rtl8225se_rf_init()
338 rtl8187se_rf_writereg(dev, 0x03, 0x0806); mdelay(1); in rtl8225se_rf_init()
339 rtl8187se_rf_writereg(dev, 0x04, 0x03A7); mdelay(1); in rtl8225se_rf_init()
340 rtl8187se_rf_writereg(dev, 0x05, 0x059B); mdelay(1); in rtl8225se_rf_init()
341 rtl8187se_rf_writereg(dev, 0x06, 0x0081); mdelay(1); in rtl8225se_rf_init()
342 rtl8187se_rf_writereg(dev, 0x07, 0x01A0); mdelay(1); in rtl8225se_rf_init()
343 rtl8187se_rf_writereg(dev, 0x0A, 0x0001); mdelay(1); in rtl8225se_rf_init()
344 rtl8187se_rf_writereg(dev, 0x0B, 0x0418); mdelay(1); in rtl8225se_rf_init()
345 rtl8187se_rf_writereg(dev, 0x0C, 0x0FBE); mdelay(1); in rtl8225se_rf_init()
346 rtl8187se_rf_writereg(dev, 0x0D, 0x0008); mdelay(1); in rtl8225se_rf_init()
348 rtl8187se_rf_writereg(dev, 0x0E, 0x0807); in rtl8225se_rf_init()
350 rtl8187se_rf_writereg(dev, 0x0E, 0x0806); in rtl8225se_rf_init()
352 rtl8187se_rf_writereg(dev, 0x0F, 0x0ACC); mdelay(1); in rtl8225se_rf_init()
353 rtl8187se_rf_writereg(dev, 0x00, 0x01D7); mdelay(1); in rtl8225se_rf_init()
354 rtl8187se_rf_writereg(dev, 0x03, 0x0E00); mdelay(1); in rtl8225se_rf_init()
355 rtl8187se_rf_writereg(dev, 0x04, 0x0E50); mdelay(1); in rtl8225se_rf_init()
357 rtl8187se_write_rf_gain(dev); in rtl8225se_rf_init()
359 rtl8187se_rf_writereg(dev, 0x05, 0x0203); mdelay(1); in rtl8225se_rf_init()
360 rtl8187se_rf_writereg(dev, 0x06, 0x0200); mdelay(1); in rtl8225se_rf_init()
361 rtl8187se_rf_writereg(dev, 0x00, 0x0137); mdelay(11); in rtl8225se_rf_init()
362 rtl8187se_rf_writereg(dev, 0x0D, 0x0008); mdelay(11); in rtl8225se_rf_init()
363 rtl8187se_rf_writereg(dev, 0x00, 0x0037); mdelay(11); in rtl8225se_rf_init()
364 rtl8187se_rf_writereg(dev, 0x04, 0x0160); mdelay(11); in rtl8225se_rf_init()
365 rtl8187se_rf_writereg(dev, 0x07, 0x0080); mdelay(11); in rtl8225se_rf_init()
366 rtl8187se_rf_writereg(dev, 0x02, 0x088D); mdelay(221); in rtl8225se_rf_init()
367 rtl8187se_rf_writereg(dev, 0x00, 0x0137); mdelay(11); in rtl8225se_rf_init()
368 rtl8187se_rf_writereg(dev, 0x07, 0x0000); mdelay(1); in rtl8225se_rf_init()
369 rtl8187se_rf_writereg(dev, 0x07, 0x0180); mdelay(1); in rtl8225se_rf_init()
370 rtl8187se_rf_writereg(dev, 0x07, 0x0220); mdelay(1); in rtl8225se_rf_init()
371 rtl8187se_rf_writereg(dev, 0x07, 0x03E0); mdelay(1); in rtl8225se_rf_init()
372 rtl8187se_rf_writereg(dev, 0x06, 0x00C1); mdelay(1); in rtl8225se_rf_init()
373 rtl8187se_rf_writereg(dev, 0x0A, 0x0001); mdelay(1); in rtl8225se_rf_init()
377 rtl8187se_rf_writereg(dev, 0x0F, tmp); in rtl8225se_rf_init()
378 wiphy_info(dev->wiphy, "Xtal cal\n"); in rtl8225se_rf_init()
381 wiphy_info(dev->wiphy, "NO Xtal cal\n"); in rtl8225se_rf_init()
382 rtl8187se_rf_writereg(dev, 0x0F, 0x0ACC); in rtl8225se_rf_init()
386 rtl8187se_rf_writereg(dev, 0x00, 0x00BF); mdelay(1); in rtl8225se_rf_init()
387 rtl8187se_rf_writereg(dev, 0x0D, 0x08DF); mdelay(1); in rtl8225se_rf_init()
388 rtl8187se_rf_writereg(dev, 0x02, 0x004D); mdelay(1); in rtl8225se_rf_init()
389 rtl8187se_rf_writereg(dev, 0x04, 0x0975); mdelay(31); in rtl8225se_rf_init()
390 rtl8187se_rf_writereg(dev, 0x00, 0x0197); mdelay(1); in rtl8225se_rf_init()
391 rtl8187se_rf_writereg(dev, 0x05, 0x05AB); mdelay(1); in rtl8225se_rf_init()
393 rtl8187se_rf_writereg(dev, 0x00, 0x009F); mdelay(1); in rtl8225se_rf_init()
394 rtl8187se_rf_writereg(dev, 0x01, 0x0000); mdelay(1); in rtl8225se_rf_init()
395 rtl8187se_rf_writereg(dev, 0x02, 0x0000); mdelay(1); in rtl8225se_rf_init()
400 rtl8225se_write_phy_cck(dev, 0x00, 0xC8); in rtl8225se_rf_init()
401 rtl8225se_write_phy_cck(dev, 0x06, 0x1C); in rtl8225se_rf_init()
402 rtl8225se_write_phy_cck(dev, 0x10, 0x78); in rtl8225se_rf_init()
403 rtl8225se_write_phy_cck(dev, 0x2E, 0xD0); in rtl8225se_rf_init()
404 rtl8225se_write_phy_cck(dev, 0x2F, 0x06); in rtl8225se_rf_init()
405 rtl8225se_write_phy_cck(dev, 0x01, 0x46); in rtl8225se_rf_init()
412 rtl8225se_write_phy_ofdm(dev, 0x00, 0x12); in rtl8225se_rf_init()
414 rtl8225se_write_zebra_agc(dev); in rtl8225se_rf_init()
416 rtl8225se_write_phy_ofdm(dev, 0x10, 0x00); in rtl8225se_rf_init()
418 rtl8187se_write_ofdm_config(dev); in rtl8225se_rf_init()
421 rtl8187se_rf_writereg(dev, 0x00, 0x009F); udelay(500); in rtl8225se_rf_init()
422 rtl8187se_rf_writereg(dev, 0x04, 0x0972); udelay(500); in rtl8225se_rf_init()
424 rtl8187se_rf_writereg(dev, 0x00, 0x009F); udelay(500); in rtl8225se_rf_init()
425 rtl8187se_rf_writereg(dev, 0x04, 0x0972); udelay(500); in rtl8225se_rf_init()
427 rtl8225se_write_phy_ofdm(dev, 0x10, 0x40); in rtl8225se_rf_init()
428 rtl8225se_write_phy_ofdm(dev, 0x12, 0x40); in rtl8225se_rf_init()
430 rtl8187se_write_initial_gain(dev, 4); in rtl8225se_rf_init()
433 void rtl8225se_rf_stop(struct ieee80211_hw *dev) in rtl8225se_rf_stop() argument
436 struct rtl8180_priv *priv = dev->priv; in rtl8225se_rf_stop()
439 rtl8225se_write_phy_ofdm(dev, 0x10, 0x00); in rtl8225se_rf_stop()
440 rtl8225se_write_phy_ofdm(dev, 0x12, 0x00); in rtl8225se_rf_stop()
442 rtl8187se_rf_writereg(dev, 0x04, 0x0000); in rtl8225se_rf_stop()
443 rtl8187se_rf_writereg(dev, 0x00, 0x0000); in rtl8225se_rf_stop()
451 void rtl8225se_rf_set_channel(struct ieee80211_hw *dev, in rtl8225se_rf_set_channel() argument
457 rtl8225sez2_rf_set_tx_power(dev, chan); in rtl8225se_rf_set_channel()
458 rtl8187se_rf_writereg(dev, 0x7, rtl8225se_chan[chan - 1]); in rtl8225se_rf_set_channel()
459 if ((rtl8187se_rf_readreg(dev, 0x7) & 0x0F80) != in rtl8225se_rf_set_channel()
461 rtl8187se_rf_writereg(dev, 0x7, rtl8225se_chan[chan - 1]); in rtl8225se_rf_set_channel()
472 const struct rtl818x_rf_ops *rtl8187se_detect_rf(struct ieee80211_hw *dev) in rtl8187se_detect_rf() argument