150acfb2bSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 26d60b6eeSPalmer Dabbelt /* 36d60b6eeSPalmer Dabbelt * Copyright (C) 2016 SiFive 46d60b6eeSPalmer Dabbelt */ 56d60b6eeSPalmer Dabbelt 66d60b6eeSPalmer Dabbelt #ifndef __ASM_RISCV_PCI_H 76d60b6eeSPalmer Dabbelt #define __ASM_RISCV_PCI_H 86d60b6eeSPalmer Dabbelt 96d60b6eeSPalmer Dabbelt #include <linux/types.h> 106d60b6eeSPalmer Dabbelt #include <linux/slab.h> 116d60b6eeSPalmer Dabbelt #include <linux/dma-mapping.h> 126d60b6eeSPalmer Dabbelt 136d60b6eeSPalmer Dabbelt #include <asm/io.h> 146d60b6eeSPalmer Dabbelt 156d60b6eeSPalmer Dabbelt #define PCIBIOS_MIN_IO 0 166d60b6eeSPalmer Dabbelt #define PCIBIOS_MIN_MEM 0 176d60b6eeSPalmer Dabbelt 186d60b6eeSPalmer Dabbelt /* RISC-V shim does not initialize PCI bus */ 196d60b6eeSPalmer Dabbelt #define pcibios_assign_all_busses() 1 206d60b6eeSPalmer Dabbelt 216d60b6eeSPalmer Dabbelt extern int isa_dma_bridge_buggy; 226d60b6eeSPalmer Dabbelt 236d60b6eeSPalmer Dabbelt #ifdef CONFIG_PCI 246d60b6eeSPalmer Dabbelt static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) 256d60b6eeSPalmer Dabbelt { 266d60b6eeSPalmer Dabbelt /* no legacy IRQ on risc-v */ 276d60b6eeSPalmer Dabbelt return -ENODEV; 286d60b6eeSPalmer Dabbelt } 296d60b6eeSPalmer Dabbelt 306d60b6eeSPalmer Dabbelt static inline int pci_proc_domain(struct pci_bus *bus) 316d60b6eeSPalmer Dabbelt { 326d60b6eeSPalmer Dabbelt /* always show the domain in /proc */ 336d60b6eeSPalmer Dabbelt return 1; 346d60b6eeSPalmer Dabbelt } 356d60b6eeSPalmer Dabbelt #endif /* CONFIG_PCI */ 366d60b6eeSPalmer Dabbelt 376d60b6eeSPalmer Dabbelt #endif /* __ASM_PCI_H */ 38