31e9d161abf4fb4f17c967ac856bfea93e0d5b12
[openwrt/svn-archive/archive.git] / target / linux / brcm63xx-2.6 / files / arch / mips / pci / pci-bcm96348.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 = "bcm96348 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 = "bcm96348 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 bcm96348_pci_ops;
42
43 struct pci_controller bcm96348_controller = {
44 .pci_ops = &bcm96348_pci_ops,
45 .io_resource = &bcm_pci_io_resource,
46 .mem_resource = &bcm_pci_mem_resource,
47 };
48
49 static void bcm96348_pci_init(void)
50 {
51 register_pci_controller(&bcm96348_controller);
52 }
53
54 arch_initcall(bcm96348_pci_init);