hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/thermal/rockchip_thermal.c
....@@ -646,40 +646,40 @@
646646 static const struct tsadc_table rk3528_code_table[] = {
647647 {0, MIN_TEMP},
648648 {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},
674674 {1628, 85000},
675675 {1637, 90000},
676676 {1646, 95000},
677677 {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},
683683 {1790, MAX_TEMP},
684684 {TSADCV5_DATA_MASK, MAX_TEMP},
685685 };
....@@ -1482,6 +1482,15 @@
14821482 return code - base_code;
14831483 }
14841484
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
+
14851494 static int rk_tsadcv1_set_clk_rate(struct platform_device *pdev)
14861495 {
14871496 struct clk *clk;
....@@ -1860,6 +1869,8 @@
18601869 .set_alarm_temp = rk_tsadcv3_alarm_temp,
18611870 .set_tshut_temp = rk_tsadcv3_tshut_temp,
18621871 .set_tshut_mode = rk_tsadcv4_tshut_mode,
1872
+ .get_trim_code = rk_tsadcv3_get_trim_code,
1873
+ .trim_slope = 574,
18631874
18641875 .table = {
18651876 .id = rk3528_code_table,
....@@ -1884,6 +1895,8 @@
18841895 .set_alarm_temp = rk_tsadcv3_alarm_temp,
18851896 .set_tshut_temp = rk_tsadcv3_tshut_temp,
18861897 .set_tshut_mode = rk_tsadcv4_tshut_mode,
1898
+ .get_trim_code = rk_tsadcv3_get_trim_code,
1899
+ .trim_slope = 588,
18871900
18881901 .table = {
18891902 .id = rk3562_code_table,
....@@ -2167,12 +2180,9 @@
21672180 * The tsadc won't to handle the error in here
21682181 * since some SoCs didn't need this property.
21692182 */
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);
21742184 if (!trim_base)
2175
- return 0;
2185
+ trim_base = 30;
21762186 rockchip_get_efuse_value(np, "trim_base_frac", &trim_base_frac);
21772187 /*
21782188 * If the tsadc node contains trim_h and trim_l property,