a62e9030 |
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 | |