]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * Setup pointers to hardware-dependent routines. | |
3 | * | |
4 | * This file is subject to the terms and conditions of the GNU General Public | |
5 | * License. See the file "COPYING" in the main directory of this archive | |
6 | * for more details. | |
7 | * | |
fcdb27ad | 8 | * Copyright (C) 1996, 97, 98, 2000, 03, 04, 06 Ralf Baechle (ralf@linux-mips.org) |
c066a32a | 9 | * Copyright (C) 2006 Thomas Bogendoerfer (tsbogend@alpha.franken.de) |
1da177e4 | 10 | */ |
1da177e4 | 11 | #include <linux/eisa.h> |
1da177e4 | 12 | #include <linux/init.h> |
1da177e4 LT |
13 | #include <linux/console.h> |
14 | #include <linux/fb.h> | |
894673ee | 15 | #include <linux/screen_info.h> |
1da177e4 | 16 | |
4a0312fc | 17 | #ifdef CONFIG_ARC |
1da177e4 LT |
18 | #include <asm/arc/types.h> |
19 | #include <asm/sgialib.h> | |
4a0312fc TB |
20 | #endif |
21 | ||
1da177e4 | 22 | #include <asm/io.h> |
1da177e4 LT |
23 | #include <asm/reboot.h> |
24 | #include <asm/sni.h> | |
c066a32a TB |
25 | |
26 | unsigned int sni_brd_type; | |
1da177e4 LT |
27 | |
28 | extern void sni_machine_restart(char *command); | |
29 | extern void sni_machine_halt(void); | |
30 | extern void sni_machine_power_off(void); | |
31 | ||
1da177e4 LT |
32 | static void __init sni_display_setup(void) |
33 | { | |
4a0312fc | 34 | #if defined(CONFIG_VT) && defined(CONFIG_VGA_CONSOLE) && defined(CONFIG_ARC) |
1da177e4 LT |
35 | struct screen_info *si = &screen_info; |
36 | DISPLAY_STATUS *di; | |
37 | ||
38 | di = ArcGetDisplayStatus(1); | |
39 | ||
40 | if (di) { | |
41 | si->orig_x = di->CursorXPosition; | |
42 | si->orig_y = di->CursorYPosition; | |
43 | si->orig_video_cols = di->CursorMaxXPosition; | |
44 | si->orig_video_lines = di->CursorMaxYPosition; | |
45 | si->orig_video_isVGA = VIDEO_TYPE_VGAC; | |
46 | si->orig_video_points = 16; | |
47 | } | |
48 | #endif | |
1da177e4 LT |
49 | } |
50 | ||
1da177e4 | 51 | |
2925aba4 | 52 | void __init plat_mem_setup(void) |
1da177e4 | 53 | { |
1da177e4 | 54 | set_io_port_base(SNI_PORT_BASE); |
c066a32a | 55 | // ioport_resource.end = sni_io_resource.end; |
1da177e4 LT |
56 | |
57 | /* | |
58 | * Setup (E)ISA I/O memory access stuff | |
59 | */ | |
60 | isa_slot_offset = 0xb0000000; | |
61 | #ifdef CONFIG_EISA | |
62 | EISA_bus = 1; | |
63 | #endif | |
64 | ||
c066a32a TB |
65 | switch (sni_brd_type) { |
66 | case SNI_BRD_10: | |
67 | case SNI_BRD_10NEW: | |
68 | case SNI_BRD_TOWER_OASIC: | |
69 | case SNI_BRD_MINITOWER: | |
70 | sni_a20r_init(); | |
71 | break; | |
72 | ||
73 | case SNI_BRD_PCI_TOWER: | |
74 | case SNI_BRD_PCI_TOWER_CPLUS: | |
75 | sni_pcit_init(); | |
76 | break; | |
77 | ||
78 | case SNI_BRD_RM200: | |
79 | sni_rm200_init(); | |
80 | break; | |
81 | ||
82 | case SNI_BRD_PCI_MTOWER: | |
83 | case SNI_BRD_PCI_DESKTOP: | |
84 | case SNI_BRD_PCI_MTOWER_CPLUS: | |
85 | sni_pcimt_init(); | |
86 | break; | |
87 | } | |
1da177e4 LT |
88 | |
89 | _machine_restart = sni_machine_restart; | |
90 | _machine_halt = sni_machine_halt; | |
fcdb27ad | 91 | pm_power_off = sni_machine_power_off; |
1da177e4 LT |
92 | |
93 | sni_display_setup(); | |
1da177e4 | 94 | } |