RT-AC56 3.0.0.4.374.37 core
[tomato.git] / release / src-rt-6.x.4708 / linux / linux-2.6.36 / arch / arm / mach-nuc93x / nuc932.c
blob3966ead686fc4326526553f44c77c2e0a8a507a4
1 /*
2 * linux/arch/arm/mach-nuc93x/nuc932.c
4 * Copyright (c) 2009 Nuvoton corporation.
6 * Wan ZongShun <mcuos.com@gmail.com>
8 * NUC932 cpu support
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation;version 2 of the License.
16 #include <linux/platform_device.h>
17 #include <linux/clk.h>
18 #include <linux/err.h>
20 #include <asm/mach/map.h>
21 #include <mach/hardware.h>
23 #include "cpu.h"
24 #include "clock.h"
26 /* define specific CPU platform device */
28 static struct platform_device *nuc932_dev[] __initdata = {
31 /* define specific CPU platform io map */
33 static struct map_desc nuc932evb_iodesc[] __initdata = {
36 /*Init NUC932 evb io*/
38 void __init nuc932_map_io(void)
40 nuc93x_map_io(nuc932evb_iodesc, ARRAY_SIZE(nuc932evb_iodesc));
43 /*Init NUC932 clock*/
45 void __init nuc932_init_clocks(void)
47 nuc93x_init_clocks();
50 /*enable NUC932 uart clock*/
52 void __init nuc932_init_uartclk(void)
54 struct clk *ck_uart = clk_get(NULL, "uart");
55 BUG_ON(IS_ERR(ck_uart));
57 clk_enable(ck_uart);
60 /*Init NUC932 board info*/
62 void __init nuc932_board_init(void)
64 nuc93x_board_init(nuc932_dev, ARRAY_SIZE(nuc932_dev));