/linux-5.10/Documentation/driver-api/thermal/ |
D | sysfs-api.rst | 16 devices (sensors) and thermal cooling devices (fan, processor...) to register 19 This how-to focuses on enabling new thermal zone and cooling devices to 22 and cooling devices should be able to make use of the infrastructure. 25 as well as cooling device attributes to the user space. 30 - `[0-*]` denotes any positive number starting from 0 31 - `[1-*]` denotes any positive number starting from 1 36 1.1 thermal zone device interface 37 --------------------------------- 48 This interface function adds a new thermal zone device (sensor) to 49 /sys/class/thermal folder as `thermal_zone[0-*]`. It tries to bind all the [all …]
|
D | cpu-cooling-api.rst | 2 CPU cooling APIs How To 14 The generic cpu cooling(freq clipping) provides registration/unregistration APIs 15 to the caller. The binding of the cooling devices to the trip point is left for 16 the user. The registration APIs returns the cooling device pointer. 18 1. cpu cooling APIs 22 -------------------------------------------- 29 This interface function registers the cpufreq cooling device with the name 30 "thermal-cpufreq-%x". This api can support multiple instances of cpufreq 31 cooling devices. 41 This interface function registers the cpufreq cooling device with [all …]
|
D | power_allocator.rst | 6 ----------- 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 |------+ 41 | | +----------+ +---+ | 47 +---+ | +-------+ +---+ +---+ +---+ +----------+ [all …]
|
/linux-5.10/Documentation/devicetree/bindings/thermal/ |
D | thermal-cooling-devices.yaml | 1 # SPDX-License-Identifier: (GPL-2.0) 4 --- 5 $id: http://devicetree.org/schemas/thermal/thermal-cooling-devices.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Thermal cooling device binding 11 - Amit Kucheria <amitk@kernel.org> 15 and the software abstraction of cooling devices and thermal zones required to 20 - thermal-sensor: device that measures temperature, has SoC-specific bindings 21 - cooling-device: device used to dissipate heat either passively or actively 22 - thermal-zones: a container of the following node types used to describe all [all …]
|
D | thermal-idle.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/thermal/thermal-idle.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Thermal idle cooling device binding 11 - Daniel Lezcano <daniel.lezcano@linaro.org> 14 The thermal idle cooling device allows the system to passively 15 mitigate the temperature on the device by injecting idle cycles, 22 const: thermal-idle 24 A thermal-idle node describes the idle cooling device properties to [all …]
|
D | zx2967-thermal.txt | 4 - compatible: should be one of the following. 5 * zte,zx296718-thermal 6 - reg: physical base address of the controller and length of memory mapped 8 - clocks : Pairs of phandle and specifier referencing the controller's clocks. 9 - clock-names: "topcrm" for the topcrm clock. 11 - #thermal-sensor-cells: must be 0. 13 Please note: slope coefficient defined in thermal-zones section need to be 19 compatible = "zte,zx296718-thermal"; 22 clock-names = "topcrm", "apb"; 23 #thermal-sensor-cells = <0>; [all …]
|
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# 11 - Amit Kucheria <amitk@kernel.org> 15 and the software abstraction of cooling devices and thermal zones required to 20 - thermal-sensor: device that measures temperature, has SoC-specific bindings 21 - cooling-device: device used to dissipate heat either passively or actively 22 - thermal-zones: a container of the following node types used to describe all 25 This binding describes the thermal-zones. [all …]
|
D | nvidia,tegra124-soctherm.txt | 4 or interrupt-based thermal monitoring, CPU and GPU throttling based 10 - compatible : For Tegra124, must contain "nvidia,tegra124-soctherm". 11 For Tegra132, must contain "nvidia,tegra132-soctherm". 12 For Tegra210, must contain "nvidia,tegra210-soctherm". 13 - reg : Should contain at least 2 entries for each entry in reg-names: 14 - SOCTHERM register set 15 - Tegra CAR register set: Required for Tegra124 and Tegra210. 16 - CCROC register set: Required for Tegra132. 17 - reg-names : Should contain at least 2 entries: 18 - soctherm-reg [all …]
|
/linux-5.10/drivers/thermal/ |
D | cpufreq_cooling.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * Copyright (C) 2012-2018 Linaro Limited. 28 * Cooling state <-> CPUFreq frequency 30 * Cooling states are translated to frequencies throughout this driver and this 33 * Highest cooling state corresponds to lowest possible frequency. 36 * level 0 --> 1st Max Freq 37 * level 1 --> 2nd Max Freq 42 * struct time_in_idle - Idle time stats 52 * struct cpufreq_cooling_device - data for cooling device with cpufreq 57 * cooling devices. [all …]
|
D | cpuidle_cooling.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #define pr_fmt(fmt) "cpuidle cooling: " fmt 20 * struct cpuidle_cooling_device - data for the idle cooling device 22 * @state: a normalized integer giving the state of the cooling device 32 * cpuidle_cooling_runtime - Running time computation 44 * running = idle x ((100 / ratio) - 1) 48 * running = (idle x 100) / ratio - idle 61 return ((idle_duration_us * 100) / state) - idle_duration_us; in cpuidle_cooling_runtime() 65 * cpuidle_cooling_get_max_state - Get the maximum state 66 * @cdev : the thermal cooling device [all …]
|
D | devfreq_cooling.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * devfreq_cooling: Thermal cooling device implementation for devices using 6 * Copyright (C) 2014-2015 ARM Limited 9 * - If OPPs are added or removed after devfreq cooling has 10 * registered, the devfreq cooling won't react to it. 30 * struct devfreq_cooling_device - Devfreq cooling device 33 * @cdev: Pointer to associated thermal cooling device. 34 * @devfreq: Pointer to associated devfreq device. 35 * @cooling_state: Current cooling state. 37 * cooling state. State is the index into the table, and [all …]
|
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 11 zones and cooling devices. 13 and cooling devices. 26 trip point crossed, cooling device update or governor 37 int "Emergency poweroff delay in milli-seconds" 54 prompt "Expose thermal sensors as hwmon device" 68 prompt "APIs to parse thermal data out of device tree" 74 device tree blob. 77 based on device tree. 124 system and device power allocation. This governor can only [all …]
|
D | thermal_core.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * thermal.c - Generic Thermal Management Sysfs support. 12 #include <linux/device.h> 61 if (!strncasecmp(name, pos->name, THERMAL_NAME_LENGTH)) in __find_governor() 68 * bind_previous_governor() - bind the previous governor of the thermal zone 78 if (tz->governor && tz->governor->bind_to_tz) { in bind_previous_governor() 79 if (tz->governor->bind_to_tz(tz)) { in bind_previous_governor() 80 dev_err(&tz->device, in bind_previous_governor() 82 failed_gov_name, tz->governor->name, tz->type); in bind_previous_governor() 83 tz->governor = NULL; in bind_previous_governor() [all …]
|
D | thermal_of.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * of-thermal.c - Generic Thermal Management device tree support. 22 /*** Private data structures to represent thermal device tree data ***/ 25 * struct __thermal_cooling_bind_param - a cooling device for a trip point 26 * @cooling_device: a pointer to identify the referred cooling device 27 * @min: minimum cooling state used at this trip point 28 * @max: maximum cooling state used at this trip point 38 * struct __thermal_bind_param - a match between trip and cooling device 39 * @tcbp: a pointer to an array of cooling devices 42 * @usage: the percentage (from 0 to 100) of cooling contribution [all …]
|
/linux-5.10/arch/arm/boot/dts/ |
D | exynos5422-odroidxu3-common.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Hardkernel Odroid XU3/XU3-Lite/XU4 boards common device tree source 12 #include <dt-bindings/input/input.h> 13 #include "exynos5422-odroid-core.dtsi" 17 compatible = "gpio-keys"; 18 pinctrl-names = "default"; 19 pinctrl-0 = <&power_key>; 32 debounce-interval = <0>; 33 wakeup-source; 38 pinctrl-0 = <&emmc_nrst_pin>; [all …]
|
D | exynos5422-odroidhc1.dts | 1 // SPDX-License-Identifier: GPL-2.0 3 * Hardkernel Odroid HC1 board device tree source 10 /dts-v1/; 11 #include "exynos5422-odroid-core.dtsi" 15 compatible = "hardkernel,odroid-hc1", "samsung,exynos5800", \ 19 compatible = "pwm-leds"; 24 pwm-names = "pwm2"; 26 linux,default-trigger = "heartbeat"; 30 thermal-zones { 31 cpu0_thermal: cpu0-thermal { [all …]
|
D | rk3288-veyron-mickey.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 * Google Veyron Mickey Rev 0 board device tree source 8 /dts-v1/; 9 #include "rk3288-veyron.dtsi" 10 #include "rk3288-veyron-broadcom-bluetooth.dtsi" 14 compatible = "google,veyron-mickey-rev8", "google,veyron-mickey-rev7", 15 "google,veyron-mickey-rev6", "google,veyron-mickey-rev5", 16 "google,veyron-mickey-rev4", "google,veyron-mickey-rev3", 17 "google,veyron-mickey-rev2", "google,veyron-mickey-rev1", 18 "google,veyron-mickey-rev0", "google,veyron-mickey", [all …]
|
D | exynos4412-odroidu3.dts | 1 // SPDX-License-Identifier: GPL-2.0 3 * Hardkernel's Exynos4412 based ODROID-U3 board device tree source 7 * Device tree source file for Hardkernel's ODROID-U3 board which is based 11 /dts-v1/; 12 #include "exynos4412-odroid-common.dtsi" 13 #include "exynos4412-prime.dtsi" 16 model = "Hardkernel ODROID-U3 board based on Exynos4412"; 17 compatible = "hardkernel,odroid-u3", "samsung,exynos4412", "samsung,exynos4"; 25 compatible = "gpio-leds"; 29 default-state = "on"; [all …]
|
/linux-5.10/tools/thermal/tmon/ |
D | tmon.8 | 2 # SPDX-License-Identifier: GPL-2.0 4 \fBtmon\fP - A monitoring and testing tool for Linux kernel thermal subsystem 13 real-time thermal data; tune 14 and test cooling devices and sensors; collect thermal data for offline 15 analysis and plot. \fBtmon\fP must be run as root in order to control device 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 28 - show temperature of all thermal zones w.r.t. its trip points and types [all …]
|
/linux-5.10/Documentation/devicetree/bindings/hwmon/ |
D | aspeed-pwm-tacho.txt | 1 ASPEED AST2400/AST2500 PWM and Fan Tacho controller device driver 9 Required properties for pwm-tacho node: 10 - #address-cells : should be 1. 12 - #size-cells : should be 1. 14 - #cooling-cells: should be 2. 16 - reg : address and length of the register set for the device. 18 - pinctrl-names : a pinctrl state named "default" must be defined. 20 - pinctrl-0 : phandle referencing pin configuration of the PWM ports. 22 - compatible : should be "aspeed,ast2400-pwm-tacho" for AST2400 and 23 "aspeed,ast2500-pwm-tacho" for AST2500. [all …]
|
/linux-5.10/arch/arm64/boot/dts/exynos/ |
D | exynos5433-tmu.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device tree sources for Exynos5433 thermal zone 8 #include <dt-bindings/thermal/thermal.h> 11 thermal-zones { 12 atlas0_thermal: atlas0-thermal { 13 thermal-sensors = <&tmu_atlas0>; 14 polling-delay-passive = <0>; 15 polling-delay = <0>; 17 atlas0_alert_0: atlas0-alert-0 { 22 atlas0_alert_1: atlas0-alert-1 { [all …]
|
/linux-5.10/drivers/gpu/drm/panfrost/ |
D | panfrost_devfreq.c | 1 // SPDX-License-Identifier: GPL-2.0 18 last = pfdevfreq->time_last_update; in panfrost_devfreq_update_utilization() 20 if (pfdevfreq->busy_count > 0) in panfrost_devfreq_update_utilization() 21 pfdevfreq->busy_time += ktime_sub(now, last); in panfrost_devfreq_update_utilization() 23 pfdevfreq->idle_time += ktime_sub(now, last); in panfrost_devfreq_update_utilization() 25 pfdevfreq->time_last_update = now; in panfrost_devfreq_update_utilization() 28 static int panfrost_devfreq_target(struct device *dev, unsigned long *freq, in panfrost_devfreq_target() 48 pfdevfreq->busy_time = 0; in panfrost_devfreq_reset() 49 pfdevfreq->idle_time = 0; in panfrost_devfreq_reset() 50 pfdevfreq->time_last_update = ktime_get(); in panfrost_devfreq_reset() [all …]
|
/linux-5.10/arch/arm64/boot/dts/amlogic/ |
D | meson-g12b.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 7 #include "meson-g12.dtsi" 13 #address-cells = <0x2>; 14 #size-cells = <0x0>; 16 cpu-map { 48 compatible = "arm,cortex-a53"; 50 enable-method = "psci"; 51 capacity-dmips-mhz = <592>; 52 next-level-cache = <&l2>; 53 #cooling-cells = <2>; [all …]
|
/linux-5.10/drivers/gpu/drm/lima/ |
D | lima_devfreq.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include <linux/device.h> 24 last = devfreq->time_last_update; in lima_devfreq_update_utilization() 26 if (devfreq->busy_count > 0) in lima_devfreq_update_utilization() 27 devfreq->busy_time += ktime_sub(now, last); in lima_devfreq_update_utilization() 29 devfreq->idle_time += ktime_sub(now, last); in lima_devfreq_update_utilization() 31 devfreq->time_last_update = now; in lima_devfreq_update_utilization() 34 static int lima_devfreq_target(struct device *dev, unsigned long *freq, in lima_devfreq_target() 54 devfreq->busy_time = 0; in lima_devfreq_reset() 55 devfreq->idle_time = 0; in lima_devfreq_reset() [all …]
|
/linux-5.10/Documentation/hwmon/ |
D | mlxreg-fan.rst | 1 Kernel driver mlxreg-fan 6 - QMB700, equipped with 40x200GbE InfiniBand ports; 7 - MSN3700, equipped with 32x200GbE or 16x400GbE Ethernet ports; 8 - MSN3410, equipped with 6x400GbE plus 48x50GbE Ethernet ports; 9 - MSN3800, equipped with 64x1000GbE Ethernet ports; 14 board with Mellanox Quantum or Spectrume-2 devices. 15 FAN controller is implemented by the programmable device logic. 17 The default registers offsets set within the programmable device is as 36 This setup can be re-programmed with other registers. 39 ----------- [all …]
|