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 43extern void nuc93x_clock_source(struct device *dev, unsigned char *src); 44extern void nuc93x_init_clocks(void); 45extern void nuc93x_map_io(struct map_desc *mach_desc, int mach_size); 46extern void nuc93x_board_init(struct platform_device **device, int size); 47extern struct platform_device nuc93x_serial_device; 48