Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable
[pandora-kernel.git] / arch / arm / mach-nuc93x / cpu.h
1 /*
2  * arch/arm/mach-nuc93x/cpu.h
3  *
4  * Copyright (c) 2008 Nuvoton technology corporation
5  * All rights reserved.
6  *
7  * Header file for NUC93X CPU support
8  *
9  * Wan ZongShun <mcuos.com@gmail.com>
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License version 2 as
13  * published by the Free Software Foundation.
14  *
15  */
16
17 #define IODESC_ENT(y)                                   \
18 {                                                       \
19         .virtual = (unsigned long)NUC93X_VA_##y,        \
20         .pfn     = __phys_to_pfn(NUC93X_PA_##y),        \
21         .length  = NUC93X_SZ_##y,                       \
22         .type    = MT_DEVICE,                           \
23 }
24
25 #define NUC93X_8250PORT(name)                                   \
26 {                                                               \
27         .membase        = name##_BA,                            \
28         .mapbase        = name##_PA,                            \
29         .irq            = IRQ_##name,                           \
30         .uartclk        = 57139200,                             \
31         .regshift       = 2,                                    \
32         .iotype         = UPIO_MEM,                             \
33         .flags          = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,    \
34 }
35
36 /*Cpu identifier register*/
37
38 #define NUC93XPDID      NUC93X_VA_GCR
39 #define NUC932_CPUID    0x29550091
40
41 /* extern file from cpu.c */
42
43 extern void nuc93x_clock_source(struct device *dev, unsigned char *src);
44 extern void nuc93x_init_clocks(void);
45 extern void nuc93x_map_io(struct map_desc *mach_desc, int mach_size);
46 extern void nuc93x_board_init(struct platform_device **device, int size);
47 extern struct platform_device nuc93x_serial_device;
48