File Index
Files and directories
Sign in
FILE

rohm,bd96801-pmic.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/mfd/rohm,bd96801-pmic.yaml 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,bd96801-pmic.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: ROHM BD96801/BD96805 Scalable Power Management Integrated Circuit
  8
  9maintainers:
 10  - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
 11
 12description:
 13  BD96801 and BD96805 are automotive grade, single-chip power management ICs.
 14  They both integrate 4 buck converters and 3 LDOs with safety features like
 15  over-/under voltage and over current detection and a watchdog.
 16
 17properties:
 18  compatible:
 19    enum:
 20      - rohm,bd96801
 21      - rohm,bd96805
 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 controlling 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  rohm,hw-timeout-ms:
 45    description:
 46      Watchdog timeout value(s). First walue is timeout limit. Second value is
 47      optional value for 'too early' watchdog ping if window timeout mode is
 48      to be used.
 49    minItems: 1
 50    maxItems: 2
 51
 52  rohm,wdg-action:
 53    description:
 54      Whether the watchdog failure must turn off the regulator power outputs or
 55      just toggle the INTB line.
 56    enum:
 57      - prstb
 58      - intb-only
 59
 60  timeout-sec: true
 61
 62  regulators:
 63    $ref: /schemas/regulator/rohm,bd96801-regulator.yaml
 64    description:
 65      List of child nodes that specify the regulators.
 66
 67required:
 68  - compatible
 69  - reg
 70  - interrupts
 71  - interrupt-names
 72  - regulators
 73
 74allOf:
 75  - $ref: /schemas/watchdog/watchdog.yaml
 76
 77unevaluatedProperties: false
 78
 79examples:
 80  - |
 81    #include <dt-bindings/interrupt-controller/irq.h>
 82    #include <dt-bindings/leds/common.h>
 83    i2c {
 84        #address-cells = <1>;
 85        #size-cells = <0>;
 86        pmic: pmic@60 {
 87            reg = <0x60>;
 88            compatible = "rohm,bd96801";
 89            interrupt-parent = <&gpio1>;
 90            interrupts = <29 IRQ_TYPE_LEVEL_LOW>, <6 IRQ_TYPE_LEVEL_LOW>;
 91            interrupt-names = "intb", "errb";
 92
 93            regulators {
 94                buck1 {
 95                    regulator-name = "buck1";
 96                    regulator-ramp-delay = <1250>;
 97                    /* 0.5V min INITIAL - 150 mV tune */
 98                    regulator-min-microvolt = <350000>;
 99                    /* 3.3V + 150mV tune */
100                    regulator-max-microvolt = <3450000>;
101
102                    /* These can be set only when PMIC is in STBY */
103                    rohm,initial-voltage-microvolt = <500000>;
104                    regulator-ov-error-microvolt = <230000>;
105                    regulator-uv-error-microvolt = <230000>;
106                    regulator-temp-protection-kelvin = <1>;
107                    regulator-temp-warn-kelvin = <0>;
108                };
109                buck2 {
110                    regulator-name = "buck2";
111                    regulator-min-microvolt = <350000>;
112                    regulator-max-microvolt = <3450000>;
113
114                    rohm,initial-voltage-microvolt = <3000000>;
115                    regulator-ov-error-microvolt = <18000>;
116                    regulator-uv-error-microvolt = <18000>;
117                    regulator-temp-protection-kelvin = <1>;
118                    regulator-temp-warn-kelvin = <1>;
119                };
120                buck3 {
121                    regulator-name = "buck3";
122                    regulator-min-microvolt = <350000>;
123                    regulator-max-microvolt = <3450000>;
124
125                    rohm,initial-voltage-microvolt = <600000>;
126                    regulator-ov-warn-microvolt = <18000>;
127                    regulator-uv-warn-microvolt = <18000>;
128                    regulator-temp-protection-kelvin = <1>;
129                    regulator-temp-error-kelvin = <0>;
130                };
131                buck4 {
132                    regulator-name = "buck4";
133                    regulator-min-microvolt = <350000>;
134                    regulator-max-microvolt = <3450000>;
135
136                    rohm,initial-voltage-microvolt = <600000>;
137                    regulator-ov-warn-microvolt = <18000>;
138                    regulator-uv-warn-microvolt = <18000>;
139                    regulator-temp-protection-kelvin = <1>;
140                    regulator-temp-error-kelvin = <0>;
141                };
142                ldo5 {
143                    regulator-name = "ldo5";
144                    regulator-min-microvolt = <300000>;
145                    regulator-max-microvolt = <3300000>;
146
147                    rohm,initial-voltage-microvolt = <500000>;
148                    regulator-ov-error-microvolt = <36000>;
149                    regulator-uv-error-microvolt = <34000>;
150                    regulator-temp-protection-kelvin = <1>;
151                    regulator-temp-warn-kelvin = <0>;
152                };
153                ldo6 {
154                    regulator-name = "ldo6";
155                    regulator-min-microvolt = <300000>;
156                    regulator-max-microvolt = <3300000>;
157
158                    rohm,initial-voltage-microvolt = <300000>;
159                    regulator-ov-error-microvolt = <36000>;
160                    regulator-uv-error-microvolt = <34000>;
161                    regulator-temp-protection-kelvin = <1>;
162                    regulator-temp-warn-kelvin = <0>;
163                };
164                ldo7 {
165                    regulator-name = "ldo7";
166                    regulator-min-microvolt = <300000>;
167                    regulator-max-microvolt = <3300000>;
168
169                    rohm,initial-voltage-microvolt = <500000>;
170                    regulator-ov-error-microvolt = <36000>;
171                    regulator-uv-error-microvolt = <34000>;
172                    regulator-temp-protection-kelvin = <1>;
173                    regulator-temp-warn-kelvin = <0>;
174                };
175            };
176        };
177    };
~/ Read-only file preview.