mirror of
https://xff.cz/git/u-boot/
synced 2025-09-04 10:12:14 +02:00
sc520: Board Specific PCI Init
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
This commit is contained in:
committed by
Wolfgang Denk
parent
0278216b76
commit
21e67e796b
@@ -27,6 +27,7 @@
|
|||||||
#include <pci.h>
|
#include <pci.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <asm/pci.h>
|
#include <asm/pci.h>
|
||||||
|
#include <asm/ic/pci.h>
|
||||||
#include <asm/ic/sc520.h>
|
#include <asm/ic/sc520.h>
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
@@ -124,43 +125,7 @@ void pci_sc520_init(struct pci_controller *hose)
|
|||||||
{
|
{
|
||||||
hose->first_busno = 0;
|
hose->first_busno = 0;
|
||||||
hose->last_busno = 0xff;
|
hose->last_busno = 0xff;
|
||||||
|
hose->region_count = pci_set_regions(hose);
|
||||||
/* System memory space */
|
|
||||||
pci_set_region(hose->regions + 0,
|
|
||||||
SC520_PCI_MEMORY_BUS,
|
|
||||||
SC520_PCI_MEMORY_PHYS,
|
|
||||||
SC520_PCI_MEMORY_SIZE,
|
|
||||||
PCI_REGION_MEM | PCI_REGION_SYS_MEMORY);
|
|
||||||
|
|
||||||
/* PCI memory space */
|
|
||||||
pci_set_region(hose->regions + 1,
|
|
||||||
SC520_PCI_MEM_BUS,
|
|
||||||
SC520_PCI_MEM_PHYS,
|
|
||||||
SC520_PCI_MEM_SIZE,
|
|
||||||
PCI_REGION_MEM);
|
|
||||||
|
|
||||||
/* ISA/PCI memory space */
|
|
||||||
pci_set_region(hose->regions + 2,
|
|
||||||
SC520_ISA_MEM_BUS,
|
|
||||||
SC520_ISA_MEM_PHYS,
|
|
||||||
SC520_ISA_MEM_SIZE,
|
|
||||||
PCI_REGION_MEM);
|
|
||||||
|
|
||||||
/* PCI I/O space */
|
|
||||||
pci_set_region(hose->regions + 3,
|
|
||||||
SC520_PCI_IO_BUS,
|
|
||||||
SC520_PCI_IO_PHYS,
|
|
||||||
SC520_PCI_IO_SIZE,
|
|
||||||
PCI_REGION_IO);
|
|
||||||
|
|
||||||
/* ISA/PCI I/O space */
|
|
||||||
pci_set_region(hose->regions + 4,
|
|
||||||
SC520_ISA_IO_BUS,
|
|
||||||
SC520_ISA_IO_PHYS,
|
|
||||||
SC520_ISA_IO_SIZE,
|
|
||||||
PCI_REGION_IO);
|
|
||||||
|
|
||||||
hose->region_count = 5;
|
|
||||||
|
|
||||||
pci_setup_type1(hose,
|
pci_setup_type1(hose,
|
||||||
SC520_REG_ADDR,
|
SC520_REG_ADDR,
|
||||||
|
@@ -73,6 +73,7 @@
|
|||||||
extern int sc520_pci_ints[];
|
extern int sc520_pci_ints[];
|
||||||
|
|
||||||
void pci_sc520_init(struct pci_controller *hose);
|
void pci_sc520_init(struct pci_controller *hose);
|
||||||
|
int pci_set_regions(struct pci_controller *hose);
|
||||||
int pci_sc520_set_irq(int pci_pin, int irq);
|
int pci_sc520_set_irq(int pci_pin, int irq);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -93,3 +93,36 @@ void pci_init_board(void)
|
|||||||
{
|
{
|
||||||
pci_sc520_init(&enet_hose);
|
pci_sc520_init(&enet_hose);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int pci_set_regions(struct pci_controller *hose)
|
||||||
|
{
|
||||||
|
/* System memory space */
|
||||||
|
pci_set_region(hose->regions + 0,
|
||||||
|
SC520_PCI_MEMORY_BUS,
|
||||||
|
SC520_PCI_MEMORY_PHYS,
|
||||||
|
SC520_PCI_MEMORY_SIZE,
|
||||||
|
PCI_REGION_MEM | PCI_REGION_SYS_MEMORY);
|
||||||
|
|
||||||
|
/* ISA/PCI memory space */
|
||||||
|
pci_set_region(hose->regions + 1,
|
||||||
|
SC520_ISA_MEM_BUS,
|
||||||
|
SC520_ISA_MEM_PHYS,
|
||||||
|
SC520_ISA_MEM_SIZE,
|
||||||
|
PCI_REGION_MEM);
|
||||||
|
|
||||||
|
/* PCI I/O space */
|
||||||
|
pci_set_region(hose->regions + 2,
|
||||||
|
SC520_PCI_IO_BUS,
|
||||||
|
SC520_PCI_IO_PHYS,
|
||||||
|
SC520_PCI_IO_SIZE,
|
||||||
|
PCI_REGION_IO);
|
||||||
|
|
||||||
|
/* ISA/PCI I/O space */
|
||||||
|
pci_set_region(hose->regions + 3,
|
||||||
|
SC520_ISA_IO_BUS,
|
||||||
|
SC520_ISA_IO_PHYS,
|
||||||
|
SC520_ISA_IO_SIZE,
|
||||||
|
PCI_REGION_IO);
|
||||||
|
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user