Skip to content

Commit a25633a

Browse files
Florin Leotescugroeck
authored andcommitted
dt-bindings: hwmon: Add Microchip emc2305 support
Introduce yaml schema for Microchip emc2305 pwm fan controller. Signed-off-by: Florin Leotescu <[email protected]> Reviewed-by: Frank Li <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Rob Herring (Arm) <[email protected]> Link: https://lore.kernel.org/r/[email protected] [groeck: Fixed comment line length, added 'maxItems: 1' Signed-off-by: Guenter Roeck <[email protected]>
1 parent 73d51cb commit a25633a

File tree

1 file changed

+111
-0
lines changed

1 file changed

+111
-0
lines changed
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/hwmon/microchip,emc2305.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microchip EMC2305 SMBus compliant PWM fan controller
8+
9+
maintainers:
10+
- Michael Shych <[email protected]>
11+
12+
description:
13+
Microchip EMC2301/2/3/5 pwm controller which supports up to five programmable
14+
fan control circuits.
15+
16+
properties:
17+
compatible:
18+
oneOf:
19+
- enum:
20+
- microchip,emc2305
21+
- items:
22+
- enum:
23+
- microchip,emc2303
24+
- microchip,emc2302
25+
- microchip,emc2301
26+
- const: microchip,emc2305
27+
28+
reg:
29+
maxItems: 1
30+
31+
'#address-cells':
32+
const: 1
33+
34+
'#size-cells':
35+
const: 0
36+
37+
'#pwm-cells':
38+
const: 3
39+
description: |
40+
Number of cells in a PWM specifier.
41+
- cell 0: The PWM frequency
42+
- cell 1: The PWM polarity: 0 or PWM_POLARITY_INVERTED
43+
- cell 2: The PWM output config:
44+
- 0 (Open-Drain)
45+
- 1 (Push-Pull)
46+
47+
patternProperties:
48+
'^fan@[0-4]$':
49+
$ref: fan-common.yaml#
50+
unevaluatedProperties: false
51+
properties:
52+
reg:
53+
description:
54+
The fan number used to determine the associated PWM channel.
55+
maxItems: 1
56+
57+
required:
58+
- reg
59+
60+
required:
61+
- compatible
62+
- reg
63+
64+
additionalProperties: false
65+
66+
examples:
67+
- |
68+
#include <dt-bindings/pwm/pwm.h>
69+
i2c {
70+
#address-cells = <1>;
71+
#size-cells = <0>;
72+
73+
fan_controller: fan-controller@2f {
74+
compatible = "microchip,emc2305";
75+
reg = <0x2f>;
76+
#address-cells = <1>;
77+
#size-cells = <0>;
78+
#pwm-cells = <3>;
79+
80+
fan@0 {
81+
reg = <0x0>;
82+
pwms = <&fan_controller 26000 PWM_POLARITY_INVERTED 1>;
83+
#cooling-cells = <2>;
84+
};
85+
86+
fan@1 {
87+
reg = <0x1>;
88+
pwms = <&fan_controller 26000 0 1>;
89+
#cooling-cells = <2>;
90+
};
91+
92+
fan@2 {
93+
reg = <0x2>;
94+
pwms = <&fan_controller 26000 0 1>;
95+
#cooling-cells = <2>;
96+
};
97+
98+
fan@3 {
99+
reg = <0x3>;
100+
pwms = <&fan_controller 26000 0 1>;
101+
#cooling-cells = <2>;
102+
};
103+
104+
fan@4 {
105+
reg = <0x4>;
106+
pwms = <&fan_controller 26000 0 1>;
107+
#cooling-cells = <2>;
108+
};
109+
};
110+
};
111+
...

0 commit comments

Comments
 (0)