xref: /openbmc/linux/arch/arm/include/asm/pci.h (revision b2441318)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
24baa9922SRussell King #ifndef ASMARM_PCI_H
34baa9922SRussell King #define ASMARM_PCI_H
44baa9922SRussell King 
54baa9922SRussell King #ifdef __KERNEL__
652882173SAnton Vorontsov #include <asm/mach/pci.h> /* for pci_sys_data */
7c9d95fbeSRob Herring 
8c9d95fbeSRob Herring extern unsigned long pcibios_min_io;
9c9d95fbeSRob Herring #define PCIBIOS_MIN_IO pcibios_min_io
10c9d95fbeSRob Herring extern unsigned long pcibios_min_mem;
11c9d95fbeSRob Herring #define PCIBIOS_MIN_MEM pcibios_min_mem
124baa9922SRussell King 
13dc8d966bSRob Herring static inline int pcibios_assign_all_busses(void)
14dc8d966bSRob Herring {
15dc8d966bSRob Herring 	return pci_has_flag(PCI_REASSIGN_ALL_RSRC);
16dc8d966bSRob Herring }
17dc8d966bSRob Herring 
1852882173SAnton Vorontsov #ifdef CONFIG_PCI_DOMAINS
1952882173SAnton Vorontsov static inline int pci_proc_domain(struct pci_bus *bus)
2052882173SAnton Vorontsov {
2152882173SAnton Vorontsov 	return pci_domain_nr(bus);
2252882173SAnton Vorontsov }
2352882173SAnton Vorontsov #endif /* CONFIG_PCI_DOMAINS */
2452882173SAnton Vorontsov 
254baa9922SRussell King /*
264baa9922SRussell King  * The PCI address space does equal the physical memory address space.
274baa9922SRussell King  * The networking and block device layers use this boolean for bounce
284baa9922SRussell King  * buffer decisions.
294baa9922SRussell King  */
3088c381bfSRussell King #define PCI_DMA_BUS_IS_PHYS     (1)
314baa9922SRussell King 
324baa9922SRussell King #define HAVE_PCI_MMAP
3300d2904fSDavid Woodhouse #define ARCH_GENERIC_PCI_MMAP_RESOURCE
344baa9922SRussell King 
354baa9922SRussell King static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
364baa9922SRussell King {
37a472b09dSRussell King 	return channel ? 15 : 14;
384baa9922SRussell King }
394baa9922SRussell King 
404baa9922SRussell King #endif /* __KERNEL__ */
414baa9922SRussell King #endif
42