4 static void write_index(uint16_t port_base, uint8_t reg, uint8_t value)
7 outb(value, port_base + 1);
13 /* Make sure we can monitor, and enable SMI# interrupt output */
15 /* Disable fan interrupt status bits for SMI# */
17 /* Disable VIN interrupt status bits for SMI# */
19 /* Disable fan interrupt status bits for IRQ */
21 /* Disable VIN interrupt status bits for IRQ */
23 /* Disable external sensor interrupt */
25 /* Enable 16 bit counter divisors */
27 /* Set FAN_CTL control register (0x14) polarity to high, and
28 activate fans 1, 2 and 3. */
30 /* set the correct sensor types 1,2 thermistor; 3 diode */
32 /* set the 'zero' voltage for diode type sensor 3 */
38 /* fan1 (controlled by temp3) control parameters */
47 /* smooth and slope PWM */
49 /* direct-down and interval */
51 /* temperature limit of fan stop for fan3 (automatic) */
53 /* temperature limit of fan start for fan3 (automatic) */
55 /* Set PWM start & slope for fan3 */
57 /* Initialize PWM automatic mode slope values for fan3 */
59 /* set smartguardian temperature interval for fan3 */
61 /* fan1 auto controlled by temp3 */
63 /* fan2 auto controlled by temp3 */
65 /* fan3 auto controlled by temp3 */
67 /* all fans enable, fan1 ctl smart */
72 * Called from superio.c
74 void init_ec(uint16_t base)
77 for (i=0; i<ARRAY_SIZE(sequence); i++) {
78 write_index(base, sequence[i].index, sequence[i].value);