summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordamien <damien@openbsd.org>2010-02-07 10:36:25 +0000
committerdamien <damien@openbsd.org>2010-02-07 10:36:25 +0000
commita920a9382846d6eedadc5607ee6cd440aedf0ed4 (patch)
tree4965ac16e048fc3f6e758513b2ebec4f717d99c2
parentsplit 32-bit mac_rev into 16-bit mac_ver and mac_rev to avoid (diff)
downloadwireguard-openbsd-a920a9382846d6eedadc5607ee6cd440aedf0ed4.tar.xz
wireguard-openbsd-a920a9382846d6eedadc5607ee6cd440aedf0ed4.zip
use new mcu command to select the antenna on RT2020
requires the new firmware
-rw-r--r--sys/dev/ic/rt2860reg.h3
-rw-r--r--sys/dev/usb/if_run.c8
2 files changed, 5 insertions, 6 deletions
diff --git a/sys/dev/ic/rt2860reg.h b/sys/dev/ic/rt2860reg.h
index 0168dfea2a0..0d2eb4c0a43 100644
--- a/sys/dev/ic/rt2860reg.h
+++ b/sys/dev/ic/rt2860reg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: rt2860reg.h,v 1.21 2010/02/07 10:10:51 damien Exp $ */
+/* $OpenBSD: rt2860reg.h,v 1.22 2010/02/07 10:36:25 damien Exp $ */
/*-
* Copyright (c) 2007
@@ -303,6 +303,7 @@
#define RT2860_MCU_CMD_LED2 0x53
#define RT2860_MCU_CMD_LED3 0x54
#define RT2860_MCU_CMD_BOOT 0x72
+#define RT2860_MCU_CMD_ANTSEL 0x73
#define RT2860_MCU_CMD_BBP 0x80
#define RT2860_MCU_CMD_PSLEVEL 0x83
diff --git a/sys/dev/usb/if_run.c b/sys/dev/usb/if_run.c
index 843804ce936..7035019fa33 100644
--- a/sys/dev/usb/if_run.c
+++ b/sys/dev/usb/if_run.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_run.c,v 1.38 2010/02/07 10:25:21 damien Exp $ */
+/* $OpenBSD: if_run.c,v 1.39 2010/02/07 10:36:25 damien Exp $ */
/*-
* Copyright (c) 2008,2009 Damien Bergamini <damien.bergamini@free.fr>
@@ -2445,13 +2445,11 @@ run_set_rx_antenna(struct run_softc *sc, int aux)
uint32_t tmp;
if (aux) {
- run_read(sc, RT2860_PCI_EECTRL, &tmp);
- run_write(sc, RT2860_PCI_EECTRL, tmp & ~RT2860_C);
+ run_mcu_cmd(sc, RT2860_MCU_CMD_ANTSEL, 0);
run_read(sc, RT2860_GPIO_CTRL, &tmp);
run_write(sc, RT2860_GPIO_CTRL, (tmp & ~0x0808) | 0x08);
} else {
- run_read(sc, RT2860_PCI_EECTRL, &tmp);
- run_write(sc, RT2860_PCI_EECTRL, tmp | RT2860_C);
+ run_mcu_cmd(sc, RT2860_MCU_CMD_ANTSEL, 1);
run_read(sc, RT2860_GPIO_CTRL, &tmp);
run_write(sc, RT2860_GPIO_CTRL, tmp & ~0x0808);
}