From aa6f5ffbdba45aa8e19e5048648fc6c7b25376d3 Mon Sep 17 00:00:00 2001 From: merge Date: Thu, 22 Jan 2009 13:55:32 +0000 Subject: MERGE-via-pending-tracking-hist-MERGE-via-stable-tracking-MERGE-via-mokopatches-tracking-fix-stray-endmenu-patch-1232632040-1232632141 pending-tracking-hist top was MERGE-via-stable-tracking-MERGE-via-mokopatches-tracking-fix-stray-endmenu-patch-1232632040-1232632141 / fdf777a63bcb59e0dfd78bfe2c6242e01f6d4eb9 ... parent commitmessage: From: merge MERGE-via-stable-tracking-hist-MERGE-via-mokopatches-tracking-fix-stray-endmenu-patch-1232632040 stable-tracking-hist top was MERGE-via-mokopatches-tracking-fix-stray-endmenu-patch-1232632040 / 90463bfd2d5a3c8b52f6e6d71024a00e052b0ced ... parent commitmessage: From: merge MERGE-via-mokopatches-tracking-hist-fix-stray-endmenu-patch mokopatches-tracking-hist top was fix-stray-endmenu-patch / 3630e0be570de8057e7f8d2fe501ed353cdf34e6 ... parent commitmessage: From: Andy Green fix-stray-endmenu.patch Signed-off-by: Andy Green --- arch/arm/mach-w90x900/cpu.h | 77 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 arch/arm/mach-w90x900/cpu.h (limited to 'arch/arm/mach-w90x900/cpu.h') diff --git a/arch/arm/mach-w90x900/cpu.h b/arch/arm/mach-w90x900/cpu.h new file mode 100644 index 00000000000..40ff40845df --- /dev/null +++ b/arch/arm/mach-w90x900/cpu.h @@ -0,0 +1,77 @@ +/* + * arch/arm/mach-w90x900/cpu.h + * + * Based on linux/include/asm-arm/plat-s3c24xx/cpu.h by Ben Dooks + * + * Copyright (c) 2008 Nuvoton technology corporation + * All rights reserved. + * + * Header file for W90X900 CPU support + * + * Wan ZongShun + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + */ + +#define IODESC_ENT(y) \ +{ \ + .virtual = (unsigned long)W90X900_VA_##y, \ + .pfn = __phys_to_pfn(W90X900_PA_##y), \ + .length = W90X900_SZ_##y, \ + .type = MT_DEVICE, \ +} + +/*Cpu identifier register*/ + +#define W90X900PDID W90X900_VA_GCR +#define W90P910_CPUID 0x02900910 +#define W90P920_CPUID 0x02900920 +#define W90P950_CPUID 0x02900950 +#define W90N960_CPUID 0x02900960 + +struct w90x900_uartcfg; +struct map_desc; +struct sys_timer; + +/* core initialisation functions */ + +extern void w90x900_init_irq(void); +extern void w90p910_init_io(struct map_desc *mach_desc, int size); +extern void w90p910_init_uarts(struct w90x900_uartcfg *cfg, int no); +extern void w90p910_init_clocks(int xtal); +extern void w90p910_map_io(struct map_desc *mach_desc, int size); +extern struct sys_timer w90x900_timer; + +#define W90X900_RES(name) \ +struct resource w90x900_##name##_resource[] = { \ + [0] = { \ + .start = name##_PA, \ + .end = name##_PA + 0x0ff, \ + .flags = IORESOURCE_MEM, \ + }, \ + [1] = { \ + .start = IRQ_##name, \ + .end = IRQ_##name, \ + .flags = IORESOURCE_IRQ, \ + } \ +} + +#define W90X900_DEVICE(devname, regname, devid, platdevname) \ +struct platform_device w90x900_##devname = { \ + .name = platdevname, \ + .id = devid, \ + .num_resources = ARRAY_SIZE(w90x900_##regname##_resource), \ + .resource = w90x900_##regname##_resource, \ +} + +#define W90X900_UARTCFG(port, flag, uc, ulc, ufc) \ +{ \ + .hwport = port, \ + .flags = flag, \ + .ucon = uc, \ + .ulcon = ulc, \ + .ufcon = ufc, \ +} -- cgit v1.2.3