diff options
author | Florian Fainelli <florian@openwrt.org> | 2007-04-10 21:46:29 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2007-04-10 21:46:29 +0000 |
commit | c50002315a37c8aa8e985f442ea59d7549da1ba2 (patch) | |
tree | 0953091dc5ddee39b2121bed1252fb74383cf595 /target/linux/easygate-2.6/files/arch/mips/pci/pci-bcm96348.c | |
parent | 14d9a22d8896ab25712c2eb527dbf3dd31e32cd2 (diff) | |
download | master-187ad058-c50002315a37c8aa8e985f442ea59d7549da1ba2.tar.gz master-187ad058-c50002315a37c8aa8e985f442ea59d7549da1ba2.tar.bz2 master-187ad058-c50002315a37c8aa8e985f442ea59d7549da1ba2.zip |
Ajoute le support easygate
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6926 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/easygate-2.6/files/arch/mips/pci/pci-bcm96348.c')
-rw-r--r-- | target/linux/easygate-2.6/files/arch/mips/pci/pci-bcm96348.c | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/target/linux/easygate-2.6/files/arch/mips/pci/pci-bcm96348.c b/target/linux/easygate-2.6/files/arch/mips/pci/pci-bcm96348.c new file mode 100644 index 0000000000..b477e827bd --- /dev/null +++ b/target/linux/easygate-2.6/files/arch/mips/pci/pci-bcm96348.c @@ -0,0 +1,62 @@ +/* +<:copyright-gpl + Copyright 2002 Broadcom Corp. All Rights Reserved. + + This program is free software; you can distribute it and/or modify it + under the terms of the GNU General Public License (Version 2) as + published by the Free Software Foundation. + + This program is distributed in the hope it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. +:> +*/ +#include <linux/types.h> +#include <linux/pci.h> +#include <linux/kernel.h> +#include <linux/init.h> + +#include <bcmpci.h> + +static struct resource bcm_pci_io_resource = { + .name = "bcm96348 pci IO space", + .start = BCM_PCI_IO_BASE, + .end = BCM_PCI_IO_BASE + BCM_PCI_IO_SIZE_64KB - 1, + .flags = IORESOURCE_IO +}; + +static struct resource bcm_pci_mem_resource = { + .name = "bcm96348 pci memory space", + .start = BCM_PCI_MEM_BASE, + .end = BCM_PCI_MEM_BASE + BCM_PCI_MEM_SIZE_16MB - 1, + .flags = IORESOURCE_MEM +}; + +extern struct pci_ops bcm96348_pci_ops; + +struct pci_controller bcm96348_controller = { + .pci_ops = &bcm96348_pci_ops, + .io_resource = &bcm_pci_io_resource, + .mem_resource = &bcm_pci_mem_resource, +}; + +static __init int bcm96348_pci_init(void) +{ + /* Avoid ISA compat ranges. */ + PCIBIOS_MIN_IO = 0x00000000; + PCIBIOS_MIN_MEM = 0x00000000; + + /* Set I/O resource limits. */ + ioport_resource.end = 0x1fffffff; + iomem_resource.end = 0xffffffff; + + register_pci_controller(&bcm96348_controller); + return 0; +} + +subsys_initcall(bcm96348_pci_init); |