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