xref: /linux/Documentation/devicetree/bindings/mfd/rohm,bd96802-pmic.yaml (revision e9ef810dfee7a2227da9d423aecb0ced35faddbe)
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,bd96802-pmic.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ROHM BD96802 / BD96806 Scalable Power Management Integrated Circuit
8
9maintainers:
10  - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
11
12description: |
13  BD96802Qxx-C and BD96806 are automotive grade configurable Power Management
14  Integrated Circuits supporting Functional Safety features for application
15  processors, SoCs and FPGAs
16
17properties:
18  compatible:
19    enum:
20      - rohm,bd96802
21      - rohm,bd96806
22
23  reg:
24    maxItems: 1
25
26  interrupts:
27    description:
28      The PMIC provides intb and errb IRQ lines. The errb IRQ line is used
29      for fatal IRQs which will cause the PMIC to shut down power outputs.
30      In many systems this will shut down the SoC contolling the PMIC and
31      connecting/handling the errb can be omitted. However, there are cases
32      where the SoC is not powered by the PMIC or has a short time backup
33      energy to handle shutdown of critical hardware. In that case it may be
34      useful to connect the errb and handle errb events.
35    minItems: 1
36    maxItems: 2
37
38  interrupt-names:
39    minItems: 1
40    items:
41      - enum: [intb, errb]
42      - const: errb
43
44  regulators:
45    $ref: ../regulator/rohm,bd96802-regulator.yaml
46    description:
47      List of child nodes that specify the regulators.
48
49required:
50  - compatible
51  - reg
52  - interrupts
53  - interrupt-names
54  - regulators
55
56additionalProperties: false
57
58examples:
59  - |
60    #include <dt-bindings/interrupt-controller/irq.h>
61    #include <dt-bindings/leds/common.h>
62    i2c {
63        #address-cells = <1>;
64        #size-cells = <0>;
65        pmic: pmic@62 {
66            reg = <0x62>;
67            compatible = "rohm,bd96802";
68            interrupt-parent = <&gpio1>;
69            interrupts = <29 IRQ_TYPE_LEVEL_LOW>, <6 IRQ_TYPE_LEVEL_LOW>;
70            interrupt-names = "intb", "errb";
71
72            regulators {
73                buck1 {
74                    regulator-name = "buck1";
75                    regulator-ramp-delay = <1250>;
76                    /* 0.5V min INITIAL - 150 mV tune */
77                    regulator-min-microvolt = <350000>;
78                    /* 3.3V + 150mV tune */
79                    regulator-max-microvolt = <3450000>;
80
81                    /* These can be set only when PMIC is in STBY */
82                    rohm,initial-voltage-microvolt = <500000>;
83                    regulator-ov-error-microvolt = <230000>;
84                    regulator-uv-error-microvolt = <230000>;
85                    regulator-temp-protection-kelvin = <1>;
86                    regulator-temp-warn-kelvin = <0>;
87                };
88                buck2 {
89                    regulator-name = "buck2";
90                    regulator-min-microvolt = <350000>;
91                    regulator-max-microvolt = <3450000>;
92
93                    rohm,initial-voltage-microvolt = <3000000>;
94                    regulator-ov-error-microvolt = <18000>;
95                    regulator-uv-error-microvolt = <18000>;
96                    regulator-temp-protection-kelvin = <1>;
97                    regulator-temp-warn-kelvin = <1>;
98                };
99            };
100        };
101    };
102