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

嵌入式Linux

开发平台:

Unix_Linux

  1. #ifndef W83977AF_H
  2. #define W83977AF_H
  3. #define W977_EFIO_BASE 0x370
  4. #define W977_EFIO2_BASE 0x3f0
  5. #define W977_DEVICE_IR 0x06
  6. /*
  7.  * Enter extended function mode
  8.  */
  9. static inline void w977_efm_enter(unsigned int efio)
  10. {
  11.         outb(0x87, efio);
  12.         outb(0x87, efio);
  13. }
  14. /*
  15.  * Select a device to configure 
  16.  */
  17. static inline void w977_select_device(__u8 devnum, unsigned int efio)
  18. {
  19. outb(0x07, efio);
  20. outb(devnum, efio+1);
  21. /* 
  22.  * Write a byte to a register
  23.  */
  24. static inline void w977_write_reg(__u8 reg, __u8 value, unsigned int efio)
  25. {
  26. outb(reg, efio);
  27. outb(value, efio+1);
  28. }
  29. /*
  30.  * read a byte from a register
  31.  */
  32. static inline __u8 w977_read_reg(__u8 reg, unsigned int efio)
  33. {
  34. outb(reg, efio);
  35. return inb(efio+1);
  36. }
  37. /*
  38.  * Exit extended function mode
  39.  */
  40. static inline void w977_efm_exit(unsigned int efio)
  41. {
  42. outb(0xAA, efio);
  43. }
  44. #endif