blob: cf91f50e43ab6434962b0ed9f3457e32a1cc12ec [file] [log] [blame]
Kukjin Kim7d30e8b2011-02-14 16:33:10 +09001/* linux/arch/arm/mach-exynos4/init.c
Changhwan Youn2b12b5c2010-07-26 21:08:52 +09002 *
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/serial_core.h>
12
13#include <plat/cpu.h>
14#include <plat/devs.h>
15#include <plat/regs-serial.h>
16
Kukjin Kim7d30e8b2011-02-14 16:33:10 +090017static struct s3c24xx_uart_clksrc exynos4_serial_clocks[] = {
Changhwan Youn2b12b5c2010-07-26 21:08:52 +090018 [0] = {
19 .name = "uclk1",
20 .divisor = 1,
21 .min_baud = 0,
22 .max_baud = 0,
23 },
24};
25
26/* uart registration process */
Kukjin Kim7d30e8b2011-02-14 16:33:10 +090027void __init exynos4_common_init_uarts(struct s3c2410_uartcfg *cfg, int no)
Changhwan Youn2b12b5c2010-07-26 21:08:52 +090028{
29 struct s3c2410_uartcfg *tcfg = cfg;
30 u32 ucnt;
31
32 for (ucnt = 0; ucnt < no; ucnt++, tcfg++) {
33 if (!tcfg->clocks) {
34 tcfg->has_fracval = 1;
Kukjin Kim7d30e8b2011-02-14 16:33:10 +090035 tcfg->clocks = exynos4_serial_clocks;
36 tcfg->clocks_size = ARRAY_SIZE(exynos4_serial_clocks);
Changhwan Youn2b12b5c2010-07-26 21:08:52 +090037 }
38 }
39
40 s3c24xx_init_uartdevs("s5pv210-uart", s5p_uart_resources, cfg, no);
41}