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
m68k
platform
coldfire
reset.c
Go to the documentation of this file.
1
/*
2
* reset.c -- common ColdFire SoC reset support
3
*
4
* (C) Copyright 2012, Greg Ungerer <
[email protected]
>
5
*
6
* This file is subject to the terms and conditions of the GNU General Public
7
* License. See the file COPYING in the main directory of this archive
8
* for more details.
9
*/
10
11
#include <linux/kernel.h>
12
#include <
linux/init.h
>
13
#include <
linux/io.h
>
14
#include <asm/machdep.h>
15
#include <
asm/coldfire.h
>
16
#include <
asm/mcfsim.h
>
17
18
/*
19
* There are 2 common methods amongst the ColdFure parts for reseting
20
* the CPU. But there are couple of exceptions, the 5272 and the 547x
21
* have something completely special to them, and we let their specific
22
* subarch code handle them.
23
*/
24
25
#ifdef MCFSIM_SYPCR
26
static
void
mcf_cpu_reset(
void
)
27
{
28
local_irq_disable
();
29
/* Set watchdog to soft reset, and enabled */
30
__raw_writeb
(0xc0,
MCFSIM_SYPCR
);
31
for
(;;)
32
/* wait for watchdog to timeout */
;
33
}
34
#endif
35
36
#ifdef MCF_RCR
37
static
void
mcf_cpu_reset(
void
)
38
{
39
local_irq_disable
();
40
__raw_writeb
(
MCF_RCR_SWRESET
,
MCF_RCR
);
41
}
42
#endif
43
44
static
int
__init
mcf_setup_reset(
void
)
45
{
46
mach_reset
= mcf_cpu_reset;
47
return
0;
48
}
49
50
arch_initcall
(mcf_setup_reset);
Generated on Thu Jan 10 2013 13:00:19 for Linux Kernel by
1.8.2