blob: 04476c2e91210bd693b1dec6391cdcc67c574aa1 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#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 */
12static 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
22static 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 */
31static 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 */
40static 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 */
49static inline void w977_efm_exit(unsigned int efio)
50{
51 outb(0xAA, efio);
52}
53#endif