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
arm
mach-s3c24xx
include
mach
pm-core.h
Go to the documentation of this file.
1
/* linux/arch/arm/mach-s3c2410/include/pm-core.h
2
*
3
* Copyright 2008 Simtec Electronics
4
* Ben Dooks <ben@simtec.co.uk>
5
* http://armlinux.simtec.co.uk/
6
*
7
* S3C24xx - PM core support for arch/arm/plat-s3c/pm.c
8
*
9
* This program is free software; you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License version 2 as
11
* published by the Free Software Foundation.
12
*/
13
14
static
inline
void
s3c_pm_debug_init_uart(
void
)
15
{
16
unsigned
long
tmp
=
__raw_readl
(
S3C2410_CLKCON
);
17
18
/* re-start uart clocks */
19
tmp |=
S3C2410_CLKCON_UART0
;
20
tmp |=
S3C2410_CLKCON_UART1
;
21
tmp |=
S3C2410_CLKCON_UART2
;
22
23
__raw_writel
(tmp,
S3C2410_CLKCON
);
24
udelay
(10);
25
}
26
27
static
inline
void
s3c_pm_arch_prepare_irqs(
void
)
28
{
29
__raw_writel
(
s3c_irqwake_intmask
,
S3C2410_INTMSK
);
30
__raw_writel
(
s3c_irqwake_eintmask
,
S3C2410_EINTMASK
);
31
32
/* ack any outstanding external interrupts before we go to sleep */
33
34
__raw_writel
(
__raw_readl
(
S3C2410_EINTPEND
),
S3C2410_EINTPEND
);
35
__raw_writel
(
__raw_readl
(
S3C2410_INTPND
),
S3C2410_INTPND
);
36
__raw_writel
(
__raw_readl
(
S3C2410_SRCPND
),
S3C2410_SRCPND
);
37
38
}
39
40
static
inline
void
s3c_pm_arch_stop_clocks(
void
)
41
{
42
__raw_writel
(0x00,
S3C2410_CLKCON
);
/* turn off clocks over sleep */
43
}
44
45
static
void
s3c_pm_show_resume_irqs(
int
start
,
unsigned
long
which,
46
unsigned
long
mask
);
47
48
static
inline
void
s3c_pm_arch_show_resume_irqs(
void
)
49
{
50
S3C_PMDBG
(
"post sleep: IRQs 0x%08x, 0x%08x\n"
,
51
__raw_readl
(
S3C2410_SRCPND
),
52
__raw_readl
(
S3C2410_EINTPEND
));
53
54
s3c_pm_show_resume_irqs(
IRQ_EINT0
,
__raw_readl
(
S3C2410_SRCPND
),
55
s3c_irqwake_intmask
);
56
57
s3c_pm_show_resume_irqs(
IRQ_EINT4
-4,
__raw_readl
(
S3C2410_EINTPEND
),
58
s3c_irqwake_eintmask
);
59
}
60
61
static
inline
void
s3c_pm_arch_update_uart(
void
__iomem
*
regs
,
62
struct
pm_uart_save
*save)
63
{
64
}
65
66
static
inline
void
s3c_pm_restored_gpios(
void
) { }
67
static
inline
void
samsung_pm_saved_gpios(
void
) { }
Generated on Thu Jan 10 2013 12:58:57 for Linux Kernel by
1.8.2