summaryrefslogtreecommitdiffstats
path: root/dts/Bindings/mfd/max77650.yaml
blob: b0a0f0d3d9d4149789adde4fadd7684afd37f9b7 (plain) (blame)
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
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/max77650.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MAX77650 ultra low-power PMIC from Maxim Integrated.

maintainers:
  - Bartosz Golaszewski <bgolaszewski@baylibre.com>

description: |
  MAX77650 is an ultra-low power PMIC providing battery charging and power
  supply for low-power IoT and wearable applications.

  The GPIO-controller module is represented as part of the top-level PMIC
  node. The device exposes a single GPIO line.

  For device-tree bindings of other sub-modules (regulator, power supply,
  LEDs and onkey) refer to the binding documents under the respective
  sub-system directories.

properties:
  compatible:
    const: maxim,max77650

  reg:
    description:
      I2C device address.
    maxItems: 1

  interrupts:
    maxItems: 1

  interrupt-controller: true

  "#interrupt-cells":
    const: 2
    description:
      The first cell is the IRQ number, the second cell is the trigger type.

  gpio-controller: true

  "#gpio-cells":
    const: 2
    description:
      The first cell is the pin number and the second cell is used to specify
      the gpio active state.

  gpio-line-names:
    maxItems: 1
    description:
      Single string containing the name of the GPIO line.

  regulators:
    $ref: ../regulator/max77650-regulator.yaml

  charger:
    $ref: ../power/supply/max77650-charger.yaml

  leds:
    $ref: ../leds/leds-max77650.yaml

  onkey:
    $ref: ../input/max77650-onkey.yaml

required:
  - compatible
  - reg
  - interrupts
  - interrupt-controller
  - "#interrupt-cells"
  - gpio-controller
  - "#gpio-cells"

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/input/linux-event-codes.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        pmic@48 {
            compatible = "maxim,max77650";
            reg = <0x48>;

            interrupt-controller;
            interrupt-parent = <&gpio2>;
            #interrupt-cells = <2>;
            interrupts = <3 IRQ_TYPE_LEVEL_LOW>;

            gpio-controller;
            #gpio-cells = <2>;
            gpio-line-names = "max77650-charger";

            regulators {
                compatible = "maxim,max77650-regulator";

                max77650_ldo: regulator-ldo {
                    regulator-compatible = "ldo";
                    regulator-name = "max77650-ldo";
                    regulator-min-microvolt = <1350000>;
                    regulator-max-microvolt = <2937500>;
                };

                max77650_sbb0: regulator-sbb0 {
                    regulator-compatible = "sbb0";
                    regulator-name = "max77650-sbb0";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <1587500>;
                };
            };

            charger {
                compatible = "maxim,max77650-charger";
                input-voltage-min-microvolt = <4200000>;
                input-current-limit-microamp = <285000>;
            };

            leds {
                compatible = "maxim,max77650-led";
                #address-cells = <1>;
                #size-cells = <0>;

                led@0 {
                    reg = <0>;
                    label = "blue:usr0";
                };

                led@1 {
                    reg = <1>;
                    label = "red:usr1";
                    linux,default-trigger = "heartbeat";
                };

                led@2 {
                    reg = <2>;
                    label = "green:usr2";
                };
            };

            onkey {
                compatible = "maxim,max77650-onkey";
                linux,code = <KEY_END>;
                maxim,onkey-slide;
            };
        };
    };