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-otom.c
Go to the documentation of this file.
1
/* linux/arch/arm/mach-s3c2410/mach-otom.c
2
*
3
* Copyright (c) 2004 Nex Vision
4
* Guillaume GOURAT <
[email protected]
>
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
22
#include <
asm/mach/arch.h
>
23
#include <
asm/mach/map.h
>
24
#include <
asm/mach/irq.h
>
25
26
#include <
mach/otom-map.h
>
27
28
#include <mach/hardware.h>
29
#include <asm/irq.h>
30
#include <
asm/mach-types.h
>
31
32
#include <
plat/regs-serial.h
>
33
#include <mach/regs-gpio.h>
34
35
#include <
plat/s3c2410.h
>
36
#include <plat/clock.h>
37
#include <
plat/devs.h
>
38
#include <
linux/platform_data/i2c-s3c2410.h
>
39
#include <plat/cpu.h>
40
41
#include "
common.h
"
42
43
static
struct
map_desc
otom11_iodesc[]
__initdata
= {
44
/* Device area */
45
{ (
u32
)
OTOM_VA_CS8900A_BASE
,
OTOM_PA_CS8900A_BASE
,
SZ_16M
,
MT_DEVICE
},
46
};
47
48
#define UCON S3C2410_UCON_DEFAULT
49
#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB
50
#define UFCON S3C2410_UFCON_RXTRIG12 | S3C2410_UFCON_FIFOMODE
51
52
static
struct
s3c2410_uartcfg
otom11_uartcfgs[] __initdata = {
53
[0] = {
54
.hwport = 0,
55
.flags = 0,
56
.ucon =
UCON
,
57
.ulcon =
ULCON
,
58
.ufcon =
UFCON
,
59
},
60
[1] = {
61
.hwport = 1,
62
.flags = 0,
63
.ucon =
UCON
,
64
.ulcon =
ULCON
,
65
.ufcon =
UFCON
,
66
},
67
/* port 2 is not actually used */
68
[2] = {
69
.hwport = 2,
70
.flags = 0,
71
.ucon =
UCON
,
72
.ulcon =
ULCON
,
73
.ufcon =
UFCON
,
74
}
75
};
76
77
/* NOR Flash on NexVision OTOM board */
78
79
static
struct
resource
otom_nor_resource[] = {
80
[0] =
DEFINE_RES_MEM
(
S3C2410_CS0
,
SZ_4M
),
81
};
82
83
static
struct
platform_device
otom_device_nor = {
84
.name =
"mtd-flash"
,
85
.id = -1,
86
.num_resources =
ARRAY_SIZE
(otom_nor_resource),
87
.resource = otom_nor_resource,
88
};
89
90
/* Standard OTOM devices */
91
92
static
struct
platform_device
*otom11_devices[] __initdata = {
93
&
s3c_device_ohci
,
94
&
s3c_device_lcd
,
95
&
s3c_device_wdt
,
96
&
s3c_device_i2c0
,
97
&
s3c_device_iis
,
98
&
s3c_device_rtc
,
99
&otom_device_nor,
100
};
101
102
static
void
__init
otom11_map_io(
void
)
103
{
104
s3c24xx_init_io
(otom11_iodesc,
ARRAY_SIZE
(otom11_iodesc));
105
s3c24xx_init_clocks
(0);
106
s3c24xx_init_uarts
(otom11_uartcfgs,
ARRAY_SIZE
(otom11_uartcfgs));
107
}
108
109
static
void
__init
otom11_init(
void
)
110
{
111
s3c_i2c0_set_platdata
(
NULL
);
112
platform_add_devices
(otom11_devices,
ARRAY_SIZE
(otom11_devices));
113
}
114
115
MACHINE_START
(OTOM,
"Nex Vision - Otom 1.1"
)
116
/* Maintainer: Guillaume GOURAT <
[email protected]
> */
117
.atag_offset = 0x100,
118
.map_io = otom11_map_io,
119
.init_machine = otom11_init,
120
.init_irq =
s3c24xx_init_irq
,
121
.timer = &
s3c24xx_timer
,
122
.restart =
s3c2410_restart
,
123
MACHINE_END
Generated on Thu Jan 10 2013 13:01:36 for Linux Kernel by
1.8.2