/linux/Documentation/devicetree/bindings/hwmon/ |
H A D | aspeed,g6-pwm-tach.yaml | 5 $id: http://devicetree.org/schemas/hwmon/aspeed,g6-pwm-tach.yaml# 8 title: ASPEED G6 PWM and Fan Tach controller 15 The ASPEED Fan Tacho controller can support up to 16 fan tach input. 22 - aspeed,ast2600-pwm-tach 41 - tach-ch 55 pwm_tach: pwm-tach-controller@1e610000 { 56 compatible = "aspeed,ast2600-pwm-tach"; 63 tach-ch = /bits/ 8 <0x0>; 68 tach-ch = /bits/ 8 <0x1 0x2>;
|
H A D | aspeed-pwm-tacho.txt | 7 one/two Fan tach inputs. 33 one/two Fan tach inputs. 45 - aspeed,fan-tach-ch : should specify the Fan tach input channel. 47 Fan tach channel 0 and 15 indicating Fan tach channel 15. 48 At least one Fan tach input channel is required. 66 aspeed,fan-tach-ch = /bits/ 8 <0x00>; 71 aspeed,fan-tach-ch = /bits/ 8 <0x01 0x02>;
|
H A D | npcm750-pwm-fan.txt | 30 Each fan subnode must have one PWM channel and at least one Fan tach channel. 40 - fan-tach-ch : specify the Fan tach input channel. 42 the fan tach channel number that used. 44 At least one Fan tach input channel is required 76 fan-tach-ch = /bits/ 8 <0x00 0x01>; 81 fan-tach-ch = /bits/ 8 <0x02 0x03>; 85 fan-tach-ch = /bits/ 8 <0x04>;
|
H A D | fan-common.yaml | 32 tach-div: 34 Divisor for the tach sampling clock, which determines the sensitivity of the tach pin. 61 tach-ch: 63 The tach channel used for the fan.
|
/linux/arch/arm/boot/dts/aspeed/ |
H A D | aspeed-bmc-amd-daytonax.dts | 233 aspeed,fan-tach-ch = /bits/ 8 <0x00>; 238 aspeed,fan-tach-ch = /bits/ 8 <0x01>; 243 aspeed,fan-tach-ch = /bits/ 8 <0x02>; 248 aspeed,fan-tach-ch = /bits/ 8 <0x03>; 253 aspeed,fan-tach-ch = /bits/ 8 <0x04>; 258 aspeed,fan-tach-ch = /bits/ 8 <0x05>; 263 aspeed,fan-tach-ch = /bits/ 8 <0x06>; 268 aspeed,fan-tach-ch = /bits/ 8 <0x07>; 273 aspeed,fan-tach-ch = /bits/ 8 <0x08>; 278 aspeed,fan-tach-ch = /bits/ 8 <0x09>; [all …]
|
H A D | aspeed-bmc-lenovo-hr855xg2.dts | 342 aspeed,fan-tach-ch = /bits/ 8 <0x00>; 347 aspeed,fan-tach-ch = /bits/ 8 <0x01>; 352 aspeed,fan-tach-ch = /bits/ 8 <0x02>; 357 aspeed,fan-tach-ch = /bits/ 8 <0x03>; 362 aspeed,fan-tach-ch = /bits/ 8 <0x04>; 367 aspeed,fan-tach-ch = /bits/ 8 <0x05>; 372 aspeed,fan-tach-ch = /bits/ 8 <0x06>; 377 aspeed,fan-tach-ch = /bits/ 8 <0x07>; 382 aspeed,fan-tach-ch = /bits/ 8 <0x08>; 387 aspeed,fan-tach-ch = /bits/ 8 <0x09>; [all …]
|
H A D | aspeed-bmc-lenovo-hr630.dts | 337 aspeed,fan-tach-ch = /bits/ 8 <0x00>; 342 aspeed,fan-tach-ch = /bits/ 8 <0x01>; 347 aspeed,fan-tach-ch = /bits/ 8 <0x02>; 352 aspeed,fan-tach-ch = /bits/ 8 <0x03>; 357 aspeed,fan-tach-ch = /bits/ 8 <0x04>; 362 aspeed,fan-tach-ch = /bits/ 8 <0x05>; 367 aspeed,fan-tach-ch = /bits/ 8 <0x06>; 372 aspeed,fan-tach-ch = /bits/ 8 <0x07>; 377 aspeed,fan-tach-ch = /bits/ 8 <0x08>; 382 aspeed,fan-tach-ch = /bits/ 8 <0x09>; [all …]
|
H A D | aspeed-bmc-microsoft-olympus.dts | 179 aspeed,fan-tach-ch = /bits/ 8 <0x00>; 184 aspeed,fan-tach-ch = /bits/ 8 <0x01>; 189 aspeed,fan-tach-ch = /bits/ 8 <0x02>; 194 aspeed,fan-tach-ch = /bits/ 8 <0x03>; 199 aspeed,fan-tach-ch = /bits/ 8 <0x04>; 204 aspeed,fan-tach-ch = /bits/ 8 <0x05>;
|
H A D | aspeed-bmc-facebook-wedge40.dts | 36 aspeed,fan-tach-ch = /bits/ 8 <0x00 0x01>; 41 aspeed,fan-tach-ch = /bits/ 8 <0x02 0x03>; 46 aspeed,fan-tach-ch = /bits/ 8 <0x04 0x05>; 51 aspeed,fan-tach-ch = /bits/ 8 <0x06 0x07>;
|
H A D | aspeed-bmc-amd-ethanolx.dts | 299 aspeed,fan-tach-ch = /bits/ 8 <0x00>; 304 aspeed,fan-tach-ch = /bits/ 8 <0x01>; 309 aspeed,fan-tach-ch = /bits/ 8 <0x02>; 314 aspeed,fan-tach-ch = /bits/ 8 <0x03>; 319 aspeed,fan-tach-ch = /bits/ 8 <0x04>; 324 aspeed,fan-tach-ch = /bits/ 8 <0x05>; 329 aspeed,fan-tach-ch = /bits/ 8 <0x06>; 334 aspeed,fan-tach-ch = /bits/ 8 <0x07>;
|
H A D | aspeed-bmc-vegman-sx20.dts | 128 aspeed,fan-tach-ch = /bits/ 8 <0x00>; 132 aspeed,fan-tach-ch = /bits/ 8 <0x01>; 136 aspeed,fan-tach-ch = /bits/ 8 <0x02>; 140 aspeed,fan-tach-ch = /bits/ 8 <0x03>; 144 aspeed,fan-tach-ch = /bits/ 8 <0x04>; 148 aspeed,fan-tach-ch = /bits/ 8 <0x05>; 152 aspeed,fan-tach-ch = /bits/ 8 <0x06>;
|
H A D | aspeed-bmc-opp-mowgli.dts | 240 aspeed,fan-tach-ch = /bits/ 8 <0x00>; 245 aspeed,fan-tach-ch = /bits/ 8 <0x01>; 250 aspeed,fan-tach-ch = /bits/ 8 <0x02>; 255 aspeed,fan-tach-ch = /bits/ 8 <0x03>; 260 aspeed,fan-tach-ch = /bits/ 8 <0x04>; 265 aspeed,fan-tach-ch = /bits/ 8 <0x05>; 270 aspeed,fan-tach-ch = /bits/ 8 <0x06>; 275 aspeed,fan-tach-ch = /bits/ 8 <0x07>; 280 aspeed,fan-tach-ch = /bits/ 8 <0x08>; 285 aspeed,fan-tach-ch = /bits/ 8 <0x09>;
|
H A D | aspeed-bmc-opp-romulus.dts | 299 aspeed,fan-tach-ch = /bits/ 8 <0x08>; 304 aspeed,fan-tach-ch = /bits/ 8 <0x09>; 309 aspeed,fan-tach-ch = /bits/ 8 <0x0a>; 314 aspeed,fan-tach-ch = /bits/ 8 <0x0b>; 319 aspeed,fan-tach-ch = /bits/ 8 <0x0c>; 324 aspeed,fan-tach-ch = /bits/ 8 <0x0d>; 329 aspeed,fan-tach-ch = /bits/ 8 <0x0e>;
|
H A D | aspeed-bmc-vegman-n110.dts | 127 aspeed,fan-tach-ch = /bits/ 8 <0x00 0x06>; 131 aspeed,fan-tach-ch = /bits/ 8 <0x01 0x08>; 135 aspeed,fan-tach-ch = /bits/ 8 <0x02 0x09>; 139 aspeed,fan-tach-ch = /bits/ 8 <0x03 0x0A>; 143 aspeed,fan-tach-ch = /bits/ 8 <0x04 0x0B>; 147 aspeed,fan-tach-ch = /bits/ 8 <0x05>;
|
H A D | aspeed-bmc-quanta-q71l.dts | 419 aspeed,fan-tach-ch = /bits/ 8 <0x00>; 424 aspeed,fan-tach-ch = /bits/ 8 <0x01>; 429 aspeed,fan-tach-ch = /bits/ 8 <0x02>; 434 aspeed,fan-tach-ch = /bits/ 8 <0x03>; 439 aspeed,fan-tach-ch = /bits/ 8 <0x04>; 444 aspeed,fan-tach-ch = /bits/ 8 <0x05>; 449 aspeed,fan-tach-ch = /bits/ 8 <0x06>; 454 aspeed,fan-tach-ch = /bits/ 8 <0x07>;
|
H A D | aspeed-bmc-opp-tacoma.dts | 486 tach-pulses = <2>; 487 maxim,fan-rotor-input = "tach"; 489 maxim,fan-dual-tach; 499 tach-pulses = <2>; 500 maxim,fan-rotor-input = "tach"; 502 maxim,fan-dual-tach; 512 tach-pulses = <2>; 513 maxim,fan-rotor-input = "tach"; 515 maxim,fan-dual-tach; 525 tach-pulses = <2>; [all …]
|
H A D | aspeed-bmc-vegman-rx20.dts | 229 aspeed,fan-tach-ch = /bits/ 8 <0x00 0x07>; 233 aspeed,fan-tach-ch = /bits/ 8 <0x01 0x08>; 237 aspeed,fan-tach-ch = /bits/ 8 <0x02 0x09>; 241 aspeed,fan-tach-ch = /bits/ 8 <0x03 0x0A>; 245 aspeed,fan-tach-ch = /bits/ 8 <0x04 0x0B>; 249 aspeed,fan-tach-ch = /bits/ 8 <0x05 0x0C>; 253 aspeed,fan-tach-ch = /bits/ 8 <0x06 0x0D>;
|
H A D | aspeed-bmc-ampere-mtjade.dts | 700 aspeed,fan-tach-ch = /bits/ 8 <0x04>; 705 aspeed,fan-tach-ch = /bits/ 8 <0x05>; 710 aspeed,fan-tach-ch = /bits/ 8 <0x06>; 715 aspeed,fan-tach-ch = /bits/ 8 <0x07>; 720 aspeed,fan-tach-ch = /bits/ 8 <0x08>; 725 aspeed,fan-tach-ch = /bits/ 8 <0x09>; 730 aspeed,fan-tach-ch = /bits/ 8 <0x0a>; 735 aspeed,fan-tach-ch = /bits/ 8 <0x0b>; 740 aspeed,fan-tach-ch = /bits/ 8 <0x0c>; 745 aspeed,fan-tach-ch = /bits/ 8 <0x0d>; [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/therm/ |
H A D | gt215.c | 32 u32 tach = nvkm_rd32(device, 0x00e728) & 0x0000ffff; in gt215_therm_fan_sense() local 35 return tach * 60 / 2; in gt215_therm_fan_sense() 43 struct dcb_gpio_func *tach = &therm->fan->tach; in gt215_therm_init() local 47 /* enable fan tach, count revolutions per-second */ in gt215_therm_init() 49 if (tach->func != DCB_GPIO_UNUSED) { in gt215_therm_init() 51 nvkm_mask(device, 0x00e720, 0x001f0000, tach->line << 16); in gt215_therm_init()
|
H A D | fan.c | 130 u64 start, end, tach; in nvkm_therm_fan_sense() local 135 if (therm->fan->tach.func == DCB_GPIO_UNUSED) in nvkm_therm_fan_sense() 143 prev = nvkm_gpio_get(gpio, 0, therm->fan->tach.func, in nvkm_therm_fan_sense() 144 therm->fan->tach.line); in nvkm_therm_fan_sense() 149 cur = nvkm_gpio_get(gpio, 0, therm->fan->tach.func, in nvkm_therm_fan_sense() 150 therm->fan->tach.line); in nvkm_therm_fan_sense() 161 tach = (u64)60000000000ULL; in nvkm_therm_fan_sense() 162 do_div(tach, (end - start)); in nvkm_therm_fan_sense() 163 return tach; in nvkm_therm_fan_sense() 260 &therm->fan->tach); in nvkm_therm_fan_ctor() [all …]
|
/linux/drivers/hwmon/ |
H A D | max6620.c | 141 u16 tach[4]; member 155 static int max6620_fan_tach_to_rpm(u8 div, u16 tach) in max6620_fan_tach_to_rpm() argument 157 return (60 * div * MAX6620_CLOCK_FREQ) / (tach * MAX6620_PULSE_PER_REV); in max6620_fan_tach_to_rpm() 184 data->tach[i] = (ret << 3) & 0x7f8; in max6620_update_device() 188 data->tach[i] |= (ret >> 5) & 0x7; in max6620_update_device() 267 /* Setting TACH count to re-enable fan fault detection */ in max6620_read() 293 if (data->tach[channel] == 0) { in max6620_read() 297 *val = max6620_fan_tach_to_rpm(div, data->tach[channel]); in max6620_read() 328 u16 tach; in max6620_write() local 374 tach = max6620_fan_rpm_to_tach(div, val); in max6620_write() [all …]
|
H A D | pwm-fan.c | 68 struct pwm_fan_tach *tach = dev_id; in pulse_handler() local 70 atomic_inc(&tach->pulses); in pulse_handler() 83 struct pwm_fan_tach *tach = &ctx->tachs[i]; in sample_timer() local 86 pulses = atomic_read(&tach->pulses); in sample_timer() 87 atomic_sub(pulses, &tach->pulses); in sample_timer() 88 tach->rpm = (unsigned int)(pulses * 1000 * 60) / in sample_timer() 589 struct pwm_fan_tach *tach = &ctx->tachs[i]; in pwm_fan_probe() local 591 tach->irq = platform_get_irq(pdev, i); in pwm_fan_probe() 592 if (tach->irq == -EPROBE_DEFER) in pwm_fan_probe() 593 return tach->irq; in pwm_fan_probe() [all …]
|
H A D | axi-fan-control.c | 135 const u32 tach = axi_ioread(ADI_REG_TACH_MEASUR, ctl); in axi_fan_control_get_fan_rpm() local 137 if (tach == 0) in axi_fan_control_get_fan_rpm() 142 * TACH = 60/(ppr * rpm), where rpm is revolutions per second in axi_fan_control_get_fan_rpm() 148 return DIV_ROUND_CLOSEST(60 * ctl->clk_rate, ctl->ppr * tach); in axi_fan_control_get_fan_rpm() 312 * parameters to evaluate the tach signal and, on that case we cannot set them. 314 * value that the core does not now about, we have to provide the tach 320 * the tach parameters or not on the next tach measurement cycle (corresponding
|
/linux/arch/arm/boot/dts/nuvoton/ |
H A D | nuvoton-npcm750-evb.dts | 284 fan-tach-ch = /bits/ 8 <0x00 0x01>; 289 fan-tach-ch = /bits/ 8 <0x02 0x03>; 294 fan-tach-ch = /bits/ 8 <0x04 0x05>; 299 fan-tach-ch = /bits/ 8 <0x06 0x07>; 304 fan-tach-ch = /bits/ 8 <0x08 0x09>; 309 fan-tach-ch = /bits/ 8 <0x0A 0x0B>; 314 fan-tach-ch = /bits/ 8 <0x0C 0x0D>; 319 fan-tach-ch = /bits/ 8 <0x0E 0x0F>;
|
/linux/Documentation/hwmon/ |
H A D | smsc47b397.rst | 69 Reading tach information. 83 Reading the tach LSB locks the tach MSB. 86 How to convert the tach reading to RPM 89 The tach reading (TCount) is given by: (Tach MSB * 256) + (Tach LSB)
|