mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-05-05 06:43:48 +00:00
sh: pci: Consolidate PCI I/O and mem window definitions for SH7780.
This consolidates all of the PCI I/O and memory window definitions across the pci-sh7780 users in pci-sh7780 itself. No functional changes, in that every platform had exactly the same implementation. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
f1dcab7566
commit
ab1363a892
6 changed files with 27 additions and 90 deletions
|
@ -26,27 +26,6 @@ int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin)
|
||||||
return irq_tab[slot];
|
return irq_tab[slot];
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct resource sh7780_io_resource = {
|
|
||||||
.name = "SH7780_IO",
|
|
||||||
.start = SH7780_PCI_IO_BASE,
|
|
||||||
.end = SH7780_PCI_IO_BASE + SH7780_PCI_IO_SIZE - 1,
|
|
||||||
.flags = IORESOURCE_IO
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct resource sh7780_mem_resource = {
|
|
||||||
.name = "SH7780_mem",
|
|
||||||
.start = SH7780_PCI_MEMORY_BASE,
|
|
||||||
.end = SH7780_PCI_MEMORY_BASE + SH7780_PCI_MEM_SIZE - 1,
|
|
||||||
.flags = IORESOURCE_MEM
|
|
||||||
};
|
|
||||||
|
|
||||||
extern struct pci_ops sh7780_pci_ops;
|
|
||||||
|
|
||||||
struct pci_channel board_pci_channels[] = {
|
|
||||||
{ sh7780_pci_init, &sh4_pci_ops, &sh7780_io_resource, &sh7780_mem_resource, 0, 0xff },
|
|
||||||
{ NULL, NULL, NULL, 0, 0 },
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct sh4_pci_address_map sh7780_pci_map = {
|
static struct sh4_pci_address_map sh7780_pci_map = {
|
||||||
.window0 = {
|
.window0 = {
|
||||||
.base = SH7780_CS2_BASE_ADDR,
|
.base = SH7780_CS2_BASE_ADDR,
|
||||||
|
@ -61,5 +40,5 @@ static struct sh4_pci_address_map sh7780_pci_map = {
|
||||||
|
|
||||||
int __init pcibios_init_platform(void)
|
int __init pcibios_init_platform(void)
|
||||||
{
|
{
|
||||||
return sh7780_pcic_init(&board_pci_channels[0], &sh7780_pci_map);
|
return sh7780_pcic_init(&sh7780_pci_map);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,25 +34,6 @@ int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin)
|
||||||
return sdk7780_irq_tab[pin-1][slot];
|
return sdk7780_irq_tab[pin-1][slot];
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct resource sdk7780_io_resource = {
|
|
||||||
.name = "SH7780_IO",
|
|
||||||
.start = SH7780_PCI_IO_BASE,
|
|
||||||
.end = SH7780_PCI_IO_BASE + SH7780_PCI_IO_SIZE - 1,
|
|
||||||
.flags = IORESOURCE_IO
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct resource sdk7780_mem_resource = {
|
|
||||||
.name = "SH7780_mem",
|
|
||||||
.start = SH7780_PCI_MEMORY_BASE,
|
|
||||||
.end = SH7780_PCI_MEMORY_BASE + SH7780_PCI_MEM_SIZE - 1,
|
|
||||||
.flags = IORESOURCE_MEM
|
|
||||||
};
|
|
||||||
|
|
||||||
struct pci_channel board_pci_channels[] = {
|
|
||||||
{ sh7780_pci_init, &sh4_pci_ops, &sdk7780_io_resource, &sdk7780_mem_resource, 0, 0xff },
|
|
||||||
{ NULL, NULL, NULL, 0, 0 },
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct sh4_pci_address_map sdk7780_pci_map = {
|
static struct sh4_pci_address_map sdk7780_pci_map = {
|
||||||
.window0 = {
|
.window0 = {
|
||||||
.base = SH7780_CS2_BASE_ADDR,
|
.base = SH7780_CS2_BASE_ADDR,
|
||||||
|
@ -67,5 +48,5 @@ static struct sh4_pci_address_map sdk7780_pci_map = {
|
||||||
int __init pcibios_init_platform(void)
|
int __init pcibios_init_platform(void)
|
||||||
{
|
{
|
||||||
printk(KERN_INFO "SH7780 PCI: Finished initializing PCI controller\n");
|
printk(KERN_INFO "SH7780 PCI: Finished initializing PCI controller\n");
|
||||||
return sh7780_pcic_init(&board_pci_channels[0], &sdk7780_pci_map);
|
return sh7780_pcic_init(&sdk7780_pci_map);
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,27 +41,6 @@ int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin)
|
||||||
return se7780_irq_tab[pin-1][slot];
|
return se7780_irq_tab[pin-1][slot];
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct resource se7780_io_resource = {
|
|
||||||
.name = "SH7780_IO",
|
|
||||||
.start = SH7780_PCI_IO_BASE,
|
|
||||||
.end = SH7780_PCI_IO_BASE + SH7780_PCI_IO_SIZE - 1,
|
|
||||||
.flags = IORESOURCE_IO
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct resource se7780_mem_resource = {
|
|
||||||
.name = "SH7780_mem",
|
|
||||||
.start = SH7780_PCI_MEMORY_BASE,
|
|
||||||
.end = SH7780_PCI_MEMORY_BASE + SH7780_PCI_MEM_SIZE - 1,
|
|
||||||
.flags = IORESOURCE_MEM
|
|
||||||
};
|
|
||||||
|
|
||||||
extern struct pci_ops se7780_pci_ops;
|
|
||||||
|
|
||||||
struct pci_channel board_pci_channels[] = {
|
|
||||||
{ sh7780_pci_init, &sh4_pci_ops, &se7780_io_resource, &se7780_mem_resource, 0, 0xff },
|
|
||||||
{ NULL, NULL, NULL, 0, 0 },
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct sh4_pci_address_map se7780_pci_map = {
|
static struct sh4_pci_address_map se7780_pci_map = {
|
||||||
.window0 = {
|
.window0 = {
|
||||||
.base = SH7780_CS2_BASE_ADDR,
|
.base = SH7780_CS2_BASE_ADDR,
|
||||||
|
@ -90,5 +69,5 @@ int __init pcibios_init_platform(void)
|
||||||
ctrl_outw(0x0013, FPGA_PCI_INTSEL1);
|
ctrl_outw(0x0013, FPGA_PCI_INTSEL1);
|
||||||
ctrl_outw(0xE402, FPGA_PCI_INTSEL2);
|
ctrl_outw(0xE402, FPGA_PCI_INTSEL2);
|
||||||
|
|
||||||
return sh7780_pcic_init(&board_pci_channels[0], &se7780_pci_map);
|
return sh7780_pcic_init(&se7780_pci_map);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,25 +26,6 @@ int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin)
|
||||||
return irq_tab[slot];
|
return irq_tab[slot];
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct resource sh7785_io_resource = {
|
|
||||||
.name = "SH7785_IO",
|
|
||||||
.start = SH7780_PCI_IO_BASE,
|
|
||||||
.end = SH7780_PCI_IO_BASE + SH7780_PCI_IO_SIZE - 1,
|
|
||||||
.flags = IORESOURCE_IO
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct resource sh7785_mem_resource = {
|
|
||||||
.name = "SH7785_mem",
|
|
||||||
.start = SH7780_PCI_MEMORY_BASE,
|
|
||||||
.end = SH7780_PCI_MEMORY_BASE + SH7780_PCI_MEM_SIZE - 1,
|
|
||||||
.flags = IORESOURCE_MEM
|
|
||||||
};
|
|
||||||
|
|
||||||
struct pci_channel board_pci_channels[] = {
|
|
||||||
{ sh7780_pci_init, &sh4_pci_ops, &sh7785_io_resource, &sh7785_mem_resource, 0, 0xff },
|
|
||||||
{ NULL, NULL, NULL, 0, 0 },
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct sh4_pci_address_map sh7785_pci_map = {
|
static struct sh4_pci_address_map sh7785_pci_map = {
|
||||||
.window0 = {
|
.window0 = {
|
||||||
#if defined(CONFIG_32BIT)
|
#if defined(CONFIG_32BIT)
|
||||||
|
@ -59,5 +40,5 @@ static struct sh4_pci_address_map sh7785_pci_map = {
|
||||||
|
|
||||||
int __init pcibios_init_platform(void)
|
int __init pcibios_init_platform(void)
|
||||||
{
|
{
|
||||||
return sh7780_pcic_init(&board_pci_channels[0], &sh7785_pci_map);
|
return sh7780_pcic_init(&sh7785_pci_map);
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include "pci-sh4.h"
|
#include "pci-sh4.h"
|
||||||
|
|
||||||
int __init sh7780_pci_init(struct pci_channel *chan)
|
static int __init sh7780_pci_init(struct pci_channel *chan)
|
||||||
{
|
{
|
||||||
unsigned int id;
|
unsigned int id;
|
||||||
const char *type = NULL;
|
const char *type = NULL;
|
||||||
|
@ -71,9 +71,28 @@ int __init sh7780_pci_init(struct pci_channel *chan)
|
||||||
|
|
||||||
extern u8 pci_cache_line_size;
|
extern u8 pci_cache_line_size;
|
||||||
|
|
||||||
int __init sh7780_pcic_init(struct pci_channel *chan,
|
static struct resource sh7785_io_resource = {
|
||||||
struct sh4_pci_address_map *map)
|
.name = "SH7785_IO",
|
||||||
|
.start = SH7780_PCI_IO_BASE,
|
||||||
|
.end = SH7780_PCI_IO_BASE + SH7780_PCI_IO_SIZE - 1,
|
||||||
|
.flags = IORESOURCE_IO
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct resource sh7785_mem_resource = {
|
||||||
|
.name = "SH7785_mem",
|
||||||
|
.start = SH7780_PCI_MEMORY_BASE,
|
||||||
|
.end = SH7780_PCI_MEMORY_BASE + SH7780_PCI_MEM_SIZE - 1,
|
||||||
|
.flags = IORESOURCE_MEM
|
||||||
|
};
|
||||||
|
|
||||||
|
struct pci_channel board_pci_channels[] = {
|
||||||
|
{ sh7780_pci_init, &sh4_pci_ops, &sh7785_io_resource, &sh7785_mem_resource, 0, 0xff },
|
||||||
|
{ NULL, NULL, NULL, 0, 0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
int __init sh7780_pcic_init(struct sh4_pci_address_map *map)
|
||||||
{
|
{
|
||||||
|
struct pci_channel *chan = &board_pci_channels[0];
|
||||||
u32 word;
|
u32 word;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -107,8 +107,6 @@
|
||||||
struct sh4_pci_address_map;
|
struct sh4_pci_address_map;
|
||||||
|
|
||||||
/* arch/sh/drivers/pci/pci-sh7780.c */
|
/* arch/sh/drivers/pci/pci-sh7780.c */
|
||||||
int sh7780_pci_init(struct pci_channel *chan);
|
int sh7780_pcic_init(struct sh4_pci_address_map *map);
|
||||||
int sh7780_pcic_init(struct pci_channel *chan,
|
|
||||||
struct sh4_pci_address_map *map);
|
|
||||||
|
|
||||||
#endif /* _PCI_SH7780_H_ */
|
#endif /* _PCI_SH7780_H_ */
|
||||||
|
|
Loading…
Add table
Reference in a new issue