2 * Setup kernel for a Sun3x machine
4 * (C) 1999 Thomas Bogendoerfer (tsbogend@alpha.franken.de)
6 * based on code from Oliver Jowett <oliver@jowett.manawatu.gen.nz>
9 #include <linux/config.h>
10 #include <linux/types.h>
12 #include <linux/console.h>
13 #include <linux/init.h>
15 #include <asm/system.h>
16 #include <asm/machdep.h>
18 #include <asm/sun3xprom.h>
19 #include <asm/sun3ints.h>
20 #include <asm/setup.h>
21 #include <asm/oplib.h>
25 volatile char *clock_va
;
26 extern volatile unsigned char *sun3_intreg
;
28 extern void sun3_get_model(char *model
);
30 void sun3_leds(unsigned int i
)
35 static int sun3x_get_hardware_list(char *buffer
)
40 len
+= sprintf(buffer
+ len
, "PROM Revision:\t%s\n",
48 * Setup the sun3x configuration info
50 void __init
config_sun3x(void)
55 mach_get_irq_list
= show_sun3_interrupts
;
56 mach_max_dma_address
= 0xffffffff; /* we can DMA anywhere, whee */
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
;
67 mach_gettimeoffset
= sun3x_gettimeoffset
;
68 mach_reset
= sun3x_reboot
;
70 mach_hwclk
= sun3x_hwclk
;
71 mach_get_model
= sun3_get_model
;
72 mach_get_hardware_list
= sun3x_get_hardware_list
;
74 sun3_intreg
= (unsigned char *)SUN3X_INTREG
;
76 /* only the serial console is known to work anyway... */
78 switch (*(unsigned char *)SUN3X_EEPROM_CONS
) {
89 conswitchp
= &dummy_con
;