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