summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml
blob: 0ec89f0adc64d2928bd0525c4565fe3ca107a9f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/maxim,max77705.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Maxim MAX77705 Companion Power Management and USB Type-C interface

maintainers:
  - Dzmitry Sankouski <dsankouski@gmail.com>

description: |
  This is a part of device tree bindings for Maxim MAX77705.

  Maxim MAX77705 is a Companion Power Management and Type-C
  interface IC which includes charger, fuelgauge, LED, haptic motor driver and
  Type-C management.

properties:
  compatible:
    const: maxim,max77705

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  haptic:
    type: object
    additionalProperties: false

    properties:
      compatible:
        const: maxim,max77705-haptic

      haptic-supply: true

      pwms:
        maxItems: 1

    required:
      - compatible
      - haptic-supply
      - pwms

  leds:
    type: object
    additionalProperties: false
    description:
      Up to 4 LED channels supported.

    properties:
      compatible:
        const: maxim,max77705-rgb

      "#address-cells":
        const: 1

      "#size-cells":
        const: 0

      multi-led:
        type: object
        $ref: /schemas/leds/leds-class-multicolor.yaml#
        unevaluatedProperties: false

        properties:
          "#address-cells":
            const: 1

          "#size-cells":
            const: 0

        patternProperties:
          "^led@[0-3]$":
            type: object
            $ref: /schemas/leds/common.yaml#
            unevaluatedProperties: false

            properties:
              reg:
                maxItems: 1

            required:
              - reg

    patternProperties:
      "^led@[0-3]$":
        type: object
        $ref: /schemas/leds/common.yaml#
        unevaluatedProperties: false

        properties:
          reg:
            maxItems: 1

        required:
          - reg

    required:
      - compatible

required:
  - compatible

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/leds/common.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        pmic@66 {
            compatible = "maxim,max77705";
            reg = <0x66>;
            interrupt-parent = <&pm8998_gpios>;
            interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
            pinctrl-0 = <&chg_int_default>;
            pinctrl-names = "default";

            leds {
                compatible = "maxim,max77705-rgb";

                multi-led {
                    color = <LED_COLOR_ID_RGB>;
                    function = LED_FUNCTION_STATUS;
                    #address-cells = <1>;
                    #size-cells = <0>;

                    led@1 {
                        reg = <1>;
                        color = <LED_COLOR_ID_RED>;
                    };

                    led@2 {
                        reg = <2>;
                        color = <LED_COLOR_ID_GREEN>;
                    };

                    led@3 {
                        reg = <3>;
                        color = <LED_COLOR_ID_BLUE>;
                    };
                };
            };

            haptic {
                compatible = "maxim,max77705-haptic";
                haptic-supply = <&vib_regulator>;
                pwms = <&vib_pwm 0 50000>;
            };
        };
    };