summaryrefslogtreecommitdiff
path: root/sys/dev/pci
diff options
context:
space:
mode:
authorDamien Bergamini <damien@cvs.openbsd.org>2010-04-10 08:37:37 +0000
committerDamien Bergamini <damien@cvs.openbsd.org>2010-04-10 08:37:37 +0000
commit06391926767686266b8d3e81e7f58737f62c9570 (patch)
tree6014f255779a54f7c2026e85bb6235c455040180 /sys/dev/pci
parent70c9983deabc0d944cb0dd3d02bb2499043de257 (diff)
Intel Centrino Advanced-N 6200 G2 adapters have their own hardware
revision type.
Diffstat (limited to 'sys/dev/pci')
-rw-r--r--sys/dev/pci/if_iwn.c24
-rw-r--r--sys/dev/pci/if_iwnreg.h3
2 files changed, 14 insertions, 13 deletions
diff --git a/sys/dev/pci/if_iwn.c b/sys/dev/pci/if_iwn.c
index cce871755b2..e681e1a2d50 100644
--- a/sys/dev/pci/if_iwn.c
+++ b/sys/dev/pci/if_iwn.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_iwn.c,v 1.87 2010/04/04 08:55:50 damien Exp $ */
+/* $OpenBSD: if_iwn.c,v 1.88 2010/04/10 08:37:36 damien Exp $ */
/*-
* Copyright (c) 2007-2010 Damien Bergamini <damien.bergamini@free.fr>
@@ -84,7 +84,8 @@ static const struct pci_matchid iwn_devices[] = {
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_WIFI_LINK_6000_IPA_2 },
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_WIFI_LINK_6050_2X2_1 },
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_WIFI_LINK_6050_2X2_2 },
- { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_WIFI_LINK_6005_IPA_1 }
+ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_WIFI_LINK_6005_2X2_1 },
+ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_WIFI_LINK_6005_2X2_2 }
};
int iwn_match(struct device *, void *, void *);
@@ -614,22 +615,15 @@ iwn_hal_attach(struct iwn_softc *sc, pci_product_id_t pid)
case IWN_HW_REV_TYPE_6000:
sc->sc_hal = &iwn5000_hal;
sc->limits = &iwn6000_sensitivity_limits;
+ sc->fwname = "iwn-6000";
switch (pid) {
case PCI_PRODUCT_INTEL_WIFI_LINK_6000_IPA_1:
case PCI_PRODUCT_INTEL_WIFI_LINK_6000_IPA_2:
- sc->fwname = "iwn-6000";
sc->sc_flags |= IWN_FLAG_INTERNAL_PA;
sc->txchainmask = IWN_ANT_BC;
sc->rxchainmask = IWN_ANT_BC;
break;
- case PCI_PRODUCT_INTEL_WIFI_LINK_6005_IPA_1:
- sc->fwname = "iwn-6005";
- sc->sc_flags |= IWN_FLAG_INTERNAL_PA;
- sc->txchainmask = IWN_ANT_AB;
- sc->rxchainmask = IWN_ANT_AB;
- break;
default:
- sc->fwname = "iwn-6000";
sc->txchainmask = IWN_ANT_ABC;
sc->rxchainmask = IWN_ANT_ABC;
break;
@@ -642,6 +636,13 @@ iwn_hal_attach(struct iwn_softc *sc, pci_product_id_t pid)
sc->txchainmask = IWN_ANT_AB;
sc->rxchainmask = IWN_ANT_AB;
break;
+ case IWN_HW_REV_TYPE_6005:
+ sc->sc_hal = &iwn5000_hal;
+ sc->limits = &iwn6000_sensitivity_limits;
+ sc->fwname = "iwn-6005";
+ sc->txchainmask = IWN_ANT_AB;
+ sc->rxchainmask = IWN_ANT_AB;
+ break;
default:
printf(": adapter type %d not supported\n", sc->hw_type);
return NULL;
@@ -5277,8 +5278,7 @@ iwn_apm_init(struct iwn_softc *sc)
IWN_CLRBITS(sc, IWN_GIO, IWN_GIO_L0S_ENA);
if (sc->hw_type != IWN_HW_REV_TYPE_4965 &&
- sc->hw_type != IWN_HW_REV_TYPE_6000 &&
- sc->hw_type != IWN_HW_REV_TYPE_6050)
+ sc->hw_type <= IWN_HW_REV_TYPE_1000)
IWN_SETBITS(sc, IWN_ANA_PLL, IWN_ANA_PLL_INIT);
/* Wait for clock stabilization before accessing prph. */
diff --git a/sys/dev/pci/if_iwnreg.h b/sys/dev/pci/if_iwnreg.h
index 0a0de58df8c..0296f3a782e 100644
--- a/sys/dev/pci/if_iwnreg.h
+++ b/sys/dev/pci/if_iwnreg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_iwnreg.h,v 1.37 2010/02/17 18:23:00 damien Exp $ */
+/* $OpenBSD: if_iwnreg.h,v 1.38 2010/04/10 08:37:36 damien Exp $ */
/*-
* Copyright (c) 2007, 2008
@@ -203,6 +203,7 @@
#define IWN_HW_REV_TYPE_1000 6
#define IWN_HW_REV_TYPE_6000 7
#define IWN_HW_REV_TYPE_6050 8
+#define IWN_HW_REV_TYPE_6005 11
/* Possible flags for register IWN_GIO_CHICKEN. */
#define IWN_GIO_CHICKEN_L1A_NO_L0S_RX (1 << 23)