| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/hwmon/ |
| D | adi,axi-fan-control.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/hwmon/adi,axi-fan-control.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Nuno Sá <nuno.sa@analog.com> 22 - adi,axi-fan-control-1.00.a 33 pulses-per-revolution: 35 Value specifying the number of pulses per revolution of the controlled 41 - compatible 42 - reg [all …]
|
| D | pwm-fan.txt | 4 - compatible : "pwm-fan" 5 - pwms : the PWM that is used to control the PWM fan 6 - cooling-levels : PWM duty cycle values in a range from 0 to 255 10 - fan-supply : phandle to the regulator that provides power to the fan 11 - interrupts : This contains a single interrupt specifier which 14 defined number of interrupts per fan revolution, which 16 See interrupt-controller/interrupts.txt for the format. 17 - pulses-per-revolution : define the tachometer pulses per fan revolution as 18 an integer (default is 2 interrupts per revolution). 22 fan0: pwm-fan { [all …]
|
| /kernel/linux/linux-4.19/Documentation/hwmon/ |
| D | g762 | 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. 18 hardware characteristics of the system (reference clock, pulses per 19 fan revolution, ...); Those can be modified via devicetree bindings 24 fan1_target: set desired fan speed. This only makes sense in closed-loop 32 fan1_pulses: number of pulses per fan revolution. Supported values 38 fan1_alarm: in closed-loop control mode, if fan RPM value is 25% out 43 speed control (open-loop) via pwm1 described below, 2 for [all …]
|
| D | g760a | 5 * Global Mixed-mode Technology Inc. G760A 8 http://www.gmt.com.tw/product/datasheet/EDS-760A.pdf 13 ----------- 16 and performs closed-loop control of the fan speed. 19 consecutive speed pulses. The period is defined in terms of clock 27 source and a 2 pulse-per-revolution fan.
|
| D | dme1737 | 11 Addresses scanned: none, address read from Super-I/O config space 19 Addresses scanned: none, address read from Super-I/O config space 27 ----------------- 33 * probe_all_addr: bool Include non-standard LPC addresses 0x162e and 0x164e 36 - VIA EPIA SN18000 40 ----------- 44 and SCH5127 Super-I/O chips. These chips feature monitoring of 3 temp sensors 45 temp[1-3] (2 remote diodes and 1 internal), 8 voltages in[0-7] (7 external and 46 1 internal) and up to 6 fan speeds fan[1-6]. Additionally, the chips implement 47 up to 5 PWM outputs pwm[1-3,5-6] for controlling fan speeds both manually and [all …]
|
| D | sysfs-interface | 2 ------------------------------------------------ 5 through the sysfs interface. Since lm-sensors 3.0.0, libsensors is 6 completely chip-independent. It assumes that all the kernel drivers 10 This is a major improvement compared to lm-sensors 2. 22 For this reason, even if we aim at a chip-independent libsensors, it will 37 Up to lm-sensors 3.0.0, libsensors looks for hardware monitoring attributes 38 in the "physical" device directory. Since lm-sensors 3.0.1, attributes found 46 There is only one value per file, unlike the older /proc specification. 61 to cause an alarm) is chip-dependent. 68 ------------------------------------------------------------------------- [all …]
|
| D | smsc47b397 | 5 * SMSC LPC47B397-NC 6 * SMSC SCH5307-NS 17 The following specification describes the SMSC LPC47B397-NC[1] sensor chip 19 provided by Craig Kelly (In-Store Broadcast Network) and edited/corrected 22 [1] And SMSC SCH5307-NS and SCH5317, which have different device IDs but are 71 The SIO counts the number of 90kHz (11.111us) pulses per revolution. 80 RPM = 60 / (2203 * 11.11111 E-6) = 2451 RPM 104 logical device to the INDEX PORT and then write or read the config- 135 The Device ID will read 0x6F (0x81 for SCH5307-NS, and 0x85 for SCH5317)
|
| /kernel/linux/linux-5.10/Documentation/hwmon/ |
| D | g762.rst | 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. 18 hardware characteristics of the system (reference clock, pulses per 19 fan revolution, ...); Those can be modified via devicetree bindings 25 set desired fan speed. This only makes sense in closed-loop 36 number of pulses per fan revolution. Supported values 44 in closed-loop control mode, if fan RPM value is 25% out 50 speed control (open-loop) via pwm1 described below, 2 for [all …]
|
| D | g760a.rst | 6 * Global Mixed-mode Technology Inc. G760A 12 http://www.gmt.com.tw/product/datasheet/EDS-760A.pdf 17 ----------- 20 and performs closed-loop control of the fan speed. 23 consecutive speed pulses. The period is defined in terms of clock 31 source and a 2 pulse-per-revolution fan.
|
| D | sl28cpld.rst | 1 .. SPDX-License-Identifier: GPL-2.0-only 17 ----------- 30 ------------- 35 fan1_input Fan RPM. Assuming 2 pulses per revolution.
|
| 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 ----------------- 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 66 up to 5 PWM outputs pwm[1-3,5-6] for controlling fan speeds both manually and [all …]
|
| D | sysfs-interface.rst | 5 through the sysfs interface. Since lm-sensors 3.0.0, libsensors is 6 completely chip-independent. It assumes that all the kernel drivers 10 This is a major improvement compared to lm-sensors 2. 22 For this reason, even if we aim at a chip-independent libsensors, it will 37 Up to lm-sensors 3.0.0, libsensors looks for hardware monitoring attributes 38 in the "physical" device directory. Since lm-sensors 3.0.1, attributes found 46 There is only one value per file, unlike the older /proc specification. 61 to cause an alarm) is chip-dependent. 68 ------------------------------------------------------------------------- 71 `[0-*]` denotes any positive number starting from 0 [all …]
|
| D | smsc47b397.rst | 6 * SMSC LPC47B397-NC 8 * SMSC SCH5307-NS 20 - Mark M. Hoffman <mhoffman@lightlink.com> 21 - Utilitek Systems, Inc. 25 The following specification describes the SMSC LPC47B397-NC [1]_ sensor chip 27 provided by Craig Kelly (In-Store Broadcast Network) and edited/corrected 30 .. [1] And SMSC SCH5307-NS and SCH5317, which have different device IDs but are 33 ------------------------------------------------------------------------- 36 ------------------------------------------------------------------------- 87 -------------------------------------- [all …]
|
| /kernel/linux/linux-5.10/drivers/hwmon/ |
| D | axi-fan-control.c | 1 // SPDX-License-Identifier: GPL-2.0 9 #include <linux/fpga/adi-axi-common.h> 46 /* pulses per revolution */ 56 iowrite32(val, ctl->base + reg); in axi_iowrite() 62 return ioread32(ctl->base + reg); in axi_ioread() 99 * TACH = 60/(ppr * rpm), where rpm is revolutions per second in axi_fan_control_get_fan_rpm() 100 * and ppr is pulses per revolution. in axi_fan_control_get_fan_rpm() 105 return DIV_ROUND_CLOSEST(60 * ctl->clk_rate, ctl->ppr * tach); in axi_fan_control_get_fan_rpm() 118 * T = (ADC * 501.3743 / 2^bits) - 273.6777 in axi_fan_control_read_temp() 122 *val = ((raw_temp * 501374) >> 16) - 273677; in axi_fan_control_read_temp() [all …]
|
| D | pwm-fan.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * pwm-fan.c - Hwmon driver for fans connected to PWM lines. 11 #include <linux/hwmon-sysfs.h> 31 atomic_t pulses; member 49 atomic_inc(&ctx->pulses); in pulse_handler() 57 unsigned int delta = ktime_ms_delta(ktime_get(), ctx->sample_start); in sample_timer() 58 int pulses; in sample_timer() local 61 pulses = atomic_read(&ctx->pulses); in sample_timer() 62 atomic_sub(pulses, &ctx->pulses); in sample_timer() 63 ctx->rpm = (unsigned int)(pulses * 1000 * 60) / in sample_timer() [all …]
|
| 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 */ 91 /* Register data is read (and cached) at most once per second. */ 95 * Extract pulse count per fan revolution value (2 or 4) from given 131 u8 set_cnt; /* controls fan rotation speed in closed-loop mode */ [all …]
|
| D | sl28cpld-hwmon.c | 1 // SPDX-License-Identifier: GPL-2.0-only 43 ret = regmap_read(hwmon->regmap, hwmon->offset + FAN_INPUT, in sl28cpld_hwmon_read() 57 * says we should asssume 2 pulses per revolution. in sl28cpld_hwmon_read() 63 return -EOPNOTSUPP; in sl28cpld_hwmon_read() 101 if (!pdev->dev.parent) in sl28cpld_hwmon_probe() 102 return -ENODEV; in sl28cpld_hwmon_probe() 104 hwmon = devm_kzalloc(&pdev->dev, sizeof(*hwmon), GFP_KERNEL); in sl28cpld_hwmon_probe() 106 return -ENOMEM; in sl28cpld_hwmon_probe() 108 hwmon->regmap = dev_get_regmap(pdev->dev.parent, NULL); in sl28cpld_hwmon_probe() 109 if (!hwmon->regmap) in sl28cpld_hwmon_probe() [all …]
|
| D | max6639.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * max6639.c - Support for Maxim MAX6639 5 * 2-Channel Temperature Monitor with Dual PWM Fan-Speed Controller 19 #include <linux/hwmon-sysfs.h> 83 u8 temp_therm[2]; /* THERM Temperature, 0..255 C (->_max) */ 84 u8 temp_alert[2]; /* ALERT Temperature, 0..255 C (->_crit) */ 85 u8 temp_ot[2]; /* OT Temperature, 0..255 C (->_emergency) */ 88 u8 ppr; /* Pulses per rotation 0..3 for 1..4 ppr */ 95 struct i2c_client *client = data->client; in max6639_update_device() 100 mutex_lock(&data->update_lock); in max6639_update_device() [all …]
|
| D | max6650.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * max6650.c - Part of lm_sensors, Linux kernel modules for hardware 18 * http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf 27 #include <linux/hwmon-sysfs.h> 91 /* Minimum and maximum values of the FAN-RPM */ 143 * Useful range for dac is 0-180 for 12V fans and 0-76 for 5V fans. in dac_to_pwm() 146 return clamp_val(255 - (255 * dac) / DAC_LIMIT(v12), 0, 255); in dac_to_pwm() 153 return limit - (limit * pwm) / 255; in pwm_to_dac() 159 struct i2c_client *client = data->client; in max6650_update_device() 163 mutex_lock(&data->update_lock); in max6650_update_device() [all …]
|
| D | dme1737.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * dme1737.c - Driver for the SMSC DME1737, Asus A8000, SMSC SCH311x, SCH5027, 4 * and SCH5127 Super-I/O chips integrated hardware monitoring 24 #include <linux/hwmon-sysfs.h> 25 #include <linux/hwmon-vid.h> 46 "Include probing of non-standard LPC addresses"); 55 /* --------------------------------------------------------------------- 61 * -------- ------------ 71 * --------------------------------------------------------------------- */ 73 /* Voltages (in) numbered 0-7 (ix) */ [all …]
|
| /kernel/linux/linux-4.19/drivers/hwmon/ |
| D | g762.c | 2 * g762 - Driver for the Global Mixed-mode Technology Inc. fan speed 14 * http://natisbad.org/NAS/refs/GMT_EDS-762_763-080710-0.2.pdf 26 * http://www.gmt.com.tw/product/datasheet/EDS-762_3.pdf 49 #include <linux/hwmon-sysfs.h> 80 #define G762_REG_FAN_CMD1_FAN_MODE 0x10 /* fan mode: closed/open-loop */ 84 #define G762_REG_FAN_CMD1_PULSE_PER_REV 0x01 /* pulse per fan revolution */ 104 /* Register data is read (and cached) at most once per second. */ 108 * Extract pulse count per fan revolution value (2 or 4) from given 144 u8 set_cnt; /* controls fan rotation speed in closed-loop mode */ 151 u8 set_out; /* controls fan rotation speed in open-loop mode */ [all …]
|
| D | max6639.c | 2 * max6639.c - Support for Maxim MAX6639 4 * 2-Channel Temperature Monitor with Dual PWM Fan-Speed Controller 32 #include <linux/hwmon-sysfs.h> 96 u8 temp_therm[2]; /* THERM Temperature, 0..255 C (->_max) */ 97 u8 temp_alert[2]; /* ALERT Temperature, 0..255 C (->_crit) */ 98 u8 temp_ot[2]; /* OT Temperature, 0..255 C (->_emergency) */ 101 u8 ppr; /* Pulses per rotation 0..3 for 1..4 ppr */ 108 struct i2c_client *client = data->client; in max6639_update_device() 113 mutex_lock(&data->update_lock); in max6639_update_device() 115 if (time_after(jiffies, data->last_updated + 2 * HZ) || !data->valid) { in max6639_update_device() [all …]
|
| D | max6650.c | 2 * max6650.c - Part of lm_sensors, Linux kernel modules for hardware 17 * http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf 40 #include <linux/hwmon-sysfs.h> 103 /* Minimum and maximum values of the FAN-RPM */ 153 struct i2c_client *client = data->client; in max6650_update_device() 156 mutex_lock(&data->update_lock); in max6650_update_device() 158 if (time_after(jiffies, data->last_updated + HZ) || !data->valid) { in max6650_update_device() 159 data->speed = i2c_smbus_read_byte_data(client, in max6650_update_device() 161 data->config = i2c_smbus_read_byte_data(client, in max6650_update_device() 163 for (i = 0; i < data->nr_fans; i++) { in max6650_update_device() [all …]
|
| D | dme1737.c | 2 * dme1737.c - Driver for the SMSC DME1737, Asus A8000, SMSC SCH311x, SCH5027, 3 * and SCH5127 Super-I/O chips integrated hardware monitoring 37 #include <linux/hwmon-sysfs.h> 38 #include <linux/hwmon-vid.h> 59 "Include probing of non-standard LPC addresses"); 68 /* --------------------------------------------------------------------- 74 * -------- ------------ 84 * --------------------------------------------------------------------- */ 86 /* Voltages (in) numbered 0-7 (ix) */ 95 /* Temperatures (temp) numbered 0-2 (ix) */ [all …]
|