174 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/mfd/rohm,bd96801-pmic.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: ROHM BD96801 Scalable Power Management Integrated Circuit8 9maintainers:10 - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>11 12description:13 BD96801 is an automotive grade single-chip power management IC.14 It integrates 4 buck converters and 3 LDOs with safety features like15 over-/under voltage and over current detection and a watchdog.16 17properties:18 compatible:19 const: rohm,bd9680120 21 reg:22 maxItems: 123 24 interrupts:25 description:26 The PMIC provides intb and errb IRQ lines. The errb IRQ line is used27 for fatal IRQs which will cause the PMIC to shut down power outputs.28 In many systems this will shut down the SoC controlling the PMIC and29 connecting/handling the errb can be omitted. However, there are cases30 where the SoC is not powered by the PMIC or has a short time backup31 energy to handle shutdown of critical hardware. In that case it may be32 useful to connect the errb and handle errb events.33 minItems: 134 maxItems: 235 36 interrupt-names:37 minItems: 138 items:39 - enum: [intb, errb]40 - const: errb41 42 rohm,hw-timeout-ms:43 description:44 Watchdog timeout value(s). First walue is timeout limit. Second value is45 optional value for 'too early' watchdog ping if window timeout mode is46 to be used.47 minItems: 148 maxItems: 249 50 rohm,wdg-action:51 description:52 Whether the watchdog failure must turn off the regulator power outputs or53 just toggle the INTB line.54 enum:55 - prstb56 - intb-only57 58 timeout-sec:59 maxItems: 260 61 regulators:62 $ref: /schemas/regulator/rohm,bd96801-regulator.yaml63 description:64 List of child nodes that specify the regulators.65 66required:67 - compatible68 - reg69 - interrupts70 - interrupt-names71 - regulators72 73additionalProperties: false74 75examples:76 - |77 #include <dt-bindings/interrupt-controller/irq.h>78 #include <dt-bindings/leds/common.h>79 i2c {80 #address-cells = <1>;81 #size-cells = <0>;82 pmic: pmic@60 {83 reg = <0x60>;84 compatible = "rohm,bd96801";85 interrupt-parent = <&gpio1>;86 interrupts = <29 IRQ_TYPE_LEVEL_LOW>, <6 IRQ_TYPE_LEVEL_LOW>;87 interrupt-names = "intb", "errb";88 89 regulators {90 buck1 {91 regulator-name = "buck1";92 regulator-ramp-delay = <1250>;93 /* 0.5V min INITIAL - 150 mV tune */94 regulator-min-microvolt = <350000>;95 /* 3.3V + 150mV tune */96 regulator-max-microvolt = <3450000>;97 98 /* These can be set only when PMIC is in STBY */99 rohm,initial-voltage-microvolt = <500000>;100 regulator-ov-error-microvolt = <230000>;101 regulator-uv-error-microvolt = <230000>;102 regulator-temp-protection-kelvin = <1>;103 regulator-temp-warn-kelvin = <0>;104 };105 buck2 {106 regulator-name = "buck2";107 regulator-min-microvolt = <350000>;108 regulator-max-microvolt = <3450000>;109 110 rohm,initial-voltage-microvolt = <3000000>;111 regulator-ov-error-microvolt = <18000>;112 regulator-uv-error-microvolt = <18000>;113 regulator-temp-protection-kelvin = <1>;114 regulator-temp-warn-kelvin = <1>;115 };116 buck3 {117 regulator-name = "buck3";118 regulator-min-microvolt = <350000>;119 regulator-max-microvolt = <3450000>;120 121 rohm,initial-voltage-microvolt = <600000>;122 regulator-ov-warn-microvolt = <18000>;123 regulator-uv-warn-microvolt = <18000>;124 regulator-temp-protection-kelvin = <1>;125 regulator-temp-error-kelvin = <0>;126 };127 buck4 {128 regulator-name = "buck4";129 regulator-min-microvolt = <350000>;130 regulator-max-microvolt = <3450000>;131 132 rohm,initial-voltage-microvolt = <600000>;133 regulator-ov-warn-microvolt = <18000>;134 regulator-uv-warn-microvolt = <18000>;135 regulator-temp-protection-kelvin = <1>;136 regulator-temp-error-kelvin = <0>;137 };138 ldo5 {139 regulator-name = "ldo5";140 regulator-min-microvolt = <300000>;141 regulator-max-microvolt = <3300000>;142 143 rohm,initial-voltage-microvolt = <500000>;144 regulator-ov-error-microvolt = <36000>;145 regulator-uv-error-microvolt = <34000>;146 regulator-temp-protection-kelvin = <1>;147 regulator-temp-warn-kelvin = <0>;148 };149 ldo6 {150 regulator-name = "ldo6";151 regulator-min-microvolt = <300000>;152 regulator-max-microvolt = <3300000>;153 154 rohm,initial-voltage-microvolt = <300000>;155 regulator-ov-error-microvolt = <36000>;156 regulator-uv-error-microvolt = <34000>;157 regulator-temp-protection-kelvin = <1>;158 regulator-temp-warn-kelvin = <0>;159 };160 ldo7 {161 regulator-name = "ldo7";162 regulator-min-microvolt = <300000>;163 regulator-max-microvolt = <3300000>;164 165 rohm,initial-voltage-microvolt = <500000>;166 regulator-ov-error-microvolt = <36000>;167 regulator-uv-error-microvolt = <34000>;168 regulator-temp-protection-kelvin = <1>;169 regulator-temp-warn-kelvin = <0>;170 };171 };172 };173 };174