xref: /freebsd/sys/contrib/device-tree/Bindings/pwm/google,cros-ec-pwm.yaml (revision 2e3507c25e42292b45a5482e116d278f5515d04d)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pwm/google,cros-ec-pwm.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: PWM controlled by ChromeOS EC
8
9maintainers:
10  - Thierry Reding <thierry.reding@gmail.com>
11  - '"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>'
12
13description: |
14  Google's ChromeOS EC PWM is a simple PWM attached to the Embedded Controller
15  (EC) and controlled via a host-command interface.
16  An EC PWM node should be only found as a sub-node of the EC node (see
17  Documentation/devicetree/bindings/mfd/google,cros-ec.yaml).
18
19allOf:
20  - $ref: pwm.yaml#
21
22properties:
23  compatible:
24    oneOf:
25      - description: PWM controlled using EC_PWM_TYPE_GENERIC channels.
26        items:
27          - const: google,cros-ec-pwm
28      - description: PWM controlled using CROS_EC_PWM_DT_<...> types.
29        items:
30          - const: google,cros-ec-pwm-type
31
32  "#pwm-cells":
33    description: The cell specifies the PWM index.
34    const: 1
35
36required:
37  - compatible
38  - '#pwm-cells'
39
40additionalProperties: false
41
42examples:
43  - |
44    spi {
45        #address-cells = <1>;
46        #size-cells = <0>;
47
48        cros-ec@0 {
49            compatible = "google,cros-ec-spi";
50            reg = <0>;
51            interrupts = <101 0>;
52
53            cros_ec_pwm: pwm {
54                compatible = "google,cros-ec-pwm";
55                #pwm-cells = <1>;
56            };
57        };
58    };
59