Deleted Added
full compact
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 ---