nvram.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * BK Id: SCCS/s.nvram.h 1.5 05/17/01 18:14:25 cort
  3.  */
  4. /*
  5.  * PreP compliant NVRAM access
  6.  */
  7. #ifdef __KERNEL__
  8. #ifndef _PPC_NVRAM_H
  9. #define _PPC_NVRAM_H
  10. #define NVRAM_AS0  0x74
  11. #define NVRAM_AS1  0x75
  12. #define NVRAM_DATA 0x77
  13. /* RTC Offsets */
  14. #define MOTO_RTC_SECONDS 0x1FF9
  15. #define MOTO_RTC_MINUTES 0x1FFA
  16. #define MOTO_RTC_HOURS 0x1FFB
  17. #define MOTO_RTC_DAY_OF_WEEK 0x1FFC
  18. #define MOTO_RTC_DAY_OF_MONTH 0x1FFD
  19. #define MOTO_RTC_MONTH 0x1FFE
  20. #define MOTO_RTC_YEAR 0x1FFF
  21. #define MOTO_RTC_CONTROLA            0x1FF8
  22. #define MOTO_RTC_CONTROLB            0x1FF9
  23. #ifndef BCD_TO_BIN
  24. #define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
  25. #endif
  26. #ifndef BIN_TO_BCD
  27. #define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10)
  28. #endif
  29. /* PowerMac specific nvram stuffs */
  30. enum {
  31. pmac_nvram_OF, /* Open Firmware partition */
  32. pmac_nvram_XPRAM, /* MacOS XPRAM partition */
  33. pmac_nvram_NR /* MacOS Name Registry partition */
  34. };
  35. #ifdef __KERNEL__
  36. /* Return partition offset in nvram */
  37. extern int pmac_get_partition(int partition);
  38. /* Direct access to XPRAM */
  39. extern u8 pmac_xpram_read(int xpaddr);
  40. extern void pmac_xpram_write(int xpaddr, u8 data);
  41. #endif /* __KERNEL__ */
  42. /* Some offsets in XPRAM */
  43. #define PMAC_XPRAM_MACHINE_LOC 0xe4
  44. #define PMAC_XPRAM_SOUND_VOLUME 0x08
  45. /* Machine location structure in XPRAM */
  46. struct pmac_machine_location {
  47. unsigned int latitude; /* 2+30 bit Fractional number */
  48. unsigned int longitude; /* 2+30 bit Fractional number */
  49. unsigned int delta; /* mix of GMT delta and DLS */
  50. };
  51. /* /dev/nvram ioctls */
  52. #define PMAC_NVRAM_GET_OFFSET _IOWR('p', 0x40, int) /* Get NVRAM partition offset */
  53. #endif
  54. #endif /* __KERNEL__ */