summaryrefslogtreecommitdiff
path: root/wctdm.c
diff options
context:
space:
mode:
authorwmeadows <wmeadows@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2003-08-13 21:01:18 +0000
committerwmeadows <wmeadows@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2003-08-13 21:01:18 +0000
commit05f825213ce8efa0de97874ebbecf8fae9a6f7b4 (patch)
tree3e28efe7973e6b37c622e8cb7cc5aac448e1ca4b /wctdm.c
parentfe3cc94fa198afee573db52578c98d6ab570ecdb (diff)
PCI ID and RESET before register test
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@228 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'wctdm.c')
-rwxr-xr-xwctdm.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/wctdm.c b/wctdm.c
index 9bdd053..8406cdd 100755
--- a/wctdm.c
+++ b/wctdm.c
@@ -1014,6 +1014,8 @@ static int wcfxs_hardware_init(struct wcfxs *wc)
int failed;
/* Check Freshmaker chip */
+ outb(0x01, wc->ioaddr + WC_CNTL);
+ x=inb(wc->ioaddr + WC_CNTL);
ver = wcfxs_getcreg(wc, WC_VER);
failed = 0;
if (ver != 0x59) {
@@ -1041,7 +1043,7 @@ static int wcfxs_hardware_init(struct wcfxs *wc)
}
/* Reset PCI Interface chip and registers (and serial) */
- outb(0x0e, wc->ioaddr + WC_CNTL);
+ outb(0x07, wc->ioaddr + WC_CNTL);
/* Setup our proper outputs for when we switch for our "serial" port */
wc->ios = BIT_CS | BIT_SCLK | BIT_SDI;
@@ -1089,6 +1091,7 @@ static int wcfxs_hardware_init(struct wcfxs *wc)
} else
printk("Module %d: Not installed\n", x);
}
+
/* Return error if nothing initialized okay. */
if (!wc->cardflag)
return -1;
@@ -1278,6 +1281,7 @@ static void __devexit wcfxs_remove_one(struct pci_dev *pdev)
}
static struct pci_device_id wcfxs_pci_tbl[] __devinitdata = {
+ { 0xe159, 0x0001, 0xa159, PCI_ANY_ID, 0, 0, (unsigned long) &wcfxs },
{ 0xe159, 0x0001, 0xe159, PCI_ANY_ID, 0, 0, (unsigned long) &wcfxs },
};