| 578 | | /* Set IN (voltage) initial limits to sane values +/- 5% */ |
| 579 | | lm87_write_value(client, LM87_REG_IN_MIN(0),182); |
| 580 | | lm87_write_value(client, LM87_REG_IN_MAX(0),202); |
| 581 | | lm87_write_value(client, LM87_REG_IN_MIN(2),182); |
| 582 | | lm87_write_value(client, LM87_REG_IN_MAX(2),202); |
| 583 | | lm87_write_value(client, LM87_REG_IN_MIN(3),182); |
| 584 | | lm87_write_value(client, LM87_REG_IN_MAX(3),202); |
| 585 | | lm87_write_value(client, LM87_REG_IN_MIN(4),182); |
| 586 | | lm87_write_value(client, LM87_REG_IN_MAX(4),202); |
| 587 | | |
| 588 | | /* Set CPU core voltage limits relative to vid readings +/- 5% */ |
| 589 | | v = (lm87_read_value(client, LM87_REG_VID_FAN_DIV) & 0x0f) |
| 590 | | | ((lm87_read_value(client, LM87_REG_VID4) & 0x01) |
| 591 | | << 4 ); |
| 593 | | vid = vid_from_reg(v, data->vrm); |
| 594 | | |
| 595 | | v = vid * 95 * 192 / 270000; |
| 596 | | lm87_write_value(client, LM87_REG_IN_MIN(1), v); |
| 597 | | lm87_write_value(client, LM87_REG_IN_MIN(5), v); |
| 598 | | v = vid * 105 * 192 / 270000; |
| 599 | | lm87_write_value(client, LM87_REG_IN_MAX(1), v); |
| 600 | | lm87_write_value(client, LM87_REG_IN_MAX(5), v); |
| 601 | | |
| 602 | | /* Set Temp initial limits to sane values */ |
| 603 | | lm87_write_value(client, LM87_REG_EXT_TEMP_1_HIGH, |
| 604 | | TEMP_LIMIT_TO_REG(LM87_INIT_EXT_TEMP_MAX)); |
| 605 | | lm87_write_value(client, LM87_REG_EXT_TEMP_1_LOW, |
| 606 | | TEMP_LIMIT_TO_REG(LM87_INIT_EXT_TEMP_MIN)); |
| 607 | | #ifdef LM87_EXT2 |
| 608 | | lm87_write_value(client, LM87_REG_2_5V_EXT_TEMP_2_HIGH, |
| 609 | | TEMP_LIMIT_TO_REG(LM87_INIT_EXT_TEMP_MAX)); |
| 610 | | lm87_write_value(client, LM87_REG_2_5V_EXT_TEMP_2_LOW, |
| 611 | | TEMP_LIMIT_TO_REG(LM87_INIT_EXT_TEMP_MIN)); |
| 612 | | #endif |
| 613 | | lm87_write_value(client, LM87_REG_INT_TEMP_HIGH, |
| 614 | | TEMP_LIMIT_TO_REG(LM87_INIT_INT_TEMP_MAX)); |
| 615 | | lm87_write_value(client, LM87_REG_INT_TEMP_LOW, |
| 616 | | TEMP_LIMIT_TO_REG(LM87_INIT_INT_TEMP_MIN)); |
| 617 | | |
| 618 | | #ifndef LM87_AIN1 |
| 619 | | lm87_write_value(client, LM87_REG_FAN1_AIN1_LIMIT, |
| 620 | | FAN_TO_REG(LM87_INIT_FAN_MIN, 2)); |
| 621 | | #endif |
| 622 | | #ifndef LM87_AIN2 |
| 623 | | lm87_write_value(client, LM87_REG_FAN2_AIN2_LIMIT, |
| 624 | | FAN_TO_REG(LM87_INIT_FAN_MIN, 2)); |
| 625 | | #endif |