diff options
author | mischief <mischief@offblast.org> | 2018-10-10 16:37:13 -0700 |
---|---|---|
committer | mischief <mischief@offblast.org> | 2018-10-10 16:37:13 -0700 |
commit | 8eecdc96643cf0d90f850212e6e2bd351bdc00e7 (patch) | |
tree | 85dddb040b5affbfd8b00dd902ad7ddda75a42f1 /sys/src/9/pc/etheriwl.c | |
parent | 7af5442d3b031a3f81ea5c25c88f99692fb16822 (diff) |
etheriwl: support type 2000 devices and the 2200 chip in x230t
Diffstat (limited to 'sys/src/9/pc/etheriwl.c')
-rw-r--r-- | sys/src/9/pc/etheriwl.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sys/src/9/pc/etheriwl.c b/sys/src/9/pc/etheriwl.c index 666863da5..d3d6c2fbf 100644 --- a/sys/src/9/pc/etheriwl.c +++ b/sys/src/9/pc/etheriwl.c @@ -404,6 +404,7 @@ enum { Type6050 = 8, Type6005 = 11, /* also Centrino Advanced-N 6030, 6235 */ Type2030 = 12, + Type2000 = 16, }; static char *fwname[32] = { @@ -417,6 +418,7 @@ static char *fwname[32] = { [Type6050] "iwn-6050", [Type6005] "iwn-6005", /* see in iwlattach() below */ [Type2030] "iwn-2030", + [Type2000] "iwn-2000", }; static char *qcmd(Ctlr *ctlr, uint qid, uint code, uchar *data, int size, Block *block); @@ -883,7 +885,7 @@ iwlinit(Ether *edev) ctlr->eeprom.temp = 0; ctlr->eeprom.rawtemp = 0; - if(ctlr->type == Type2030){ + if(ctlr->type == Type2030 || ctlr->type == Type2000){ if((err = eepromread(ctlr, b, 2, caloff + 0x12a)) != nil) goto Err2; ctlr->eeprom.temp = get16(b); @@ -1203,7 +1205,7 @@ reset(Ctlr *ctlr) csr32w(ctlr, GpDrv, csr32r(ctlr, GpDrv) | GpDrvCalV6); if(ctlr->type == Type6005) csr32w(ctlr, GpDrv, csr32r(ctlr, GpDrv) | GpDrv1X2); - if(ctlr->type == Type2030) + if(ctlr->type == Type2030 || ctlr->type == Type2000) csr32w(ctlr, GpDrv, csr32r(ctlr, GpDrv) | GpDrvRadioIqInvert); nicunlock(ctlr); @@ -1455,10 +1457,11 @@ postboot(Ctlr *ctlr) Block *b; i = cmds[q]; - if(i == 8 && ctlr->type != Type5150 && ctlr->type != Type2030) + if(i == 8 && ctlr->type != Type5150 && ctlr->type != Type2030 && + ctlr->type != Type2000) continue; if(i == 17 && (ctlr->type >= Type6000 || ctlr->type == Type5150) && - ctlr->type != Type2030) + ctlr->type != Type2030 && ctlr->type != Type2000) continue; if((b = ctlr->calib.cmd[i]) == nil) @@ -1486,6 +1489,7 @@ postboot(Ctlr *ctlr) break; case Type2030: + case Type2000: memset(c, 0, sizeof(c)); c[0] = 18; c[1] = 0; @@ -2473,6 +2477,7 @@ iwlpci(void) case 0x4238: /* Centrino Ultimate-N 6300 variant 2 */ case 0x08ae: /* Centrino Wireless-N 100 */ case 0x0083: /* Centrino Wireless-N 1000 */ + case 0x0891: /* Centrino Wireless-N 2200 */ case 0x0887: /* Centrino Wireless-N 2230 */ case 0x0888: /* Centrino Wireless-N 2230 */ case 0x0090: /* Centrino Advanced-N 6030 */ |