diff options
author | n_hibma <n_hibma@FreeBSD.org> | 1999-01-06 12:31:28 +0000 |
---|---|---|
committer | n_hibma <n_hibma@FreeBSD.org> | 1999-01-06 12:31:28 +0000 |
commit | a10090836fbd879ac28aa19511c3eeb7b181c425 (patch) | |
tree | 205c5f3f3a619b58fcbc31af58ac9038bc6f6a2b /sys/dev/pci | |
parent | 34694f75a3f39eab0492a6cb7cfff8e23a76f4ec (diff) | |
download | FreeBSD-src-a10090836fbd879ac28aa19511c3eeb7b181c425.zip FreeBSD-src-a10090836fbd879ac28aa19511c3eeb7b181c425.tar.gz |
Removed NetBSD specific code
Diffstat (limited to 'sys/dev/pci')
-rw-r--r-- | sys/dev/pci/ohci_pci.c | 121 | ||||
-rw-r--r-- | sys/dev/pci/uhci_pci.c | 155 |
2 files changed, 25 insertions, 251 deletions
diff --git a/sys/dev/pci/ohci_pci.c b/sys/dev/pci/ohci_pci.c index 30aa158..5963c10 100644 --- a/sys/dev/pci/ohci_pci.c +++ b/sys/dev/pci/ohci_pci.c @@ -1,5 +1,4 @@ -/* $NetBSD: ohci_pci.c,v 1.5 1998/11/25 22:32:04 augustss Exp $ */ -/* FreeBSD $Id: ohci_pci.c,v 1.5 1998/12/14 09:40:14 n_hibma Exp $ */ +/* FreeBSD $Id: ohci_pci.c,v 1.6 1998/12/14 21:14:11 julian Exp $ */ /* * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -45,23 +44,15 @@ * USB spec: http://www.teleport.com/cgi-bin/mailmerge.cgi/~usb/cgiform.tpl */ -#include <dev/usb/usb_port.h> - #include <sys/param.h> #include <sys/systm.h> #include <sys/kernel.h> -#if defined(__FreeBSD__) #include <sys/module.h> #include <sys/bus.h> -#endif #include <sys/device.h> #include <sys/proc.h> #include <sys/queue.h> -#if defined(__NetBSD__) -#include <machine/bus.h> -#include <dev/pci/pcivar.h> -#elif defined(__FreeBSD__) #include <pci/pcivar.h> #include <pci/pcireg.h> @@ -72,7 +63,6 @@ #define PCI_SUBCLASS_SERIALBUS_SSA 0x00020000 #define PCI_SUBCLASS_SERIALBUS_USB 0x00030000 #define PCI_SUBCLASS_SERIALBUS_FIBER 0x00040000 -#endif #include <dev/usb/usb.h> #include <dev/usb/usbdi.h> @@ -82,15 +72,6 @@ #include <dev/usb/ohcireg.h> #include <dev/usb/ohcivar.h> -#if defined(__NetBSD__) -int ohci_pci_match __P((struct device *, struct cfdata *, void *)); -void ohci_pci_attach __P((struct device *, struct device *, void *)); - -struct cfattach ohci_pci_ca = { - sizeof(struct ohci_softc), ohci_pci_match, ohci_pci_attach -}; -#elif defined(__FreeBSD__) - #define PCI_INTERFACE(d) (((d) >> 8) & 0xff) #define PCI_SUBCLASS(d) ((d) & PCI_SUBCLASS_MASK) #define PCI_CLASS(d) ((d) & PCI_CLASS_MASK) @@ -114,25 +95,7 @@ static struct pci_device ohci_pci_device = { }; DATA_SET(pcidevice_set, ohci_pci_device); -#endif - -#if defined(__NetBSD__) -int -ohci_pci_match(parent, match, aux) - struct device *parent; - struct cfdata *match; - void *aux; -{ - struct pci_attach_args *pa = (struct pci_attach_args *) aux; - if (PCI_CLASS(pa->pa_class) == PCI_CLASS_SERIALBUS && - PCI_SUBCLASS(pa->pa_class) == PCI_SUBCLASS_SERIALBUS_USB && - PCI_INTERFACE(pa->pa_class) == PCI_INTERFACE_OHCI) - return 1; - - return 0; -} -#elif defined(__FreeBSD__) static const char * ohci_pci_probe(pcici_t config_id, pcidi_t device_id) { @@ -142,82 +105,10 @@ ohci_pci_probe(pcici_t config_id, pcidi_t device_id) if ( (PCI_CLASS(class) == PCI_CLASS_SERIALBUS) && (PCI_SUBCLASS(class) == PCI_SUBCLASS_SERIALBUS_USB) && (PCI_INTERFACE(class) == PCI_INTERFACE_OHCI)) - return("OHCI Host Controller"); + return("OHCI USB Host Controller (generic)"); return NULL; /* dunno */ } -#endif - -#if defined(__NetBSD__) -void -ohci_pci_attach(parent, self, aux) - struct device *parent; - struct device *self; - void *aux; -{ - struct ohci_softc *sc = (struct ohci_softc *)self; - struct pci_attach_args *pa = (struct pci_attach_args *)aux; - pci_chipset_tag_t pc = pa->pa_pc; - char const *intrstr; - pci_intr_handle_t ih; - pcireg_t csr; - char devinfo[256]; - usbd_status r; - char *vendor; - - pci_devinfo(pa->pa_id, pa->pa_class, 0, devinfo); - printf(": %s (rev. 0x%02x)\n", devinfo, PCI_REVISION(pa->pa_class)); - - /* Map I/O registers */ - if (pci_mapreg_map(pa, PCI_CBMEM, PCI_MAPREG_TYPE_MEM, 0, - &sc->iot, &sc->ioh, NULL, NULL)) { - printf("%s: can't map mem space\n", sc->sc_bus.bdev.dv_xname); - return; - } - - sc->sc_dmatag = pa->pa_dmat; - - /* Enable the device. */ - csr = pci_conf_read(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG); - pci_conf_write(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG, - csr | PCI_COMMAND_MASTER_ENABLE); - - /* Map and establish the interrupt. */ - if (pci_intr_map(pc, pa->pa_intrtag, pa->pa_intrpin, - pa->pa_intrline, &ih)) { - printf("%s: couldn't map interrupt\n", sc->sc_bus.bdev.dv_xname); - return; - } - intrstr = pci_intr_string(pc, ih); - sc->sc_ih = pci_intr_establish(pc, ih, IPL_USB, ohci_intr, sc); - if (sc->sc_ih == NULL) { - printf("%s: couldn't establish interrupt", - sc->sc_bus.bdev.dv_xname); - if (intrstr != NULL) - printf(" at %s", intrstr); - printf("\n"); - return; - } - printf("%s: interrupting at %s\n", sc->sc_bus.bdev.dv_xname, intrstr); - - /* Figure out vendor for root hub descriptor. */ - vendor = pci_findvendor(pa->pa_id); - if (vendor) - strncpy(sc->sc_vendor, vendor, sizeof(sc->sc_vendor)); - else - sprintf(sc->sc_vendor, "vendor 0x%04x", PCI_VENDOR(pa->pa_id)); - - r = ohci_init(sc); - if (r != USBD_NORMAL_COMPLETION) { - printf("%s: init failed, error=%d\n", sc->sc_bus.bdev.dv_xname, - r); - return; - } - - /* Attach usb device. */ - config_found((void *)sc, &sc->sc_bus, usbctlprint); -} -#elif defined(__FreeBSD__) static void ohci_pci_attach(pcici_t config_id, int unit) @@ -281,8 +172,9 @@ ohci_pci_attach(pcici_t config_id, int unit) */ sc->sc_bus.bdev = device_add_child(root_bus, "usb", unit, sc); if (!sc->sc_bus.bdev) { - DEVICE_ERROR(sc->sc_bus.bdev, - ("unable to add USB device to root bus\n")); + printf("%s%d: unable to add USB device to root bus\n", + device_get_name(sc->sc_bus.bdev), + device_get_unit(sc->sc_bus.bdev)); return; } @@ -293,8 +185,7 @@ ohci_pci_attach(pcici_t config_id, int unit) return; } - device_set_desc(sc->sc_bus.bdev, "OHCI Host Controller"); + device_set_desc(sc->sc_bus.bdev, "OHCI USB Host Controller (generic)"); return; } -#endif diff --git a/sys/dev/pci/uhci_pci.c b/sys/dev/pci/uhci_pci.c index c0efd73..138b64b 100644 --- a/sys/dev/pci/uhci_pci.c +++ b/sys/dev/pci/uhci_pci.c @@ -1,11 +1,12 @@ -/* FreeBSD $Id$ */ +/* FreeBSD $Id: uhci_pci.c,v 1.5 1998/12/14 09:40:14 n_hibma Exp $ */ /* * Copyright (c) 1998 The NetBSD Foundation, Inc. * All rights reserved. * - * Author: Lennart Augustsson <augustss@carlstedt.se> - * Carlstedt Research & Technology + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (augustss@carlstedt.se) at + * Carlstedt Research & Technology. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -36,23 +37,15 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include <dev/usb/usb_port.h> - #include <sys/param.h> #include <sys/systm.h> #include <sys/kernel.h> -#if defined(__FreeBSD__) #include <sys/module.h> #include <sys/bus.h> -#endif #include <sys/device.h> #include <sys/proc.h> #include <sys/queue.h> -#if defined(__NetBSD__) -#include <machine/bus.h> -#include <dev/pci/pcivar.h> -#elif defined(__FreeBSD__) #include <pci/pcivar.h> #include <pci/pcireg.h> @@ -63,7 +56,6 @@ #define PCI_SUBCLASS_SERIALBUS_SSA 0x00020000 #define PCI_SUBCLASS_SERIALBUS_USB 0x00030000 #define PCI_SUBCLASS_SERIALBUS_FIBER 0x00040000 -#endif #include <dev/usb/usb.h> #include <dev/usb/usbdi.h> @@ -73,16 +65,6 @@ #include <dev/usb/uhcireg.h> #include <dev/usb/uhcivar.h> -#if defined(__NetBSD__) -int uhci_pci_match __P((struct device *, struct cfdata *, void *)); -void uhci_pci_attach __P((struct device *, struct device *, void *)); - -struct cfattach uhci_pci_ca = { - sizeof(uhci_softc_t), uhci_pci_match, uhci_pci_attach -}; - -#elif defined(__FreeBSD__) - #define PCI_INTERFACE(d) (((d)>>8)&0xff) #define PCI_SUBCLASS(d) ((d)&PCI_SUBCLASS_MASK) #define PCI_CLASS(d) ((d)&PCI_CLASS_MASK) @@ -93,6 +75,7 @@ struct cfattach uhci_pci_ca = { #define PCI_UHCI_DEVICEID_PIIX3 0x70208086ul #define PCI_UHCI_DEVICEID_PIIX4 0x71128086ul #define PCI_UHCI_DEVICEID_PIIX4E 0x71128086ul /* no separate step */ +#define PCI_UHCI_DEVICEID_VT83C572 0x30381106ul #define PCI_UHCI_BASE_REG 0x20 @@ -110,27 +93,8 @@ static struct pci_device uhci_pci_device = { }; DATA_SET(pcidevice_set, uhci_pci_device); -#endif - -#if defined(__NetBSD__) -int -uhci_pci_match(parent, match, aux) - struct device *parent; - struct cfdata *match; - void *aux; -{ - struct pci_attach_args *pa = (struct pci_attach_args *) aux; - - if (PCI_CLASS(pa->pa_class) == PCI_CLASS_SERIALBUS && - PCI_SUBCLASS(pa->pa_class) == PCI_SUBCLASS_SERIALBUS_USB && - PCI_INTERFACE(pa->pa_class) == PCI_INTERFACE_UHCI) - return 1; - - return 0; -} -#elif defined(__FreeBSD__) static const char * uhci_pci_probe(pcici_t config_id, pcidi_t device_id) { @@ -140,106 +104,19 @@ uhci_pci_probe(pcici_t config_id, pcidi_t device_id) return ("Intel 82371SB USB Host Controller"); else if (device_id == PCI_UHCI_DEVICEID_PIIX4) return ("Intel 82371AB/EB USB Host Controller"); + else if (device_id == PCI_UHCI_DEVICEID_VT83C572) + return ("Via Techn. 83C572 USB Host Controller"); else { class = pci_conf_read(config_id, PCI_CLASS_REG); if ( PCI_CLASS(class) == PCI_CLASS_SERIALBUS && PCI_SUBCLASS(class) == PCI_SUBCLASS_SERIALBUS_USB && PCI_INTERFACE(class) == PCI_INTERFACE_UHCI) { - return ("UHCI Host Controller"); + return ("UHCI USB Host Controller (generic)"); } } return NULL; /* dunno... */ } -#endif - - -#if defined(__NetBSD__) -void -uhci_pci_attach(parent, self, aux) - struct device *parent; - struct device *self; - void *aux; -{ - uhci_softc_t *sc = (uhci_softc_t *)self; - struct pci_attach_args *pa = (struct pci_attach_args *)aux; - pci_chipset_tag_t pc = pa->pa_pc; - char const *intrstr; - pci_intr_handle_t ih; - pcireg_t csr; - char *typestr, *vendor; - char devinfo[256]; - usbd_status r; - - pci_devinfo(pa->pa_id, pa->pa_class, 0, devinfo); - printf(": %s (rev. 0x%02x)\n", devinfo, PCI_REVISION(pa->pa_class)); - - /* Map I/O registers */ - if (pci_mapreg_map(pa, PCI_CBIO, PCI_MAPREG_TYPE_IO, 0, - &sc->iot, &sc->ioh, NULL, NULL)) { - printf("%s: can't map i/o space\n", sc->sc_bus.bdev.dv_xname); - return; - } - - sc->sc_dmatag = pa->pa_dmat; - - /* Enable the device. */ - csr = pci_conf_read(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG); - pci_conf_write(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG, - csr | PCI_COMMAND_MASTER_ENABLE); - - /* Map and establish the interrupt. */ - if (pci_intr_map(pc, pa->pa_intrtag, pa->pa_intrpin, - pa->pa_intrline, &ih)) { - printf("%s: couldn't map interrupt\n", - sc->sc_bus.bdev.dv_xname); - return; - } - intrstr = pci_intr_string(pc, ih); - sc->sc_ih = pci_intr_establish(pc, ih, IPL_USB, uhci_intr, sc); - if (sc->sc_ih == NULL) { - printf("%s: couldn't establish interrupt", - sc->sc_bus.bdev.dv_xname); - if (intrstr != NULL) - printf(" at %s", intrstr); - printf("\n"); - return; - } - printf("%s: interrupting at %s\n", sc->sc_bus.bdev.dv_xname, intrstr); - - switch(pci_conf_read(pc, pa->pa_tag, PCI_USBREV) & PCI_USBREV_MASK) { - case PCI_USBREV_PRE_1_0: - typestr = "pre 1.0"; - break; - case PCI_USBREV_1_0: - typestr = "1.0"; - break; - default: - typestr = "unknown"; - break; - } - printf("%s: USB version %s\n", sc->sc_bus.bdev.dv_xname, typestr); - - /* Figure out vendor for root hub descriptor. */ - vendor = pci_findvendor(pa->pa_id); - if (vendor) - strncpy(sc->sc_vendor, vendor, sizeof(sc->sc_vendor)); - else - sprintf(sc->sc_vendor, "vendor 0x%04x", PCI_VENDOR(pa->pa_id)); - - r = uhci_init(sc); - if (r != USBD_NORMAL_COMPLETION) { - printf("%s: init failed, error=%d\n", - sc->sc_bus.bdev.dv_xname, r); - return; - } - - /* Attach usb device. */ - config_found((void *)sc, &sc->sc_bus, usbctlprint); -} - - -#elif defined(__FreeBSD__) static void uhci_pci_attach(pcici_t config_id, int unit) @@ -307,14 +184,18 @@ uhci_pci_attach(pcici_t config_id, int unit) */ sc->sc_bus.bdev = device_add_child(root_bus, "usb", unit, sc); if (!sc->sc_bus.bdev) { - DEVICE_ERROR(sc->sc_bus.bdev, - ("unable to add USB device to root bus\n")); + printf("%s%d: unable to add USB device to root bus\n", + device_get_name(sc->sc_bus.bdev), + device_get_unit(sc->sc_bus.bdev)); return; } r = uhci_init(sc); if (r != USBD_NORMAL_COMPLETION) { - printf("usb%d: init failed, error=%d\n", unit, r); + printf("%s%d: init failed, error=%d\n", + device_get_name(sc->sc_bus.bdev), + device_get_unit(sc->sc_bus.bdev), + r); device_delete_child(root_bus, sc->sc_bus.bdev); return; } @@ -328,10 +209,12 @@ uhci_pci_attach(pcici_t config_id, int unit) case PCI_UHCI_DEVICEID_PIIX4: device_set_desc(sc->sc_bus.bdev, "Intel 82371AB/EB USB Host Controller"); break; + case PCI_UHCI_DEVICEID_VT83C572: + device_set_desc(sc->sc_bus.bdev, "Via Techn. 83C572 USB Host Controller"); + break; default: - device_set_desc(sc->sc_bus.bdev, "UHCI Host Controller"); + device_set_desc(sc->sc_bus.bdev, "UHCI USB Host Controller (generic)"); } return; } -#endif |