Based on kernel version 7.2. Page generated on 2026-08-20 08:41 EST.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/hwmon/nuvoton,npcm750-pwm-fan.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Nuvoton NPCM7xx/NPCM8xx PWM and Fan Tach Controller maintainers: - Tomer Maimon <tmaimon77@gmail.com> description: The NPCM7xx/NPCM8xx family includes a PWM and Fan Tachometer controller. The controller provides up to 8 (NPCM7xx) or 12 (NPCM8xx) PWM channels and up to 16 tachometer inputs. It is used for fan speed control and monitoring. properties: compatible: enum: - nuvoton,npcm750-pwm-fan - nuvoton,npcm845-pwm-fan reg: maxItems: 2 description: Register addresses for PWM and Fan Tach units. reg-names: items: - const: pwm - const: fan clocks: maxItems: 2 description: Clocks for the PWM and Fan Tach modules. clock-names: items: - const: pwm - const: fan interrupts: description: Contains the Fan interrupts with flags for falling edge. For NPCM7XX, 8 interrupt lines are expected (one per PWM channel). For NPCM8XX, 12 interrupt lines are expected (one per PWM channel). minItems: 8 maxItems: 12 "#address-cells": const: 1 "#size-cells": const: 0 patternProperties: "^fan@[0-9a-f]+$": type: object $ref: fan-common.yaml# unevaluatedProperties: false properties: reg: description: Specify the PWM output channel. Integer value in the range 0-7 for NPCM7XX or 0-11 for NPCM8XX, representing the PWM channel number. maximum: 11 fan-tach-ch: $ref: /schemas/types.yaml#/definitions/uint8-array description: The tach channel(s) used for the fan. Integer values in the range 0-15. items: maximum: 15 cooling-levels: description: PWM duty cycle values in a range from 0 to 255 which correspond to thermal cooling states. This property enables thermal zone integration for automatic fan speed control based on temperature. items: maximum: 255 required: - reg - fan-tach-ch required: - compatible - reg - reg-names - clocks - clock-names - interrupts additionalProperties: false examples: - | #include <dt-bindings/clock/nuvoton,npcm7xx-clock.h> #include <dt-bindings/interrupt-controller/arm-gic.h> pwm_fan: pwm-fan@103000 { compatible = "nuvoton,npcm750-pwm-fan"; #address-cells = <1>; #size-cells = <0>; reg = <0x103000 0x2000>, <0x180000 0x8000>; reg-names = "pwm", "fan"; clocks = <&clk NPCM7XX_CLK_APB3>, <&clk NPCM7XX_CLK_APB4>; clock-names = "pwm", "fan"; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&pwm0_pins &fanin0_pins>; fan@0 { reg = <0>; fan-tach-ch = <0 1>; cooling-levels = <64 128 192 255>; }; fan@1 { reg = <1>; fan-tach-ch = <2>; }; }; |