if_run.c (259030) | if_run.c (259031) |
---|---|
1/*- 2 * Copyright (c) 2008,2010 Damien Bergamini <damien.bergamini@free.fr> 3 * ported to FreeBSD by Akinori Furukoshi <moonlightakkiy@yahoo.ca> 4 * USB Consulting, Hans Petter Selasky <hselasky@freebsd.org> 5 * 6 * Permission to use, copy, modify, and distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2008,2010 Damien Bergamini <damien.bergamini@free.fr> 3 * ported to FreeBSD by Akinori Furukoshi <moonlightakkiy@yahoo.ca> 4 * USB Consulting, Hans Petter Selasky <hselasky@freebsd.org> 5 * 6 * Permission to use, copy, modify, and distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19#include <sys/cdefs.h> |
20__FBSDID("$FreeBSD: head/sys/dev/usb/wlan/if_run.c 259030 2013-12-06 15:15:58Z kevlo $"); | 20__FBSDID("$FreeBSD: head/sys/dev/usb/wlan/if_run.c 259031 2013-12-06 15:17:28Z kevlo $"); |
21 22/*- 23 * Ralink Technology RT2700U/RT2800U/RT3000U/RT3900E chipset driver. 24 * http://www.ralinktech.com/ 25 */ 26 27#include <sys/param.h> 28#include <sys/sockio.h> --- 4496 unchanged lines hidden (view full) --- 4525static void 4526run_rt5390_bbp_init(struct run_softc *sc) 4527{ 4528 int i; 4529 uint8_t bbp4; 4530 4531 /* Avoid data lost and CRC error. */ 4532 run_bbp_read(sc, 4, &bbp4); | 21 22/*- 23 * Ralink Technology RT2700U/RT2800U/RT3000U/RT3900E chipset driver. 24 * http://www.ralinktech.com/ 25 */ 26 27#include <sys/param.h> 28#include <sys/sockio.h> --- 4496 unchanged lines hidden (view full) --- 4525static void 4526run_rt5390_bbp_init(struct run_softc *sc) 4527{ 4528 int i; 4529 uint8_t bbp4; 4530 4531 /* Avoid data lost and CRC error. */ 4532 run_bbp_read(sc, 4, &bbp4); |
4533 run_bbp_write(sc, 4, bbp4 | 0x40); | 4533 run_bbp_write(sc, 4, bbp | RT5390_MAC_IF_CTRL); |
4534 4535 for (i = 0; i < nitems(rt5390_def_bbp); i++) { 4536 run_bbp_write(sc, rt5390_def_bbp[i].reg, 4537 rt5390_def_bbp[i].val); 4538 } 4539 if (sc->mac_ver == 0x5392) { 4540 run_bbp_write(sc, 88, 0x90); 4541 run_bbp_write(sc, 95, 0x9a); --- 199 unchanged lines hidden (view full) --- 4741{ 4742 uint32_t tmp; 4743 uint8_t rf; 4744 int i; 4745 4746 /* Toggle RF R2 to initiate calibration. */ 4747 if (sc->mac_ver == 0x5390) { 4748 run_rt3070_rf_read(sc, 2, &rf); | 4534 4535 for (i = 0; i < nitems(rt5390_def_bbp); i++) { 4536 run_bbp_write(sc, rt5390_def_bbp[i].reg, 4537 rt5390_def_bbp[i].val); 4538 } 4539 if (sc->mac_ver == 0x5392) { 4540 run_bbp_write(sc, 88, 0x90); 4541 run_bbp_write(sc, 95, 0x9a); --- 199 unchanged lines hidden (view full) --- 4741{ 4742 uint32_t tmp; 4743 uint8_t rf; 4744 int i; 4745 4746 /* Toggle RF R2 to initiate calibration. */ 4747 if (sc->mac_ver == 0x5390) { 4748 run_rt3070_rf_read(sc, 2, &rf); |
4749 run_rt3070_rf_write(sc, 2, rf | 0x80); | 4749 run_rt3070_rf_write(sc, 2, rf | RT5390_RESCAL); |
4750 run_delay(sc, 10); | 4750 run_delay(sc, 10); |
4751 run_rt3070_rf_write(sc, 2, rf & ~0x80); | 4751 run_rt3070_rf_write(sc, 2, rf & ~RT5390_RESCAL); |
4752 } else { | 4752 } else { |
4753 run_rt3070_rf_write(sc, 2, 0x80); | 4753 run_rt3070_rf_write(sc, 2, RT5390_RESCAL); |
4754 run_delay(sc, 10); 4755 } 4756 4757 /* Initialize RF registers to default value. */ 4758 if (sc->mac_ver == 0x5392) { 4759 for (i = 0; i < nitems(rt5392_def_rf); i++) { 4760 run_rt3070_rf_write(sc, rt5392_def_rf[i].reg, 4761 rt5392_def_rf[i].val); --- 122 unchanged lines hidden (view full) --- 4884 run_rt3070_rf_read(sc, 38, &rf); 4885 run_rt3070_rf_write(sc, 38, rf & ~RT5390_RX_LO1); 4886 4887 run_rt3070_rf_read(sc, 39, &rf); 4888 run_rt3070_rf_write(sc, 39, rf & ~RT5390_RX_LO2); 4889 4890 /* Avoid data lost and CRC error. */ 4891 run_bbp_read(sc, 4, &bbp); | 4754 run_delay(sc, 10); 4755 } 4756 4757 /* Initialize RF registers to default value. */ 4758 if (sc->mac_ver == 0x5392) { 4759 for (i = 0; i < nitems(rt5392_def_rf); i++) { 4760 run_rt3070_rf_write(sc, rt5392_def_rf[i].reg, 4761 rt5392_def_rf[i].val); --- 122 unchanged lines hidden (view full) --- 4884 run_rt3070_rf_read(sc, 38, &rf); 4885 run_rt3070_rf_write(sc, 38, rf & ~RT5390_RX_LO1); 4886 4887 run_rt3070_rf_read(sc, 39, &rf); 4888 run_rt3070_rf_write(sc, 39, rf & ~RT5390_RX_LO2); 4889 4890 /* Avoid data lost and CRC error. */ 4891 run_bbp_read(sc, 4, &bbp); |
4892 run_bbp_write(sc, 4, bbp | 0x40); | 4892 run_bbp_write(sc, 4, bbp | RT5390_MAC_IF_CTRL); |
4893 4894 run_rt3070_rf_read(sc, 30, &rf); 4895 rf = (rf & ~0x18) | 0x10; 4896 run_rt3070_rf_write(sc, 30, rf); 4897 4898 run_write(sc, RT2860_TX_SW_CFG1, 0); 4899 if (sc->mac_rev < 0x0211) { 4900 run_write(sc, RT2860_TX_SW_CFG2, --- 469 unchanged lines hidden --- | 4893 4894 run_rt3070_rf_read(sc, 30, &rf); 4895 rf = (rf & ~0x18) | 0x10; 4896 run_rt3070_rf_write(sc, 30, rf); 4897 4898 run_write(sc, RT2860_TX_SW_CFG1, 0); 4899 if (sc->mac_rev < 0x0211) { 4900 run_write(sc, RT2860_TX_SW_CFG2, --- 469 unchanged lines hidden --- |