2009-02-11 Matt Rippa <mrippa@gemini.edu>

PR 1352/bsps
	* shared/console/reboot.c, shared/motorola/motorola.c: Include support
	for mvme2600/mvme2700.
This commit is contained in:
Joel Sherrill
2009-02-11 16:37:14 +00:00
parent 9c266d2d82
commit 07d8cc542f
3 changed files with 52 additions and 9 deletions

View File

@@ -1,3 +1,9 @@
2009-02-11 Matt Rippa <mrippa@gemini.edu>
PR 1352/bsps
* shared/console/reboot.c, shared/motorola/motorola.c: Include support
for mvme2600/mvme2700.
2008-11-03 Till Straumann <strauman@slac.stanford.edu>
PR 1332: call BSP_uart_termios_set()/BSP_uart_intr_ctrl()

View File

@@ -16,10 +16,14 @@ void bsp_reset(void)
printk("Printing a stack trace for your convenience :-)\n");
CPU_print_stack();
/* shutdown and reboot */
#if defined(BSP_KBD_IOBASE)
kbd_outb(0x4, 0xFE); /* use keyboard controler to do the job... */
#endif
#if defined(mvme2100)
*(unsigned char*)0xffe00000 |= 0x80;
#else
/* Memory-mapped Port 92 PIB device access
*(unsigned char*)0x80000092 |= 0x01;
*/
outb(1, 0x92);
#endif
} /* bsp_reset */

View File

@@ -193,6 +193,44 @@ static struct _int_map mvme24xx_intmap[] = {
NULL_PINMAP}},
NULL_INTMAP };
static struct _int_map mvme27xx_intmap[] = {
/* Raven Hostbridge; has int_pin == 0 */
{0, 0, 0, {{0, {-1,-1,-1,-1}},
NULL_PINMAP}},
/* Winbond PCI/ISA 83c553; has int_pin == 0 */
{0, 11, 0, {{0, {-1,-1,-1,-1}},
NULL_PINMAP}},
{0, 13, PCI_FIXUP_OPT_OVERRIDE_NAME,
{{1, {11,21,-1,-1}}, /* Universe ISA/PCI */
/* strictly speaking, a non-multi function device
* must only use pin A
*/
{2, {22,-1,-1,-1}}, /* Universe */
{3, {23,-1,-1,-1}}, /* Universe */
{4, {24,-1,-1,-1}}, /* Universe */
NULL_PINMAP}},
{0, 14, PCI_FIXUP_OPT_OVERRIDE_NAME,
{{1, {10,18,-1,-1}}, /* DEC Tulip enet (ISA/PCI) */
NULL_PINMAP}},
{0, 16, PCI_FIXUP_OPT_OVERRIDE_NAME,
{{1, {25,-1,-1,-1}}, /* pci/pmc slot 1 */
{2, {26,-1,-1,-1}},
{3, {27,-1,-1,-1}},
{4, {28,-1,-1,-1}},
NULL_PINMAP}},
{0, 17, PCI_FIXUP_OPT_OVERRIDE_NAME,
{{1, {28,-1,-1,-1}}, /* pci/pmc slot 2 */ /* orig: 0xf */
{2, {25,-1,-1,-1}},
{3, {26,-1,-1,-1}},
{4, {27,-1,-1,-1}},
NULL_PINMAP}},
NULL_INTMAP };
static struct _int_map mvme2100_intmap[] = {
{0, 0, 0, {{1, {16,-1,-1,-1}}, /* something shows up in slot 0 and OpenPIC */
/* 0 is unused. This hushes the init code. */
@@ -275,7 +313,7 @@ static const mot_info_t mot_boards[] = {
{0x1E0, 0xF9, PPC_604, "MVME 2300", mvme23xx_intmap, prep_pci_swizzle},
{0x1E0, 0xFA, PPC_UNKNOWN, "MVME 2300SC/2600", mvme23xx_intmap, prep_pci_swizzle},
{0x1E0, 0xFB, PPC_UNKNOWN, "MVME 2600 with MVME712M", NULL, NULL},
{0x1E0, 0xFC, PPC_UNKNOWN, "MVME 2600/2700 with MVME761", NULL, NULL},
{0x1E0, 0xFC, PPC_750, "MVME 2600/2700 with MVME761", mvme27xx_intmap, prep_pci_swizzle},
{0x1E0, 0xFD, PPC_UNKNOWN, "MVME 3600 with MVME712M", NULL, NULL},
{0x1E0, 0xFE, PPC_UNKNOWN, "MVME 3600 with MVME761", NULL, NULL},
{0x1E0, 0xFF, PPC_UNKNOWN, "MVME 1600-001 or 1600-011", NULL, NULL},
@@ -339,11 +377,6 @@ motorolaBoard getMotorolaBoard()
* (here we distinguish a MVME2300 and a MVME2400)
*/
continue;
if (mot_boards[entry].base_type == 0) {
mot_entry = entry;
break;
}
if (mot_boards[entry].base_type != base_mod)
continue;