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

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  *  linux/arch/arm/mach-integrator/time.c
  3.  *
  4.  *  Copyright (C) 2000-2001 Deep Blue Solutions
  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 version 2 as
  8.  * published by the Free Software Foundation.
  9.  */
  10. #include <linux/kernel.h>
  11. #include <linux/sched.h>
  12. #include <linux/init.h>
  13. #include <asm/hardware.h>
  14. #include <asm/io.h>
  15. #define RTC_DR (IO_ADDRESS(INTEGRATOR_RTC_BASE) + 0)
  16. #define RTC_MR (IO_ADDRESS(INTEGRATOR_RTC_BASE) + 4)
  17. #define RTC_STAT (IO_ADDRESS(INTEGRATOR_RTC_BASE) + 8)
  18. #define RTC_EOI (IO_ADDRESS(INTEGRATOR_RTC_BASE) + 8)
  19. #define RTC_LR (IO_ADDRESS(INTEGRATOR_RTC_BASE) + 12)
  20. #define RTC_CR (IO_ADDRESS(INTEGRATOR_RTC_BASE) + 16)
  21. #define RTC_CR_MIE 0x00000001
  22. extern int (*set_rtc)(void);
  23. static int integrator_set_rtc(void)
  24. {
  25. __raw_writel(xtime.tv_sec, RTC_LR);
  26. return 1;
  27. }
  28. static int integrator_rtc_init(void)
  29. {
  30. __raw_writel(0, RTC_CR);
  31. __raw_writel(0, RTC_EOI);
  32. xtime.tv_sec = __raw_readl(RTC_DR);
  33. set_rtc = integrator_set_rtc;
  34. return 0;
  35. }
  36. __initcall(integrator_rtc_init);