diff options
Diffstat (limited to 'drivers/thermal/rockchip_thermal.c')
| -rw-r--r-- | drivers/thermal/rockchip_thermal.c | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/drivers/thermal/rockchip_thermal.c b/drivers/thermal/rockchip_thermal.c index 4c7796512453..206035139110 100644 --- a/drivers/thermal/rockchip_thermal.c +++ b/drivers/thermal/rockchip_thermal.c | |||
| @@ -320,6 +320,44 @@ static const struct tsadc_table rk3288_code_table[] = { | |||
| 320 | {0, 125000}, | 320 | {0, 125000}, |
| 321 | }; | 321 | }; |
| 322 | 322 | ||
| 323 | static const struct tsadc_table rk3328_code_table[] = { | ||
| 324 | {0, -40000}, | ||
| 325 | {296, -40000}, | ||
| 326 | {304, -35000}, | ||
| 327 | {313, -30000}, | ||
| 328 | {331, -20000}, | ||
| 329 | {340, -15000}, | ||
| 330 | {349, -10000}, | ||
| 331 | {359, -5000}, | ||
| 332 | {368, 0}, | ||
| 333 | {378, 5000}, | ||
| 334 | {388, 10000}, | ||
| 335 | {398, 15000}, | ||
| 336 | {408, 20000}, | ||
| 337 | {418, 25000}, | ||
| 338 | {429, 30000}, | ||
| 339 | {440, 35000}, | ||
| 340 | {451, 40000}, | ||
| 341 | {462, 45000}, | ||
| 342 | {473, 50000}, | ||
| 343 | {485, 55000}, | ||
| 344 | {496, 60000}, | ||
| 345 | {508, 65000}, | ||
| 346 | {521, 70000}, | ||
| 347 | {533, 75000}, | ||
| 348 | {546, 80000}, | ||
| 349 | {559, 85000}, | ||
| 350 | {572, 90000}, | ||
| 351 | {586, 95000}, | ||
| 352 | {600, 100000}, | ||
| 353 | {614, 105000}, | ||
| 354 | {629, 110000}, | ||
| 355 | {644, 115000}, | ||
| 356 | {659, 120000}, | ||
| 357 | {675, 125000}, | ||
| 358 | {TSADCV2_DATA_MASK, 125000}, | ||
| 359 | }; | ||
| 360 | |||
| 323 | static const struct tsadc_table rk3368_code_table[] = { | 361 | static const struct tsadc_table rk3368_code_table[] = { |
| 324 | {0, -40000}, | 362 | {0, -40000}, |
| 325 | {106, -40000}, | 363 | {106, -40000}, |
| @@ -790,6 +828,29 @@ static const struct rockchip_tsadc_chip rk3288_tsadc_data = { | |||
| 790 | }, | 828 | }, |
| 791 | }; | 829 | }; |
| 792 | 830 | ||
| 831 | static const struct rockchip_tsadc_chip rk3328_tsadc_data = { | ||
| 832 | .chn_id[SENSOR_CPU] = 0, /* cpu sensor is channel 0 */ | ||
| 833 | .chn_num = 1, /* one channels for tsadc */ | ||
| 834 | |||
| 835 | .tshut_mode = TSHUT_MODE_CRU, /* default TSHUT via CRU */ | ||
| 836 | .tshut_temp = 95000, | ||
| 837 | |||
| 838 | .initialize = rk_tsadcv2_initialize, | ||
| 839 | .irq_ack = rk_tsadcv3_irq_ack, | ||
| 840 | .control = rk_tsadcv3_control, | ||
| 841 | .get_temp = rk_tsadcv2_get_temp, | ||
| 842 | .set_alarm_temp = rk_tsadcv2_alarm_temp, | ||
| 843 | .set_tshut_temp = rk_tsadcv2_tshut_temp, | ||
| 844 | .set_tshut_mode = rk_tsadcv2_tshut_mode, | ||
| 845 | |||
| 846 | .table = { | ||
| 847 | .id = rk3328_code_table, | ||
| 848 | .length = ARRAY_SIZE(rk3328_code_table), | ||
| 849 | .data_mask = TSADCV2_DATA_MASK, | ||
| 850 | .mode = ADC_INCREMENT, | ||
| 851 | }, | ||
| 852 | }; | ||
| 853 | |||
| 793 | static const struct rockchip_tsadc_chip rk3366_tsadc_data = { | 854 | static const struct rockchip_tsadc_chip rk3366_tsadc_data = { |
| 794 | .chn_id[SENSOR_CPU] = 0, /* cpu sensor is channel 0 */ | 855 | .chn_id[SENSOR_CPU] = 0, /* cpu sensor is channel 0 */ |
| 795 | .chn_id[SENSOR_GPU] = 1, /* gpu sensor is channel 1 */ | 856 | .chn_id[SENSOR_GPU] = 1, /* gpu sensor is channel 1 */ |
| @@ -875,6 +936,10 @@ static const struct of_device_id of_rockchip_thermal_match[] = { | |||
| 875 | .data = (void *)&rk3288_tsadc_data, | 936 | .data = (void *)&rk3288_tsadc_data, |
| 876 | }, | 937 | }, |
| 877 | { | 938 | { |
| 939 | .compatible = "rockchip,rk3328-tsadc", | ||
| 940 | .data = (void *)&rk3328_tsadc_data, | ||
| 941 | }, | ||
| 942 | { | ||
| 878 | .compatible = "rockchip,rk3366-tsadc", | 943 | .compatible = "rockchip,rk3366-tsadc", |
| 879 | .data = (void *)&rk3366_tsadc_data, | 944 | .data = (void *)&rk3366_tsadc_data, |
| 880 | }, | 945 | }, |
