2010-01-18 14:23:16 +01:00
/*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation ; either version
* 2 of the License , or ( at your option ) any later version .
*
* Based on powerpc version
*/
# ifndef __ASM_MICROBLAZE_PCI_H
# define __ASM_MICROBLAZE_PCI_H
# ifdef __KERNEL__
# include <linux/types.h>
# include <linux/slab.h>
# include <linux/string.h>
# include <linux/dma-mapping.h>
# include <linux/pci.h>
2015-05-01 12:46:15 +02:00
# include <linux/scatterlist.h>
2010-01-18 14:23:16 +01:00
# include <asm/io.h>
# include <asm/prom.h>
# include <asm/pci-bridge.h>
# define PCIBIOS_MIN_IO 0x1000
# define PCIBIOS_MIN_MEM 0x10000000
/* Values for the `which' argument to sys_pciconfig_iobase syscall. */
# define IOBASE_BRIDGE_NUMBER 0
# define IOBASE_MEMORY 1
# define IOBASE_IO 2
# define IOBASE_ISA_IO 3
# define IOBASE_ISA_MEM 4
# define pcibios_scan_all_fns(a, b) 0
/*
* Set this to 1 if you want the kernel to re - assign all PCI
* bus numbers ( don ' t do that on ppc64 yet ! )
*/
2011-04-11 11:20:25 +10:00
# define pcibios_assign_all_busses() 0
2010-01-18 14:23:16 +01:00
extern int pci_domain_nr ( struct pci_bus * bus ) ;
/* Decide whether to display the domain number in /proc */
extern int pci_proc_domain ( struct pci_bus * bus ) ;
struct vm_area_struct ;
/* Tell drivers/pci/proc.c that we have pci_mmap_page_range() */
2017-04-12 13:25:56 +01:00
# define HAVE_PCI_MMAP 1
# define arch_can_pci_mmap_io() 1
2010-01-18 14:23:16 +01:00
extern int pci_legacy_read ( struct pci_bus * bus , loff_t port , u32 * val ,
size_t count ) ;
extern int pci_legacy_write ( struct pci_bus * bus , loff_t port , u32 val ,
size_t count ) ;
extern int pci_mmap_legacy_page_range ( struct pci_bus * bus ,
struct vm_area_struct * vma ,
enum pci_mmap_state mmap_state ) ;
# define HAVE_PCI_LEGACY 1
/* The PCI address space does equal the physical memory
* address space ( no IOMMU ) . The IDE and SCSI device layers use
* this boolean for bounce buffer decisions .
*/
# define PCI_DMA_BUS_IS_PHYS (1)
extern void pcibios_claim_one_bus ( struct pci_bus * b ) ;
extern void pcibios_finish_adding_to_bus ( struct pci_bus * bus ) ;
extern void pcibios_resource_survey ( void ) ;
struct file ;
extern pgprot_t pci_phys_mem_access_prot ( struct file * file ,
unsigned long pfn ,
unsigned long size ,
pgprot_t prot ) ;
# define HAVE_ARCH_PCI_RESOURCE_TO_USER
2011-03-30 22:57:33 -03:00
/* This part of code was originally in xilinx-pci.h */
2010-01-18 15:27:11 +01:00
# ifdef CONFIG_PCI_XILINX
extern void __init xilinx_pci_init ( void ) ;
# else
static inline void __init xilinx_pci_init ( void ) { return ; }
# endif
2010-01-18 14:23:16 +01:00
# endif /* __KERNEL__ */
# endif /* __ASM_MICROBLAZE_PCI_H */