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
sh
boards
board-secureedge5410.c
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2002 David McCullough <
[email protected]
>
3
* Copyright (C) 2003 Paul Mundt <
[email protected]
>
4
*
5
* Based on files with the following comments:
6
*
7
* Copyright (C) 2000 Kazumoto Kojima
8
*
9
* Modified for 7751 Solution Engine by
10
* Ian da Silva and Jeremy Siegel, 2001.
11
*/
12
#include <
linux/init.h
>
13
#include <
linux/irq.h
>
14
#include <
linux/interrupt.h
>
15
#include <
linux/timer.h
>
16
#include <
linux/delay.h
>
17
#include <linux/module.h>
18
#include <linux/sched.h>
19
#include <asm/machvec.h>
20
#include <
mach/secureedge5410.h
>
21
#include <asm/irq.h>
22
#include <asm/io.h>
23
#include <
cpu/timer.h
>
24
25
unsigned
short
secureedge5410_ioport
;
26
27
/*
28
* EraseConfig handling functions
29
*/
30
static
irqreturn_t
eraseconfig_interrupt(
int
irq,
void
*
dev_id
)
31
{
32
printk
(
"SnapGear: erase switch interrupt!\n"
);
33
34
return
IRQ_HANDLED
;
35
}
36
37
static
int
__init
eraseconfig_init(
void
)
38
{
39
unsigned
int
irq
=
evt2irq
(0x240);
40
41
printk
(
"SnapGear: EraseConfig init\n"
);
42
43
/* Setup "EraseConfig" switch on external IRQ 0 */
44
if
(
request_irq
(irq, eraseconfig_interrupt, 0,
"Erase Config"
,
NULL
))
45
printk
(
"SnapGear: failed to register IRQ%d for Reset witch\n"
,
46
irq);
47
else
48
printk
(
"SnapGear: registered EraseConfig switch on IRQ%d\n"
,
49
irq);
50
return
0;
51
}
52
module_init
(eraseconfig_init);
53
54
/*
55
* Initialize IRQ setting
56
*
57
* IRL0 = erase switch
58
* IRL1 = eth0
59
* IRL2 = eth1
60
* IRL3 = crypto
61
*/
62
static
void
__init
init_snapgear_IRQ(
void
)
63
{
64
printk
(
"Setup SnapGear IRQ/IPR ...\n"
);
65
/* enable individual interrupt mode for externals */
66
plat_irq_setup_pins
(
IRQ_MODE_IRQ
);
67
}
68
69
/*
70
* The Machine Vector
71
*/
72
static
struct
sh_machine_vector
mv_snapgear
__initmv
= {
73
.mv_name =
"SnapGear SecureEdge5410"
,
74
.mv_init_irq = init_snapgear_IRQ,
75
};
Generated on Thu Jan 10 2013 13:17:04 for Linux Kernel by
1.8.2