diff options
author | wmeadows <wmeadows@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2003-08-13 21:01:18 +0000 |
---|---|---|
committer | wmeadows <wmeadows@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2003-08-13 21:01:18 +0000 |
commit | 05f825213ce8efa0de97874ebbecf8fae9a6f7b4 (patch) | |
tree | 3e28efe7973e6b37c622e8cb7cc5aac448e1ca4b /wctdm.c | |
parent | fe3cc94fa198afee573db52578c98d6ab570ecdb (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-x | wctdm.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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 }, }; |