/linux/drivers/platform/x86/ |
H A D | gpd-pocket-fan.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * GPD Pocket fan controller driver 9 #include <linux/devm-helpers.h> 33 "Millicelsius values above which the fan speed increases"); 38 "Hysteresis in millicelsius before lowering the fan speed"); 43 "minimum fan speed to allow when system is powered by AC"); 55 static void gpd_pocket_fan_set_speed(struct gpd_pocket_fan_data *fan, int speed) in gpd_pocket_fan_set_speed() argument 57 if (speed == fan->last_speed) in gpd_pocket_fan_set_speed() 60 gpiod_direction_output(fan->gpio0, !!(speed & 1)); in gpd_pocket_fan_set_speed() 61 gpiod_direction_output(fan->gpio1, !!(speed & 2)); in gpd_pocket_fan_set_speed() [all …]
|
/linux/Documentation/hwmon/ |
H A D | g762.rst | 4 The GMT G762 Fan Speed PWM Controller is connected directly to a fan 5 and performs closed-loop or open-loop control of the fan speed. Two 6 modes - PWM or DC - are supported by the device. 9 http://natisbad.org/NAS/ref/GMT_EDS-762_763-080710-0.2.pdf. sysfs 10 bindings are described in Documentation/hwmon/sysfs-interface.rst. 19 fan revolution, ...); Those can be modified via devicetree bindings 25 set desired fan speed. This only makes sense in closed-loop 26 fan speed control (i.e. when pwm1_enable is set to 2). 29 provide current fan rotation value in RPM as reported by 30 the fan to the device. [all …]
|
H A D | nct6775.rst | 19 * Nuvoton NCT5572D/NCT6771F/NCT6772F/NCT6775F/W83677HG-I 83 * Nuvoton NCT6796D-S/NCT6799D-R 93 Guenter Roeck <linux@roeck-us.net> 96 ----------- 106 There are 4 to 5 fan rotation speed sensors, 8 to 15 analog voltage sensors, 108 fan regulation strategies (plus manual fan control mode). 119 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is 120 triggered if the rotation speed has dropped below a programmable limit. On 121 NCT6775F, fan readings can be divided by a programmable divider (1, 2, 4, 8, 123 do not have a fan speed divider. The driver sets the most suitable fan divisor [all …]
|
H A D | adm9240.rst | 10 Addresses scanned: I2C 0x2c - 0x2f 20 Addresses scanned: I2C 0x2c - 0x2f 24 http://pdfserv.maxim-ic.com/en/ds/DS1780.pdf 30 Addresses scanned: I2C 0x2c - 0x2f 37 - Frodo Looijaard <frodol@dds.nl>, 38 - Philip Edelbrock <phil@netroedge.com>, 39 - Michiel Rook <michiel@grendelproject.nl>, 40 - Grant Coady <gcoady.lk@gmail.com> with guidance 44 --------- 46 chip MSB 5-bit address. Each chip reports a unique manufacturer [all …]
|
H A D | g760a.rst | 6 * Global Mixed-mode Technology Inc. G760A 12 http://www.gmt.com.tw/product/datasheet/EDS-760A.pdf 17 ----------- 19 The GMT G760A Fan Speed PWM Controller is connected directly to a fan 20 and performs closed-loop control of the fan speed. 22 The fan speed is programmed by setting the period via 'pwm1' of two 23 consecutive speed pulses. The period is defined in terms of clock 26 Setting a period of 0 stops the fan; setting the period to 255 sets 27 fan to maximum speed. 29 The measured fan rotation speed returned via 'fan1_input' is derived [all …]
|
H A D | w83792d.rst | 10 Addresses scanned: I2C 0x2c - 0x2f 19 ----------------- 35 ----------- 42 parameter; this will put it into a more well-behaved state first. 44 The driver implements three temperature sensors, seven fan rotation speed 45 sensors, nine voltage sensors, and two automatic fan regulation 46 strategies called: Smart Fan I (Thermal Cruise mode) and Smart Fan II. 48 The driver also implements up to seven fan control outputs: pwm1-7. Pwm1-7 53 Automatic fan control mode is possible only for fan1-fan3. 55 For all pwmX outputs, a value of 0 means minimum fan speed and a value of [all …]
|
H A D | dell-smm-hwmon.rst | 1 .. SPDX-License-Identifier: GPL-2.0-or-later 5 Kernel driver dell-smm-hwmon 8 :Copyright: |copy| 2002-2005 Massimo Dal Zotto <dz@debian.org> 12 ----------- 18 automatically adjust fan speed (please notice that it currently uses 24 ------------------- 35 fan[1-3]_input RO Fan speed in RPM. 36 fan[1-3]_label RO Fan label. 37 fan[1-3]_min RO Minimal Fan speed in RPM 38 fan[1-3]_max RO Maximal Fan speed in RPM [all …]
|
H A D | dme1737.rst | 18 Addresses scanned: none, address read from Super-I/O config space 34 Addresses scanned: none, address read from Super-I/O config space 43 ----------------- 46 Enables the monitoring of voltage, fan and temp inputs 52 Include non-standard LPC addresses 0x162e and 0x164e 55 - VIA EPIA SN18000 59 ----------- 63 and SCH5127 Super-I/O chips. These chips feature monitoring of 3 temp sensors 64 temp[1-3] (2 remote diodes and 1 internal), 8 voltages in[0-7] (7 external and 65 1 internal) and up to 6 fan speeds fan[1-6]. Additionally, the chips implement [all …]
|
H A D | aquacomputer_d5next.rst | 1 .. SPDX-License-Identifier: GPL-2.0-or-later 3 Kernel driver aquacomputer-d5next 8 * Aquacomputer Aquaero 5/6 fan controllers 12 * Aquacomputer Octo fan controller 13 * Aquacomputer Quadro fan controller 18 * Aquacomputer Poweradjust 3 fan controller 25 ----------- 32 speed (in RPM), power, voltage and current. Temperature offsets and fan speeds 35 For the D5 Next pump, available sensors are pump and fan speed, power, voltage 37 available through debugfs are the serial number, firmware version and power-on [all …]
|
H A D | w83627ehf.rst | 22 * Winbond W83627DHG-P 46 * Winbond W83667HG-B 54 * Nuvoton NCT6775F/W83667HG-I 73 - Jean Delvare <jdelvare@suse.de> 74 - Yuan Mu (Winbond) 75 - Rudolf Marek <r.marek@assembler.cz> 76 - David Hubbard <david.c.hubbard@gmail.com> 77 - Gong Jun <JGong@nuvoton.com> 80 ----------- 83 W83627DHG, W83627DHG-P, W83627UHG, W83667HG, W83667HG-B, W83667HG-I [all …]
|
H A D | asus_rog_ryujin.rst | 1 .. SPDX-License-Identifier: GPL-2.0-or-later 13 ----------- 16 all-in-one CPU liquid coolers. Available sensors are pump, internal and external 17 (controller) fan speed in RPM, their duties in PWM, as well as coolant temperature. 20 controlled from the device. If not connected, the fan-related sensors will 22 with the AIO and connects to it to allow fan control. 28 ----------- 34 ------------- 37 fan1_input Pump speed (in rpm) 38 fan2_input Internal fan speed (in rpm) [all …]
|
H A D | adm1026.rst | 16 - Philip Pokorny <ppokorny@penguincomputing.com> for Penguin Computing 17 - Justin Thiessen <jthiessen@penguincomputing.com> 20 ----------------- 23 List of GPIO pins (0-16) to program as inputs 26 List of GPIO pins (0-16) to program as outputs 29 List of GPIO pins (0-16) to program as inverted 32 List of GPIO pins (0-16) to program as normal/non-inverted 35 List of GPIO pins (0-7) to program as fan tachs 39 ----------- 45 16 general purpose digital I/O lines, eight (8) fan speed sensors (8-bit), [all …]
|
H A D | adt7470.rst | 17 ----------- 22 The ADT7470 uses the 2-wire interface compatible with the SMBus 2.0 24 external temperatures. It has four (4) 16-bit counters for measuring fan speed. 25 There are four (4) PWM outputs that can be used to control fan speed. 28 that allows fan speed to be adjusted automatically based on any of the ten 34 Each of the measured inputs (temperature, fan speed) has corresponding high/low 40 automatic fan pwm control to set the fan speed. The driver will not read the 45 ---------------- 47 The ADT7470 has a 8-bit ADC and is capable of measuring temperatures with 1 54 ------------------- [all …]
|
H A D | lm63.rst | 45 ----------- 47 The LM63 is a digital temperature sensor with integrated fan monitoring 50 The LM63 is basically an LM86 with fan speed monitoring and control 53 - No low limit for local temperature. 54 - No critical limit for local temperature. 55 - Critical limit for remote temperature can be changed only once. We 56 will consider that the critical limit is read-only. 66 The fan speed is measured using a tachometer. Contrary to most chips which 67 store the value in an 8-bit register and have a selectable clock divider 68 to make sure that the result will fit in the register, the LM63 uses 16-bit [all …]
|
H A D | adt7475.rst | 39 - Jordan Crouse 40 - Hans de Goede 41 - Darrick J. Wong (documentation) 42 - Jean Delvare 46 ----------- 56 The ADT747x uses the 2-wire interface compatible with the SMBus 2.0 58 temperatures and two (2) or more voltages. It has four (4) 16-bit counters 59 for measuring fan speed. There are three (3) PWM outputs that can be used 60 to control fan speed. 63 ADT747x that allows fan speed to be adjusted automatically based on any of the [all …]
|
H A D | it87.rst | 174 - Christophe Gauthron 175 - Jean Delvare <jdelvare@suse.de> 179 ----------------- 192 misconfigured by BIOS - PWM values would be inverted. This option tries 209 Provided since there are reports that system-wide acpi_enfore_resources=lax 217 ------------------- 219 All the chips supported by this driver are LPC Super-I/O chips, accessed 220 through the LPC bus (ISA-like I/O ports). The IT8712F additionally has an 228 ----------- 237 include an 'environment controller' with 3 temperature sensors, 3 fan [all …]
|
/linux/drivers/acpi/ |
H A D | fan_hwmon.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * hwmon interface for the ACPI Fan driver. 16 #include "fan.h" 18 /* Returned when the ACPI fan does not support speed reporting */ 22 static struct acpi_fan_fps *acpi_fan_get_current_fps(struct acpi_fan *fan, u64 control) in acpi_fan_get_current_fps() argument 26 for (i = 0; i < fan->fps_count; i++) { in acpi_fan_get_current_fps() 27 if (fan->fps[i].control == control) in acpi_fan_get_current_fps() 28 return &fan->fps[i]; in acpi_fan_get_current_fps() 37 const struct acpi_fan *fan = drvdata; in acpi_fan_hwmon_is_visible() local 47 * When in fine grain control mode, not every fan control value in acpi_fan_hwmon_is_visible() [all …]
|
/linux/Documentation/driver-api/thermal/ |
H A D | nouveau_thermal.rst | 12 ----------- 14 This driver allows to read the GPU core temperature, drive the GPU fan and 17 Currently, due to the absence of in-kernel API to access HWMON drivers, Nouveau 19 have one of those, temperature and/or fan management through Nouveau's HWMON 24 ---------------------- 26 Temperature is exposed under as a read-only HWMON attribute temp1_input. 32 Fan speed is set to 100% when reaching this temperature; 55 Fan management 56 -------------- 58 Not all cards have a drivable fan. If you do, then the following HWMON [all …]
|
/linux/Documentation/admin-guide/acpi/ |
H A D | fan_performance_states.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 ACPI Fan Performance States 8 fan (for example, PNP0C0B or INT3404), the ACPI fan driver creates additional 10 These attributes list properties of fan performance states. 19 $ ls -l /sys/bus/acpi/devices/INT3404:00/ 22 -r--r--r-- 1 root root 4096 Dec 13 20:38 state0 23 -r--r--r-- 1 root root 4096 Dec 13 20:38 state1 24 -r--r--r-- 1 root root 4096 Dec 13 20:38 state10 25 -r--r--r-- 1 root root 4096 Dec 13 20:38 state11 26 -r--r--r-- 1 root root 4096 Dec 13 20:38 state2 [all …]
|
/linux/drivers/macintosh/ |
H A D | therm_adt746x.c | 1 // SPDX-License-Identifier: GPL-2.0-only 55 static int fan_speed = -1; 68 MODULE_PARM_DESC(fan_speed,"Specify starting fan speed (0-255) " 92 static void write_both_fan_speed(struct thermostat *th, int speed); 93 static void write_fan_speed(struct thermostat *th, int speed, int fan); 103 rc = i2c_master_send(th->clt, (const char *)tmp, 2); in write_reg() 107 return -ENODEV; in write_reg() 118 rc = i2c_master_send(th->clt, ®_addr, 1); in read_reg() 122 return -ENODEV; in read_reg() 123 rc = i2c_master_recv(th->clt, (char *)&data, 1); in read_reg() [all …]
|
/linux/Documentation/devicetree/bindings/hwmon/ |
H A D | gpio-fan.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/hwmon/gpio-fan.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Fan connected to GPIO lines 10 - Rob Herring <robh@kernel.org> 14 const: gpio-fan 19 ordered MSB-->LSB. 23 alarm-gpios: 26 gpio-fan,speed-map: [all …]
|
/linux/drivers/hwmon/ |
H A D | g762.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * g762 - Driver for the Global Mixed-mode Technology Inc. fan speed 15 * http://natisbad.org/NAS/refs/GMT_EDS-762_763-080710-0.2.pdf 27 * http://www.gmt.com.tw/product/datasheet/EDS-762_3.pdf 36 #include <linux/hwmon-sysfs.h> 67 #define G762_REG_FAN_CMD1_FAN_MODE 0x10 /* fan mode: closed/open-loop */ 71 #define G762_REG_FAN_CMD1_PULSE_PER_REV 0x01 /* pulse per fan revolution */ 74 #define G762_REG_FAN_CMD2_GEAR_MODE_1 0x08 /* fan gear mode */ 76 #define G762_REG_FAN_CMD2_FAN_STARTV_1 0x02 /* fan startup voltage */ 79 #define G762_REG_FAN_STA_FAIL 0x02 /* fan fail */ [all …]
|
H A D | gpio-fan.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * gpio-fan.c - Hwmon driver for fans connected to GPIO lines. 39 struct gpio_fan_speed *speed; member 56 sysfs_notify(&fan_data->hwmon_dev->kobj, NULL, "fan1_alarm"); in fan_alarm_notify() 57 kobject_uevent(&fan_data->hwmon_dev->kobj, KOBJ_CHANGE); in fan_alarm_notify() 64 schedule_work(&fan_data->alarm_work); in fan_alarm_irq_handler() 75 gpiod_get_value_cansleep(fan_data->alarm_gpio)); in fan1_alarm_show() 83 struct device *dev = fan_data->dev; in fan_alarm_init() 89 alarm_irq = gpiod_to_irq(fan_data->alarm_gpio); in fan_alarm_init() 93 INIT_WORK(&fan_data->alarm_work, fan_alarm_notify); in fan_alarm_init() [all …]
|
/linux/drivers/gpu/drm/amd/pm/powerplay/hwmgr/ |
H A D | vega10_thermal.c | 42 if (hwmgr->thermal_controller.fanInfo.bNoFan) in vega10_fan_ctrl_get_fan_speed_info() 45 fan_speed_info->supports_percent_read = true; in vega10_fan_ctrl_get_fan_speed_info() 46 fan_speed_info->supports_percent_write = true; in vega10_fan_ctrl_get_fan_speed_info() 47 fan_speed_info->min_percent = 0; in vega10_fan_ctrl_get_fan_speed_info() 48 fan_speed_info->max_percent = 100; in vega10_fan_ctrl_get_fan_speed_info() 51 hwmgr->thermal_controller.fanInfo. in vega10_fan_ctrl_get_fan_speed_info() 53 fan_speed_info->supports_rpm_read = true; in vega10_fan_ctrl_get_fan_speed_info() 54 fan_speed_info->supports_rpm_write = true; in vega10_fan_ctrl_get_fan_speed_info() 55 fan_speed_info->min_rpm = in vega10_fan_ctrl_get_fan_speed_info() 56 hwmgr->thermal_controller.fanInfo.ulMinRPM; in vega10_fan_ctrl_get_fan_speed_info() [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/therm/ |
H A D | fan.c | 27 #include <subdev/bios/fan.h> 32 nvkm_fan_update(struct nvkm_fan *fan, bool immediate, int target) in nvkm_fan_update() argument 34 struct nvkm_therm *therm = fan->parent; in nvkm_fan_update() 35 struct nvkm_subdev *subdev = &therm->subdev; in nvkm_fan_update() 36 struct nvkm_timer *tmr = subdev->device->timer; in nvkm_fan_update() 41 /* update target fan speed, restricting to allowed range */ in nvkm_fan_update() 42 spin_lock_irqsave(&fan->lock, flags); in nvkm_fan_update() 44 target = fan->percent; in nvkm_fan_update() 45 target = max_t(u8, target, fan->bios.min_duty); in nvkm_fan_update() 46 target = min_t(u8, target, fan->bios.max_duty); in nvkm_fan_update() [all …]
|