Lines Matching refs:fan
165 /* Obtain the fan number */
166 #define NPCM7XX_FAN_INPUT(fan, cmp) (((fan) << 1) + (cmp))
168 /* fan sample status */
265 u8 fan, u8 cmp)
272 fan_id = NPCM7XX_FAN_INPUT(fan, cmp);
274 /* to check whether any fan tach is enable */
277 spin_lock_irqsave(&data->fan_lock[fan], flags);
280 reg_int = ioread8(NPCM7XX_FAN_REG_TIEN(data->fan_base, fan));
292 NPCM7XX_FAN_REG_TIEN(data->fan_base, fan));
296 fan));
300 fan));
305 NPCM7XX_FAN_REG_TIEN(data->fan_base, fan));
310 fan));
314 NPCM7XX_FAN_REG_TCKC(data->fan_base, fan));
317 spin_unlock_irqrestore(&data->fan_lock[fan], flags);
322 * Enable a background timer to poll fan tach value, (200ms * 4)
323 * to polling all fan
364 u8 fan, u8 cmp, u8 fan_id, u8 flag_int,
372 fan_cap = ioread16(NPCM7XX_FAN_REG_TCRA(data->fan_base, fan));
374 fan_cap = ioread16(NPCM7XX_FAN_REG_TCRB(data->fan_base, fan));
377 iowrite8(flag_clear, NPCM7XX_FAN_REG_TICLR(data->fan_base, fan));
389 * (ex: 2 pulse fan need to get 2 sample)
396 /* get enough sample or fan disable */
409 reg_int = ioread8(NPCM7XX_FAN_REG_TIEN(data->fan_base, fan));
413 NPCM7XX_FAN_REG_TIEN(data->fan_base, fan));
414 reg_mode = ioread8(NPCM7XX_FAN_REG_TCKC(data->fan_base, fan));
418 NPCM7XX_FAN_REG_TCKC(data->fan_base, fan));
423 u8 fan, u8 cmp, u8 flag)
434 fan_id = NPCM7XX_FAN_INPUT(fan, cmp);
451 reg_int = ioread8(NPCM7XX_FAN_REG_TIEN(data->fan_base, fan));
455 NPCM7XX_FAN_REG_TIEN(data->fan_base, fan));
459 NPCM7XX_FAN_REG_TICLR(data->fan_base, fan));
461 reg_mode = ioread8(NPCM7XX_FAN_REG_TCKC(data->fan_base, fan));
465 NPCM7XX_FAN_REG_TCKC(data->fan_base, fan));
468 * If timeout occurs (NPCM7XX_FAN_TIMEOUT), the fan doesn't
476 npcm7xx_fan_compute(data, fan, cmp, fan_id, flag_int,
642 HWMON_CHANNEL_INFO(fan,
756 /* set FAN0~7 fan input FANIN 0~15 */
887 fan_cnt = of_property_count_u8_elems(child, "fan-tach-ch");
895 ret = of_property_read_u8_array(child, "fan-tach-ch", fan_ch, fan_cnt);
943 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "fan");
945 dev_err(dev, "fan resource not found\n");
950 dev_dbg(dev, "fan base resource is %pR\n", res);
954 data->fan_clk = devm_clk_get(dev, "fan");
956 dev_err(dev, "couldn't get fan clock\n");
977 dev_err(dev, "register IRQ fan%d failed\n", i);
985 dev_err(dev, "enable pwm and fan failed\n");
1001 /* fan timer initialization */
1018 { .compatible = "nuvoton,npcm750-pwm-fan", },