| /OK3568_Linux_fs/kernel/Documentation/driver-api/thermal/ |
| H A D | sysfs-api.rst | 2 Generic Thermal Sysfs driver How To 15 The generic thermal sysfs provides a set of interfaces for thermal zone 16 devices (sensors) and thermal cooling devices (fan, processor...) to register 17 with the thermal management solution and to be a part of it. 19 This how-to focuses on enabling new thermal zone and cooling devices to 20 participate in thermal management. 21 This solution is platform independent and any type of thermal zone devices 24 The main task of the thermal sysfs driver is to expose thermal zone attributes 26 An intelligent thermal management application can make decisions based on 27 inputs from thermal zone attributes (the current temperature and trip point [all …]
|
| H A D | power_allocator.rst | 6 ----------- 12 point of the thermal zone. 17 thermal zone. 20 -------------- 23 Proportional-Integral-Derivative controller (PID controller) with 29 - e = desired_temperature - current_temperature 30 - err_integral is the sum of previous errors 31 - diff_err = e - previous_error 39 | +----------+ +---+ 40 | +----->| diff_err |-->| X |------+ [all …]
|
| H A D | x86_pkg_temperature_thermal.rst | 7 * x86: with package level thermal management 14 --------- 16 Intel® 64 and IA-32 Architectures Software Developer’s Manual (Jan, 2013): 17 Chapter 14.6: PACKAGE LEVEL THERMAL MANAGEMENT 20 ----------- 22 This driver register CPU digital temperature package level sensor as a thermal 23 zone with maximum two user mode configurable trip points. Number of trip points 25 user mode can receive notification via thermal notification mechanism and can 30 -------------------- 31 Each package will register as a thermal zone under /sys/class/thermal. [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/thermal/ |
| H A D | thermal-zones.yaml | 1 # SPDX-License-Identifier: (GPL-2.0) 4 --- 5 $id: http://devicetree.org/schemas/thermal/thermal-zones.yaml# 6 $schema: http://devicetree.org/meta-schemas/base.yaml# 8 title: Thermal zone binding 11 - Amit Kucheria <amitk@kernel.org> 14 Thermal management is achieved in devicetree by describing the sensor hardware 15 and the software abstraction of cooling devices and thermal zones required to 16 take appropriate action to mitigate thermal overloads. 18 The following node types are used to completely describe a thermal management [all …]
|
| H A D | rcar-thermal.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 4 --- 5 $id: http://devicetree.org/schemas/thermal/rcar-thermal.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Renesas R-Car Thermal 11 - Niklas Söderlund <niklas.soderlund@ragnatech.se> 16 - items: 17 - enum: 18 - renesas,thermal-r8a73a4 # R-Mobile APE6 19 - renesas,thermal-r8a7779 # R-Car H1 [all …]
|
| /OK3568_Linux_fs/kernel/drivers/thermal/ |
| H A D | da9062-thermal.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Thermal device driver for DA9062 and DA9061 7 /* When over-temperature is reached, an interrupt from the device will be 11 * implementation of the thermal driver will include a .notify() function 14 * These uevents are intended to indicate non-invasive temperature control 17 * the IRQ is re-enabled so the start of a new over-temperature event can 27 #include <linux/thermal.h> 51 struct thermal_zone_device *zone; member 61 struct da9062_thermal *thermal = container_of(work, in da9062_thermal_poll_on() local 69 ret = regmap_write(thermal->hw->regmap, in da9062_thermal_poll_on() [all …]
|
| H A D | thermal_of.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * of-thermal.c - Generic Thermal Management device tree support. 16 #include <linux/thermal.h> 22 /*** Private data structures to represent thermal device tree data ***/ 25 * struct __thermal_cooling_bind_param - a cooling device for a trip point 38 * struct __thermal_bind_param - a match between trip and cooling device 53 * struct __thermal_zone - internal representation of a thermal zone 55 * @polling_delay: zone polling interval 59 * @trips: an array of trip points (0..ntrips - 1) 60 * @num_tbps: number of thermal bind params [all …]
|
| H A D | thermal_core.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * thermal.c - Generic Thermal Management Sysfs support. 18 #include <linux/thermal.h> 25 #include <trace/events/thermal.h> 27 #include <trace/hooks/thermal.h> 49 * Governor section: set of functions to handle thermal governors 51 * Functions to help in the life cycle of thermal governors within 52 * the thermal core and by the thermal governor code. 63 if (!strncasecmp(name, pos->name, THERMAL_NAME_LENGTH)) in __find_governor() 70 * bind_previous_governor() - bind the previous governor of the thermal zone [all …]
|
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # Generic thermal drivers configuration 6 menuconfig THERMAL config 7 bool "Thermal drivers" 9 Thermal drivers offer a generic mechanism for 10 thermal management. Usually it's made up of one or more thermal 12 Each thermal zone contains its own temperature, trip points, 14 All platforms with ACPI or Open Firmware thermal support can use 18 if THERMAL 21 bool "Thermal netlink management" [all …]
|
| H A D | gov_power_allocator.c | 1 // SPDX-License-Identifier: GPL-2.0 13 #include <linux/thermal.h> 20 #define INVALID_TRIP -1 27 * mul_frac() - multiply two fixed-point numbers 31 * Return: the result of multiplying two fixed-point numbers. The 32 * result is also a fixed-point number. 40 * div_frac() - divide two fixed-point numbers 44 * Return: the result of dividing two fixed-point numbers. The 45 * result is also a fixed-point number. 53 * struct power_allocator_params - parameters for the power allocator governor [all …]
|
| H A D | thermal_helpers.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * thermal_helpers.c - helper functions to handle thermal devices 22 #include <trace/events/thermal.h> 30 if (tz->emul_temperature || !tz->ops->get_trend || in get_tz_trend() 31 tz->ops->get_trend(tz, trip, &trend)) { in get_tz_trend() 32 if (tz->temperature > tz->last_temperature) in get_tz_trend() 34 else if (tz->temperature < tz->last_temperature) in get_tz_trend() 51 mutex_lock(&tz->lock); in get_thermal_instance() 52 mutex_lock(&cdev->lock); in get_thermal_instance() 54 list_for_each_entry(pos, &tz->thermal_instances, tz_node) { in get_thermal_instance() [all …]
|
| H A D | rcar_thermal.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * R-Car THS/TSC thermal sensor driver 20 #include <linux/thermal.h> 92 struct thermal_zone_device *zone; member 101 list_for_each_entry(pos, &common->head, list) 104 #define rcar_zone_to_priv(zone) ((zone)->devdata) argument 105 #define rcar_priv_to_dev(priv) ((priv)->common->dev) 106 #define rcar_has_irq_support(priv) ((priv)->common->base) 107 #define rcar_id_to_shift(priv) ((priv)->id * 8) 111 .compatible = "renesas,rcar-thermal", [all …]
|
| H A D | rcar_gen3_thermal.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * R-Car Gen3 THS thermal sensor driver 18 #include <linux/thermal.h> 72 /* Structure for thermal temperature calculation */ 82 struct thermal_zone_device *zone; member 85 int id; /* thermal channel id */ 97 return ioread32(tsc->base + reg); in rcar_gen3_thermal_read() 103 iowrite32(data, tsc->base + reg); in rcar_gen3_thermal_write() 109 * [reg] = [temp] * a + b => [temp] = ([reg] - b) / a 132 #define TJ_3 -41 [all …]
|
| H A D | gov_step_wise.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * step_wise.c - A step-by-step Thermal throttling governor 13 #include <linux/thermal.h> 14 #include <trace/events/thermal.h> 31 * equals lower limit, deactivate the thermal instance 35 * deactivate the thermal instance 40 struct thermal_cooling_device *cdev = instance->cdev; in get_target_state() 49 cdev->ops->get_cur_state(cdev, &cur_state); in get_target_state() 50 next_target = instance->target; in get_target_state() 51 dev_dbg(&cdev->device, "cur_state=%ld\n", cur_state); in get_target_state() [all …]
|
| /OK3568_Linux_fs/kernel/include/linux/ |
| H A D | thermal.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * thermal.h ($Revision: 0 $) 19 #include <uapi/linux/thermal.h> 21 #define THERMAL_TRIPS_NONE -1 25 #define THERMAL_CSTATE_INVALID -1UL 34 #define THERMAL_TEMP_INVALID -274000 49 /* Thermal notification reason */ 55 THERMAL_DEVICE_DOWN, /* Thermal device is down */ 56 THERMAL_DEVICE_UP, /* Thermal device is up after a down event */ 58 THERMAL_TABLE_CHANGED, /* Thermal table(s) changed */ [all …]
|
| /OK3568_Linux_fs/kernel/include/uapi/linux/ |
| H A D | thermal.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 20 #define THERMAL_GENL_FAMILY_NAME "thermal" 50 #define THERMAL_GENL_ATTR_MAX (__THERMAL_GENL_ATTR_MAX - 1) 56 #define THERMAL_GENL_SAMPLING_MAX (__THERMAL_GENL_SAMPLING_MAX - 1) 61 THERMAL_GENL_EVENT_TZ_CREATE, /* Thermal zone creation */ 62 THERMAL_GENL_EVENT_TZ_DELETE, /* Thermal zone deletion */ 63 THERMAL_GENL_EVENT_TZ_DISABLE, /* Thermal zone disabed */ 64 THERMAL_GENL_EVENT_TZ_ENABLE, /* Thermal zone enabled */ 70 THERMAL_GENL_EVENT_CDEV_ADD, /* Cdev bound to the thermal zone */ 76 #define THERMAL_GENL_EVENT_MAX (__THERMAL_GENL_EVENT_MAX - 1) [all …]
|
| /OK3568_Linux_fs/kernel/tools/thermal/tmon/ |
| H A D | tmon.8 | 2 # SPDX-License-Identifier: GPL-2.0 4 \fBtmon\fP - A monitoring and testing tool for Linux kernel thermal subsystem 12 \fBtmon \fP can be used to visualize thermal relationship and 13 real-time thermal data; tune 14 and test cooling devices and sensors; collect thermal data for offline 21 1. Thermal relationships: 22 - show thermal zone information 23 - show cooling device information 24 - show trip point binding within each thermal zone 25 - show trip point and cooling device instance bindings [all …]
|
| /OK3568_Linux_fs/kernel/drivers/thermal/intel/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 8 enforce idle time which results in more package C-state residency. The 9 user interface is exposed via generic thermal framework. 12 tristate "X86 package temperature thermal driver" 19 thermal zone. Each package will have its own thermal zone. There are 20 two trip points which can be set by user to get notifications via thermal 34 tristate "Intel SoCs DTS thermal driver" 42 thermal zone. There are two trip points. One of the trip point can 43 be set by user mode programs to get notifications via Linux thermal 48 tristate "Intel Quark DTS thermal driver" [all …]
|
| /OK3568_Linux_fs/kernel/drivers/thermal/tegra/ |
| H A D | tegra-bpmp-thermal.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2015-2017, NVIDIA CORPORATION. All rights reserved. 13 #include <linux/thermal.h> 17 #include <soc/tegra/bpmp-abi.h> 35 struct tegra_bpmp_thermal_zone *zone = data; in tegra_bpmp_thermal_get_temp() local 43 req.get_temp.zone = zone->idx; in tegra_bpmp_thermal_get_temp() 52 err = tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in tegra_bpmp_thermal_get_temp() 63 struct tegra_bpmp_thermal_zone *zone = data; in tegra_bpmp_thermal_set_trips() local 69 req.set_trip.zone = zone->idx; in tegra_bpmp_thermal_set_trips() 79 return tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in tegra_bpmp_thermal_set_trips() [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/soc/rockchip/ |
| H A D | rockchip_system_monitor.txt | 2 ---------------------------------- 5 - compatible: Should be one of the following. 6 - "rockchip,system-monitor" 9 - rockchip,video-4k-offline-cpus: A string containing cpus which will be killed 11 - rockchip,thermal-zone: A thermal zone node containing thermal sensor, 13 - rockchip,polling-delay: The maximum number of milliseconds to wait 15 - rockchip,offline-cpu-temp: An integer indicating the trip temperature level. 16 - rockchip,temp-hysteresis: A low hysteresis value on rockchip,offline-cpu-temp 18 - rockchip,temp-offline-cpus: A string containing cpus which will be killed 20 - rockchip,thermal-governor-dummy: This property allows system monitor to [all …]
|
| /OK3568_Linux_fs/kernel/drivers/thermal/ti-soc-thermal/ |
| H A D | ti-thermal-common.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * OMAP thermal driver interface 5 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ 16 #include <linux/thermal.h> 22 #include "ti-thermal.h" 23 #include "ti-bandgap.h" 43 thermal_zone_device_update(data->ti_thermal, THERMAL_EVENT_UNSPECIFIED); in ti_thermal_work() 45 dev_dbg(&data->ti_thermal->device, "updated thermal zone %s\n", in ti_thermal_work() 46 data->ti_thermal->type); in ti_thermal_work() 50 * ti_thermal_hotspot_temperature - returns sensor extrapolated temperature [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/display/ |
| H A D | repaper.txt | 1 Pervasive Displays RePaper branded e-ink displays 4 - compatible: "pervasive,e1144cs021" for 1.44" display 9 - panel-on-gpios: Timing controller power control 10 - discharge-gpios: Discharge control 11 - reset-gpios: RESET pin 12 - busy-gpios: BUSY pin 15 - border-gpios: Border control 18 all mandatory properties described in ../spi/spi-bus.txt must be specified. 21 - pervasive,thermal-zone: name of thermometer's thermal zone 28 #thermal-sensor-cells = <0>; [all …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/include/asm/arch-tegra/ |
| H A D | bpmp_abi.h | 2 * Copyright (c) 2014-2016, NVIDIA CORPORATION. 4 * SPDX-License-Identifier: GPL-2.0 58 * A well-defined subset of the MRQ messages that the CPU sends to the 61 * a thermal trip point, the BPMP may eventually send a single 164 * @defgroup Thermal 217 * mrq_ping_request challenge left shifted by 1 with the carry-bit 385 * values. err is -#BPMP_EINVAL if size is zero or area is NULL or 398 * is treated as a byte-aligned pointer in the recipient's address 461 /** @brief module-specific mail payload 474 /** @brief module-specific mail payload [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/cpufreq/ |
| H A D | cpufreq-rockchip.txt | 6 with 'prop' information which is used to determine opp-microvolt-<name> 8 on operating-points-v2, but the driver can also create the "cpufreq-dt" 9 platform_device to compatibility with operating-points. 14 In 'operating-points-v2' table: 15 - rockchip,leakage-voltage-sel: The property is an array of 3-tuples items, and 17 <min-leakage max-leakage volt-selector>. 18 min-leakage: minimum leakage in mA, ranges from 1 to 254. 19 max-leakage: maximum leakage in mA, ranges from 1 to 254. 20 voltage-selector: a sequence number which is used to math 21 opp-microvolt-L<number> roperty in OPP node. [all …]
|
| /OK3568_Linux_fs/kernel/drivers/hwmon/ |
| H A D | scpi-hwmon.c | 1 // SPDX-License-Identifier: GPL-2.0 16 #include <linux/thermal.h> 59 if (scpi_scale[sensor->info.class] != sensor->scale) { in scpi_scale_reading() 60 *value *= scpi_scale[sensor->info.class]; in scpi_scale_reading() 61 do_div(*value, sensor->scale); in scpi_scale_reading() 67 struct scpi_thermal_zone *zone = dev; in scpi_read_temp() local 68 struct scpi_sensors *scpi_sensors = zone->scpi_sensors; in scpi_read_temp() 69 struct scpi_ops *scpi_ops = scpi_sensors->scpi_ops; in scpi_read_temp() 70 struct sensor_data *sensor = &scpi_sensors->data[zone->sensor_id]; in scpi_read_temp() 74 ret = scpi_ops->sensor_get_value(sensor->info.sensor_id, &value); in scpi_read_temp() [all …]
|