mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-04 02:25:58 +00:00

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>
109 lines
2.2 KiB
YAML
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>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|