arch.c
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  *  linux/arch/arm/mach-integrator/arch.c
  3.  *
  4.  *  Copyright (C) 2000 Deep Blue Solutions Ltd
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License as published by
  8.  * the Free Software Foundation; either version 2 of the License, or
  9.  * (at your option) any later version.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program; if not, write to the Free Software
  18.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  19.  */
  20. #include <linux/config.h>
  21. #include <linux/types.h>
  22. #include <linux/sched.h>
  23. #include <linux/interrupt.h>
  24. #include <linux/init.h>
  25. #include <asm/hardware.h>
  26. #include <asm/irq.h>
  27. #include <asm/setup.h>
  28. #include <asm/mach-types.h>
  29. #include <asm/mach/arch.h>
  30. #include <asm/mach/amba_kmi.h>
  31. extern void integrator_map_io(void);
  32. extern void integrator_init_irq(void);
  33. #ifdef CONFIG_KMI_KEYB
  34. static struct kmi_info integrator_keyboard __initdata = {
  35. base: IO_ADDRESS(KMI0_BASE),
  36. irq: IRQ_KMIINT0,
  37. divisor: 24 / 8 - 1,
  38. type: KMI_KEYBOARD,
  39. };
  40. static struct kmi_info integrator_mouse __initdata = {
  41. base: IO_ADDRESS(KMI1_BASE),
  42. irq: IRQ_KMIINT1,
  43. divisor: 24 / 8 - 1,
  44. type: KMI_MOUSE,
  45. };
  46. #endif
  47. static void __init
  48. integrator_fixup(struct machine_desc *desc, struct param_struct *unused,
  49.  char **cmdline, struct meminfo *mi)
  50. {
  51. #ifdef CONFIG_KMI_KEYB
  52. register_kmi(&integrator_keyboard);
  53. register_kmi(&integrator_mouse);
  54. #endif
  55. }
  56. MACHINE_START(INTEGRATOR, "ARM-Integrator")
  57. MAINTAINER("ARM Ltd/Deep Blue Solutions Ltd")
  58. BOOT_MEM(0x00000000, 0x16000000, 0xf1600000)
  59. BOOT_PARAMS(0x00000100)
  60. FIXUP(integrator_fixup)
  61. MAPIO(integrator_map_io)
  62. INITIRQ(integrator_init_irq)
  63. MACHINE_END