Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / mfd / rohm,bd9576-pmic.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/mfd/rohm,bd9576-pmic.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: ROHM BD9576MUF and BD9573MUF Power Management Integrated Circuit bindings
8
9 maintainers:
10   - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
11
12 description: |
13   BD9576MUF and BD9573MUF are power management ICs primarily intended for
14   powering the R-Car series processors.
15   The IC provides 6 power outputs with configurable sequencing and safety
16   monitoring. A watchdog logic with slow ping/windowed modes is also included.
17
18 properties:
19   compatible:
20     enum:
21       - rohm,bd9576
22       - rohm,bd9573
23
24   reg:
25     description:
26       I2C slave address.
27     maxItems: 1
28
29   interrupts:
30     maxItems: 1
31
32   rohm,vout1-en-low:
33     description:
34       BD9576 and BD9573 VOUT1 regulator enable state can be individually
35       controlled by a GPIO. This is dictated by state of vout1-en pin during
36       the PMIC startup. If vout1-en is LOW during PMIC startup then the VOUT1
37       enable sate is controlled via this pin. Set this property if vout1-en
38       is wired to be down at PMIC start-up.
39     type: boolean
40
41   rohm,vout1-en-gpios:
42     description:
43       GPIO specifier to specify the GPIO connected to vout1-en for vout1 ON/OFF
44       state control.
45     maxItems: 1
46
47   rohm,ddr-sel-low:
48     description:
49       The BD9576 and BD9573 output voltage for DDR can be selected by setting
50       the ddr-sel pin low or high. Set this property if ddr-sel is grounded.
51     type: boolean
52
53   rohm,watchdog-enable-gpios:
54     description: The GPIO line used to enable the watchdog.
55     maxItems: 1
56
57   rohm,watchdog-ping-gpios:
58     description: The GPIO line used to ping the watchdog.
59     maxItems: 1
60
61   rohm,hw-timeout-ms:
62     maxItems: 2
63     description:
64       Watchog timeout in milliseconds. If single value is given it is
65       the maximum timeout. Eg. if pinging watchdog is not done within this time
66       limit the watchdog will be triggered. If two values are given watchdog
67       is configured in "window mode". Then first value is limit for short-ping
68       Eg. if watchdog is pinged sooner than that the watchdog will trigger.
69       When two values is given the second value is the maximum timeout.
70       # (HW) minimum for short timeout is 2ms, maximum 220 ms.
71       # (HW) minimum for max timeout is 4ms, maximum 4416 ms.
72
73   regulators:
74     $ref: ../regulator/rohm,bd9576-regulator.yaml
75     description:
76       List of child nodes that specify the regulators.
77
78 required:
79   - compatible
80   - reg
81   - regulators
82
83 additionalProperties: false
84
85 examples:
86   - |
87     #include <dt-bindings/gpio/gpio.h>
88     #include <dt-bindings/leds/common.h>
89     i2c {
90         #address-cells = <1>;
91         #size-cells = <0>;
92         pmic: pmic@30 {
93             compatible = "rohm,bd9576";
94             reg = <0x30>;
95             rohm,vout1-en-low;
96             rohm,vout1-en-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
97             rohm,ddr-sel-low;
98             rohm,watchdog-enable-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
99             rohm,watchdog-ping-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
100             rohm,hw-timeout-ms = <150>, <2300>;
101
102             regulators {
103                 boost1: regulator-vd50 {
104                     regulator-name = "VD50";
105                 };
106                 buck1: regulator-vd18 {
107                     regulator-name = "VD18";
108                 };
109                 buck2: regulator-vdddr {
110                     regulator-name = "VDDDR";
111                 };
112                 buck3: regulator-vd10 {
113                     regulator-name = "VD10";
114                 };
115                 ldo: regulator-voutl1 {
116                     regulator-name = "VOUTL1";
117                 };
118                 sw: regulator-vouts1 {
119                     regulator-name = "VOUTS1";
120                 };
121             };
122         };
123     };