linux/arch/arm/mach-w90x900/cpu.h
<<
>>
Prefs
   1/*
   2 * arch/arm/mach-w90x900/cpu.h
   3 *
   4 * Based on linux/include/asm-arm/plat-s3c24xx/cpu.h by Ben Dooks
   5 *
   6 * Copyright (c) 2008 Nuvoton technology corporation
   7 * All rights reserved.
   8 *
   9 * Header file for NUC900 CPU support
  10 *
  11 * Wan ZongShun <mcuos.com@gmail.com>
  12 *
  13 * This program is free software; you can redistribute it and/or modify
  14 * it under the terms of the GNU General Public License version 2 as
  15 * published by the Free Software Foundation.
  16 *
  17 */
  18
  19#define IODESC_ENT(y)                                  \
  20{                                                      \
  21       .virtual = (unsigned long)W90X900_VA_##y,       \
  22       .pfn     = __phys_to_pfn(W90X900_PA_##y),       \
  23       .length  = W90X900_SZ_##y,                      \
  24       .type    = MT_DEVICE,                           \
  25}
  26
  27#define NUC900_8250PORT(name)                                   \
  28{                                                               \
  29        .membase        = name##_BA,                            \
  30        .mapbase        = name##_PA,                            \
  31        .irq            = IRQ_##name,                           \
  32        .uartclk        = 11313600,                             \
  33        .regshift       = 2,                                    \
  34        .iotype         = UPIO_MEM,                             \
  35        .flags          = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,    \
  36}
  37
  38/*Cpu identifier register*/
  39
  40#define NUC900PDID      W90X900_VA_GCR
  41#define NUC910_CPUID    0x02900910
  42#define NUC920_CPUID    0x02900920
  43#define NUC950_CPUID    0x02900950
  44#define NUC960_CPUID    0x02900960
  45
  46/* extern file from cpu.c */
  47
  48extern void nuc900_clock_source(struct device *dev, unsigned char *src);
  49extern void nuc900_init_clocks(void);
  50extern void nuc900_map_io(struct map_desc *mach_desc, int mach_size);
  51extern void nuc900_board_init(struct platform_device **device, int size);
  52
  53/* for either public between 910 and 920, or between 920 and 950 */
  54
  55extern struct platform_device nuc900_serial_device;
  56extern struct platform_device nuc900_device_fmi;
  57extern struct platform_device nuc900_device_kpi;
  58extern struct platform_device nuc900_device_rtc;
  59extern struct platform_device nuc900_device_ts;
  60extern struct platform_device nuc900_device_lcd;
  61