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-s3c64xx
mach-ncp.c
Go to the documentation of this file.
1
/*
2
* linux/arch/arm/mach-s3c64xx/mach-ncp.c
3
*
4
* Copyright (C) 2008-2009 Samsung Electronics
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License version 2 as
8
* published by the Free Software Foundation.
9
*
10
*/
11
12
#include <linux/kernel.h>
13
#include <linux/types.h>
14
#include <
linux/interrupt.h
>
15
#include <linux/list.h>
16
#include <
linux/timer.h
>
17
#include <
linux/init.h
>
18
#include <linux/serial_core.h>
19
#include <
linux/platform_device.h
>
20
#include <
linux/io.h
>
21
#include <linux/i2c.h>
22
#include <linux/fb.h>
23
#include <
linux/gpio.h
>
24
#include <
linux/delay.h
>
25
26
#include <
video/platform_lcd.h
>
27
#include <
video/samsung_fimd.h
>
28
29
#include <
asm/hardware/vic.h
>
30
#include <
asm/mach/arch.h
>
31
#include <
asm/mach/map.h
>
32
#include <
asm/mach/irq.h
>
33
34
#include <mach/hardware.h>
35
#include <mach/map.h>
36
37
#include <asm/irq.h>
38
#include <
asm/mach-types.h
>
39
40
#include <
plat/regs-serial.h
>
41
#include <
linux/platform_data/i2c-s3c2410.h
>
42
#include <
plat/fb.h
>
43
44
#include <plat/clock.h>
45
#include <
plat/devs.h
>
46
#include <plat/cpu.h>
47
48
#include "
common.h
"
49
50
#define UCON S3C2410_UCON_DEFAULT
51
#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE
52
#define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE
53
54
static
struct
s3c2410_uartcfg
ncp_uartcfgs[]
__initdata
= {
55
/* REVISIT: NCP uses only serial 1, 2 */
56
[0] = {
57
.hwport = 0,
58
.flags = 0,
59
.ucon =
UCON
,
60
.ulcon =
ULCON
,
61
.ufcon =
UFCON
,
62
},
63
[1] = {
64
.hwport = 1,
65
.flags = 0,
66
.ucon =
UCON
,
67
.ulcon =
ULCON
,
68
.ufcon =
UFCON
,
69
},
70
[2] = {
71
.hwport = 2,
72
.flags = 0,
73
.ucon =
UCON
,
74
.ulcon =
ULCON
,
75
.ufcon =
UFCON
,
76
},
77
};
78
79
static
struct
platform_device
*ncp_devices[] __initdata = {
80
&
s3c_device_hsmmc1
,
81
&
s3c_device_i2c0
,
82
};
83
84
static
struct
map_desc
ncp_iodesc[] __initdata = {};
85
86
static
void
__init
ncp_map_io(
void
)
87
{
88
s3c64xx_init_io
(ncp_iodesc,
ARRAY_SIZE
(ncp_iodesc));
89
s3c24xx_init_clocks
(12000000);
90
s3c24xx_init_uarts
(ncp_uartcfgs,
ARRAY_SIZE
(ncp_uartcfgs));
91
}
92
93
static
void
__init
ncp_machine_init(
void
)
94
{
95
s3c_i2c0_set_platdata
(
NULL
);
96
97
platform_add_devices
(ncp_devices,
ARRAY_SIZE
(ncp_devices));
98
}
99
100
MACHINE_START
(NCP,
"NCP"
)
101
/* Maintainer: Samsung Electronics */
102
.atag_offset = 0x100,
103
.init_irq =
s3c6410_init_irq
,
104
.handle_irq =
vic_handle_irq
,
105
.map_io = ncp_map_io,
106
.init_machine = ncp_machine_init,
107
.init_late =
s3c64xx_init_late
,
108
.timer = &
s3c24xx_timer
,
109
.restart =
s3c64xx_restart
,
110
MACHINE_END
Generated on Thu Jan 10 2013 13:01:38 for Linux Kernel by
1.8.2