| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/hwmon/microchip,emc2305.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Microchip EMC2305 SMBus compliant PWM fan controller |
| |
| maintainers: |
| - Michael Shych <michaelsh@nvidia.com> |
| |
| description: |
| Microchip EMC2301/2/3/5 pwm controller which supports up to five programmable |
| fan control circuits. |
| |
| properties: |
| compatible: |
| oneOf: |
| - enum: |
| - microchip,emc2305 |
| - items: |
| - enum: |
| - microchip,emc2303 |
| - microchip,emc2302 |
| - microchip,emc2301 |
| - const: microchip,emc2305 |
| |
| reg: |
| maxItems: 1 |
| |
| '#address-cells': |
| const: 1 |
| |
| '#size-cells': |
| const: 0 |
| |
| '#pwm-cells': |
| const: 3 |
| description: | |
| Number of cells in a PWM specifier. |
| - cell 0: The PWM frequency |
| - cell 1: The PWM polarity: 0 or PWM_POLARITY_INVERTED |
| - cell 2: The PWM output config: |
| - 0 (Open-Drain) |
| - 1 (Push-Pull) |
| |
| patternProperties: |
| '^fan@[0-4]$': |
| $ref: fan-common.yaml# |
| unevaluatedProperties: false |
| properties: |
| reg: |
| description: |
| The fan number used to determine the associated PWM channel. |
| maxItems: 1 |
| |
| required: |
| - reg |
| |
| required: |
| - compatible |
| - reg |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/pwm/pwm.h> |
| i2c { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| fan_controller: fan-controller@2f { |
| compatible = "microchip,emc2305"; |
| reg = <0x2f>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| #pwm-cells = <3>; |
| |
| fan@0 { |
| reg = <0x0>; |
| pwms = <&fan_controller 26000 PWM_POLARITY_INVERTED 1>; |
| #cooling-cells = <2>; |
| }; |
| |
| fan@1 { |
| reg = <0x1>; |
| pwms = <&fan_controller 26000 0 1>; |
| #cooling-cells = <2>; |
| }; |
| |
| fan@2 { |
| reg = <0x2>; |
| pwms = <&fan_controller 26000 0 1>; |
| #cooling-cells = <2>; |
| }; |
| |
| fan@3 { |
| reg = <0x3>; |
| pwms = <&fan_controller 26000 0 1>; |
| #cooling-cells = <2>; |
| }; |
| |
| fan@4 { |
| reg = <0x4>; |
| pwms = <&fan_controller 26000 0 1>; |
| #cooling-cells = <2>; |
| }; |
| }; |
| }; |
| ... |