upload tizen1.0 source
[kernel/linux-2.6.36.git] / arch / arm / mach-s5pv210 / init.c
1 /* linux/arch/arm/mach-s5pv210/init.c
2  *
3  * Copyright (c) 2010 Samsung Electronics Co., Ltd.
4  *              http://www.samsung.com/
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 #include <linux/kernel.h>
12 #include <linux/types.h>
13 #include <linux/init.h>
14 #include <linux/serial_core.h>
15
16 #include <plat/cpu.h>
17 #include <plat/devs.h>
18 #include <plat/s5pv210.h>
19 #include <plat/regs-serial.h>
20
21 static struct s3c24xx_uart_clksrc s5pv210_serial_clocks[] = {
22         [0] = {
23                 .name           = "uclk1",
24                 .divisor        = 1,
25                 .min_baud       = 0,
26                 .max_baud       = 0,
27         },
28         [1] = {
29                 .name           = "pclk",
30                 .divisor        = 1,
31                 .min_baud       = 0,
32                 .max_baud       = 0,
33         },
34
35 };
36
37 /* uart registration process */
38 void __init s5pv210_common_init_uarts(struct s3c2410_uartcfg *cfg, int no)
39 {
40         struct s3c2410_uartcfg *tcfg = cfg;
41         u32 ucnt;
42
43         for (ucnt = 0; ucnt < no; ucnt++, tcfg++) {
44                 if (!tcfg->clocks) {
45                         tcfg->clocks = s5pv210_serial_clocks;
46                         tcfg->clocks_size = ARRAY_SIZE(s5pv210_serial_clocks);
47                 }
48         }
49
50         s3c24xx_init_uartdevs("s5pv210-uart", s5p_uart_resources, cfg, no);
51 }