sparc32,leon: added LEON-common low-level PCI routines
[deliverable/linux.git] / arch / sparc / include / asm / pci_32.h
CommitLineData
f5e706ad
SR
1#ifndef __SPARC_PCI_H
2#define __SPARC_PCI_H
3
4#ifdef __KERNEL__
5
9dc69230
DM
6#include <linux/dma-mapping.h>
7
f5e706ad
SR
8/* Can be used to override the logic in pci_scan_bus for skipping
9 * already-configured bus numbers - to be used for buggy BIOSes
10 * or architectures with incomplete PCI setup by the loader.
11 */
12#define pcibios_assign_all_busses() 0
f5e706ad
SR
13
14#define PCIBIOS_MIN_IO 0UL
15#define PCIBIOS_MIN_MEM 0UL
16
17#define PCI_IRQ_NONE 0xffffffff
18
19static inline void pcibios_set_master(struct pci_dev *dev)
20{
21 /* No special bus mastering setup handling */
22}
23
24static inline void pcibios_penalize_isa_irq(int irq, int active)
25{
26 /* We don't do dynamic PCI IRQ allocation */
27}
28
29/* Dynamic DMA mapping stuff.
30 */
31#define PCI_DMA_BUS_IS_PHYS (0)
32
f5e706ad
SR
33struct pci_dev;
34
f5e706ad
SR
35#ifdef CONFIG_PCI
36static inline void pci_dma_burst_advice(struct pci_dev *pdev,
37 enum pci_dma_burst_strategy *strat,
38 unsigned long *strategy_parameter)
39{
40 *strat = PCI_DMA_BURST_INFINITY;
41 *strategy_parameter = ~0UL;
42}
43#endif
44
f5e706ad
SR
45struct device_node;
46extern struct device_node *pci_device_to_OF_node(struct pci_dev *pdev);
47
48#endif /* __KERNEL__ */
49
26893c13 50#ifndef CONFIG_LEON_PCI
f5e706ad
SR
51/* generic pci stuff */
52#include <asm-generic/pci.h>
26893c13
DH
53#else
54/*
55 * On LEON PCI Memory space is mapped 1:1 with physical address space.
56 *
57 * I/O space is located at low 64Kbytes in PCI I/O space. The I/O addresses
58 * are converted into CPU addresses to virtual addresses that are mapped with
59 * MMU to the PCI Host PCI I/O space window which are translated to the low
60 * 64Kbytes by the Host controller.
61 */
62
63extern void
64pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region,
65 struct resource *res);
66
67extern void
68pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res,
69 struct pci_bus_region *region);
70
71static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
72{
73 return PCI_IRQ_NONE;
74}
75#endif
f5e706ad
SR
76
77#endif /* __SPARC_PCI_H */
This page took 0.220912 seconds and 5 git commands to generate.