]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 | #ifdef CONFIG_DUMMY_CONSOLE | |
75 | conswitchp = &dummy_con; | |
76 | #endif | |
77 | ||
78 | sun3_intreg = (unsigned char *)SUN3X_INTREG; | |
79 | ||
80 | /* only the serial console is known to work anyway... */ | |
81 | #if 0 | |
82 | switch (*(unsigned char *)SUN3X_EEPROM_CONS) { | |
83 | case 0x10: | |
84 | serial_console = 1; | |
85 | conswitchp = NULL; | |
86 | break; | |
87 | case 0x11: | |
88 | serial_console = 2; | |
89 | conswitchp = NULL; | |
90 | break; | |
91 | default: | |
92 | serial_console = 0; | |
93 | conswitchp = &dummy_con; | |
94 | break; | |
95 | } | |
96 | #endif | |
97 | ||
98 | } | |
99 |