| #ifndef W83977AF_H | |
| #define W83977AF_H | |
| #define W977_EFIO_BASE 0x370 | |
| #define W977_EFIO2_BASE 0x3f0 | |
| #define W977_DEVICE_IR 0x06 | |
| /* | |
| * Enter extended function mode | |
| */ | |
| static inline void w977_efm_enter(unsigned int efio) | |
| { | |
| outb(0x87, efio); | |
| outb(0x87, efio); | |
| } | |
| /* | |
| * Select a device to configure | |
| */ | |
| static inline void w977_select_device(__u8 devnum, unsigned int efio) | |
| { | |
| outb(0x07, efio); | |
| outb(devnum, efio+1); | |
| } | |
| /* | |
| * Write a byte to a register | |
| */ | |
| static inline void w977_write_reg(__u8 reg, __u8 value, unsigned int efio) | |
| { | |
| outb(reg, efio); | |
| outb(value, efio+1); | |
| } | |
| /* | |
| * read a byte from a register | |
| */ | |
| static inline __u8 w977_read_reg(__u8 reg, unsigned int efio) | |
| { | |
| outb(reg, efio); | |
| return inb(efio+1); | |
| } | |
| /* | |
| * Exit extended function mode | |
| */ | |
| static inline void w977_efm_exit(unsigned int efio) | |
| { | |
| outb(0xAA, efio); | |
| } | |
| #endif |