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/console.h> 12#include <linux/init.h> 13 14#include <asm/system.h> 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 21#include "time.h" 22 23volatile char *clock_va; 24extern volatile unsigned char *sun3_intreg; 25 26 27int __init sun3x_keyb_init(void) 28{ 29 return 0; 30} 31 32int sun3x_kbdrate(struct kbd_repeat *r) 33{ 34 return 0; 35} 36 37void sun3x_kbd_leds(unsigned int i) 38{ 39 40} 41 42void sun3_leds(unsigned int i) 43{ 44 45} 46 47/* should probably detect types of these eventually. */ 48static void sun3x_get_model(char *model) 49{ 50 sprintf(model, "Sun3x"); 51} 52 53/* 54 * Setup the sun3x configuration info 55 */ 56void __init config_sun3x(void) 57{ 58 59 sun3x_prom_init(); 60 61 mach_get_irq_list = sun3_get_irq_list; 62 mach_max_dma_address = 0xffffffff; /* we can DMA anywhere, whee */ 63 64#ifdef CONFIG_VT 65 mach_keyb_init = sun3x_keyb_init; 66 mach_kbdrate = sun3x_kbdrate; 67 mach_kbd_leds = sun3x_kbd_leds; 68#endif 69 70 mach_default_handler = &sun3_default_handler; 71 mach_sched_init = sun3x_sched_init; 72 mach_init_IRQ = sun3_init_IRQ; 73 enable_irq = sun3_enable_irq; 74 disable_irq = sun3_disable_irq; 75 mach_request_irq = sun3_request_irq; 76 mach_free_irq = sun3_free_irq; 77 mach_process_int = sun3_process_int; 78 79 mach_gettimeoffset = sun3x_gettimeoffset; 80 mach_reset = sun3x_reboot; 81 82 mach_gettod = sun3x_gettod; 83 mach_hwclk = sun3x_hwclk; 84 mach_get_model = sun3x_get_model; 85 86 sun3_intreg = (unsigned char *)SUN3X_INTREG; 87 88 /* only the serial console is known to work anyway... */ 89 90} 91 92