summaryrefslogtreecommitdiffstats
path: root/sys/dev/iwn
diff options
context:
space:
mode:
authorgavin <gavin@FreeBSD.org>2014-05-27 19:39:57 +0000
committergavin <gavin@FreeBSD.org>2014-05-27 19:39:57 +0000
commit0c27a75607a298dc5afc13bf3bdcffcee4568f9c (patch)
treeb0bfb38a496b2d0dd89a02ae54e0cac6531cbd6c /sys/dev/iwn
parente3d386d9fe1ff6092dc5ed17b2f0e286f7ce2540 (diff)
downloadFreeBSD-src-0c27a75607a298dc5afc13bf3bdcffcee4568f9c.zip
FreeBSD-src-0c27a75607a298dc5afc13bf3bdcffcee4568f9c.tar.gz
Add support for the Intel Centrino Wireless-N 105 chipset.
MFC after: 2 weeks Relnotes: yes
Diffstat (limited to 'sys/dev/iwn')
-rw-r--r--sys/dev/iwn/if_iwn.c29
-rw-r--r--sys/dev/iwn/if_iwn_devid.h13
2 files changed, 41 insertions, 1 deletions
diff --git a/sys/dev/iwn/if_iwn.c b/sys/dev/iwn/if_iwn.c
index bf2b0cb..43a42d8 100644
--- a/sys/dev/iwn/if_iwn.c
+++ b/sys/dev/iwn/if_iwn.c
@@ -109,6 +109,8 @@ static const struct iwn_ident iwn_ident_table[] = {
{ 0x8086, IWN_DID_130_2, "Intel Centrino Wireless-N 130" },
{ 0x8086, IWN_DID_100_1, "Intel Centrino Wireless-N 100" },
{ 0x8086, IWN_DID_100_2, "Intel Centrino Wireless-N 100" },
+ { 0x8086, IWN_DID_105_1, "Intel Centrino Wireless-N 105" },
+ { 0x8086, IWN_DID_105_2, "Intel Centrino Wireless-N 105" },
{ 0x8086, IWN_DID_135_1, "Intel Centrino Wireless-N 135" },
{ 0x8086, IWN_DID_135_2, "Intel Centrino Wireless-N 135" },
{ 0x8086, IWN_DID_4965_1, "Intel Wireless WiFi Link 4965" },
@@ -458,7 +460,7 @@ iwn_attach(device_t dev)
sc->hw_type = (IWN_READ(sc, IWN_HW_REV) >> IWN_HW_REV_TYPE_SHIFT)
& IWN_HW_REV_TYPE_MASK;
sc->subdevice_id = pci_get_subdevice(dev);
-
+printf("hw %d sdid %x\n", sc->hw_type, sc->subdevice_id);
/*
* 4965 versus 5000 and later have different methods.
* Let's set those up first.
@@ -986,6 +988,31 @@ iwn_config_specific(struct iwn_softc *sc, uint16_t pid)
}
break;
+/* 105 Series */
+/* XXX: This series will need adjustment for rate.
+ * see rx_with_siso_diversity in linux kernel
+ */
+ case IWN_DID_105_1:
+ case IWN_DID_105_2:
+ switch(sc->subdevice_id) {
+ case IWN_SDID_105_1:
+ case IWN_SDID_105_2:
+ case IWN_SDID_105_3:
+ //iwl105_bgn_cfg
+ case IWN_SDID_105_4:
+ //iwl105_bgn_d_cfg
+ sc->limits = &iwn2030_sensitivity_limits;
+ sc->base_params = &iwn2000_base_params;
+ sc->fwname = "iwn105fw";
+ break;
+ default:
+ device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :"
+ "0x%04x rev %d not supported (subdevice)\n", pid,
+ sc->subdevice_id,sc->hw_type);
+ return ENOTSUP;
+ }
+ break;
+
/* 135 Series */
/* XXX: This series will need adjustment for rate.
* see rx_with_siso_diversity in linux kernel
diff --git a/sys/dev/iwn/if_iwn_devid.h b/sys/dev/iwn/if_iwn_devid.h
index ced9cb6..dd08737 100644
--- a/sys/dev/iwn/if_iwn_devid.h
+++ b/sys/dev/iwn/if_iwn_devid.h
@@ -228,6 +228,19 @@
/*
* --------------------------------------------------------------------------
+ * Device ID for 105 Series
+ * --------------------------------------------------------------------------
+ */
+#define IWN_DID_105_1 0x0894
+#define IWN_DID_105_2 0x0895
+/* SubDevice ID */
+#define IWN_SDID_105_1 0x0022
+#define IWN_SDID_105_2 0x0222
+#define IWN_SDID_105_3 0x0422
+#define IWN_SDID_105_4 0x0822
+
+/*
+ * --------------------------------------------------------------------------
* Device ID for 135 Series
* --------------------------------------------------------------------------
*/
OpenPOWER on IntegriCloud