|
@@ -57,7 +57,8 @@ int *_prom_argv, *_prom_envp;
|
|
|
|
|
|
int init_debug = 0;
|
|
int init_debug = 0;
|
|
|
|
|
|
-unsigned int mips_revision_corid;
|
|
|
|
|
|
+int mips_revision_corid;
|
|
|
|
+int mips_revision_sconid;
|
|
|
|
|
|
/* Bonito64 system controller register base. */
|
|
/* Bonito64 system controller register base. */
|
|
unsigned long _pcictrl_bonito;
|
|
unsigned long _pcictrl_bonito;
|
|
@@ -275,13 +276,38 @@ void __init prom_init(void)
|
|
else
|
|
else
|
|
mips_revision_corid = MIPS_REVISION_CORID_CORE_EMUL_MSC;
|
|
mips_revision_corid = MIPS_REVISION_CORID_CORE_EMUL_MSC;
|
|
}
|
|
}
|
|
- switch(mips_revision_corid) {
|
|
|
|
|
|
+
|
|
|
|
+ mips_revision_sconid = MIPS_REVISION_SCONID;
|
|
|
|
+ if (mips_revision_sconid == MIPS_REVISION_SCON_OTHER) {
|
|
|
|
+ switch (mips_revision_corid) {
|
|
|
|
+ case MIPS_REVISION_CORID_QED_RM5261:
|
|
|
|
+ case MIPS_REVISION_CORID_CORE_LV:
|
|
|
|
+ case MIPS_REVISION_CORID_CORE_FPGA:
|
|
|
|
+ case MIPS_REVISION_CORID_CORE_FPGAR2:
|
|
|
|
+ mips_revision_sconid = MIPS_REVISION_SCON_GT64120;
|
|
|
|
+ break;
|
|
|
|
+ case MIPS_REVISION_CORID_CORE_EMUL_BON:
|
|
|
|
+ case MIPS_REVISION_CORID_BONITO64:
|
|
|
|
+ case MIPS_REVISION_CORID_CORE_20K:
|
|
|
|
+ mips_revision_sconid = MIPS_REVISION_SCON_BONITO;
|
|
|
|
+ break;
|
|
|
|
+ case MIPS_REVISION_CORID_CORE_MSC:
|
|
|
|
+ case MIPS_REVISION_CORID_CORE_FPGA2:
|
|
|
|
+ case MIPS_REVISION_CORID_CORE_FPGA3:
|
|
|
|
+ case MIPS_REVISION_CORID_CORE_24K:
|
|
|
|
+ case MIPS_REVISION_CORID_CORE_EMUL_MSC:
|
|
|
|
+ mips_revision_sconid = MIPS_REVISION_SCON_SOCIT;
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ mips_display_message("CC Error");
|
|
|
|
+ while (1); /* We die here... */
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ switch (mips_revision_sconid) {
|
|
u32 start, map, mask, data;
|
|
u32 start, map, mask, data;
|
|
|
|
|
|
- case MIPS_REVISION_CORID_QED_RM5261:
|
|
|
|
- case MIPS_REVISION_CORID_CORE_LV:
|
|
|
|
- case MIPS_REVISION_CORID_CORE_FPGA:
|
|
|
|
- case MIPS_REVISION_CORID_CORE_FPGAR2:
|
|
|
|
|
|
+ case MIPS_REVISION_SCON_GT64120:
|
|
/*
|
|
/*
|
|
* Setup the North bridge to do Master byte-lane swapping
|
|
* Setup the North bridge to do Master byte-lane swapping
|
|
* when running in bigendian.
|
|
* when running in bigendian.
|
|
@@ -305,9 +331,7 @@ void __init prom_init(void)
|
|
set_io_port_base(MALTA_GT_PORT_BASE);
|
|
set_io_port_base(MALTA_GT_PORT_BASE);
|
|
break;
|
|
break;
|
|
|
|
|
|
- case MIPS_REVISION_CORID_CORE_EMUL_BON:
|
|
|
|
- case MIPS_REVISION_CORID_BONITO64:
|
|
|
|
- case MIPS_REVISION_CORID_CORE_20K:
|
|
|
|
|
|
+ case MIPS_REVISION_SCON_BONITO:
|
|
_pcictrl_bonito_pcicfg = (unsigned long)ioremap(BONITO_PCICFG_BASE, BONITO_PCICFG_SIZE);
|
|
_pcictrl_bonito_pcicfg = (unsigned long)ioremap(BONITO_PCICFG_BASE, BONITO_PCICFG_SIZE);
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -334,13 +358,10 @@ void __init prom_init(void)
|
|
set_io_port_base(MALTA_BONITO_PORT_BASE);
|
|
set_io_port_base(MALTA_BONITO_PORT_BASE);
|
|
break;
|
|
break;
|
|
|
|
|
|
- case MIPS_REVISION_CORID_CORE_MSC:
|
|
|
|
- case MIPS_REVISION_CORID_CORE_FPGA2:
|
|
|
|
- case MIPS_REVISION_CORID_CORE_FPGA3:
|
|
|
|
- case MIPS_REVISION_CORID_CORE_24K:
|
|
|
|
- case MIPS_REVISION_CORID_CORE_EMUL_MSC:
|
|
|
|
|
|
+ case MIPS_REVISION_SCON_SOCIT:
|
|
|
|
+ case MIPS_REVISION_SCON_ROCIT:
|
|
_pcictrl_msc = (unsigned long)ioremap(MIPS_MSC01_PCI_REG_BASE, 0x2000);
|
|
_pcictrl_msc = (unsigned long)ioremap(MIPS_MSC01_PCI_REG_BASE, 0x2000);
|
|
-
|
|
|
|
|
|
+ mips_pci_controller:
|
|
mb();
|
|
mb();
|
|
MSC_READ(MSC01_PCI_CFG, data);
|
|
MSC_READ(MSC01_PCI_CFG, data);
|
|
MSC_WRITE(MSC01_PCI_CFG, data & ~MSC01_PCI_CFG_EN_BIT);
|
|
MSC_WRITE(MSC01_PCI_CFG, data & ~MSC01_PCI_CFG_EN_BIT);
|
|
@@ -374,10 +395,15 @@ void __init prom_init(void)
|
|
set_io_port_base(MALTA_MSC_PORT_BASE);
|
|
set_io_port_base(MALTA_MSC_PORT_BASE);
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
+ case MIPS_REVISION_SCON_SOCITSC:
|
|
|
|
+ case MIPS_REVISION_SCON_SOCITSCP:
|
|
|
|
+ _pcictrl_msc = (unsigned long)ioremap(MIPS_SOCITSC_PCI_REG_BASE, 0x2000);
|
|
|
|
+ goto mips_pci_controller;
|
|
|
|
+
|
|
default:
|
|
default:
|
|
- /* Unknown Core card */
|
|
|
|
- mips_display_message("CC Error");
|
|
|
|
- while(1); /* We die here... */
|
|
|
|
|
|
+ /* Unknown system controller */
|
|
|
|
+ mips_display_message("SC Error");
|
|
|
|
+ while (1); /* We die here... */
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
board_nmi_handler_setup = mips_nmi_setup;
|
|
board_nmi_handler_setup = mips_nmi_setup;
|