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/config.h> 10 #include <linux/types.h> 11 #include <linux/mm.h> 12 #include <linux/console.h> 13 #include <linux/init.h> 14 15 #include <asm/system.h> 16 #include <asm/machdep.h> 17 #include <asm/irq.h> 18 #include <asm/sun3xprom.h> 19 #include <asm/sun3ints.h> 20 #include <asm/setup.h> 21 #include <asm/oplib.h> 22 23 #include "time.h" 24 25 volatile char *clock_va; 26 extern volatile unsigned char *sun3_intreg; 27 28 extern void sun3_get_model(char *model); 29 30 void sun3_leds(unsigned int i) 31 { 32 33 } 34 35 static int sun3x_get_hardware_list(char *buffer) 36 { 37 38 int len = 0; 39 40 len += sprintf(buffer + len, "PROM Revision:\t%s\n", 41 romvec->pv_monid); 42 43 return len; 44 45 } 46 47 /* 48 * Setup the sun3x configuration info 49 */ 50 void __init config_sun3x(void) 51 { 52 53 sun3x_prom_init(); 54 55 mach_get_irq_list = show_sun3_interrupts; 56 mach_max_dma_address = 0xffffffff; /* we can DMA anywhere, whee */ 57 58 mach_default_handler = &sun3_default_handler; 59 mach_sched_init = sun3x_sched_init; 60 mach_init_IRQ = sun3_init_IRQ; 61 enable_irq = sun3_enable_irq; 62 disable_irq = sun3_disable_irq; 63 mach_request_irq = sun3_request_irq; 64 mach_free_irq = sun3_free_irq; 65 mach_process_int = sun3_process_int; 66 67 mach_gettimeoffset = sun3x_gettimeoffset; 68 mach_reset = sun3x_reboot; 69 70 mach_hwclk = sun3x_hwclk; 71 mach_get_model = sun3_get_model; 72 mach_get_hardware_list = sun3x_get_hardware_list; 73 74 sun3_intreg = (unsigned char *)SUN3X_INTREG; 75 76 /* only the serial console is known to work anyway... */ 77 #if 0 78 switch (*(unsigned char *)SUN3X_EEPROM_CONS) { 79 case 0x10: 80 serial_console = 1; 81 conswitchp = NULL; 82 break; 83 case 0x11: 84 serial_console = 2; 85 conswitchp = NULL; 86 break; 87 default: 88 serial_console = 0; 89 conswitchp = &dummy_con; 90 break; 91 } 92 #endif 93 94 } 95 96