Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.12 77 lines 1.7 kB view raw
1/* 2 * arch/ppc/platforms/pal4_pci.c 3 * 4 * PCI support for SBS Palomar IV 5 * 6 * Author: Dan Cox 7 * 8 * 2002 (c) MontaVista, Software, Inc. This file is licensed under 9 * the terms of the GNU General Public License version 2. This program 10 * is licensed "as is" without any warranty of any kind, whether express 11 * or implied. 12 */ 13 14#include <linux/kernel.h> 15#include <linux/init.h> 16#include <linux/pci.h> 17 18#include <asm/byteorder.h> 19#include <asm/machdep.h> 20#include <asm/io.h> 21#include <asm/pci-bridge.h> 22#include <asm/uaccess.h> 23 24#include <syslib/cpc700.h> 25 26#include "pal4.h" 27 28/* not much to this.... */ 29static inline int __init 30pal4_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin) 31{ 32 if (idsel == 9) 33 return PAL4_ETH; 34 else 35 return PAL4_INTA + (idsel - 3); 36} 37 38void __init 39pal4_find_bridges(void) 40{ 41 struct pci_controller *hose; 42 43 hose = pcibios_alloc_controller(); 44 if (!hose) 45 return; 46 47 hose->first_busno = 0; 48 hose->last_busno = 0xff; 49 hose->pci_mem_offset = 0; 50 51 /* Could snatch these from the CPC700.... */ 52 pci_init_resource(&hose->io_resource, 53 0x0, 54 0x03ffffff, 55 IORESOURCE_IO, 56 "PCI host bridge"); 57 58 pci_init_resource(&hose->mem_resources[0], 59 0x90000000, 60 0x9fffffff, 61 IORESOURCE_MEM, 62 "PCI host bridge"); 63 64 hose->io_space.start = 0x00800000; 65 hose->io_space.end = 0x03ffffff; 66 hose->mem_space.start = 0x90000000; 67 hose->mem_space.end = 0x9fffffff; 68 hose->io_base_virt = (void *) 0xf8000000; 69 70 setup_indirect_pci(hose, CPC700_PCI_CONFIG_ADDR, 71 CPC700_PCI_CONFIG_DATA); 72 73 hose->last_busno = pciauto_bus_scan(hose, hose->first_busno); 74 75 ppc_md.pci_swizzle = common_swizzle; 76 ppc_md.pci_map_irq = pal4_map_irq; 77}