linux-loongson/Documentation/devicetree/bindings/hwmon/ti,amc6821.yaml
João Paulo Gonçalves f2a32ed869 dt-bindings: hwmon: amc6821: Add cooling levels
The fan can be used as a cooling device, add a description of the
`cooling-levels` property and restrict the maximum value to 255, which
is the highest PWM duty cycle supported by the AMC6821 fan controller.

Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20250613-b4-amc6821-cooling-device-support-v4-1-a8fc063c55de@toradex.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-07-20 16:38:34 -07:00

109 lines
2.2 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/hwmon/ti,amc6821.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: AMC6821 Intelligent Temperature Monitor and PWM Fan Controller
maintainers:
- Farouk Bouabid <farouk.bouabid@cherry.de>
- Quentin Schulz <quentin.schulz@cherry.de>
description:
Intelligent temperature monitor and pulse-width modulation (PWM) fan
controller.
properties:
compatible:
oneOf:
- items:
- const: tsd,mule
- const: ti,amc6821
- const: ti,amc6821
reg:
maxItems: 1
i2c-mux:
type: object
fan:
$ref: fan-common.yaml#
unevaluatedProperties: false
properties:
cooling-levels:
description: PWM duty cycle values corresponding to thermal cooling states.
items:
maximum: 255
"#pwm-cells":
const: 2
description: |
Number of cells in a PWM specifier.
- cell 0: PWM period in nanoseconds
- cell 1: PWM polarity: 0 or PWM_POLARITY_INVERTED
required:
- compatible
- reg
if:
properties:
compatible:
contains:
const: tsd,mule
then:
required:
- i2c-mux
additionalProperties: false
examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
fan_controller: fan@18 {
compatible = "ti,amc6821";
reg = <0x18>;
#pwm-cells = <2>;
fan {
pwms = <&fan_controller 40000 0>;
};
};
};
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
fan@18 {
compatible = "tsd,mule", "ti,amc6821";
reg = <0x18>;
i2c-mux {
compatible = "tsd,mule-i2c-mux";
#address-cells = <1>;
#size-cells = <0>;
i2c@0 {
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
rtc@6f {
compatible = "isil,isl1208";
reg = <0x6f>;
};
};
};
};
};
...