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