.. | .. |
---|
646 | 646 | static const struct tsadc_table rk3528_code_table[] = { |
---|
647 | 647 | {0, MIN_TEMP}, |
---|
648 | 648 | {1386, MIN_TEMP}, |
---|
649 | | - {1419, -40000}, |
---|
650 | | - {1427, -35000}, |
---|
651 | | - {1435, -30000}, |
---|
652 | | - {1443, -25000}, |
---|
653 | | - {1452, -20000}, |
---|
654 | | - {1460, -15000}, |
---|
655 | | - {1468, -10000}, |
---|
656 | | - {1477, -5000}, |
---|
657 | | - {1486, 0}, |
---|
658 | | - {1494, 5000}, |
---|
659 | | - {1502, 10000}, |
---|
660 | | - {1510, 15000}, |
---|
661 | | - {1519, 20000}, |
---|
662 | | - {1527, 25000}, |
---|
663 | | - {1535, 30000}, |
---|
664 | | - {1544, 35000}, |
---|
665 | | - {1552, 40000}, |
---|
666 | | - {1561, 45000}, |
---|
667 | | - {1569, 50000}, |
---|
668 | | - {1578, 55000}, |
---|
669 | | - {1586, 60000}, |
---|
670 | | - {1594, 65000}, |
---|
671 | | - {1603, 70000}, |
---|
672 | | - {1612, 75000}, |
---|
673 | | - {1620, 80000}, |
---|
| 649 | + {1410, -40000}, |
---|
| 650 | + {1419, -35000}, |
---|
| 651 | + {1428, -30000}, |
---|
| 652 | + {1436, -25000}, |
---|
| 653 | + {1445, -20000}, |
---|
| 654 | + {1454, -15000}, |
---|
| 655 | + {1463, -10000}, |
---|
| 656 | + {1471, -5000}, |
---|
| 657 | + {1480, 0}, |
---|
| 658 | + {1489, 5000}, |
---|
| 659 | + {1498, 10000}, |
---|
| 660 | + {1506, 15000}, |
---|
| 661 | + {1515, 20000}, |
---|
| 662 | + {1524, 25000}, |
---|
| 663 | + {1533, 30000}, |
---|
| 664 | + {1541, 35000}, |
---|
| 665 | + {1550, 40000}, |
---|
| 666 | + {1558, 45000}, |
---|
| 667 | + {1567, 50000}, |
---|
| 668 | + {1575, 55000}, |
---|
| 669 | + {1584, 60000}, |
---|
| 670 | + {1593, 65000}, |
---|
| 671 | + {1602, 70000}, |
---|
| 672 | + {1610, 75000}, |
---|
| 673 | + {1619, 80000}, |
---|
674 | 674 | {1628, 85000}, |
---|
675 | 675 | {1637, 90000}, |
---|
676 | 676 | {1646, 95000}, |
---|
677 | 677 | {1654, 100000}, |
---|
678 | | - {1662, 105000}, |
---|
679 | | - {1671, 110000}, |
---|
680 | | - {1679, 115000}, |
---|
681 | | - {1688, 120000}, |
---|
682 | | - {1696, 125000}, |
---|
| 678 | + {1663, 105000}, |
---|
| 679 | + {1672, 110000}, |
---|
| 680 | + {1680, 115000}, |
---|
| 681 | + {1689, 120000}, |
---|
| 682 | + {1697, 125000}, |
---|
683 | 683 | {1790, MAX_TEMP}, |
---|
684 | 684 | {TSADCV5_DATA_MASK, MAX_TEMP}, |
---|
685 | 685 | }; |
---|
.. | .. |
---|
1482 | 1482 | return code - base_code; |
---|
1483 | 1483 | } |
---|
1484 | 1484 | |
---|
| 1485 | +static int rk_tsadcv3_get_trim_code(const struct chip_tsadc_table *table, |
---|
| 1486 | + int code, int trim_base, int trim_base_frac) |
---|
| 1487 | +{ |
---|
| 1488 | + int temp = trim_base * 1000 + trim_base_frac * 100; |
---|
| 1489 | + u32 base_code = rk_tsadcv2_temp_to_code(table, temp); |
---|
| 1490 | + |
---|
| 1491 | + return (TSADCV3_Q_MAX_VAL - code) - base_code; |
---|
| 1492 | +} |
---|
| 1493 | + |
---|
1485 | 1494 | static int rk_tsadcv1_set_clk_rate(struct platform_device *pdev) |
---|
1486 | 1495 | { |
---|
1487 | 1496 | struct clk *clk; |
---|
.. | .. |
---|
1860 | 1869 | .set_alarm_temp = rk_tsadcv3_alarm_temp, |
---|
1861 | 1870 | .set_tshut_temp = rk_tsadcv3_tshut_temp, |
---|
1862 | 1871 | .set_tshut_mode = rk_tsadcv4_tshut_mode, |
---|
| 1872 | + .get_trim_code = rk_tsadcv3_get_trim_code, |
---|
| 1873 | + .trim_slope = 574, |
---|
1863 | 1874 | |
---|
1864 | 1875 | .table = { |
---|
1865 | 1876 | .id = rk3528_code_table, |
---|
.. | .. |
---|
1884 | 1895 | .set_alarm_temp = rk_tsadcv3_alarm_temp, |
---|
1885 | 1896 | .set_tshut_temp = rk_tsadcv3_tshut_temp, |
---|
1886 | 1897 | .set_tshut_mode = rk_tsadcv4_tshut_mode, |
---|
| 1898 | + .get_trim_code = rk_tsadcv3_get_trim_code, |
---|
| 1899 | + .trim_slope = 588, |
---|
1887 | 1900 | |
---|
1888 | 1901 | .table = { |
---|
1889 | 1902 | .id = rk3562_code_table, |
---|
.. | .. |
---|
2167 | 2180 | * The tsadc won't to handle the error in here |
---|
2168 | 2181 | * since some SoCs didn't need this property. |
---|
2169 | 2182 | */ |
---|
2170 | | - if (rockchip_get_efuse_value(np, "trim_base", &trim_base)) { |
---|
2171 | | - dev_info(dev, "Missing trim_base property\n"); |
---|
2172 | | - return 0; |
---|
2173 | | - } |
---|
| 2183 | + rockchip_get_efuse_value(np, "trim_base", &trim_base); |
---|
2174 | 2184 | if (!trim_base) |
---|
2175 | | - return 0; |
---|
| 2185 | + trim_base = 30; |
---|
2176 | 2186 | rockchip_get_efuse_value(np, "trim_base_frac", &trim_base_frac); |
---|
2177 | 2187 | /* |
---|
2178 | 2188 | * If the tsadc node contains trim_h and trim_l property, |
---|