Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
mips
sgi-ip22
ip22-setup.c
Go to the documentation of this file.
1
/*
2
* ip22-setup.c: SGI specific setup, including init of the feature struct.
3
*
4
* Copyright (C) 1996 David S. Miller (
[email protected]
)
5
* Copyright (C) 1997, 1998 Ralf Baechle (
[email protected]
)
6
*/
7
#include <
linux/init.h
>
8
#include <linux/kernel.h>
9
#include <linux/kdev_t.h>
10
#include <linux/types.h>
11
#include <linux/module.h>
12
#include <
linux/console.h
>
13
#include <linux/sched.h>
14
#include <linux/tty.h>
15
16
#include <asm/addrspace.h>
17
#include <
asm/bcache.h
>
18
#include <asm/bootinfo.h>
19
#include <asm/irq.h>
20
#include <asm/reboot.h>
21
#include <asm/time.h>
22
#include <asm/io.h>
23
#include <asm/traps.h>
24
#include <
asm/sgialib.h
>
25
#include <
asm/sgi/mc.h
>
26
#include <
asm/sgi/hpc3.h
>
27
#include <
asm/sgi/ip22.h
>
28
29
extern
void
ip22_be_init
(
void
)
__init
;
30
31
void
__init
plat_mem_setup
(
void
)
32
{
33
char
*
ctype
;
34
char
*cserial;
35
36
board_be_init
=
ip22_be_init
;
37
38
/* Init the INDY HPC I/O controller. Need to call this before
39
* fucking with the memory controller because it needs to know the
40
* boardID and whether this is a Guiness or a FullHouse machine.
41
*/
42
sgihpc_init
();
43
44
/* Init INDY memory controller. */
45
sgimc_init
();
46
47
#ifdef CONFIG_BOARD_SCACHE
48
/* Now enable boardcaches, if any. */
49
indy_sc_init
();
50
#endif
51
52
/* Set EISA IO port base for Indigo2
53
* ioremap cannot fail */
54
set_io_port_base((
unsigned
long
)
ioremap
(0x00080000,
55
0x1fffffff - 0x00080000));
56
/* ARCS console environment variable is set to "g?" for
57
* graphics console, it is set to "d" for the first serial
58
* line and "d2" for the second serial line.
59
*
60
* Need to check if the case is 'g' but no keyboard:
61
* (ConsoleIn/Out = serial)
62
*/
63
ctype =
ArcGetEnvironmentVariable
(
"console"
);
64
cserial =
ArcGetEnvironmentVariable
(
"ConsoleOut"
);
65
66
if
((ctype && *ctype ==
'd'
) || (cserial && *cserial ==
's'
)) {
67
static
char
options
[8]
__initdata
;
68
char
*
baud
=
ArcGetEnvironmentVariable
(
"dbaud"
);
69
if
(baud)
70
strcpy
(
options
, baud);
71
add_preferred_console
(
"ttyS"
, *(ctype + 1) ==
'2'
? 1 : 0,
72
baud ?
options
:
NULL
);
73
}
else
if
(!ctype || *ctype !=
'g'
) {
74
/* Use ARC if we don't want serial ('d') or graphics ('g'). */
75
prom_flags
|=
PROM_FLAG_USE_AS_CONSOLE
;
76
add_preferred_console
(
"arc"
, 0,
NULL
);
77
}
78
}
Generated on Thu Jan 10 2013 13:12:13 for Linux Kernel by
1.8.2