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
mach-smdk2410.c
Go to the documentation of this file.
1
/* linux/arch/arm/mach-s3c2410/mach-smdk2410.c
2
*
3
* linux/arch/arm/mach-s3c2410/mach-smdk2410.c
4
*
5
* Copyright (C) 2004 by FS Forth-Systeme GmbH
6
* All rights reserved.
7
*
8
* @Author: Jonas Dietsche
9
*
10
* This program is free software; you can redistribute it and/or
11
* modify it under the terms of the GNU General Public License as
12
* published by the Free Software Foundation; either version 2 of
13
* the License, or (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the GNU General Public License
21
* along with this program; if not, write to the Free Software
22
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23
* MA 02111-1307 USA
24
*
25
* @History:
26
* derived from linux/arch/arm/mach-s3c2410/mach-bast.c, written by
27
* Ben Dooks <
[email protected]
>
28
*
29
***********************************************************************/
30
31
#include <linux/kernel.h>
32
#include <linux/types.h>
33
#include <
linux/interrupt.h
>
34
#include <linux/list.h>
35
#include <
linux/timer.h
>
36
#include <
linux/init.h
>
37
#include <linux/serial_core.h>
38
#include <
linux/platform_device.h
>
39
#include <
linux/io.h
>
40
41
#include <
asm/mach/arch.h
>
42
#include <
asm/mach/map.h
>
43
#include <
asm/mach/irq.h
>
44
45
#include <mach/hardware.h>
46
#include <asm/irq.h>
47
#include <
asm/mach-types.h
>
48
49
#include <
plat/regs-serial.h
>
50
#include <
linux/platform_data/i2c-s3c2410.h
>
51
52
#include <
plat/devs.h
>
53
#include <plat/cpu.h>
54
55
#include <
plat/common-smdk.h
>
56
57
#include "
common.h
"
58
59
static
struct
map_desc
smdk2410_iodesc[]
__initdata
= {
60
/* nothing here yet */
61
};
62
63
#define UCON S3C2410_UCON_DEFAULT
64
#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB
65
#define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE
66
67
static
struct
s3c2410_uartcfg
smdk2410_uartcfgs[] __initdata = {
68
[0] = {
69
.hwport = 0,
70
.flags = 0,
71
.ucon =
UCON
,
72
.ulcon =
ULCON
,
73
.ufcon =
UFCON
,
74
},
75
[1] = {
76
.hwport = 1,
77
.flags = 0,
78
.ucon =
UCON
,
79
.ulcon =
ULCON
,
80
.ufcon =
UFCON
,
81
},
82
[2] = {
83
.hwport = 2,
84
.flags = 0,
85
.ucon =
UCON
,
86
.ulcon =
ULCON
,
87
.ufcon =
UFCON
,
88
}
89
};
90
91
static
struct
platform_device
*smdk2410_devices[] __initdata = {
92
&
s3c_device_ohci
,
93
&
s3c_device_lcd
,
94
&
s3c_device_wdt
,
95
&
s3c_device_i2c0
,
96
&
s3c_device_iis
,
97
};
98
99
static
void
__init
smdk2410_map_io(
void
)
100
{
101
s3c24xx_init_io
(smdk2410_iodesc,
ARRAY_SIZE
(smdk2410_iodesc));
102
s3c24xx_init_clocks
(0);
103
s3c24xx_init_uarts
(smdk2410_uartcfgs,
ARRAY_SIZE
(smdk2410_uartcfgs));
104
}
105
106
static
void
__init
smdk2410_init(
void
)
107
{
108
s3c_i2c0_set_platdata
(
NULL
);
109
platform_add_devices
(smdk2410_devices,
ARRAY_SIZE
(smdk2410_devices));
110
smdk_machine_init
();
111
}
112
113
MACHINE_START
(SMDK2410,
"SMDK2410"
)
/* @TODO: request a new identifier and switch
114
* to SMDK2410 */
115
/* Maintainer: Jonas Dietsche */
116
.atag_offset = 0x100,
117
.map_io = smdk2410_map_io,
118
.init_irq =
s3c24xx_init_irq
,
119
.init_machine = smdk2410_init,
120
.timer = &
s3c24xx_timer
,
121
.restart =
s3c2410_restart
,
122
MACHINE_END
Generated on Thu Jan 10 2013 13:01:36 for Linux Kernel by
1.8.2