45ae8285bfc9e3f6cc4bda4f8eca28d3e62df702
[muen/linux.git] / arch / arm / mach-w90x900 / nuc910.c
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * linux/arch/arm/mach-w90x900/nuc910.c
4  *
5  * Based on linux/arch/arm/plat-s3c24xx/s3c244x.c by Ben Dooks
6  *
7  * Copyright (c) 2009 Nuvoton corporation.
8  *
9  * Wan ZongShun <mcuos.com@gmail.com>
10  *
11  * NUC910 cpu support
12  */
13
14 #include <linux/platform_device.h>
15 #include <asm/mach/map.h>
16 #include <mach/hardware.h>
17 #include "cpu.h"
18 #include "clock.h"
19
20 /* define specific CPU platform device */
21
22 static struct platform_device *nuc910_dev[] __initdata = {
23         &nuc900_device_ts,
24         &nuc900_device_rtc,
25         &nuc900_device_lcd,
26         &nuc900_device_kpi,
27 };
28
29 /* define specific CPU platform io map */
30
31 static struct map_desc nuc910evb_iodesc[] __initdata = {
32         IODESC_ENT(USBEHCIHOST),
33         IODESC_ENT(USBOHCIHOST),
34         IODESC_ENT(KPI),
35         IODESC_ENT(USBDEV),
36         IODESC_ENT(ADC),
37 };
38
39 /*Init NUC910 evb io*/
40
41 void __init nuc910_map_io(void)
42 {
43         nuc900_map_io(nuc910evb_iodesc, ARRAY_SIZE(nuc910evb_iodesc));
44 }
45
46 /*Init NUC910 clock*/
47
48 void __init nuc910_init_clocks(void)
49 {
50         nuc900_init_clocks();
51 }
52
53 /*Init NUC910 board info*/
54
55 void __init nuc910_board_init(void)
56 {
57         nuc900_board_init(nuc910_dev, ARRAY_SIZE(nuc910_dev));
58 }