xref: /freebsd/sys/contrib/device-tree/Bindings/hwmon/aspeed,g6-pwm-tach.yaml (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1*01950c46SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*01950c46SEmmanuel Vadot# Copyright (C) 2023 Aspeed, Inc.
3*01950c46SEmmanuel Vadot%YAML 1.2
4*01950c46SEmmanuel Vadot---
5*01950c46SEmmanuel Vadot$id: http://devicetree.org/schemas/hwmon/aspeed,g6-pwm-tach.yaml#
6*01950c46SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
7*01950c46SEmmanuel Vadot
8*01950c46SEmmanuel Vadottitle: ASPEED G6 PWM and Fan Tach controller
9*01950c46SEmmanuel Vadot
10*01950c46SEmmanuel Vadotmaintainers:
11*01950c46SEmmanuel Vadot  - Billy Tsai <billy_tsai@aspeedtech.com>
12*01950c46SEmmanuel Vadot
13*01950c46SEmmanuel Vadotdescription: |
14*01950c46SEmmanuel Vadot  The ASPEED PWM controller can support up to 16 PWM outputs.
15*01950c46SEmmanuel Vadot  The ASPEED Fan Tacho controller can support up to 16 fan tach input.
16*01950c46SEmmanuel Vadot  They are independent hardware blocks, which are different from the
17*01950c46SEmmanuel Vadot  previous version of the ASPEED chip.
18*01950c46SEmmanuel Vadot
19*01950c46SEmmanuel Vadotproperties:
20*01950c46SEmmanuel Vadot  compatible:
21*01950c46SEmmanuel Vadot    enum:
22*01950c46SEmmanuel Vadot      - aspeed,ast2600-pwm-tach
23*01950c46SEmmanuel Vadot
24*01950c46SEmmanuel Vadot  reg:
25*01950c46SEmmanuel Vadot    maxItems: 1
26*01950c46SEmmanuel Vadot
27*01950c46SEmmanuel Vadot  clocks:
28*01950c46SEmmanuel Vadot    maxItems: 1
29*01950c46SEmmanuel Vadot
30*01950c46SEmmanuel Vadot  resets:
31*01950c46SEmmanuel Vadot    maxItems: 1
32*01950c46SEmmanuel Vadot
33*01950c46SEmmanuel Vadot  "#pwm-cells":
34*01950c46SEmmanuel Vadot    const: 3
35*01950c46SEmmanuel Vadot
36*01950c46SEmmanuel VadotpatternProperties:
37*01950c46SEmmanuel Vadot  "^fan-[0-9]+$":
38*01950c46SEmmanuel Vadot    $ref: fan-common.yaml#
39*01950c46SEmmanuel Vadot    unevaluatedProperties: false
40*01950c46SEmmanuel Vadot    required:
41*01950c46SEmmanuel Vadot      - tach-ch
42*01950c46SEmmanuel Vadot
43*01950c46SEmmanuel Vadotrequired:
44*01950c46SEmmanuel Vadot  - reg
45*01950c46SEmmanuel Vadot  - clocks
46*01950c46SEmmanuel Vadot  - resets
47*01950c46SEmmanuel Vadot  - "#pwm-cells"
48*01950c46SEmmanuel Vadot  - compatible
49*01950c46SEmmanuel Vadot
50*01950c46SEmmanuel VadotadditionalProperties: false
51*01950c46SEmmanuel Vadot
52*01950c46SEmmanuel Vadotexamples:
53*01950c46SEmmanuel Vadot  - |
54*01950c46SEmmanuel Vadot    #include <dt-bindings/clock/aspeed-clock.h>
55*01950c46SEmmanuel Vadot    pwm_tach: pwm-tach-controller@1e610000 {
56*01950c46SEmmanuel Vadot      compatible = "aspeed,ast2600-pwm-tach";
57*01950c46SEmmanuel Vadot      reg = <0x1e610000 0x100>;
58*01950c46SEmmanuel Vadot      clocks = <&syscon ASPEED_CLK_AHB>;
59*01950c46SEmmanuel Vadot      resets = <&syscon ASPEED_RESET_PWM>;
60*01950c46SEmmanuel Vadot      #pwm-cells = <3>;
61*01950c46SEmmanuel Vadot
62*01950c46SEmmanuel Vadot      fan-0 {
63*01950c46SEmmanuel Vadot        tach-ch = /bits/ 8 <0x0>;
64*01950c46SEmmanuel Vadot        pwms = <&pwm_tach 0 40000 0>;
65*01950c46SEmmanuel Vadot      };
66*01950c46SEmmanuel Vadot
67*01950c46SEmmanuel Vadot      fan-1 {
68*01950c46SEmmanuel Vadot        tach-ch = /bits/ 8 <0x1 0x2>;
69*01950c46SEmmanuel Vadot        pwms = <&pwm_tach 1 40000 0>;
70*01950c46SEmmanuel Vadot      };
71*01950c46SEmmanuel Vadot    };
72