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

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * Industrial Computer Source WDT500/501 driver for Linux 1.3.x
  3.  *
  4.  * (c) Copyright 1995 CymruNET Ltd
  5.  * Innovation Centre
  6.  * Singleton Park
  7.  * Swansea
  8.  * Wales
  9.  * UK
  10.  * SA2 8PP
  11.  *
  12.  * http://www.cymru.net
  13.  *
  14.  * This driver is provided under the GNU General Public License, incorporated
  15.  * herein by reference. The driver is provided without warranty or 
  16.  * support.
  17.  *
  18.  * Release 0.04.
  19.  *
  20.  */
  21. #include <linux/config.h>
  22. #define WDT_COUNT0 (io+0)
  23. #define WDT_COUNT1 (io+1)
  24. #define WDT_COUNT2 (io+2)
  25. #define WDT_CR (io+3)
  26. #define WDT_SR (io+4) /* Start buzzer on PCI write */
  27. #define WDT_RT (io+5) /* Stop buzzer on PCI write */
  28. #define WDT_BUZZER (io+6) /* PCI only: rd=disable, wr=enable */
  29. #define WDT_DC (io+7)
  30. /* The following are only on the PCI card, they're outside of I/O space on
  31.  * the ISA card: */
  32. #define WDT_CLOCK (io+12) /* COUNT2: rd=16.67MHz, wr=2.0833MHz */
  33. /* inverted opto isolated reset output: */
  34. #define WDT_OPTONOTRST (io+13) /* wr=enable, rd=disable */
  35. /* opto isolated reset output: */
  36. #define WDT_OPTORST (io+14) /* wr=enable, rd=disable */
  37. /* programmable outputs: */
  38. #define WDT_PROGOUT (io+15) /* wr=enable, rd=disable */
  39. #define WDC_SR_WCCR 1 /* Active low */
  40. #define WDC_SR_TGOOD 2
  41. #define WDC_SR_ISOI0 4
  42. #define WDC_SR_ISII1 8
  43. #define WDC_SR_FANGOOD 16
  44. #define WDC_SR_PSUOVER 32 /* Active low */
  45. #define WDC_SR_PSUUNDR 64 /* Active low */
  46. #define WDC_SR_IRQ 128 /* Active low */
  47. #ifndef WDT_IS_PCI
  48. /*
  49.  * Feature Map 1 is the active high inputs not supported on your card.
  50.  * Feature Map 2 is the active low inputs not supported on your card.
  51.  */
  52.  
  53. #ifdef CONFIG_WDT_501 /* Full board */
  54. #ifdef CONFIG_WDT501_FAN /* Full board, Fan has no tachometer */
  55. #define FEATUREMAP1 0
  56. #define WDT_OPTION_MASK (WDIOF_OVERHEAT|WDIOF_POWERUNDER|WDIOF_POWEROVER|WDIOF_EXTERN1|WDIOF_EXTERN2|WDIOF_FANFAULT)
  57. #else
  58. #define FEATUREMAP1 WDC_SR_FANGOOD
  59. #define WDT_OPTION_MASK (WDIOF_OVERHEAT|WDIOF_POWERUNDER|WDIOF_POWEROVER|WDIOF_EXTERN1|WDIOF_EXTERN2)
  60. #endif
  61. #define FEATUREMAP2 0
  62. #endif
  63. #ifndef CONFIG_WDT_501
  64. #define CONFIG_WDT_500
  65. #endif
  66. #ifdef CONFIG_WDT_500 /* Minimal board */
  67. #define FEATUREMAP1 (WDC_SR_TGOOD|WDC_SR_FANGOOD)
  68. #define FEATUREMAP2 (WDC_SR_PSUOVER|WDC_SR_PSUUNDR)
  69. #define WDT_OPTION_MASK (WDIOF_OVERHEAT)
  70. #endif
  71. #else
  72. #define FEATUREMAP1 (WDC_SR_TGOOD|WDC_SR_FANGOOD)
  73. #define FEATUREMAP2 (WDC_SR_PSUOVER|WDC_SR_PSUUNDR)
  74. #define WDT_OPTION_MASK (WDIOF_OVERHEAT)
  75. #endif
  76. #ifndef FEATUREMAP1
  77. #error "Config option not set"
  78. #endif