www.usr.com/support/gpl/USR9113_release1.0.tar.gz
[bcm963xx.git] / kernel / linux / arch / mips / pci / pci-bcm63xx.c
1 /*
2 <:copyright-gpl 
3  Copyright 2002 Broadcom Corp. All Rights Reserved. 
4  
5  This program is free software; you can distribute it and/or modify it 
6  under the terms of the GNU General Public License (Version 2) as 
7  published by the Free Software Foundation. 
8  
9  This program is distributed in the hope it will be useful, but WITHOUT 
10  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
11  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License 
12  for more details. 
13  
14  You should have received a copy of the GNU General Public License along 
15  with this program; if not, write to the Free Software Foundation, Inc., 
16  59 Temple Place - Suite 330, Boston MA 02111-1307, USA. 
17 :>
18 */
19 #include <linux/types.h>
20 #include <linux/pci.h>
21 #include <linux/kernel.h>
22 #include <linux/init.h>
23
24 #include <asm/pci_channel.h>
25 #include <bcmpci.h>
26
27 static struct resource bcm_pci_io_resource = {
28     .name   = "bcm63xx pci IO space",
29     .start  = BCM_PCI_IO_BASE,
30     .end    = BCM_PCI_IO_BASE + BCM_PCI_IO_SIZE_64KB - 1,
31     .flags  = IORESOURCE_IO
32 };
33
34 static struct resource bcm_pci_mem_resource = {
35     .name   = "bcm63xx pci memory space",
36     .start  = BCM_PCI_MEM_BASE,
37     .end    = BCM_PCI_MEM_BASE + BCM_PCI_MEM_SIZE_16MB - 1,
38     .flags  = IORESOURCE_MEM
39 };
40
41 extern struct pci_ops bcm63xx_pci_ops;
42
43 struct pci_controller bcm63xx_controller = {
44     .pci_ops    = &bcm63xx_pci_ops,
45     .io_resource        = &bcm_pci_io_resource,
46     .mem_resource       = &bcm_pci_mem_resource,
47 };
48
49 static int __init bcm63xx_pci_init(void)
50 {
51     register_pci_controller(&bcm63xx_controller);
52
53     return 0;
54 }
55
56 arch_initcall(bcm63xx_pci_init);