blob: 03866d6d997713d37871f90c1e1e77fe5f8d17ee [file] [log] [blame]
Ram Chandrasekardac8f7d2020-06-10 12:23:28 -07001/*
2 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above
10 * copyright notice, this list of conditions and the following
11 * disclaimer in the documentation and/or other materials provided
12 * with the distribution.
13 * * Neither the name of The Linux Foundation nor the names of its
14 * contributors may be used to endorse or promote products derived
15 * from this software without specific prior written permission.
16 *
17 *
18 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
19 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
20 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
21 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
22 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
25 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
27 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
28 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
Bavyasritha Alahari0a344f42023-04-26 17:16:51 -070031 /* Changes from Qualcomm Innovation Center are provided under the following license:
32
33Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
34SPDX-License-Identifier: BSD-3-Clause-Clear */
35
Ram Chandrasekardac8f7d2020-06-10 12:23:28 -070036#ifndef THERMAL_THERMAL_DATA_H__
37#define THERMAL_THERMAL_DATA_H__
38
39#include <vector>
40#include <string>
41#include <mutex>
42#include <cmath>
Bavyasritha Alahari0a344f42023-04-26 17:16:51 -070043#include <aidl/android/hardware/thermal/BnThermal.h>
Ram Chandrasekardac8f7d2020-06-10 12:23:28 -070044
45#define UNKNOWN_TEMPERATURE (NAN)
46
Bavyasritha Alahari0a344f42023-04-26 17:16:51 -070047namespace aidl{
Ram Chandrasekardac8f7d2020-06-10 12:23:28 -070048namespace android {
49namespace hardware {
50namespace thermal {
Ram Chandrasekardac8f7d2020-06-10 12:23:28 -070051
Bavyasritha Alahari0a344f42023-04-26 17:16:51 -070052using CoolingDevice = ::aidl::android::hardware::thermal::CoolingDevice;
53using Temperature = ::aidl::android::hardware::thermal::Temperature;
54using TemperatureType = ::aidl::android::hardware::thermal::TemperatureType;
Ram Chandrasekardac8f7d2020-06-10 12:23:28 -070055
Bavyasritha Alahari0a344f42023-04-26 17:16:51 -070056using cdevType = ::aidl::android::hardware::thermal::CoolingType;
57using CoolingDevice = ::aidl::android::hardware::thermal::CoolingDevice;
58using Temperature = ::aidl::android::hardware::thermal::Temperature;
59using TemperatureType = ::aidl::android::hardware::thermal::TemperatureType;
Ram Chandrasekardac8f7d2020-06-10 12:23:28 -070060using TemperatureThreshold =
Bavyasritha Alahari0a344f42023-04-26 17:16:51 -070061 ::aidl::android::hardware::thermal::TemperatureThreshold;
62using ::aidl::android::hardware::thermal::ThrottlingSeverity;
Ram Chandrasekardac8f7d2020-06-10 12:23:28 -070063
64 struct target_therm_cfg {
65 TemperatureType type;
66 std::vector<std::string> sensor_list;
67 std::string label;
68 int throt_thresh;
69 int shutdwn_thresh;
Ram Chandrasekardac8f7d2020-06-10 12:23:28 -070070 bool positive_thresh_ramp;
71 };
72
73 struct therm_sensor {
74 int tzn;
75 int mulFactor;
76 bool positiveThresh;
77 std::string sensor_name;
78 ThrottlingSeverity lastThrottleStatus;
79 Temperature t;
80 TemperatureThreshold thresh;
81 };
82
83 struct therm_cdev {
84 int cdevn;
85 CoolingDevice c;
86 };
87
Ram Chandrasekardac8f7d2020-06-10 12:23:28 -070088} // namespace thermal
89} // namespace hardware
90} // namespace android
Bavyasritha Alahari0a344f42023-04-26 17:16:51 -070091} // namespace aidl
Ram Chandrasekardac8f7d2020-06-10 12:23:28 -070092
93#endif // THERMAL_THERMAL_DATA_H__