config.c 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /***************************************************************************/
  2. /*
  3. * linux/arch/m68knommu/platform/68328/config.c
  4. *
  5. * Copyright (C) 1993 Hamish Macdonald
  6. * Copyright (C) 1999 D. Jeff Dionne
  7. *
  8. * This file is subject to the terms and conditions of the GNU General Public
  9. * License. See the file COPYING in the main directory of this archive
  10. * for more details.
  11. *
  12. * VZ Support/Fixes Evan Stawnyczy <e@lineo.ca>
  13. */
  14. /***************************************************************************/
  15. #include <asm/dbg.h>
  16. #include <stdarg.h>
  17. #include <linux/types.h>
  18. #include <linux/kernel.h>
  19. #include <linux/mm.h>
  20. #include <linux/tty.h>
  21. #include <linux/console.h>
  22. #include <linux/interrupt.h>
  23. #include <asm/current.h>
  24. #include <asm/setup.h>
  25. #include <asm/system.h>
  26. #include <asm/pgtable.h>
  27. #include <asm/irq.h>
  28. #include <asm/machdep.h>
  29. #include <asm/MC68328.h>
  30. /***************************************************************************/
  31. void m68328_timer_init(irqreturn_t (*timer_routine) (int, void *, struct pt_regs *));
  32. void m68328_timer_tick(void);
  33. unsigned long m68328_timer_gettimeoffset(void);
  34. void m68328_timer_gettod(int *year, int *mon, int *day, int *hour, int *min, int *sec);
  35. /***************************************************************************/
  36. void m68328_reset (void)
  37. {
  38. local_irq_disable();
  39. asm volatile ("moveal #0x10c00000, %a0;\n\t"
  40. "moveb #0, 0xFFFFF300;\n\t"
  41. "moveal 0(%a0), %sp;\n\t"
  42. "moveal 4(%a0), %a0;\n\t"
  43. "jmp (%a0);");
  44. }
  45. /***************************************************************************/
  46. void config_BSP(char *command, int len)
  47. {
  48. printk(KERN_INFO "\n68328 support D. Jeff Dionne <jeff@uclinux.org>\n");
  49. printk(KERN_INFO "68328 support Kenneth Albanowski <kjahds@kjshds.com>\n");
  50. printk(KERN_INFO "68328/Pilot support Bernhard Kuhn <kuhn@lpr.e-technik.tu-muenchen.de>\n");
  51. mach_sched_init = m68328_timer_init;
  52. mach_tick = m68328_timer_tick;
  53. mach_gettimeoffset = m68328_timer_gettimeoffset;
  54. mach_gettod = m68328_timer_gettod;
  55. mach_hwclk = NULL;
  56. mach_set_clock_mmss = NULL;
  57. mach_reset = m68328_reset;
  58. *command = '\0';
  59. }
  60. /***************************************************************************/