1/* 2 * Setup kernel for a Sun3x machine 3 * 4 * (C) 1999 Thomas Bogendoerfer (tsbogend@alpha.franken.de) 5 * 6 * based on code from Oliver Jowett <oliver@jowett.manawatu.gen.nz> 7 */ 8 9#include <linux/types.h> 10#include <linux/mm.h> 11#include <linux/seq_file.h> 12#include <linux/console.h> 13#include <linux/init.h> 14 15#include <asm/machdep.h> 16#include <asm/irq.h> 17#include <asm/sun3xprom.h> 18#include <asm/sun3ints.h> 19#include <asm/setup.h> 20#include <asm/oplib.h> 21 22#include "time.h" 23 24volatile char *clock_va; 25 26extern void sun3_get_model(char *model); 27 28void sun3_leds(unsigned int i) 29{ 30 31} 32 33static void sun3x_get_hardware_list(struct seq_file *m) 34{ 35 seq_printf(m, "PROM Revision:\t%s\n", romvec->pv_monid); 36} 37 38/* 39 * Setup the sun3x configuration info 40 */ 41void __init config_sun3x(void) 42{ 43 44 sun3x_prom_init(); 45 46 mach_max_dma_address = 0xffffffff; /* we can DMA anywhere, whee */ 47 48 mach_sched_init = sun3x_sched_init; 49 mach_init_IRQ = sun3_init_IRQ; 50 51 arch_gettimeoffset = sun3x_gettimeoffset; 52 mach_reset = sun3x_reboot; 53 54 mach_hwclk = sun3x_hwclk; 55 mach_get_model = sun3_get_model; 56 mach_get_hardware_list = sun3x_get_hardware_list; 57 58 sun3_intreg = (unsigned char *)SUN3X_INTREG; 59 60 /* only the serial console is known to work anyway... */ 61#if 0 62 switch (*(unsigned char *)SUN3X_EEPROM_CONS) { 63 case 0x10: 64 serial_console = 1; 65 conswitchp = NULL; 66 break; 67 case 0x11: 68 serial_console = 2; 69 conswitchp = NULL; 70 break; 71 default: 72 serial_console = 0; 73 conswitchp = &dummy_con; 74 break; 75 } 76#endif 77 78} 79 80