Module Name: src Committed By: matt Date: Tue Aug 11 02:35:15 UTC 2009
Modified Files: src/sys/arch/evbmips/gdium: machdep.c Log Message: Disable 2nd PCI Windows @ 8MB To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/evbmips/gdium/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/evbmips/gdium/machdep.c diff -u src/sys/arch/evbmips/gdium/machdep.c:1.4 src/sys/arch/evbmips/gdium/machdep.c:1.5 --- src/sys/arch/evbmips/gdium/machdep.c:1.4 Sat Aug 8 20:49:58 2009 +++ src/sys/arch/evbmips/gdium/machdep.c Tue Aug 11 02:35:15 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.4 2009/08/08 20:49:58 matt Exp $ */ +/* $NetBSD: machdep.c,v 1.5 2009/08/11 02:35:15 matt Exp $ */ /* * Copyright 2001, 2002 Wasabi Systems, Inc. @@ -112,7 +112,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.4 2009/08/08 20:49:58 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.5 2009/08/11 02:35:15 matt Exp $"); #include "opt_ddb.h" #include "opt_execfmt.h" @@ -225,6 +225,20 @@ * Set the mapreg. */ pci_conf_write(pba->pba_pc, ralink_dev, PCI_MAPREG_START, v); + +#if 0 + /* + * Why does linux do this? + */ + for (int dev = 15; dev <= 17; dev +=2) { + for (int func = 0; func <= 1; func++) { + pcitag_t usb_dev = pci_make_tag(pba->pba_pc, 0, dev, func); + v = pci_conf_read(pba->pba_pc, usb_dev, 0xe0); + v |= 3; + pci_conf_write(pba->pba_pc, usb_dev, 0xe0, v); + } + } +#endif } /* @@ -275,6 +289,13 @@ gdium_cnattach(gc); /* + * Disable the 2nd PCI window since we don't need it. + */ + REGVAL(BONITO_REGBASE + 0x158) = 0xe; + REGVAL(BONITO_REGBASE + 0x15c) = 0; + pci_conf_write(&gc->gc_pc, pci_make_tag(&gc->gc_pc, 0, 0, 0), 18, 0); + + /* * Get the timer from PMON. */ for (i = 0; envp[i] != NULL; i++) { @@ -305,7 +326,6 @@ #ifdef DEBUG printf("Timer calibration: %lu cycles/sec\n", curcpu()->ci_cpu_freq); - delay(1000000); #endif #if NCOM > 0