# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/hwmon/aspeed,ast2400-pwm-tacho.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: ASPEED AST2400/AST2500 PWM and Fan Tacho controller maintainers: - Joel Stanley - Andrew Jeffery description: > The ASPEED PWM controller can support up to 8 PWM outputs. The ASPEED Fan Tacho controller can support up to 16 Fan tachometer inputs. There can be up to 8 fans supported. Each fan can have 1 PWM output and 1-2 Fan tach inputs. properties: compatible: enum: - aspeed,ast2400-pwm-tacho - aspeed,ast2500-pwm-tacho reg: maxItems: 1 '#address-cells': const: 1 '#size-cells': const: 0 '#cooling-cells': const: 2 clocks: maxItems: 1 resets: maxItems: 1 patternProperties: '^fan@[0-7]$': description: Fan subnode type: object additionalProperties: false properties: reg: description: PWM source port index (0 = PWM A, ..., 7 = PWM H) maximum: 7 cooling-levels: description: PWM duty cycle values for cooling states $ref: /schemas/types.yaml#/definitions/uint8-array minItems: 1 maxItems: 16 # Should be enough aspeed,fan-tach-ch: description: Fan tachometer input channel $ref: /schemas/types.yaml#/definitions/uint8-array minItems: 1 maxItems: 2 items: maximum: 15 required: - reg - aspeed,fan-tach-ch required: - compatible - reg - '#address-cells' - '#size-cells' - clocks - resets additionalProperties: false examples: - | #include fan-controller@1e786000 { compatible = "aspeed,ast2500-pwm-tacho"; reg = <0x1e786000 0x1000>; #address-cells = <1>; #size-cells = <0>; #cooling-cells = <2>; clocks = <&syscon ASPEED_CLK_APB>; resets = <&syscon ASPEED_RESET_PWM>; fan@0 { reg = <0x00>; cooling-levels = /bits/ 8 <125 151 177 203 229 255>; aspeed,fan-tach-ch = /bits/ 8 <0x00>; }; fan@1 { reg = <0x01>; aspeed,fan-tach-ch = /bits/ 8 <0x01 0x02>; }; };