xref: /aosp_15_r20/external/kernel-headers/original/uapi/linux/thermal.h (revision f80ad8b4341604f5951dab671d41019a6d7087ce)
1*f80ad8b4SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*f80ad8b4SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_THERMAL_H
3*f80ad8b4SAndroid Build Coastguard Worker #define _UAPI_LINUX_THERMAL_H
4*f80ad8b4SAndroid Build Coastguard Worker 
5*f80ad8b4SAndroid Build Coastguard Worker #define THERMAL_NAME_LENGTH	20
6*f80ad8b4SAndroid Build Coastguard Worker 
7*f80ad8b4SAndroid Build Coastguard Worker enum thermal_device_mode {
8*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_DEVICE_DISABLED = 0,
9*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_DEVICE_ENABLED,
10*f80ad8b4SAndroid Build Coastguard Worker };
11*f80ad8b4SAndroid Build Coastguard Worker 
12*f80ad8b4SAndroid Build Coastguard Worker enum thermal_trip_type {
13*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_TRIP_ACTIVE = 0,
14*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_TRIP_PASSIVE,
15*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_TRIP_HOT,
16*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_TRIP_CRITICAL,
17*f80ad8b4SAndroid Build Coastguard Worker };
18*f80ad8b4SAndroid Build Coastguard Worker 
19*f80ad8b4SAndroid Build Coastguard Worker /* Adding event notification support elements */
20*f80ad8b4SAndroid Build Coastguard Worker #define THERMAL_GENL_FAMILY_NAME		"thermal"
21*f80ad8b4SAndroid Build Coastguard Worker #define THERMAL_GENL_VERSION			0x01
22*f80ad8b4SAndroid Build Coastguard Worker #define THERMAL_GENL_SAMPLING_GROUP_NAME	"sampling"
23*f80ad8b4SAndroid Build Coastguard Worker #define THERMAL_GENL_EVENT_GROUP_NAME		"event"
24*f80ad8b4SAndroid Build Coastguard Worker 
25*f80ad8b4SAndroid Build Coastguard Worker /* Attributes of thermal_genl_family */
26*f80ad8b4SAndroid Build Coastguard Worker enum thermal_genl_attr {
27*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_UNSPEC,
28*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_TZ,
29*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_TZ_ID,
30*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_TZ_TEMP,
31*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_TZ_TRIP,
32*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_TZ_TRIP_ID,
33*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_TZ_TRIP_TYPE,
34*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_TZ_TRIP_TEMP,
35*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_TZ_TRIP_HYST,
36*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_TZ_MODE,
37*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_TZ_NAME,
38*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_TZ_CDEV_WEIGHT,
39*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_TZ_GOV,
40*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_TZ_GOV_NAME,
41*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_CDEV,
42*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_CDEV_ID,
43*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_CDEV_CUR_STATE,
44*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_CDEV_MAX_STATE,
45*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_CDEV_NAME,
46*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_GOV_NAME,
47*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_CPU_CAPABILITY,
48*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_CPU_CAPABILITY_ID,
49*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_CPU_CAPABILITY_PERFORMANCE,
50*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_ATTR_CPU_CAPABILITY_EFFICIENCY,
51*f80ad8b4SAndroid Build Coastguard Worker 	__THERMAL_GENL_ATTR_MAX,
52*f80ad8b4SAndroid Build Coastguard Worker };
53*f80ad8b4SAndroid Build Coastguard Worker #define THERMAL_GENL_ATTR_MAX (__THERMAL_GENL_ATTR_MAX - 1)
54*f80ad8b4SAndroid Build Coastguard Worker 
55*f80ad8b4SAndroid Build Coastguard Worker enum thermal_genl_sampling {
56*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_SAMPLING_TEMP,
57*f80ad8b4SAndroid Build Coastguard Worker 	__THERMAL_GENL_SAMPLING_MAX,
58*f80ad8b4SAndroid Build Coastguard Worker };
59*f80ad8b4SAndroid Build Coastguard Worker #define THERMAL_GENL_SAMPLING_MAX (__THERMAL_GENL_SAMPLING_MAX - 1)
60*f80ad8b4SAndroid Build Coastguard Worker 
61*f80ad8b4SAndroid Build Coastguard Worker /* Events of thermal_genl_family */
62*f80ad8b4SAndroid Build Coastguard Worker enum thermal_genl_event {
63*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_UNSPEC,
64*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_TZ_CREATE,		/* Thermal zone creation */
65*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_TZ_DELETE,		/* Thermal zone deletion */
66*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_TZ_DISABLE,		/* Thermal zone disabled */
67*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_TZ_ENABLE,		/* Thermal zone enabled */
68*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_TZ_TRIP_UP,		/* Trip point crossed the way up */
69*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_TZ_TRIP_DOWN,	/* Trip point crossed the way down */
70*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_TZ_TRIP_CHANGE,	/* Trip point changed */
71*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_TZ_TRIP_ADD,		/* Trip point added */
72*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_TZ_TRIP_DELETE,	/* Trip point deleted */
73*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_CDEV_ADD,		/* Cdev bound to the thermal zone */
74*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_CDEV_DELETE,		/* Cdev unbound */
75*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_CDEV_STATE_UPDATE,	/* Cdev state updated */
76*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_TZ_GOV_CHANGE,	/* Governor policy changed  */
77*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_EVENT_CPU_CAPABILITY_CHANGE,	/* CPU capability changed */
78*f80ad8b4SAndroid Build Coastguard Worker 	__THERMAL_GENL_EVENT_MAX,
79*f80ad8b4SAndroid Build Coastguard Worker };
80*f80ad8b4SAndroid Build Coastguard Worker #define THERMAL_GENL_EVENT_MAX (__THERMAL_GENL_EVENT_MAX - 1)
81*f80ad8b4SAndroid Build Coastguard Worker 
82*f80ad8b4SAndroid Build Coastguard Worker /* Commands supported by the thermal_genl_family */
83*f80ad8b4SAndroid Build Coastguard Worker enum thermal_genl_cmd {
84*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_CMD_UNSPEC,
85*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_CMD_TZ_GET_ID,	/* List of thermal zones id */
86*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_CMD_TZ_GET_TRIP,	/* List of thermal trips */
87*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_CMD_TZ_GET_TEMP,	/* Get the thermal zone temperature */
88*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_CMD_TZ_GET_GOV,	/* Get the thermal zone governor */
89*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_CMD_TZ_GET_MODE,	/* Get the thermal zone mode */
90*f80ad8b4SAndroid Build Coastguard Worker 	THERMAL_GENL_CMD_CDEV_GET,	/* List of cdev id */
91*f80ad8b4SAndroid Build Coastguard Worker 	__THERMAL_GENL_CMD_MAX,
92*f80ad8b4SAndroid Build Coastguard Worker };
93*f80ad8b4SAndroid Build Coastguard Worker #define THERMAL_GENL_CMD_MAX (__THERMAL_GENL_CMD_MAX - 1)
94*f80ad8b4SAndroid Build Coastguard Worker 
95*f80ad8b4SAndroid Build Coastguard Worker #endif /* _UAPI_LINUX_THERMAL_H */
96