sh: Consolidated SH7751/SH7780 PCI support.
This cleans up quite a lot of the PCI mess that we currently have, and attempts to consolidate the duplication in the SH7780 and SH7751 PCI controllers. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
@@ -32,6 +32,34 @@ extern struct pci_channel board_pci_channels[];
|
||||
#define PCIBIOS_MIN_IO board_pci_channels->io_resource->start
|
||||
#define PCIBIOS_MIN_MEM board_pci_channels->mem_resource->start
|
||||
|
||||
/*
|
||||
* I/O routine helpers
|
||||
*/
|
||||
#ifdef CONFIG_CPU_SUBTYPE_SH7780
|
||||
#define PCI_IO_AREA 0xFE400000
|
||||
#define PCI_IO_SIZE 0x00400000
|
||||
#else
|
||||
#define PCI_IO_AREA 0xFE240000
|
||||
#define PCI_IO_SIZE 0X00040000
|
||||
#endif
|
||||
|
||||
#define PCI_MEM_SIZE 0x01000000
|
||||
|
||||
#define SH4_PCIIOBR_MASK 0xFFFC0000
|
||||
#define pci_ioaddr(addr) (PCI_IO_AREA + (addr & ~SH4_PCIIOBR_MASK))
|
||||
|
||||
#if defined(CONFIG_PCI)
|
||||
#define is_pci_ioaddr(port) \
|
||||
(((port) >= PCIBIOS_MIN_IO) && \
|
||||
((port) < (PCIBIOS_MIN_IO + PCI_IO_SIZE)))
|
||||
#define is_pci_memaddr(port) \
|
||||
(((port) >= PCIBIOS_MIN_MEM) && \
|
||||
((port) < (PCIBIOS_MIN_MEM + PCI_MEM_SIZE)))
|
||||
#else
|
||||
#define is_pci_ioaddr(port) (0)
|
||||
#define is_pci_memaddr(port) (0)
|
||||
#endif
|
||||
|
||||
struct pci_dev;
|
||||
|
||||
extern void pcibios_set_master(struct pci_dev *dev);
|
||||
@@ -98,11 +126,12 @@ static inline void pci_dma_burst_advice(struct pci_dev *pdev,
|
||||
#endif
|
||||
|
||||
/* Board-specific fixup routines. */
|
||||
extern void pcibios_fixup(void);
|
||||
extern void pcibios_fixup_irqs(void);
|
||||
void pcibios_fixup(void);
|
||||
int pcibios_init_platform(void);
|
||||
int pcibios_map_platform_irq(struct pci_dev *dev, u8 slot, u8 pin);
|
||||
|
||||
#ifdef CONFIG_PCI_AUTO
|
||||
extern int pciauto_assign_resources(int busno, struct pci_channel *hose);
|
||||
int pciauto_assign_resources(int busno, struct pci_channel *hose);
|
||||
#endif
|
||||
|
||||
static inline void pcibios_add_platform_entries(struct pci_dev *dev)
|
||||
|
Reference in New Issue
Block a user