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