| #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 |